├── package.json ├── LICENSE ├── README.md ├── API.js ├── worker.js └── shapesourcecode.js /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "starbucks_ob", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "API.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "body-parser": "^1.19.0", 13 | "chance": "^1.1.6", 14 | "delay": "^4.4.0", 15 | "express": "^4.17.1", 16 | "mysql2": "^2.1.0" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 ranftldieterHub 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Shape-Security-protection-reverse-engineering 2 | 3 | Использование данного кода разрешено исключительно в рамках действующего законодательства. 4 | 5 | Скрипт представляет собой NodeJS код, который эмулирует среду браузера (конкретнее, объект window) и решает защиту Shape Security. На выходе получаем JSON с заголовками для будущего запроса. 6 | 7 | Для написания кода были использованы данные, которые предоставляет Starbucks при входе в личный кабинет (первый тег script, актуально на июль-август 2020). 8 | В настоящее время (сентябрь 2020) скрипт протестирован не был, возможны изменения. Компания Shape Security в своем решении использует адаптивную нейросеть (о чем сообщает на своем сайте), которая позволяет анализировать данные и эффективно находить аномалии в статистике, после чего успешно блокировать подозрительные запросы (ответ-блокировка сервера 302). 9 | 10 | ## Более подробное описание работы защиты 11 | В исходных данных имеем: несколько массивов, которые отвечают за порядок выполнения команд в обфусцированном коде и хранение зашифрованных строк; массив с элементарными функциями; статические действия. 12 | Все указания на код смотрите в shapesourcecode.js 13 | Исходные данные, их порядок и названия всех переменных/функций генерируются случайным образом при каждом запросе на страницу входа. Первым делом после запуска основной функции (см. `function g(y)`) происходит процесс создания среды для выполнения обфусцированного кода. Далее, после объявления всех необходимых переменных, запускается функция (см. `function jF(jO)`), выполняющая действия по указаниям массивов, содержащих порядок выполнения команд. 14 | Происходит дешифровка строк и их запись в объект (см. `var x=q(null)`). 15 | Устанавливается listener на XMLHttpRequest.prototype.send и выполняется первый сбор данных о клиенте. 16 | 17 | Данные о клиенте представляют собой объект, который содержит информацию об используемом ПО, ОС и ПК. Проводится обнаружение средств автоматизации и другие тесты (canvas, т.п.) 18 | 19 | При отправке запроса выполняется второй сбор данных, который записывает в данные о клиенте информацию о кликах, движении мышью, нажатиях на тачскрин и клавиатуру, прочих событиях. 20 | Непосредственно перед запуском данных в сеть производится кодирование SuperPack (с кастомным расширением) (собственная разработка Shape Security с ужасной документацией) и шифровка. 21 | 22 | ## Работа решения защиты 23 | Основная цель: получение объекта данных о клиенте и его подмена. Реализуется это при помощи инъекции в необходимую функцию. Такой подход требует достаточно много ресурсов CPU, поэтому рекомендуется использование worker_threads. 24 | Следующие далее кодирование и шифрование при необходимости можно заменить модулями NodeJS. 25 | Генерация уникальных данных является основной проблемой решения (возможно также моей как разработчика). Последняя версия скрипта использует примитивную MySQL БД для хранения и комбинирования пресгенерированных данных. Поскольку данное решение оказалось не самым хорошим, включать БД в репозиторий не планирую. 26 | Всего для сбора используется 35 элементов в массиве данных, каждый раз они генерируются в случайном порядке, зависящем от массива порядка выполнения команд. Это стало причиной тому, что скрипт Shape выполняется целиком. 27 | 28 | #### Объяснение функциям worker.js 29 | Основных две: 30 | * getShapeData, которая собственно и выдает решение; 31 | * generatePayload, находит в данных о клиенте нужные значения и подменяет их на значения с БД. 32 | 33 | Дополнительные: тут стоит выделить только deserialize. Эта функция отвечает за преобразование значений с БД. В данных о клиенте используются значения, которые не сохраняет JSON, но которые должны передаваться на сервер (например undefined), поэтому использовалось собственное кодирование в виде строки, полученной от `util.inspect`. 34 | 35 | ## Установка и запуск 36 | #### Без БД скрипт требует доработки. 37 | Установите зависимости. 38 | Для запуска используйте `node API.js`. 39 | На 127.0.0.1:44694 отправляйте JSON в формате: 40 | `{"login":"","password":"","toEval":""}` 41 | Логин и пароль произвольные. В toEval должны передаваться данные Shape (закодированные с помощью `encodeURIComponent`). Пример данных можно посмотреть в shapesourcecode.js 42 | 43 | В ответ получаем JSON с параметрами: 44 | * status 45 | * X-DQ7Hy5L1-a 46 | * X-DQ7Hy5L1-b 47 | * X-DQ7Hy5L1-c 48 | * X-DQ7Hy5L1-d 49 | * X-DQ7Hy5L1-f 50 | * X-DQ7Hy5L1-z 51 | 52 | X-DQ7Hy5L1-* это названия заголовков и их значения, нужно поместить в будущий запрос. 53 | 54 | За помощь в реверсинге спасибо [sonya75](https://github.com/sonya75/starbucks-botdetection-cracked), который выложил в открытый доступ пример для более старой версии Shape Security на Python. 55 | -------------------------------------------------------------------------------- /API.js: -------------------------------------------------------------------------------- 1 | const { Worker } = require('worker_threads'); 2 | const Chance = require('chance'); 3 | var bodyParser = require('body-parser'); 4 | var express = require('express'); 5 | var app = express(); 6 | 7 | app.disable('x-powered-by'); 8 | app.use(bodyParser.json({limit: '10mb', extended: true})); 9 | 10 | app.post('/resolveStarbucks', async (req, res)=>{ 11 | var info = req.body; 12 | if (typeof info == 'object') { 13 | const chance = new Chance(info.login + info.password); 14 | info.device = chance.pickone([ 15 | 'Intel(R) HD Graphics 6000', 16 | 'Intel(R) Iris(TM) Graphics 6100', 17 | 'Intel(R) Iris(TM) Plus Graphics 640', 18 | 'Intel Iris Pro OpenGL Engine', 19 | 'Intel HD Graphics 4000 OpenGL Engine', 20 | 'Google SwiftShader', 21 | 'ANGLE (Intel(R) HD Graphics 620 Direct3D11 vs_5_0 ps_5_0)', 22 | 'Intel HD Graphics 5000 OpenGL Engine', 23 | 'ANGLE (Intel(R) HD Graphics 520 Direct3D11 vs_5_0 ps_5_0)', 24 | 'Intel Iris OpenGL Engine', 25 | 'ANGLE (Intel(R) HD Graphics Direct3D11 vs_5_0 ps_5_0)', 26 | 'ANGLE (Intel(R) HD Graphics 4600 Direct3D11 vs_5_0 ps_5_0)', 27 | 'ANGLE (Intel(R) HD Graphics 530 Direct3D11 vs_5_0 ps_5_0)', 28 | 'ANGLE (Intel(R) HD Graphics 630 Direct3D11 vs_5_0 ps_5_0)', 29 | 'ANGLE (Intel(R) UHD Graphics 620 Direct3D11 vs_5_0 ps_5_0)', 30 | 'Intel(R) Iris(TM) Graphics 650', 31 | 'ANGLE (Intel(R) HD Graphics 5500 Direct3D11 vs_5_0 ps_5_0)', 32 | 'ANGLE (Intel(R) HD Graphics Family Direct3D11 vs_5_0 ps_5_0)', 33 | 'Mesa DRI Intel(R) HD Graphics 400 (Braswell)', 34 | 'ANGLE (Intel(R) HD Graphics 4000 Direct3D11 vs_5_0 ps_5_0)', 35 | 'Intel(R) Iris(TM) Graphics 550', 36 | 'AMD Radeon Pro 560 OpenGL Engine', 37 | 'ANGLE (NVIDIA GeForce GTX 1060 6GB Direct3D11 vs_5_0 ps_5_0)', 38 | 'Intel(R) Iris(TM) Plus Graphics 655', 39 | 'NVIDIA GeForce GT 750M OpenGL Engine', 40 | 'AMD Radeon Pro 555 OpenGL Engine', 41 | 'NVIDIA GeForce GT 650M OpenGL Engine', 42 | 'Mesa DRI Intel(R) Bay Trail', 43 | 'ANGLE (NVIDIA GeForce GTX 1050 Ti Direct3D11 vs_5_0 ps_5_0)', 44 | 'ANGLE (NVIDIA GeForce GTX 1070 Direct3D11 vs_5_0 ps_5_0)', 45 | 'AMD Radeon R9 M370X OpenGL Engine', 46 | 'Intel(R) Iris(TM) Graphics 540', 47 | 'ANGLE (Intel(R) HD Graphics Direct3D9Ex vs_3_0 ps_3_0)', 48 | 'ANGLE (NVIDIA GeForce GTX 970 Direct3D11 vs_5_0 ps_5_0)', 49 | 'ANGLE (Intel(R) HD Graphics Direct3D11 vs_4_1 ps_4_1)', 50 | 'ANGLE (NVIDIA GeForce GTX 1060 3GB Direct3D11 vs_5_0 ps_5_0)', 51 | 'ANGLE (NVIDIA GeForce GTX 960 Direct3D11 vs_5_0 ps_5_0)', 52 | 'ANGLE (Intel(R) UHD Graphics 630 Direct3D11 vs_5_0 ps_5_0)', 53 | 'ANGLE (NVIDIA GeForce GTX 750 Ti Direct3D11 vs_5_0 ps_5_0)', 54 | 'Intel HD Graphics 3000 OpenGL Engine', 55 | 'ANGLE (Intel(R) HD Graphics 3000 Direct3D11 vs_4_1 ps_4_1)', 56 | 'ANGLE (Intel(R) HD Graphics 4400 Direct3D11 vs_5_0 ps_5_0)' 57 | ]); 58 | info.plugins = chance.pickset([981297737,916307581,898033484,869960091,687022554,625671294,58093980,575402456,496174873,387189185,2016954155,1572083700,151579294,135847005,1167269810,1134561353,1078363890,1030100700,-863110926,-6140116,-534463146,-482629523,-1909134559,-1833164366,-1792453962,-1237605859,-1211528927], chance.integer({ min: 1, max: 6 })); 59 | info.timezone = chance.pickone(["Sun Aug 05 1945 19:16:00 GMT-0400 (Eastern Daylight Time)", "Sun Aug 05 1945 13:46:00 GMT-0930 (Hawaii-Aleutian Standard Time)", "Sun Aug 05 1945 14:16:00 GMT-0900 (Alaska Daylight Time)", "Sun Aug 05 1945 16:16:00 GMT-0700 (Pacific Daylight Time)", "Sun Aug 05 1945 18:16:00 GMT-0500 (Central Daylight Time)", "Sun Aug 05 1945 20:16:00 GMT-0300 (Atlantic Daylight Time)", "Mon Aug 06 1945 02:16:00 GMT+0300 (Central European Summer Time)", "Mon Aug 06 1945 03:16:00 GMT+0400 (Gulf Standard Time)", "Mon Aug 06 1945 05:46:00 GMT+0630 (India Standard Time)", "Mon Aug 06 1945 06:16:00 GMT+0700 (Indochina Time)", "Mon Aug 06 1945 08:16:00 GMT+0900 (Singapore Standard Time)", "Mon Aug 06 1945 08:16:00 GMT+0900 (Japan Standard Time)"]); 60 | var time = Date.now(); 61 | info.screen = chance.pickone([ 62 | { 63 | width: 1920, 64 | height: 1080 65 | }, 66 | { 67 | width: 1366, 68 | height: 768 69 | }, 70 | { 71 | width: 1536, 72 | height: 864 73 | }, 74 | { 75 | width: 1440, 76 | height: 900 77 | }, 78 | { 79 | width: 2560, 80 | height: 1440 81 | }, 82 | { 83 | width: 1680, 84 | height: 1050 85 | }, 86 | { 87 | width: 1280, 88 | height: 720 89 | }, 90 | { 91 | width: 1280, 92 | height: 800 93 | }, 94 | { 95 | width: 1600, 96 | height: 900 97 | } 98 | ]); 99 | var [result, timeToDelay] = await runWorker([info, decodeURIComponent(info.toEval)]); 100 | console.log(Date.now() - time, result.status); 101 | res.json({result, timeToDelay}); 102 | } 103 | }); 104 | 105 | app.listen(44694); 106 | 107 | function runWorker(workerData) { 108 | return new Promise((resolve, reject) => { 109 | const worker = new Worker('./worker.js', { workerData }); 110 | worker.on('message', resolve); 111 | worker.on('error', reject); 112 | worker.on('exit', (code) => { 113 | if (code !== 0) 114 | reject(new Error(`Worker stopped with exit code ${code}`)); 115 | }) 116 | }) 117 | } 118 | -------------------------------------------------------------------------------- /worker.js: -------------------------------------------------------------------------------- 1 | var delay = require('delay'); 2 | var crypto = require('crypto'); 3 | const { workerData, parentPort } = require('worker_threads'); 4 | var mysql = require('mysql2/promise'); 5 | var util = require('util'); 6 | 7 | getShapeData(workerData).catch((e)=>{ 8 | console.log(e); 9 | parentPort.postMessage([{status: 'error'}]) 10 | }) 11 | 12 | async function getShapeData(data) { 13 | var info = data[0]; 14 | var toEval = data[1]; 15 | 16 | var initTime = Date.now() 17 | 18 | var [toEval, encData] = toEval.split('\n'); 19 | encData = encData.match(/initCustomEvent\(\"(.+?)\",false,false,(.+?)\);/); 20 | var eventType = encData[1]; 21 | var encData = JSON.parse(encData[2].split(',typeof')[0] + ']'); 22 | 23 | var eventsFuncs = {}; 24 | var window = {}; 25 | window.window = window; 26 | window.addEventListener = function(name, func) { 27 | eventsFuncs[name] = func; 28 | window.initEvent = function() { 29 | func({ 30 | detail: [...encData, undefined], 31 | isTrusted: false, 32 | type: eventType, 33 | target: window, 34 | currentTarget: window, 35 | eventPhase: 2, 36 | bubbles: false, 37 | cancelable: false, 38 | defaultPrevented: false, 39 | composed: false, 40 | timeStamp: 2692.9699999745935, 41 | srcElement: window, 42 | returnValue: true, 43 | cancelBubble: false, 44 | path: [window] 45 | }); 46 | } 47 | }; 48 | window.removeEventListener = function() {}; 49 | window.screen = { 50 | availWidth: info.screen.width, 51 | availHeight: info.screen.height, 52 | width: info.screen.width, 53 | height: info.screen.height, 54 | colorDepth: 24, 55 | pixelDepth: 24, 56 | availLeft: 0, 57 | availTop: 0 58 | } 59 | window.Object = Object; 60 | window.Date = Date; 61 | window.Function = Function; 62 | window.Math = Math; 63 | window.String = String; 64 | window.Array = Array; 65 | window.parseInt = parseInt; 66 | window.undefined = undefined; 67 | window.isFinite = isFinite; 68 | window.Infinity = Infinity; 69 | window.unescape = unescape; 70 | window.JSON = JSON; 71 | window.setTimeout = setTimeout; 72 | window.console = console; 73 | // window.console.log = function log(){}; 74 | window.Error = Error; 75 | window.TypeError = TypeError; 76 | window.HTMLFormElement = function HTMLFormElement() {}; 77 | window.Event = function Event() {}; 78 | window.encodeURIComponent = encodeURIComponent; 79 | window.fetch = function() {}; 80 | window.navigator = { 81 | "appCodeName": "Mozilla", 82 | "appName": "Netscape", 83 | "appVersion": `5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${info.useragent} Iron Safari/537.36`, 84 | "buildID": null, 85 | "cpuClass": null, 86 | "hardwareConcurrency": 2, 87 | "maxTouchPoints": 0, 88 | "platform": "Win32", 89 | "product": "Gecko", 90 | "productSub": "20030107", 91 | "oscpu": null, 92 | "userAgent": `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${info.useragent} Iron Safari/537.36`, 93 | "vendor": "Google Inc.", 94 | "vendorSub": "", 95 | "doNotTrack": "1", 96 | "webdriver": false, 97 | } 98 | window.navigator.plugins = { 99 | 0: { 100 | name: "Chrome PDF Plugin", 101 | filename: "internal-pdf-viewer", 102 | description: "Portable Document Format", 103 | } 104 | } 105 | window.navigator.mimeTypes = { 106 | 0: { 107 | type: "application/x-google-chrome-pdf", 108 | suffixes: "pdf", 109 | description: "Portable Document Format", 110 | } 111 | } 112 | window.navigator.plugins[0][0] = window.navigator.mimeTypes[0]; 113 | window.navigator.mimeTypes[0].enabledPlugin = window.navigator.plugins[0]; 114 | window.navigator.mediaDevices = { 115 | enumerateDevices() { 116 | return new Promise((resolve, reject) => { 117 | resolve([{ 118 | "deviceId": "default", 119 | "kind": "audioinput", 120 | "label": "", 121 | "groupId": "a3c9effd32ef010ee883643981bafa3fc78a8e9fc7c841fad03808449db04b31" 122 | }, { 123 | "deviceId": "communications", 124 | "kind": "audioinput", 125 | "label": "", 126 | "groupId": "a3c9effd32ef010ee883643981bafa3fc78a8e9fc7c841fad03808449db04b31" 127 | }, { 128 | "deviceId": "b4234cf3bf849ee664238a18b05db928a71380ed43524e250bf3eafeef844fa9", 129 | "kind": "audioinput", 130 | "label": "", 131 | "groupId": "a3c9effd32ef010ee883643981bafa3fc78a8e9fc7c841fad03808449db04b31" 132 | }, { 133 | "deviceId": "8b786868a7f22969d5c5ac047f9efe65d10b49a5162424187cc1a15778bdb986", 134 | "kind": "audioinput", 135 | "label": "", 136 | "groupId": "a3c9effd32ef010ee883643981bafa3fc78a8e9fc7c841fad03808449db04b31" 137 | }]) 138 | }) 139 | } 140 | } 141 | window.Image = function() {}; 142 | window.indexedDB = { 143 | open: function open() {} 144 | } 145 | window.history = { 146 | length: randInt(4, 10) 147 | } 148 | window.localStorage = { 149 | key() {}, 150 | setItem(name, value) { 151 | window.localStorage[name] = value; 152 | }, 153 | getItem(name) { 154 | return window.localStorage[name]; 155 | }, 156 | removeItem(name) { 157 | window.localStorage[name] = undefined; 158 | }, 159 | clear(){ 160 | console.log('clear',arguments); 161 | } 162 | } 163 | window.document = {}; 164 | window.document.visibilityState = "visible"; 165 | window.document.querySelectorAll = function querySelectorAll() { 166 | return [] 167 | }; 168 | window.document.addEventListener = window.addEventListener; 169 | window.document.createEvent = function(name) { 170 | return { 171 | initCustomEvent: function(type, canBubble, cancelable, detail) { 172 | this.type = type; 173 | this.canBubble = canBubble; 174 | this.detail = detail; 175 | this.isTrusted = false; 176 | this.target = null; 177 | this.currentTarget = null; 178 | this.eventPhase = 0; 179 | this.bubbles = canBubble; 180 | this.cancelable = cancelable; 181 | this.defaultPrevented = false; 182 | this.composed = false; 183 | this.timeStamp = 2692.9699999745935; 184 | this.srcElement = null; 185 | this.returnValue = true; 186 | this.cancelBubble = false; 187 | } 188 | } 189 | }; 190 | window.dispatchEvent = function() { 191 | return true; 192 | }; 193 | window.document.createElement = function() { 194 | if (arguments[0] == 'a') { 195 | return { 196 | host: "", 197 | protocol: "https:", 198 | hostname: "", 199 | port: "", 200 | pathname: "/bff/account/signin", 201 | search: "" 202 | } 203 | } 204 | if (arguments[0] == 'canvas') { 205 | return { 206 | toDataURL(text) { 207 | if (text == 'image/png') { 208 | return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwA asdasdsad' 209 | } 210 | }, 211 | getContext() { 212 | if (arguments[0] == 'webgl') { 213 | return { 214 | getParameter() { 215 | return {} 216 | }, 217 | getExtension() { 218 | return 1 219 | }, 220 | getContextAttributes() { 221 | return {} 222 | }, 223 | getSupportedExtensions() { 224 | return [] 225 | } 226 | } 227 | } else { 228 | return { 229 | measureText(font) { 230 | switch (font) { 231 | case '50px sans-serif': 232 | return { 233 | width: 136.2060546875 234 | } 235 | case '50px serif': 236 | return { 237 | width: 136.0107421875 238 | } 239 | default: 240 | return { 241 | width: 136.0107421875 242 | } 243 | } 244 | }, 245 | fillText() {} 246 | } 247 | } 248 | } 249 | } 250 | } 251 | return { 252 | type: arguments[0] 253 | } 254 | }; 255 | var document = window.document; 256 | window.XMLHttpRequest = class XMLHttpRequest { 257 | constructor() {} 258 | setRequestHeader() {} 259 | open() {} 260 | send() {} 261 | addEventListener() {} 262 | } 263 | var addit = randInt(1500, 10000) 264 | window.requestAnimationFrame = function requestAnimationFrame(cb) { 265 | addit += randInt(20, 100); 266 | cb(Date.now() - initTime + addit + parseFloat(Math.random().toFixed(2))) 267 | } 268 | window.cancelAnimationFrame = function cancelAnimationFrame() {} 269 | window.setTimeout = function(fn, d) { 270 | fn() 271 | }; 272 | var body = { 273 | id: "" 274 | }; 275 | window.document.body = body; 276 | 277 | var funcStMatch = toEval.substring(toEval.indexOf('{'), toEval.lastIndexOf('}')); 278 | var funcStats = { 279 | length: funcStMatch.length + 38, 280 | whitespace: (funcStMatch.match(/\s/g) || []).length, 281 | punctuators: (funcStMatch.match(/[.{([,;=/]/g) || []).length - 2 282 | } 283 | 284 | var psHandlerMatch = toEval.match(/return function\(\w\w\){/); 285 | var headersHandlerMatch = toEval.match(/(return function\(\w\w,\w\w,\w\w\){)return (\w\(\w\w,this,arguments\))/); 286 | 287 | toEval = toEval.replace(psHandlerMatch[0], psHandlerMatch[0] + `if(arguments[0]&&arguments[0].positionalSignals!=undefined){if(!generated){[generated,timeDelay]=generatePayload(info,funcStats,initTime,arguments[0],donor,dataFromBase)}arguments[0]=generated;}`); 288 | toEval = toEval.replace(headersHandlerMatch[0], headersHandlerMatch[1] + `var ret=${headersHandlerMatch[2]};if(typeof ret=='object'&&ret['X-DQ7Hy5L1-a']!=undefined){headers=ret}return ret`); 289 | 290 | toEval += ';window.initEvent()'; 291 | 292 | var generated, headers; 293 | eval(toEval); 294 | eventsFuncs.DOMContentLoaded({ 295 | type: "DOMContentLoaded" 296 | }); 297 | eventsFuncs.deviceorientation.call(window, { 298 | type: "deviceorientation", 299 | absolute: false, 300 | alpha: null, 301 | beta: null, 302 | gamma: null, 303 | }); 304 | eventsFuncs.keyup({ 305 | type: "keyup", 306 | key: "Tab", 307 | code: "Tab", 308 | location: 0, 309 | ctrlKey: false, 310 | shiftKey: true, 311 | altKey: false, 312 | metaKey: false, 313 | repeat: false, 314 | charCode: 0, 315 | keyCode: 9, 316 | target: body, 317 | }); 318 | await delay(20) 319 | 320 | var base = await mysql.createConnection({ 321 | host: 'localhost', 322 | port: 3306, 323 | user: 'worker', 324 | password: 'toor', 325 | database: 'shape', 326 | }); 327 | var donor = (await base.execute('SELECT `idrawdata`,`9`,`10`,`14`,`25`,`27` FROM `shape`.`sorted` ORDER BY RAND() LIMIT 1;'))[0][0]; 328 | var dataFromBase = {}; 329 | var dataNumbers = [11, 4, 34, 30, 3, 33, 28, 0, 6, 8, 16]; 330 | for (let i in dataNumbers) { 331 | dataFromBase = { 332 | ...dataFromBase, 333 | ...(await base.execute('SELECT `' + dataNumbers[i] + '` FROM `shape`.`sorted` ORDER BY RAND() LIMIT 1;'))[0][0] 334 | } 335 | } 336 | base.close(); 337 | 338 | var login = new window.XMLHttpRequest(); 339 | login.open('POST', '/bff/account/signin', false); 340 | login.send(''); 341 | 342 | console.log(util.inspect(generated, {showHidden: false, depth: null}) + '\n'.repeat(5)); 343 | parentPort.postMessage([{status: 'success', ...headers}, timeDelay]); 344 | } 345 | 346 | function generatePayload(info, funcStats, initTime, original, donor, dataFromBase) { 347 | var timeCoeff = 1 + (Math.random() * (0.25 - (-0.25)) + (-0.25)); 348 | var timestamps = deserialize(donor[25]); 349 | for (var i = 1; i < timestamps.length; i++) { 350 | timestamps[i] = Math.round(timestamps[i] * timeCoeff) 351 | } 352 | timestamps[0] = initTime + randInt(5, 100); 353 | var timeDelay = initTime + timestamps[3] - Date.now(); 354 | 355 | var generated = { 356 | signals: original.signals, 357 | positionalSignals: [], 358 | errors: [], 359 | }; 360 | for (var i = 0; i < generated.signals.length; i++) { 361 | if (generated.signals[i][0] == "custom_ChromeConsole") { 362 | generated.signals[i][1] = false; 363 | } else if (generated.signals[i][0] == 'custom_webRTC') { 364 | generated.signals[i][1] = []; 365 | } 366 | } 367 | var ps = (new Array(35)).fill({}); 368 | for (var i = 0; i < 35; i++) { 369 | switch (typeof original.positionalSignals[i]) { 370 | case 'object': 371 | if (Array.isArray(original.positionalSignals[i])) { 372 | if (original.positionalSignals[i].length == 20) { 373 | ps[i] = deserialize(dataFromBase[11]); 374 | } else if (original.positionalSignals[i].length == 4) { 375 | ps[i] = timestamps; 376 | } else if (original.positionalSignals[i].length == 3) { 377 | var deviceCount = randInt(1,6); 378 | ps[i] = []; 379 | for (var j = 0; j < deviceCount; j++) { 380 | ps[i].push(crypto.randomBytes(32).readInt32BE()); 381 | } 382 | } else if (original.positionalSignals[i].length == 1) { 383 | let keyevents = deserialize(donor[9]); 384 | for (var j = 0; j < keyevents.length; j++) { 385 | keyevents[j].timestamp = Math.round(keyevents[j].timestamp * timeCoeff) 386 | } 387 | ps[i] = keyevents; 388 | } else { 389 | ps[i] = original.positionalSignals[i]; 390 | } 391 | break; 392 | } else if (Object.keys(original.positionalSignals[i]).length == 0) { 393 | ps[i] = original.positionalSignals[i]; 394 | break; 395 | } else if (original.positionalSignals[i].hasOwnProperty('screen')) { 396 | ps[i] = deserialize(donor[27]); 397 | } else if (original.positionalSignals[i].hasOwnProperty('mathProperties')) { 398 | ps[i] = deserialize(dataFromBase[4]); 399 | } else if (original.positionalSignals[i].hasOwnProperty('stack')) { 400 | ps[i] = deserialize(dataFromBase[34]); 401 | } else if (original.positionalSignals[i].hasOwnProperty('bodyAttribute')) { 402 | ps[i] = { 403 | bodyAttribute: false, 404 | scriptPresent: false 405 | }; 406 | } else if (original.positionalSignals[i].hasOwnProperty('hasGlobal')) { 407 | ps[i] = { 408 | hasGlobal: false, 409 | hasProcess: false, 410 | hasArguments: true, 411 | argumentsValue: "{\"0\":{\"isTrusted\":false}}", 412 | argumentsHasCycle: false 413 | }; 414 | } else if (original.positionalSignals[i].hasOwnProperty('immediately')) { 415 | ps[i] = deserialize(dataFromBase[30]); 416 | } else if (original.positionalSignals[i].hasOwnProperty('whitespace')) { 417 | ps[i] = funcStats; 418 | } else if (original.positionalSignals[i].hasOwnProperty('exists')) { 419 | ps[i] = { 420 | "exists": true, 421 | "falsy": true, 422 | "nullish": true, 423 | "callable": true, 424 | "documentElement": true, 425 | "type": "undefined" 426 | }; 427 | } else if (original.positionalSignals[i].hasOwnProperty('historyLength')) { 428 | ps[i] = { 429 | "historyLength": randInt(1, 15), 430 | "emptyReferrer": Boolean(randInt(0, 1)) 431 | }; 432 | } else if (original.positionalSignals[i].hasOwnProperty('timestamp')) { 433 | ps[i] = { 434 | timestamp: initTime 435 | }; 436 | } else if (original.positionalSignals[i].hasOwnProperty('mouseButtonEvents')) { 437 | ps[i] = deserialize(donor[10]); 438 | for (var j = 0; j < ps[i].mouseButtonEvents.length; j++) { 439 | ps[i].mouseButtonEvents[j].timestamp = Math.round(ps[i].mouseButtonEvents[j].timestamp * timeCoeff); 440 | } 441 | for (var j = 0; j < ps[i].mouseMoveEvents.recent.length; j++) { 442 | ps[i].mouseMoveEvents.recent[j].timestamp = Math.round(ps[i].mouseMoveEvents.recent[j].timestamp * timeCoeff); 443 | } 444 | for (var j = 0; j < ps[i].mouseMoveEvents.throttled.length; j++) { 445 | ps[i].mouseMoveEvents.throttled[j].timestamp = Math.round(ps[i].mouseMoveEvents.throttled[j].timestamp * timeCoeff); 446 | } 447 | } else if (original.positionalSignals[i].hasOwnProperty('initialState')) { 448 | ps[i] = deserialize(donor[14]); 449 | for (var j = 0; j < ps[i].events.length; j++) { 450 | ps[i].events[j].timestamp = Math.round(ps[i].events[j].timestamp * timeCoeff) 451 | } 452 | } else if (original.positionalSignals[i].hasOwnProperty('crypto')) { 453 | ps[i] = deserialize(dataFromBase[3]); 454 | } else if (original.positionalSignals[i].hasOwnProperty('mpeg')) { 455 | ps[i] = deserialize(dataFromBase[33]); 456 | } else if (original.positionalSignals[i].hasOwnProperty('fonts')) { 457 | ps[i] = deserialize(dataFromBase[28]); 458 | } else if (original.positionalSignals[i].hasOwnProperty('shaderPrecisions')) { 459 | ps[i] = deserialize(dataFromBase[0]); 460 | } else if (original.positionalSignals[i].hasOwnProperty('dataFragment')) { 461 | ps[i] = deserialize(dataFromBase[6]); 462 | } else if (original.positionalSignals[i].hasOwnProperty('numOrientationEvents')) { 463 | ps[i] = { 464 | "numOrientationEvents": 1, 465 | "avgInterval": 0, 466 | "avgAlpha": null, 467 | "avgBeta": null, 468 | "avgGamma": null, 469 | "stdDevInterval": 0, 470 | "stdDevAlpha": 0, 471 | "stdDevBeta": 0, 472 | "stdDevGamma": 0 473 | }; 474 | } else if (original.positionalSignals[i].hasOwnProperty('plugins')) { 475 | ps[i] = { 476 | "plugins": info.plugins, 477 | "hasDefaultBrowserHelper": false, 478 | "numberOfPlugins": info.plugins.length, 479 | "hasWidevinePlugin": false 480 | }; 481 | } else if (original.positionalSignals[i].hasOwnProperty('hasToSource')) { 482 | ps[i] = deserialize(dataFromBase[8]); 483 | } else { 484 | ps[i] = original.positionalSignals[i]; 485 | } 486 | break; 487 | case 'number': 488 | if (original.positionalSignals[i] != 18446744073709550000) { 489 | ps[i] = deserialize(dataFromBase[16]); 490 | } else if (original.positionalSignals[i] == 18446744073709550000) { 491 | ps[i] = 18446744073709550000 492 | } 493 | break; 494 | case 'string': 495 | ps[i] = info.timezone; 496 | break; 497 | case 'boolean': 498 | ps[i] = original.positionalSignals[i]; 499 | break; 500 | default: 501 | ps[i] = original.positionalSignals[i]; 502 | } 503 | } 504 | generated.positionalSignals = ps; 505 | return [generated, timeDelay]; 506 | } 507 | 508 | function randInt(min, max) { 509 | return Math.round(Math.random() * (max - min) + min) 510 | } 511 | 512 | function shuffle(a) { 513 | for (let i = a.length - 1; i > 0; i--) { 514 | const j = Math.floor(Math.random() * (i + 1)); 515 | [a[i], a[j]] = [a[j], a[i]]; 516 | } 517 | return a; 518 | } 519 | 520 | function deserialize(string) { 521 | return eval(`(${string})`); 522 | } 523 | -------------------------------------------------------------------------------- /shapesourcecode.js: -------------------------------------------------------------------------------- 1 | (function g(y){var J={},h={};var d=ReferenceError,X=TypeError,G=Object,f=RegExp,R=Number,T=String,l=Array,U=G.bind,m=G.call,K=m.bind(U,m),D=G.apply,S=K(D),v=[].push,E=[].pop,A=[].slice,P=[].splice,a=[].join,B=[].map,I=K(v),Y=K(A),Q=K(a),r=K(B),p={}.hasOwnProperty,H=K(p),j=JSON.stringify,i=G.getOwnPropertyDescriptor,k=G.defineProperty,W=T.fromCharCode,s=Math.min,n=Math.floor,q=G.create,L="".indexOf,c="".charAt,t=K(L),N=K(c),z=typeof Uint8Array==="function"?Uint8Array:l;var C=["p3unsqtgxlGYIdo8Xrgm79Y","aNFkUC_YKvAJ7VeAyyvWW0jPQCN-risv98WSOwWWrjWlF6E39WMF4CSIRI2cR_30mYDCB2S3EINFdSLyQQ","J9AVBnatMbI0","btBuXCLjOYN-ihTCgn0","6WzY4q1v1l-n","cepHXi7RdesiiWqSuRmIbF8","AZJWSjfTDdtu","LN9AQAHCc6dxwzf22FU","Ao5ZTSzwd-l4","yTyr6OFvxQ","jDby86Q33WDffJ0","length","MbE-dhn3AKBO9UXuhQnoFw","Hk_s665qzBblcoxA","d81dSynda_hT-kiipjW0Qw","Dxy5vNAvmjjWeYRgS-t6np0gwLiGHOr8PRQc9ddSQJRjuzO1K4eMOLRouiJcvQwMfGMZorR58ROugv8UqrtVGzQ","QsUPA3-XSOoGk3edgg6efGM","from-page-runscript","1XXGwr4dvnk","fEWNmg","sPZLSjTNf-8zr2usoR6HY3zD","abs","9sBBdz_uZoZCyn21tw","2iank-IX_w7-","l9crH1OKcuA","2oMQJlKwFeAP-irW6lbbPUP3SyNF","VOAsDX2ADIMEx1yT","iVCKgM5G7XeYEOU","now","log","8knC7J92llus","gTylmfEvzw","characterSet","0VrN1qFG7DWwHP0kIJ9E-ehaoJC1c5vPRDFlmaEaGfgIwA","dAylqctxxBr3YoJQ","Promise","height","SAuppOFy8Do","rpwnUVCLOZZz2w","querySelector","otB2cBg","UYQIOVy-Obo","V69pTzvjAZFt_Q","kxjv-bdXoA","PCaUscU_xxjyC7pwPA","AkX40Zth","6nU","BHfvrMwD0Wg","J2DQwodb4FulBvYGM5ci","bind","spouCFqVePlh81yW","D5JjahLmDbZjzkKD","n0eQisNOuRm_Gfk","wd92cCj1V5U","multipart\x2Fform-data","sort","lig","yu4TJ1yHKIJKpSTP","I2PK1r1J7VKwHuQXJpQJ9PBTvMPnYYycQHZ3mKA4Jg","8-IwNAObew","6aB3RiLFM4c2nQHHilY","undefined","Ytx7egfkVPMftWE","YlXZ298o3X3QBtAHev5iuw","HBG0sd0ilzXbdIltRuZ3k5AtzbWLEefxMBkR-NpfTZlutj64JpyTIq9KxGZMpwEHdkZcsfI6vU-miPB6qcRdYz9RYwa_","dgP277R7","KSCcjsQKoAX_ArkARddFqg","Qqw","CAnX_rZk6xykWf0","rd56NlyzXpY","YfhFeC74Id0","ZzawiN0Ynxo","Event","querySelectorAll","addEventListener","getPrototypeOf","dapPcwTzeIQt","zac8NFm1H7pftSvjyXPzHAXsaDEJgn9gpZGfdxvzwxz6O7o","aGTk0ZFtqBu0OotGC8Mykep7tpLoIqnRNQha9M8","2jG-7OM","IUiTlu4Y2w","DzeLjc0KuDLgV6NMNNdVr6cP3cC_JMvb","EgC9iPEinGKkDrR6YQ","kYkYOHGbWtRD13qnww_OcSCKXWU-61gj1vk","EXnByK9732CCLNYlNK0z0sllksfHUqOvckBOuocbAw","AtpKSiDUeKM8gGU","5rJ3dx62U59T-zv8xz2k","rAvD1o1b-wI","hUCYrvUYxm-8HdQ","oxs","_Dzrw6VC3h2PV5l_","RT27mtMi4kfjZMIFZg","EXDPwfQp2nCSEuwScfs","_wbAz6JewyiFa84Gc5R1_vZ0u_7V","bv53Whjh","xvlgVy33JJFc","-wivtfAmnEeX","LTqjuvculyfAO4F2QOB9j5B4","value","8R3P2JVEoy0","x1eVgew","frA6A0yYAotR","Ofg6N0nq","gLtHfB75Jos","80","z89kZzDyU55c-hnZ2g","oasnLkO0H6dhqSD-1Hj5","Vb8PFleeKOksn2-p","HyWaqsk6j2ufc6dGfME","Ug6upssf","28xnczOqF-k0pVmptX-i","XhfT_51gtRHndaspNIVy2rtX","YZ1PWDn1B8Fn1yvf9Gw","eIkyUAvCf9Es8QX0rHywCxTtXiVjvShjtNPAbA","Float32Array","yj-DneVZ6DT2Y7NeYQ","K-s-I3yFe4M","dRG1suM","global","capture","LDzi2qRaigDSNg","constructor","u8tXYQL7e_EDv2CT","L1bvzZ1J8FI","zuF3","dAng6oB4nwXtX4ZjSg","qb1iaRPzKvpc6zI","setAttribute","443","DOMContentLoaded","x6IwCESbaKxhjACVrw","hu9VajH3fq1RxGqsuTLKbgmXfi8e","EHHPjPYN4Sv-SrlKLpA","gQvqyJtLmD0","3MhwcC3fTg","0sB-bxqgGOofnU2umGC9QEnvCXE","uhmXlvQI5UG1GfQ","1ZskVC2IFw","mqo_AFGTaKFTmQCAq1mYG1Cj","SOMoO0Q","u5A1DX-EZp9T5l2E42TaVi2kR0gS_g","BtN6ZCznddkdiEW2_jWoVUTwLjhJxw","MRya_58xhg72GatnPu5pqKIx-w","CQDRx6wX3HzZWw","GkTh8ZQolhKYIckPXw","IfwzPlm0St0Utl69jD6-WVX9FSlB2gNw9dfNcFny","wWzw0-ZCxWXU","ZotnZwHtafkOyA","get","setPrototypeOf","min","2SOttbdWuQWndKh3","Ma4ZB2KrB45B7xLA","ebheQw","pX_tnMoQthjVNA","Wlz-5ZY","8KMDKkXMCqY2szm0xwbq","8vwwPkqEabkDslU","TM0HLVisMLEG2k0","GROgqekDhQ70d6s","S9hBWAXMc8N93keaox8","catch","1w66svU","tGq7ntVuvA0","getItem","SHDH8I19mg3k","thzU0YJUoS3VRrxoaQ","a7hyXSnQT6wY71W7_gn7bnLuKGVQnU5N76e1PTs","WXqqpe0gilX0","-EDl25xQszeAPI8","SvlFUDrDZMEc0FWTuQGW","fT710aR51SOFatg9YpJA8vt0tA","Uint8Array","uc8eOEm9Jc9jhzDRnXieDROVWgQm6iMmhQ","lk3H2Y1duQ","8DqsvMsOsQ73RYJxfOg","detachEvent","isFinite","encodeURIComponent","setTimeout","tkSIqek4rx-_","k-BZcgniDoFxhj4","enumerable","XMLHttpRequest","3T_J1vkXkk0","5A6hm8AV4y78CaRUL9k","CRrkyoBPpzCAeJ4U","Wq9lYiLzB5o","NnqsqMkzgBqUYNkKWKQ_3A","string","kbVRWHniIuUqk3OAhB2b","o2jl6Khh0AjnZ5FcYOY","t1GYk8Z0xRKhFA","tI4pMmuyGZdQtgO09l_KOw","dMcfE02FR4o3r2qq5w","gOYSAFzNFYkJqGO8o2aP","Xz6WpQ","Infinity","vFubu612v1nCGKJJ","complete","9lzG_K1XnUm3","yA-tu9QLti_HRoRx","LnnJ3q5S_Gi9D-8","RUeEmcZc0w2zHLQZTKdH4PAct_LKOo-LU3s","7Yhhazr1Lb9-yA","I0fl_ZZv3WeBJcI3C6oLw8F0m-0","NpA","1bBwYQfuWe9j_A_633W9VgyjSQZNyjI","wGXS3K1dxGu0CcUvdIEB-A","I07t4aVhwXyb","p33-57BikA","Gq4GFWKO","fq12XSTIfKUL","unshift","u2GzhsMWymDjec8E","kkm-hPwC","XfhRTzquEw","nodeName","KQKLhuMkrg","3O9nKSGlT-wQvQ","u-ofFXGUVQ","95lRXSPTANhVwifK-H6YMhOfdQ0b9kg","eg7ZypNFn1Xz","1qxhUQDXV_xBoB3IhlPEOgqnFWY","eP4-NFHkPKoqrVykl1akYUmgTQ","performance","initCustomEvent","lIM4I02yBYFiyybHzlHbLSOBeREiiVJFka4","USLx9I9ypnfRa4FlRdc3n40yz7a6Ue75MR0K8MVLfNtiqzqJZISNKrB7hm1OuAsFb3ccsPAwuUzvzLUo5YcaUn1gIUL7osXw","7vBLfC7gaQ","X7BEShPKFZJf9CU","1MJSAHWQbMkihDm49G2ZdzWjQQ","xuouIl-4KvV3rS_U1WjaIweDdjc_2TUg","-SHm1JNTqAmxMYxLC9EmhORqsZv_IJL8OQpd-fFLKZ90-mXsA6jfWuhT3kVP_C02AiFM-vxA4WTclo5s6w","start","70bO4aRaqDmMELd8NQ","IchxbTf6Wo1p7wvU7HX1DhWMCxIyyA","href","T-I2I2a2U8gKsk-5lSGgbFPoCy1C","63jStbVolESBUw","Pln30oNQ7g","864","EYE","VSzb54p-qgGrVKMvKpF90o93-tj4V5TP","HjuPs-Ur2zLuUcgvYdB7","4iye","DDvi5bpd3R-4ZPE2Ar8uww","W3Ldn-0e81w","9z_p5JNjtxze","_QGr_ol-iEqaFcgRUOgT0No6nA","xd4rFWSxBKpyphfSnEmWPVk","event","NXWO_-hv_3KcNpdU","HTmX6eM","RyDj179K2XDBMJ1KCthUlZcSgOKNLODlNANL8dhAXbVryGfEdbnZKvl7xE5cjzs1EgZFl-o2lXDFhqJ0x_JeYWsoJ0qXn9LG","v8NzdRGpPsk","3y-mkegCwQ","url","TRUE","YbR9KA","kU2-puBdjhqHHg","0bQVGku_","push","location","BJM","z_JIbDnJbQ","5ZUVL26vUto","hdl8ZiH5RYNc_Q","1BI","g_E5B1SODP5ctwT7pGKsPyi8byIZ3Qw","AmHV1pdg-3GrLg","GhKDhfsNqiiBIo1q","RS2AmdoQoQ","A8NpJB_2WaAHvUv5vUvtTBvxFmxDhiMj-tudOQ-a41y7Nqti9GI0siI","Yzrs_LxV0wS4eQ","rtF0aRjqU-8Nqke1","8PFCUAQ","reduce","TSODnN0VhQDKaoxVBO5klpUn","FALSE","IEXp_4VpynuCC9o_Ga853cl_kvA","bTWkttg6hxDfMqw","GDWFgsMRvivIRg","8Y54byHnHZtu1gU","11Tx9Jhn0nCeMcwoA6My1tVoiPDOVKK0dVxUvZ8aCNwr83v9Y9nWZ-oPgSMJ4kRCMwMZ6Llr4hOolvkk5IcNW3tiVUWPpcTx3YkUhE9llrMXXGex3-sq63IjGuA","gRny_rAs7XHN","oqYDAXPteNI_yyk","configurable","OCu0iMs3527ecfwDY7I","VOklL2o","I_YLF0nIUr8kg2SzoyezVA","mchxUhbBOucvtyw","1IAnTXWVYLVBnRLWiGqG","xRPT07VchkbnQ7lldfIctKIf","ZRb0-akF1Q","0UOPj9BWpAa5DA","floor","sdURH17cEYMwnXuJnnY","clear","bFrz74RnxHGYLcIqEL8l0M5_nuHISLK-bFo","AORcPDrxFtkPymuh5Qr7dg","r2XNoJd6sEKjavQ","Cs0GN2e7JJo79G-s7D4","documentBody","s2jB-qUAxWnwc-5yAA","UcpUTgjQfKNA2yTs0UA","W3Ps6rhvlx60CYdBKughoMV7","upgeKk-zT6F3mT-6i2yrLHeYMw","OOgbHmmUW4I3gX4","PnTE0KFJ7FizX9AfI4tYue9OvcA","EOxRTADFe6BrxR3vyXXSNSCY","tLowJ1aiGg","fromCharCode","LN2","IDyNr-YtzgHfQME3ZA","0","DWHZ1toi0WafJt0CcPJ7iQ","TypeError","createElement","Oqdqcw3NMA","done","2HDxkd1qwQ","Rxun2uwO","nKESL3K2JdoAgzrL7XWGOGfcMWRI","5S6SkP14th2xA50Ud6BLnu5r","gx6wuOY7jV2MJcYdKaU4xd9u3df7CeLsf2d2y4I","_xDCyJ9Ej3jvZw","uIVNYBbpcw","4PtVTQzvX-QWrlOcoD2mRko","4i_p8ZQ9527ZZbxwXA","UvRJXxKFLO0W21yVvQ","3mWNoM8i4X63TuIRfIM","nodeType","8MU7Kk-tcA","LGWzs-YugF7zOb1HVONzg5gA1pSkUKazFA","CsdcbjftH9B01nw","documentMode","4uN3PB_ZE6FI5TWy","HSatjsk690HvbtoXXKh727A64ciEeuOVZg","0bt4ZSi9O_VK1Un4i0Gh","charCodeAt","XN9lFCLMPuQd-UOU3z_CWEXKB3AtpAx767Y","onreadystatechange","all","Array","WdJKah_KZ5wyyGuHzQ","qhWGgckP6m_hfu00Sp9QzKUN7w","vqpwTiHER48T5Fy0","Jzvh_J9zvXbJcJBFHeA-noc","HKMSDECMNPgijWKqgjefdX8","nmzIv-0omyD9AvQGQw","W79vWjTKVIse60Gp2w3-cGg","qF65hP0","NyPw9Zku3mzr","75BwVxn2Q8p_iA","VXiiuv4","nXOBlO8VwQWjE-4P","^[\\x20-\\x7E]$","NtESJlurOJAY2EiK5iWkY3HPTxth3Q","put","exists","hidden","fu0RKGShU95okQ","_i-ni-kAiE6yTIZCW-NqkQ","FwzR_Lh94h2DW_sPSrRfyNtS","status","90Po7KJ_ylGUAdclRr4wxs1BuqjdTqiv","QOYoGXmeG7MZ-1ODyACEW1TBTzpY6ikl9g","notadRf-NJsr1Dmzt1i0SBLtfQ","action","qGfi9_QJ9lHzIQ","zDO4l8o0-Q","ms1IGmmXYNI4jyQ","tinKxaBCrS0","target","q60OAQ74CKw","po44HkKNE9MkoQjHykijAXH0AFA","mA3m65dfngmtXg","error","3OxkKVySMA","charAt","V8BgFnPQeu8R_0KDlieTQUjQEH91rw58sPbVZw","(?:)","join","9IhKZU2qbpAm0WKcjCXVX1nb","__proto__","689HTQLnXw","zxWQl8s","8KVgSAnfJY8vtg","documentElement","8YQTG0GVJw","mYQ4N0O1FJRQ7w_A2Q","unescape","RjrAx5JJnA","3xWqvN525zrDSQ","xF3LhdNQ22DFZQ","vz3JwJdNuj3bZeI5","NvF2cizTcs0","c54tDmmHHNQwqRjQ1lOgBHjgH1dl","frameElement","unDexIBq5C8","fZlJUz-VQsc5mGA","X_NdZgbuG_gtijHqnAiqOEbS","H1qHo_pJlAy9","every","LUPjxIhM2Qf6","fxbW8ot14A","W5UXElaXY8E0iGeygg","gnWJhfkq6g","e2qavOU47E_sAeA","_sgQHUmUOvIBmQ","Int32Array","window","N0OfnfEKlGw","2lnjkqNEonewaMU","Ms0PSXi5RN09n0LDuzrD","8-QQC3SOZpY-kGQ","F6BiawTiAYxD4BU","Hi2bjNcztjrsPw","Element","Pzw","appendChild","ELF1fD8","H2rG0YpU4ky8HP4HdI0","I_8pOV-TYcMHrVk","YCKrr7Be","J2ayg_kbjXbePoBuGvcSkIoexqy_b7C4DUVhysIieoll0hbmQLLXIA","hN93ezOzBPkqrg","Oha8vPEGrA","WEXk64p1gEaCLtspA7g03_kmivDZWffiWQ","Function","DZoYGUidPw","IZpfVT6jCQ","([0-9]{1,3}(\\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})","tvNuajPjAaBE-hM","weNrYCv_Z9kbhU0","message","UNDEFINED","am7GsIkx2EG0W-AxasQm6Ox-o9-YTrzNFFJshKdwHclD9V3XBQ","IDOBqu0D3n6fcOgjfIp2","a98OElmQX9op","g44k","isArray","UD_-6oxhuFHMYoRbGf4mh4Mk6f29T-E","IHw","8_1JcwbtP6s","1agHPg","CeguPGa9eacIkVOf","NPsgGVGXcvd55nWs0gfIVDmVd08J_0IJ","6upLAVCXaIBx8grunxfpLjjZ","EVHn4ZB40GCMJMY0BaM2ytY","y_UhMEKxFs1hvBrCxnftBwaYTyU81Twll_jvWAiuqzzPbMNixG4VyFGCJJbbHfmW1MGQa1q8drFYXGKNcxSO","KNZxGXnbXuQX8FjBgTGIWlLBMltksRxm8qs","PzvJ7KluixCm","innerText","NOFIPFbidss","ArrayBuffer","JEX-54cvqE-qEt4","self","parseInt","aQW9t80kgBjXYp5NC_Fn","ktBvSA7G","ey_jxK9YpXTSFox6","dispatchEvent","I5Q","E6F1ZBb6Hg","OmS-rPIgpFfjOqxQVO5tsKwSy6U","apply","MswXG1CUXYAnmmevqzXB","7dNBTjLv","2iDDzY1Nmg","QneglP8oj0jUBw","hJhXZRPjbZgxynmA_xj8aWTnMlBRhlxf","4S_q3tQeyDGwbNYnOpU","uehKQj-eMfcHu2uY","","zIQxJVK0BYhO4AzVnWP5BxmmTn4Ij3VyuIyecVLk8Az6M_xjsAgaqTnYfq7AMrrNsNPZOXO4Net4RznZeknBgvWkjpJJaBQ7EUTqfJ-0VjSJj7Z9ETj9FP_qyh4","obw4HV4","x7EXA3qFIph_yBvu","L7QMEHSFLPs9nm6kpxOSaX_P","mYgqFkusf91O2HuV8A","_RPU4A","body","tJ84AlGEZrxK","WhDa0akS03r8VrJ1","empty","tNFpIE29RZpD","Rybs4JR4vUE","LmnqkLFG8F-RfdJfJuZMm9cGjOc","70","^(?:[\\0-\\t\\x0B\\f\\x0E-\\u2027\\u202A-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])$","submit","edl0YgTwFM8Hqli9jSCoT2-yBHRGwXJg","qC_Ew7s","detail","-XH30Z5_pBOmKINIBOoynu92soHALbvENQdY8N0","ELR1dwOoZ_Vf7gXn1wv0CBzrAnct3316uY_J","zYIJNEGj","2FPh7oZZzEGPIMEQTaIN0dJyi73NX7i5cg","5WbF4LJ7lEq6RfU","UBre0IRBiQ","-gDr8K9ihRnqU515QcY","ppY3GWipecsq","_r0EAHbaJ4wzmTub8S7NE3n7PERP","Z2yUn-9PihqbPeEILfsN2-Q","sNprWQ7FS5Y","IfIhJF-idqcBu1G1lQfnT13iH2ZqgT4p4c3aIBWbrAuye-pZtFRd-mCrVriDf93Ort_IOH6yNMEMQV3zNVY","Date","SAD2_Y5jrGrJf6Y","-E_l6K5R1ECfTc1k","sVORnuMIxwyvBvoUfLld4us","51X8478S61ewG-A","1TDm848hynXTbIh2","tOosGmmJAvJAvQ_qtUmxPyS3eCgC3QcXs-zlcHeQ0j3Ke6JN8go","PjaPhc8BpTLdfIBwbg","3c1PBGGee5V7","4Sjz6L4v1XTQfIB0Yg","writable","4E2lkusf4gXM","pow","NWe8js0","getOwnPropertyNames","yEeZntEX4A","43C3z55UpXO5Sg","parentNode","e5VlRC7cD7we6geejijCbAzTS3xNzCFmx8WqBgqovFC5Cfxh","80nxzphfqVe6NrxQBA","19U1Og","Ihzk17JG3m3BP51GBw","5UmttvNZigmD","jOdCQg38VKxRrGk","V2Li2IhXqgjfJ7lE","FsprUiefceBawk4","MwaWqdEx0B_7GaI7A9Ejs_MausqXWsc","method","defineProperty","toString","_bIA","slice","6WnQprZqllGKSvEtfg","zUOAlPQQwD6wC_ApaqZN__BNuInNO4iOTXxxjbkENboC2gymBuTwVdIdyEE4x0owSD4l_MdRzQGSqc8yh_RxM1McOSGM3tGNofQ","jmeEqcc9yV2WcOscdJY","abgVN2SfIaJs8z7Y81H0Pw","MNAWGE3AVowqljc","Ilrt74p331uCO9o9DL8HwM9wnc_eQb6edVZZoYs2I-k","29V5WgI","Na4BAX-RZaw","91_e-KdRkiuZDLF3IP0Zp9pK","{\\s*\\[\\s*native\\s+code\\s*]\\s*}\\s*$","getOwnPropertyDescriptor","slmXgfVR_xWXG6M","QC_m4pBtonU","VHK_r-kY2Ua4IdMMF44r","BHOuqto34zaFIw","xkCPouQipgmpRcQif6Es6v9W4I7nRLiGUHo1","HWv4wYBL3gyZdsAi","OkDgnpMF736tP9YaOg","AL4","Cch3cAymA9Mj826hiDex","bVeQivIV7Gep","ERw","Zyc","aWDp4Kt92Fg","nOJ5Xh3CNZ5nsTM","Qf5TaACpUvpi8Xzkm0c","Symbol","vf06CE-PBtBTpUW_mQ_qQiOkQjRipwV3oYvfNiCuolLzZ-V0rXMPkSKeWZk","-4AYTwmbC7AOsg","JcRMXgucRfZbyHc","document","KUySh81A1A64HK4WTuRe6_wVtQ","EiSEkdgVoij4","attachEvent","bP9HbSHtJs0h","Error","kposMl67GLNh-wDD","m8FDYCjkFA","indexOf","ReferenceError","o6MVB2asM7E","DuFPJGCiBaBn","aN9KbQPlHg","ygHAxZ9WtTfWWr9mYPVGkbE","nhyLmdwH6UyoH-oCHw","closed","LeQpMmrwIrwXoV2Th1euUHS4Vj5j","stringify","gVD9jaBTqm2T","bwHIzIF2j2o","hyuTkuEAvh-YDuUFLLsd3vE","vIAnDkqcZIZA-ESU13_ERDSnYloG_Wo","click","MKYaH3rEaIM","u4tJWhjTNJ133Sfhy2g","name","tuQsLnc","7n_z1qJI","yGq9nfsO_H_gYtw-R51b2qg_7tCBbMyGfw","8Y0ODB7zHaEI3RY","true","ksAZDHuJOdNUlCn0yEPKPw","DyO2iOMV4DKZFbg","L_8iOlPjLKYFtXe3nlGOQUa6STs","substring","aJ5lSyfrQJA","0LoHKkWwE_c","WUafpN8_mmc","open","141KdCv_JIM","zNdiBSLYKvYK6VuFmn3aDU-dFXYu_y0s88KXbAmWrmD0RvFh8WcD5SI","assign","lGX67Y878X3zcI17Q9Rvq418hg","XvZlaxrBSbl_g1Cc6g","B4QoXgHYc9oe6x7iskiqDTjrUi55rxZ_qMnMYDTr8gLLMNE","idNQfg_0MKNYjw","VLI6PEmzRZcgp1eugw","mark","mqYccHnQDLNB3Qn60Q","application\x2Fx-www-form-urlencoded","t7R3AXrC","QgKih94","S0ro2bRUoyvOKpRAR-QDgZcZ2qqRMrGjGFl61pl4N9o5iji7bu-Me61nkxUGj39rGE5Y","XnrK2LZir3mgDuoOCZ4R-90svcrl","HEL49ph1","Object","4eNWWznsX9wRs0GHtDqnSUM","U2v514Nqoh6nNZ1K","n3m6oeoVz0e5IMo_Gw","tehmVzDDAcYhlw","57hBdCTmKpoLxCyzoBvd","rc93WS3pVrxv3nm2","P0Ld-59n5mQ","match","oJQoAFKS","DONLSSvbX8APs0iY","rblrSi7Tdr8","kzjy_KJ7gQHuRJBYUw","removeEventListener","CustomEvent","interactive","peNWUznHSugVk0C6gzmvSA","cbtCRx7daflUw0WujR-afw","-mzSyY5T_nyJB909NLA75ttqmes","String","5yTn9LI2_HbNa5d0dJ1xmI5o","_Gywi_sXm2TfAox6K8sv","replace","mOdHJSWDUscag0-tkQ","set","Y2M","_zqMnewboxHrBqhaatML97sc7o63N8_QFm8o","p-M","EC6ynPIG5w","fFvt-A","LsQJM2azPIkZ1Fa3_jms","typeAttr","xxmxtfBwhiy4PZM7","IH79_YRsi2yfOMc0CakiwMIxnPzEWfuoZVFFoZRDE8By5HfodoDAbLMX2DwF9V5PIxUOoe5o7ge6","type","Int8Array","U4hNTmyYA8ROk0S-","FEyfrtA5rVM","-xjbx5cC70r9Va5mUA","geBtDwrBeM0pmQ","lhc","hC2t","ubIIF2GVK4xn1SX95VbMMgaXbQ4q","_jOcl_QFhTg","9wqlp9BMiQqHNQ","kuUXCCmobqhaxD_Rxlnd","MG-7ivAShH_UMoxUSfEMpsMBwKOOFeW6Ak5gw4FmZYl90G3qSburL_81","map","BxzW-Y1x9gS5T_oUSq1ewcdYlsH8OfXhSRAblJllINIi","concat","RbE","xW69qtAm2FeXNPU0H6s98txtlorRWYviX1hG_8s","c2HG2b9cvw","width","bcwZGjfIKawXy2-kok_cKg","JqURSS3VNYxu2jPLv0DHdj3DOEN06A","dgzB3YBCsC_CT61jf-ZPi7QP7MqCLOaABzQ","UrUzC2GXGg","gxGfn_xJiB6NBvYf","7Gf48Y9gqg","A3mkud4c-TiTNdMBQ7k","IhSVg9sOuUU","jBHo5qdXuEA","vxPV1apWsjI","FT6sjv0M-yPgJIg","which","xSA","getEntriesByName","rL9ycQzWBg","0rt3fxynJvhN5kbi","21","vpohXkjrMaJ9","QdkLBlc","sYtNUDfY","className","Pcg5D3yEDc1cug","_qN5bUSqNg","1al_cS7EItxewA_NhXSBEhg","XOtYcwbPZ4RU6yf0","enctype","51zpzIhB2w","b9F0YTHZYN8wjnKYigs","vxyo8JRsjDXXY4pyBrZvjYZlm_7RAKmlI1M","3Kot","VVju7Il74ESDIc04DA","srcElement","grdpfg7wPIg","some","XIJ8djz3Jpdh2g","p44IBlu9YMFv_kaa-znxTCamZn4G4w","wVmFyOQPwUugGP1ZJaBE6bFUtc3bbY-OTWs2j7J3D6de3EX6H_rfX88I_RNyyXZ6","qacdLWe9bI1ksiqg","pyyI-O0j","call","tNFuO1G7TJ9O4Q_Fjy3uCAbiWWdtl3p3oOrwHU6j91nDF9Vu2A","xUeTtOA","yBKAk7tc0RS1HvspD4tY-Q","TLweD2qbL_AqhGy2sg-PfmXTd1FZp0pG5cbQcD6Xlnf3J_tc-g","1plMeTf1E5Qbjzbht2qoJULIHyBZgDN1hKT_Uw","DwP-zIA","createEvent","AlDe-KJegTT1DYV5","4ZFOWBfF","hasOwnProperty","dcRyfiPvVfEf-U_v","description","Dm29mQ","YhLfyKlSiyvjQbJQSstYtKIN","V6QLOHk","reU4PkOmKulbiw","CAOtsNlu0QrJd4pfCb0n","QkeAhuAexw","i0uOnPEo2w2ZA7E","AFjFvdtixFy1Qfgz","Md0PCU6HfuQMnHOBriSGWF_BJgRR","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=","rs5udhyIQMZD42Y","ceil","cul-e3i5Z912vXSq","RX-8jeoVvWXGIJxT","BB7TyrxY","CzuVg_wfqzo","btR0GA_fes8hgw","Uweol94","Tu4cIH-0estqnmzl_UubB0m6LQ","tagName","8Cn24Y142zLsSYth","ucVGaR72BekUrH6GsBqQckOo","3DLr5pdswEPVM5U","head","peclMlWlHo8b5FGZwjuhVVA","DM5BYzPE","Hlbh9atwwlaBMNs","G4Nwax_yP_FU6gI","doIWAXGDK74s4Dz4qFLeN3usaVA6qEU","gugsIkTyFbAg","o7I8L3ulCNk","toLowerCase","EDutucwpnSXLPKU","7l72zpZT2D6qbMIzCI0","RK0JHHOxAKhB-A","nQHewr5KjUvrQLdUfvcQt6wO7IeCesPDECE3","VIdRWi7LRL0IxkCrvAaGTHH1P05XpkpU76OFNXbF3Uy-","XcdGez3DBbYstxA","hSnm96Zz8DU","File","7mDP3IFw9mWW","RRSxp_4biA_HO5Ug","kq8aRXO1GpsdiAs","YQQ","j1-WqNsQtED_Aw","cV-Vi8kI_G2ZBMA4Lacez_k","gN8DPlyrCw","W-BhaBTvduAQ7g","any","JX-2pNJP9S-QLQ","DPkqPX6qa44Zpmef3Rzx","split","create","uocmNlmmU5VX3B3r0GfXFTHoQw","M8UdFWeaTaUwnXaIrj0","SziQh9UaqU2UGOE0HKQt9uR2","gOFFWiaTJugivHaIo12B","e-5XUjrGOo1jhXGPowWIbGLCdEFz618","FnDB86Nh-yncWOUYK65b5JMc4rufXf6bU3YmhJ8YCeAJnAmGUIq_J4M5o2NozAMXJ3Jsqdxmxw","XAO2gvYttmm8CblxfP8bothB","D1a8n-wypjL3CJU","readyState","P-8NGm2KWpA","HCc","S_lKRzyADsxD23LH82XGESDXeQ","input","console","Q6BMUCCfRQ","Pju0tcQUjS7WUd9oMPRmjZ0","pupVbyb_d7RA3mafqinNchOK","XTDn8Ikq1nKNId8qB-l90M94l6-LFKjtNAxLvYRMTA","oT7i47Fuih3wYQ","t1eeirBG3DmvAOAvI41J5etRjw","ErgWCVqsCLNz9S8","L7EbHVuWIcwxn0abkzM","6qs","textContent","HyuaiIFvjy7WbrVPKL8","Xv03K1G6cr8SuGa9jxbnWw","L6gA","removeChild","YjjD2KxfjHy9H-ADbIgH9cYd","iterator","h_ZbCGSUa55y8C_wvAP7MDvMaw","dKoECHCRNw","NXLNkfUX5lC9GPkcbpA8_Oxf","VAq-otMpki7d","_D2yhPQV-Rn2SYRhUfBhjrtO75K8IJU","Vc1iTxXNLeQuow","rNMME3PSH7Y","DcBdOmy-Er0","uNw1MAXga70s-irH8T2HHQ","lastIndexOf","getEntriesByType","7utZVBjHZ8Z3xSnzzQ","wKxTcjL0Bpw","C5xGbR7mddhB","mq0","Q6MSIHCyWv8wxDfbxSCNN0bXNlYDy2QZwu72Hh-PjHivSLlbhFo","cfFrfjfbbcFnsGCnlA-DSg","AGI","R9sMCVeZTKc3sXa_7RvYYGDaEQQ","K7c6Akmvaw","-fJ_Qxj6P4U","O3jbkOBqgA","data","F-BEQiuoFA","89gUB2XZEpMVg2-QvWmbWGuJdRE","forEach","LhDP069fnEbqUaxYb-4OpaAS44Cfaw","jD7us75giz7e","USrw1aNY-iSQbA","boolean","JSON","Cp8tDEaXYqlAjzz_uXGpKQauBkIezH5kkaft","AYlLXimQCMNU3HjAuVaWKyfH","function","5oVtbiLpP6V3","filter","jEnWwY1N-BnySA","rrkdK3y5PdUY","w5QoI16OHKJkyx_Uv3j6","TrgLFXiwEZBK9QHGz3rjAwI","McQ2EkXvew","C9EUGx4","byteLength","ldwcO362IPBglHI","iW3a-4Fsg1WnaMMJTq9Vz-ZY2L77OqiBZ1oKuZsTLaskjzM","Q_dcVzf6f8AxpH682BKPeW7NDh5u","filename","ihOmksAa4TPRCKRcKNAqj5Y5rsiG","54RnYTr6Np1t1w7qxVXxLg","Float64Array","c5JdWTiWCtJmwWLVoXGWPifWYhwX4UNcmbC9UWWvlT_VGo4o0mhgzhzeMcetCO-jzta2VFeVEeRObA","Hc1LWBDZeek","Af19dQinesQ","TiGihcUt8VnIS_UdeaJSwZE759mVXeiS","5BKhsO0yhwrbTpxy","charset","wimel-YS_TbwT61PXddetQ","lG2m-vg04HuHO8lg","lLV7eBCB","MaJxdCbhMfFA9jjuxEu3GxE","jqkfIWGiS4lm12O780HAXQ","SMJtdyr8XrtD7hDS6HnfCBKWDRc-","6LgtL1u1N4kGzQ","mL59aQntT8Z2qwnSmmjoDQmeBXwDmXZ5qLTXZVfz5x_xJfwu_FNfkXLdeanLI7DdiJjbMmW7PvtADi3cbV7SieOkttsEJE9-WwrSN6f_G3k","URL","cDm4uNt7ogy8OIY","8CDYypFahys","JvkjJl7gGIE5gUyWuA","2dxofz_kX-QSik2qjg","BQrU4a9p9jCmWv0GSYRHzg","l1razL8OzHvPUPNKdeIEvpE","WegiBFiGFrIA_A","Wp43MkPpR7J1xA3u5y_jCQCt","aNo","Math","pzmDqt0z1A","yLUJN2akZIBD2w","1TH8_6Z8yhq2Z-oDG6Y90MZWktfiHQ","0rZ2cGm9OtND-ho","GyiWtss3wgbjYOcnUtti8w","ADiGscgQhmaUOpdMR8Y","prototype","fzOc49Yy2Q","i80ZM16pCOZzlSg","Fs04G1aeCKEk","SGGIjg","T9JrZhb5W8EBvk-R0j26SFfvEDpa2S8u5sjQJACruA","fireEvent","top","1IBmYC6VUMQ"];var x=q(null);var F=[[[4,59],[7,44],[2,245],[4,22],[4,180],[3,144],[1,118],[2,91],[9,73],[1,244],[6,208],[5,108],[0,123],[9,114],[5,226],[4,54],[0,70],[0,200],[1,131],[0,2],[3,79],[3,235],[3,138],[2,238],[8,135],[0,105],[7,96],[4,165],[2,116],[9,85],[8,78],[2,30],[8,58],[0,168],[6,239],[6,99],[8,60],[3,161],[4,160],[3,42],[3,46],[1,15],[3,170],[1,243],[6,236],[9,229],[5,94],[1,177],[3,203],[8,90],[1,202],[7,172],[5,66],[6,27],[2,82],[3,95],[4,41],[1,184],[7,51],[8,71],[3,228],[6,186],[0,223],[8,62],[7,12],[6,13],[7,169],[6,205],[6,187],[9,218],[3,101],[6,141],[2,121],[5,179],[8,63],[9,124],[0,126],[4,130],[2,9],[1,191],[9,204],[5,36],[8,156],[3,45],[8,176],[3,143],[7,162],[6,98],[2,14],[0,149],[0,152],[1,188],[5,212],[3,89],[0,163],[8,167],[3,217],[7,3],[2,39],[3,147],[4,222],[9,146],[8,38],[2,24],[3,221],[3,67],[9,92],[5,49],[2,232],[0,0],[9,237],[9,64],[1,140],[9,148],[4,43],[3,86],[7,159],[1,110],[1,142],[5,216],[7,128],[9,137],[7,183],[7,80],[8,198],[4,69],[5,210],[4,20],[4,129],[8,224],[5,87],[9,193],[3,211],[7,173],[2,127],[7,25],[6,115],[0,55],[9,230],[5,113],[7,225],[6,182],[3,68],[9,4],[9,171],[6,133],[9,23],[4,181],[0,83],[6,242],[3,164],[9,174],[2,100],[8,158],[7,26],[1,102],[7,8],[9,11],[5,189],[7,154],[6,109],[0,195],[0,153],[3,72],[7,34],[7,214],[6,65],[6,17],[7,207],[1,75],[0,199],[1,136],[5,93],[3,35],[2,50],[8,97],[3,209],[0,139],[1,120],[5,192],[0,117],[0,47],[8,201],[9,197],[6,175],[6,106],[9,57],[1,56],[2,112],[6,194],[6,16],[7,132],[7,19],[7,190],[2,157],[3,88],[6,32],[4,21],[6,29],[6,77],[7,40],[6,150],[0,231],[5,103],[4,178],[6,227],[6,18],[7,166],[8,81],[0,52],[4,215],[8,48],[2,33],[3,37],[5,1],[7,7],[2,206],[7,76],[0,104],[1,119],[8,145],[8,122],[0,6],[0,234],[8,53],[6,213],[3,241],[4,107],[0,84],[3,185],[2,111],[5,61],[6,134],[0,196],[3,233],[5,31],[7,125],[5,219],[8,28],[6,74],[2,155],[2,5],[3,240],[8,220],[0,151],[2,10]],[[4,189],[7,84],[8,23],[9,89],[3,214],[9,87],[9,152],[6,178],[7,183],[9,141],[6,209],[7,177],[9,19],[5,116],[4,4],[2,92],[1,131],[0,80],[8,186],[5,15],[7,123],[0,168],[8,55],[6,75],[7,122],[4,133],[7,78],[9,96],[6,159],[5,112],[7,25],[3,29],[3,240],[5,34],[5,13],[9,108],[6,200],[2,191],[7,176],[9,118],[6,136],[8,125],[2,208],[6,244],[2,40],[2,167],[9,38],[6,79],[2,67],[3,164],[3,127],[0,218],[3,129],[0,192],[7,201],[8,230],[9,95],[8,228],[5,148],[9,210],[6,72],[4,121],[8,198],[9,88],[4,215],[8,99],[8,206],[0,216],[2,172],[4,113],[4,227],[0,166],[8,83],[8,61],[1,9],[6,193],[7,235],[4,59],[0,76],[4,144],[6,205],[7,147],[5,165],[2,57],[4,105],[2,12],[4,45],[3,3],[5,66],[2,219],[1,68],[2,81],[2,238],[1,146],[5,187],[4,242],[4,157],[8,202],[2,97],[1,49],[1,139],[2,119],[7,94],[5,14],[4,24],[5,217],[1,82],[9,158],[7,104],[2,62],[6,46],[1,212],[0,194],[0,180],[3,190],[9,71],[9,103],[5,114],[2,73],[1,42],[6,231],[6,224],[6,156],[1,39],[9,7],[5,91],[1,52],[7,126],[5,132],[3,181],[9,226],[5,197],[2,56],[3,86],[6,143],[7,0],[8,33],[4,161],[6,64],[9,21],[9,182],[4,51],[2,35],[3,163],[0,203],[3,93],[1,50],[9,196],[3,54],[6,43],[6,151],[7,30],[7,229],[7,184],[4,65],[9,199],[7,32],[7,145],[6,243],[0,211],[3,239],[2,77],[3,150],[1,10],[4,225],[9,232],[7,44],[4,31],[1,22],[2,100],[3,107],[0,36],[4,41],[2,6],[5,58],[1,220],[7,20],[6,207],[1,138],[4,11],[5,222],[4,173],[8,140],[1,213],[5,16],[4,233],[2,204],[9,135],[7,154],[9,70],[2,171],[4,223],[2,48],[2,137],[2,142],[0,234],[8,124],[5,169],[4,170],[8,120],[3,102],[9,155],[4,117],[7,1],[6,128],[1,8],[1,26],[6,179],[0,195],[4,98],[0,188],[2,153],[0,134],[4,130],[5,237],[0,63],[7,160],[1,241],[8,28],[8,85],[3,2],[4,175],[0,110],[0,236],[2,162],[3,185],[1,69],[5,245],[7,90],[7,106],[4,221],[3,5],[9,174],[5,47],[5,109],[4,101],[6,37],[0,115],[6,18],[0,60],[2,111],[4,27],[3,17],[8,149],[5,74],[9,53]],[[8,29],[6,218],[9,75],[4,137],[8,128],[9,142],[0,51],[1,102],[7,100],[1,222],[9,141],[0,166],[4,41],[3,242],[1,70],[9,56],[1,161],[4,122],[0,37],[2,23],[2,221],[2,71],[9,199],[4,217],[1,165],[1,209],[0,81],[0,216],[8,132],[5,57],[9,55],[1,208],[1,164],[4,45],[3,157],[6,78],[3,173],[3,178],[2,186],[2,133],[2,182],[8,172],[6,103],[5,145],[7,99],[1,80],[1,138],[6,92],[5,179],[8,90],[3,26],[9,19],[0,117],[7,130],[8,121],[1,101],[4,215],[5,18],[4,238],[8,36],[8,104],[8,184],[0,110],[7,223],[5,210],[2,74],[1,241],[0,53],[3,131],[5,87],[2,62],[1,229],[4,40],[6,12],[5,176],[0,149],[2,167],[1,6],[3,96],[8,168],[4,64],[4,127],[9,135],[2,27],[7,151],[5,1],[8,154],[2,231],[0,119],[3,113],[4,232],[9,95],[6,189],[8,38],[5,10],[7,34],[9,82],[7,65],[7,67],[3,150],[2,15],[7,193],[3,33],[2,191],[1,234],[2,148],[4,220],[4,224],[9,192],[5,243],[0,79],[0,91],[8,44],[3,108],[6,200],[1,156],[6,49],[0,22],[7,159],[7,69],[3,177],[9,158],[4,48],[2,152],[4,50],[3,25],[5,190],[0,201],[3,17],[4,32],[7,105],[3,116],[4,143],[6,111],[7,123],[2,162],[0,46],[5,180],[4,237],[9,139],[8,181],[4,230],[4,235],[6,2],[8,219],[6,195],[4,76],[8,155],[7,245],[4,28],[0,212],[0,240],[7,124],[7,207],[4,4],[6,58],[2,21],[1,187],[6,214],[9,174],[9,43],[6,227],[7,114],[3,89],[8,160],[4,228],[4,39],[1,203],[2,83],[0,206],[6,94],[6,196],[0,198],[4,20],[9,8],[3,61],[7,11],[4,5],[5,0],[8,136],[4,183],[0,233],[5,77],[6,239],[7,30],[6,13],[2,126],[8,120],[1,211],[4,169],[9,84],[0,68],[9,236],[5,72],[2,146],[2,134],[7,60],[9,97],[1,9],[9,129],[2,153],[3,86],[7,47],[7,194],[2,197],[9,14],[6,244],[8,35],[9,225],[8,109],[9,107],[8,85],[1,31],[9,73],[2,226],[6,204],[9,63],[9,88],[1,140],[2,7],[9,16],[4,93],[8,24],[5,170],[9,188],[1,125],[7,98],[9,185],[6,171],[3,106],[9,59],[6,52],[4,118],[9,115],[1,112],[8,175],[3,205],[4,42],[2,66],[3,3],[1,54],[3,213],[5,163],[0,202],[8,147],[6,144]],[[5,192],[2,95],[6,81],[7,219],[4,196],[0,16],[4,212],[3,109],[6,39],[4,87],[8,36],[5,206],[4,237],[8,151],[0,171],[9,102],[4,188],[0,205],[3,236],[1,193],[1,224],[0,4],[5,216],[8,68],[3,137],[1,160],[6,10],[1,61],[1,234],[8,209],[6,153],[3,20],[9,75],[5,202],[2,28],[0,48],[8,89],[9,178],[9,231],[6,245],[2,176],[8,148],[1,229],[6,82],[4,31],[3,90],[5,100],[3,116],[0,208],[3,203],[8,156],[6,157],[4,66],[4,78],[0,118],[1,52],[2,218],[5,158],[3,135],[7,150],[8,182],[6,103],[7,65],[4,191],[0,147],[2,227],[2,120],[7,139],[3,93],[3,47],[6,164],[7,138],[1,204],[6,232],[2,114],[2,17],[9,92],[8,207],[0,167],[7,23],[0,225],[2,228],[6,98],[7,11],[6,41],[9,130],[2,125],[1,243],[7,60],[4,210],[2,7],[9,186],[4,154],[3,230],[1,32],[7,226],[3,84],[1,123],[1,149],[6,136],[3,38],[2,146],[2,45],[5,170],[3,55],[0,140],[9,172],[4,22],[2,106],[2,238],[2,223],[7,163],[3,142],[1,200],[9,19],[0,152],[8,83],[1,183],[5,111],[2,72],[0,94],[6,112],[2,97],[6,33],[2,58],[0,195],[9,166],[5,49],[2,59],[4,71],[8,12],[1,8],[3,2],[9,73],[2,162],[1,56],[4,213],[1,43],[4,133],[5,128],[5,24],[0,74],[5,141],[1,126],[4,1],[4,13],[2,108],[6,3],[9,5],[3,6],[2,194],[4,124],[9,177],[1,117],[3,42],[2,241],[9,222],[7,113],[6,174],[1,110],[6,143],[4,165],[8,134],[1,64],[9,50],[4,201],[4,37],[8,240],[1,187],[1,190],[1,173],[2,85],[3,199],[5,214],[6,233],[1,76],[1,70],[0,88],[7,185],[2,91],[3,67],[2,80],[0,0],[9,235],[1,69],[4,54],[1,155],[6,107],[7,96],[4,30],[4,25],[7,119],[0,189],[4,29],[8,51],[1,115],[0,86],[3,144],[4,131],[5,184],[9,129],[3,18],[2,242],[0,99],[1,127],[9,53],[0,57],[2,244],[9,159],[7,220],[8,27],[9,14],[2,198],[1,197],[3,79],[5,211],[4,77],[7,221],[6,169],[0,168],[1,63],[2,101],[5,62],[3,180],[9,15],[1,215],[5,105],[1,181],[7,26],[2,122],[7,179],[8,161],[5,40],[0,9],[9,239],[1,35],[0,104],[1,121],[2,44],[8,21],[5,175],[9,145],[1,34],[9,217],[1,132],[5,46]],[[1,245],[8,189],[9,57],[9,65],[5,7],[3,182],[8,163],[8,61],[4,121],[2,1],[6,30],[1,120],[9,222],[5,13],[7,93],[7,150],[9,3],[7,27],[3,185],[1,0],[5,168],[0,200],[6,153],[8,50],[1,45],[7,43],[9,5],[0,135],[3,110],[8,118],[9,226],[4,183],[8,100],[0,220],[7,119],[5,83],[9,88],[6,160],[8,18],[8,103],[1,156],[6,42],[5,32],[0,126],[3,77],[1,34],[3,6],[7,8],[3,157],[3,184],[2,129],[2,33],[9,62],[2,192],[1,41],[3,113],[0,148],[9,172],[3,152],[4,9],[9,221],[9,68],[8,48],[3,55],[9,229],[6,169],[7,214],[8,49],[5,146],[0,107],[7,133],[8,20],[7,123],[3,210],[7,23],[9,218],[1,206],[8,75],[5,80],[4,209],[7,26],[1,90],[3,111],[6,139],[1,244],[6,217],[8,142],[2,187],[7,14],[9,51],[8,40],[6,2],[8,170],[9,228],[5,227],[2,87],[8,92],[1,21],[7,130],[6,197],[5,60],[5,115],[2,158],[5,203],[1,102],[4,140],[7,71],[0,190],[8,179],[3,104],[1,16],[0,188],[0,137],[2,204],[5,134],[9,241],[4,10],[4,216],[6,165],[2,164],[0,225],[9,17],[3,127],[9,235],[4,144],[2,143],[7,91],[1,196],[3,109],[1,202],[2,141],[2,177],[2,11],[6,230],[8,198],[2,173],[6,105],[4,59],[8,44],[8,236],[8,151],[1,238],[7,194],[5,138],[8,219],[8,178],[6,125],[9,223],[2,208],[2,86],[7,132],[1,64],[2,95],[8,195],[2,205],[4,117],[2,136],[2,167],[1,15],[8,82],[6,224],[1,237],[8,76],[7,180],[9,99],[4,89],[3,112],[5,85],[5,36],[3,37],[3,162],[1,22],[2,159],[4,231],[4,81],[7,155],[8,215],[3,39],[9,96],[9,12],[6,116],[3,212],[0,4],[0,31],[4,47],[2,201],[9,79],[4,46],[7,240],[4,78],[5,211],[7,98],[6,54],[0,128],[0,106],[6,108],[1,25],[3,122],[7,29],[3,145],[7,161],[9,73],[1,52],[5,63],[3,56],[7,176],[1,181],[4,97],[1,213],[2,53],[7,69],[2,239],[9,171],[2,131],[0,186],[7,154],[9,166],[0,243],[4,35],[4,19],[4,24],[7,114],[4,233],[7,124],[3,58],[6,175],[6,38],[9,70],[0,101],[5,207],[8,191],[9,234],[2,193],[3,28],[3,174],[6,242],[9,199],[6,147],[7,66],[6,67],[0,149],[6,74],[9,232],[7,72],[7,84],[4,94]],[[6,53],[3,74],[9,82],[3,211],[0,153],[2,0],[1,65],[1,238],[8,146],[5,230],[2,156],[8,22],[1,162],[5,213],[2,224],[2,192],[0,181],[1,202],[4,219],[2,223],[3,49],[2,242],[7,63],[5,27],[7,189],[6,90],[0,67],[9,132],[4,209],[8,135],[9,76],[9,183],[4,91],[7,92],[7,212],[7,50],[1,152],[8,216],[5,154],[7,165],[9,150],[7,151],[9,61],[3,193],[7,98],[1,148],[5,7],[3,142],[7,59],[7,12],[0,85],[5,161],[2,36],[2,217],[9,119],[7,10],[4,33],[9,208],[3,19],[1,29],[1,96],[5,214],[6,15],[8,95],[3,157],[8,101],[6,143],[9,46],[7,58],[3,110],[0,44],[7,121],[1,31],[6,158],[9,124],[9,112],[3,133],[4,221],[2,168],[7,194],[9,149],[5,72],[9,229],[7,99],[8,129],[2,227],[5,64],[9,14],[1,47],[3,94],[8,87],[6,18],[2,173],[4,141],[7,125],[0,218],[4,56],[9,113],[7,57],[7,11],[0,243],[0,106],[2,164],[9,237],[6,88],[6,128],[4,137],[2,206],[9,131],[9,241],[1,188],[7,77],[2,235],[7,180],[1,109],[4,86],[1,222],[1,172],[0,169],[5,54],[9,111],[7,207],[0,104],[4,191],[7,245],[3,205],[5,136],[9,220],[7,40],[1,236],[6,116],[0,122],[4,159],[5,3],[9,171],[9,167],[2,83],[7,28],[3,182],[0,105],[8,38],[6,195],[5,198],[3,117],[3,127],[3,138],[5,140],[9,69],[3,73],[5,163],[2,89],[9,244],[4,68],[8,233],[6,201],[6,186],[0,66],[9,197],[7,196],[5,45],[6,225],[2,97],[6,179],[3,32],[3,114],[2,79],[4,190],[1,184],[9,37],[3,199],[8,204],[6,25],[8,160],[3,26],[4,41],[1,55],[5,5],[2,240],[2,147],[5,170],[4,21],[0,155],[1,17],[7,228],[2,231],[5,100],[0,120],[6,8],[7,71],[2,187],[3,60],[5,139],[5,1],[8,2],[1,174],[9,16],[5,108],[7,123],[1,102],[0,35],[9,107],[9,118],[4,126],[4,115],[4,24],[6,51],[4,13],[2,48],[2,144],[3,185],[4,178],[6,84],[7,215],[9,52],[2,20],[0,93],[9,81],[7,23],[1,6],[5,75],[8,232],[9,80],[1,34],[1,4],[8,42],[3,200],[3,78],[3,70],[6,103],[1,226],[0,239],[1,62],[8,30],[1,234],[6,166],[6,39],[3,134],[2,9],[3,177],[5,176],[4,145],[5,210],[8,43],[7,175],[1,203],[7,130]],[[1,232],[7,206],[7,51],[0,160],[1,50],[1,223],[4,237],[5,149],[1,84],[6,197],[7,79],[2,40],[1,39],[6,123],[9,116],[8,46],[9,60],[7,191],[1,138],[1,5],[5,78],[8,132],[3,58],[1,156],[8,124],[3,107],[2,26],[7,155],[8,136],[9,238],[9,135],[9,203],[6,140],[4,143],[0,4],[0,162],[5,70],[8,133],[3,190],[7,137],[7,57],[5,183],[8,100],[1,28],[1,128],[9,99],[8,242],[3,63],[8,0],[5,147],[3,105],[4,49],[7,175],[2,119],[4,202],[8,98],[1,235],[8,171],[4,120],[4,182],[9,222],[0,3],[8,29],[8,125],[2,42],[2,204],[4,11],[4,142],[4,219],[5,96],[5,201],[2,233],[4,71],[7,101],[7,165],[6,30],[8,73],[2,18],[4,43],[8,179],[7,64],[9,174],[5,152],[7,129],[9,158],[5,213],[4,245],[6,117],[6,6],[9,22],[7,211],[5,195],[2,196],[4,215],[0,236],[7,139],[9,161],[6,194],[2,218],[7,114],[5,115],[6,9],[0,244],[0,187],[9,20],[6,228],[7,113],[1,17],[7,34],[8,80],[1,230],[8,54],[7,103],[5,21],[4,76],[6,166],[3,88],[0,33],[5,151],[4,2],[8,198],[7,35],[5,89],[8,212],[0,66],[0,122],[4,102],[6,85],[0,154],[3,74],[2,141],[9,72],[4,48],[5,168],[7,144],[2,189],[2,199],[1,53],[3,95],[5,104],[7,188],[4,153],[9,220],[8,126],[2,24],[2,226],[1,164],[4,25],[5,178],[5,47],[7,146],[9,118],[1,59],[8,61],[8,186],[4,14],[9,37],[8,32],[4,210],[8,10],[8,234],[0,214],[9,159],[4,75],[0,221],[7,163],[4,170],[9,27],[5,239],[6,130],[2,12],[4,193],[1,184],[3,176],[2,121],[1,207],[6,224],[3,62],[0,108],[7,55],[8,169],[1,45],[4,97],[3,243],[1,240],[2,56],[6,87],[6,209],[5,68],[4,90],[0,15],[0,148],[7,216],[3,93],[0,52],[6,150],[6,110],[4,94],[6,83],[2,205],[9,109],[2,225],[4,177],[0,41],[3,19],[7,229],[6,173],[6,23],[5,172],[3,8],[3,77],[7,67],[6,131],[7,200],[1,227],[1,231],[9,31],[3,180],[5,106],[5,36],[9,208],[0,86],[4,167],[6,16],[5,44],[2,65],[6,217],[6,185],[2,7],[9,145],[0,91],[5,127],[6,112],[8,1],[9,157],[8,181],[4,92],[1,111],[1,13],[9,38],[3,82],[4,134],[3,241],[6,69],[5,81],[5,192]],[[0,100],[0,21],[7,110],[6,182],[9,19],[8,161],[4,31],[6,74],[5,44],[4,99],[6,15],[1,208],[0,216],[9,178],[5,162],[0,154],[2,169],[8,78],[1,130],[0,5],[4,159],[2,187],[5,186],[2,133],[9,85],[1,181],[8,197],[2,194],[2,139],[4,59],[7,123],[2,224],[1,121],[1,155],[4,138],[1,184],[1,0],[4,71],[4,63],[5,170],[2,91],[2,55],[9,229],[4,179],[3,210],[1,2],[7,49],[1,41],[7,209],[7,122],[0,84],[5,86],[1,51],[8,72],[2,183],[8,200],[3,69],[6,215],[5,3],[5,16],[8,191],[7,60],[6,211],[3,13],[1,141],[4,146],[3,221],[9,153],[9,225],[5,77],[1,114],[3,6],[2,150],[0,241],[6,245],[2,89],[1,166],[8,167],[7,143],[7,230],[7,10],[1,76],[4,108],[7,236],[9,232],[5,87],[3,213],[5,244],[3,65],[3,8],[2,173],[7,125],[8,129],[6,102],[7,120],[0,79],[7,238],[2,113],[4,219],[1,237],[8,30],[0,203],[4,176],[3,35],[3,137],[1,52],[5,47],[0,24],[7,160],[4,185],[6,29],[7,56],[9,68],[6,93],[7,127],[5,96],[6,164],[1,11],[9,18],[0,103],[8,43],[5,180],[0,206],[2,38],[0,189],[8,233],[0,57],[0,104],[5,50],[1,214],[6,207],[7,193],[6,220],[5,228],[2,61],[9,7],[1,23],[2,101],[8,175],[5,195],[1,124],[7,70],[0,142],[9,158],[1,135],[6,199],[6,58],[9,217],[3,231],[4,26],[6,118],[9,223],[6,235],[6,14],[6,205],[6,134],[7,40],[4,240],[7,128],[6,22],[5,67],[3,9],[3,82],[8,174],[8,172],[9,48],[5,17],[6,192],[2,105],[4,25],[0,45],[0,34],[1,20],[6,97],[7,107],[5,80],[8,177],[0,157],[0,28],[5,212],[6,111],[4,163],[3,90],[8,239],[8,73],[6,39],[0,46],[6,92],[2,243],[8,119],[0,227],[7,88],[6,54],[7,12],[9,53],[5,126],[5,234],[0,144],[5,145],[2,81],[1,83],[3,32],[6,66],[9,37],[3,148],[5,115],[5,190],[1,132],[5,218],[2,95],[0,226],[2,27],[5,4],[2,116],[0,198],[7,140],[2,196],[7,242],[9,1],[7,117],[5,98],[5,147],[2,171],[2,33],[9,204],[1,152],[2,149],[0,42],[8,36],[4,106],[5,151],[2,201],[4,75],[1,168],[1,112],[9,165],[4,131],[2,109],[4,62],[5,156],[1,136],[0,202],[5,94],[6,188],[0,64],[8,222]],[[8,100],[0,49],[5,74],[4,118],[0,162],[8,44],[8,125],[7,190],[4,84],[6,132],[4,144],[4,27],[6,80],[3,175],[2,22],[5,165],[5,177],[2,231],[3,146],[1,32],[1,72],[8,16],[3,2],[7,151],[3,157],[2,95],[7,8],[7,55],[3,67],[1,229],[5,232],[7,56],[1,161],[5,224],[2,134],[9,24],[3,90],[8,122],[8,12],[2,18],[8,218],[5,94],[1,167],[0,241],[7,143],[0,64],[6,176],[6,89],[0,98],[9,65],[9,200],[0,166],[6,66],[4,150],[5,96],[8,75],[3,34],[9,29],[3,207],[0,78],[2,121],[0,223],[8,63],[9,204],[6,76],[7,19],[6,181],[4,155],[9,120],[6,0],[4,28],[2,234],[2,208],[9,239],[1,215],[3,182],[1,174],[0,70],[6,209],[0,99],[9,31],[5,217],[4,222],[6,92],[0,211],[3,136],[9,69],[0,189],[0,244],[0,123],[8,33],[5,59],[3,171],[8,115],[5,46],[7,191],[5,39],[6,195],[1,48],[1,168],[6,135],[1,245],[2,196],[2,226],[6,131],[2,237],[0,216],[6,4],[6,37],[6,82],[0,38],[0,199],[2,58],[7,54],[1,77],[9,201],[7,81],[9,10],[2,126],[8,129],[6,114],[3,113],[8,85],[8,30],[4,128],[0,173],[0,47],[5,87],[1,127],[7,185],[5,73],[4,105],[6,178],[3,198],[1,6],[6,53],[5,141],[6,40],[1,104],[8,242],[4,43],[0,7],[9,5],[3,57],[8,101],[8,51],[2,112],[0,153],[2,147],[0,116],[8,148],[5,188],[1,130],[8,149],[1,184],[9,202],[3,102],[4,183],[5,137],[0,205],[9,106],[2,139],[9,79],[0,193],[8,97],[5,23],[7,26],[2,3],[6,233],[2,42],[8,20],[8,107],[7,194],[8,117],[9,142],[0,186],[5,243],[6,133],[1,60],[3,15],[1,61],[8,158],[1,1],[1,219],[2,68],[6,124],[2,50],[3,17],[6,169],[7,41],[1,212],[3,52],[2,36],[3,170],[6,110],[9,91],[8,210],[4,159],[0,11],[0,13],[7,206],[0,163],[3,227],[4,35],[3,225],[5,152],[2,62],[7,221],[0,238],[0,230],[6,235],[7,156],[3,187],[3,154],[2,93],[7,197],[3,240],[4,145],[0,83],[0,164],[4,236],[9,180],[5,21],[4,213],[8,71],[3,140],[5,172],[0,214],[3,108],[4,14],[6,228],[7,9],[3,179],[7,86],[0,119],[3,192],[7,45],[6,103],[7,88],[1,203],[6,109],[6,111],[4,220],[8,160],[2,25],[5,138]],[[3,90],[0,206],[1,103],[9,77],[4,91],[5,199],[9,119],[9,35],[4,56],[7,162],[9,167],[2,223],[9,160],[2,133],[5,127],[4,12],[7,101],[9,195],[5,53],[5,108],[4,76],[3,61],[9,7],[8,242],[6,8],[5,203],[6,193],[1,4],[9,145],[8,105],[7,54],[4,230],[0,168],[9,71],[7,170],[3,164],[0,196],[3,154],[2,3],[9,86],[9,25],[6,117],[8,192],[0,92],[8,41],[2,159],[0,243],[5,125],[0,211],[9,87],[8,150],[1,14],[3,187],[0,143],[1,59],[0,78],[2,49],[9,213],[1,37],[3,166],[3,112],[1,95],[1,147],[7,219],[2,214],[0,123],[1,236],[0,58],[4,234],[2,64],[4,144],[9,57],[2,235],[6,212],[0,65],[9,81],[1,40],[8,32],[9,183],[3,69],[5,22],[5,172],[4,70],[1,80],[8,94],[1,132],[7,6],[1,63],[1,177],[8,72],[3,141],[5,140],[1,189],[3,161],[4,152],[8,205],[8,241],[0,66],[2,176],[4,13],[2,201],[5,231],[3,198],[7,88],[5,52],[1,210],[5,237],[2,190],[6,194],[5,11],[1,26],[1,171],[1,156],[9,163],[3,30],[9,23],[1,116],[1,113],[0,130],[7,122],[3,60],[8,31],[3,48],[8,104],[7,99],[9,36],[5,224],[6,97],[9,137],[7,17],[1,111],[9,24],[8,74],[3,175],[4,202],[1,124],[3,39],[1,107],[0,157],[1,209],[8,28],[8,233],[6,115],[3,68],[3,135],[5,98],[0,45],[4,121],[3,44],[0,114],[1,102],[5,153],[1,146],[8,197],[5,155],[1,42],[8,106],[4,180],[9,227],[9,179],[5,207],[5,188],[2,226],[1,27],[5,186],[6,1],[0,222],[4,33],[4,238],[7,228],[9,245],[1,34],[5,38],[0,19],[8,82],[9,131],[3,62],[3,46],[9,215],[6,139],[9,100],[6,73],[9,218],[1,220],[2,93],[0,126],[3,2],[5,85],[7,181],[2,151],[6,174],[2,200],[0,134],[3,118],[1,229],[6,148],[9,239],[6,67],[4,110],[0,158],[5,184],[5,75],[4,185],[4,18],[3,178],[0,47],[2,0],[3,83],[0,217],[4,221],[5,216],[8,9],[2,173],[9,208],[4,138],[3,204],[1,240],[3,149],[0,191],[8,5],[8,232],[3,89],[5,21],[3,51],[8,165],[1,10],[1,182],[1,244],[2,16],[3,169],[7,120],[5,136],[2,43],[2,50],[5,15],[7,29],[6,128],[6,79],[4,20],[7,109],[2,84],[9,142],[3,129],[7,55],[8,96],[8,225]]];var O=[{A:[0],K:[0],c:[111]},{A:[0,2,3,4,5],K:[0,1,2,3,4,5],c:[]},{A:[1],K:[1,2],c:[0,3,223]},{w:0,A:[],K:[1,2,3],c:[124,126,243]},{w:0,A:[2,4],K:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22],c:[86,91,92,93,94,95,96,101,248,249]},{w:0,A:[],K:[],c:[]},{A:[0],K:[0,2],c:[1]},{A:[0,1],K:[0,1],c:[]},{A:[0],K:[0,1,2],c:[]},{w:0,A:[5],K:[1,2,3,4,5,6,7,8,9,10],c:[206]},{A:[0],K:[0],c:[4]},{A:[1,0,2,3,4],K:[0,1,2,3,4],c:[38,40,201]},{i:0,A:[9],K:[3,4,6,7,8,9],c:[1,2,5,67,73]},{A:[],K:[0,2,3],c:[1,4,5,6]},{A:[2],K:[0,2,3],c:[1]},{A:[0],K:[0],c:[]},{A:[1,6],K:[0,1,2,3,4,5,6,7],c:[67,73,74,238]},{A:[0],K:[0],c:[9]},{A:[1],K:[0,1,2,3,4,5],c:[239,240,241]},{A:[0],K:[0],c:[5,6,7,10,12,15,16]},{A:[0],K:[0],c:[1,70]},{A:[0],K:[0],c:[1,3,204,205]},{A:[1],K:[0,1],c:[]},{A:[],K:[],c:[]},{A:[2],K:[1,2],c:[0,205]},{A:[1],K:[0,1,2,3,4,5,6,7,8,9],c:[66,117,131,134,186,252,253,254,255]},{A:[0],K:[0,1,2],c:[]},{A:[8],K:[0,2,3,4,5,6,7,8],c:[1,70]},{A:[1,2],K:[1,2],c:[0,3,4,5,43,203]},{A:[1,5,4,3,6,2],K:[1,2,3,4,5,6],c:[0,8,9,10]},{A:[0,1],K:[0,1,2],c:[]},{w:0,A:[],K:[],c:[]},{A:[0],K:[0],c:[1,2,4,46,122,213,214]},{A:[0],K:[0],c:[16]},{A:[0],K:[0],c:[6,10,16]},{A:[1],K:[0,1],c:[52,53]},{A:[1],K:[1,3],c:[0,2,190]},{A:[],K:[],c:[1,3]},{A:[1],K:[0,1],c:[16]},{A:[2,8],K:[0,1,2,3,4,5,6,7,8],c:[]},{A:[0],K:[0,1,2],c:[]},{A:[12],K:[0,2,3,4,5,6,7,8,9,10,11,12,13],c:[1,70]},{i:2,A:[4,13],K:[3,4,5,6,7,8,9,10,11,12,13],c:[0,1]},{A:[0],K:[0],c:[31]},{A:[],K:[],c:[]},{A:[14],K:[0,2,3,4,5,6,7,8,9,10,11,12,13,14],c:[1,232,233]},{w:0,A:[1],K:[1],c:[35]},{A:[1,0,2],K:[0,1,2],c:[183]},{A:[2,1,3,0],K:[0,1,2,3,4],c:[]},{w:0,i:1,A:[5],K:[2,3,4,5,6,7,8],c:[86,94,98]},{A:[],K:[],c:[109]},{A:[],K:[],c:[2,4,5,6]},{A:[3,1],K:[0,1,2,3],c:[]},{A:[3,1],K:[0,1,2,3],c:[]},{A:[0],K:[0],c:[1]},{A:[],K:[],c:[8,10]},{A:[1,0,2],K:[0,1,2],c:[14]},{A:[2],K:[1,2],c:[0]},{A:[0],K:[0,1],c:[4,5]},{A:[2],K:[2,3],c:[0,1]},{A:[0],K:[0,1],c:[]},{A:[2],K:[1,2],c:[0]},{A:[0],K:[0],c:[112]},{w:0,i:1,A:[],K:[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],c:[127,128,129]},{A:[0],K:[0],c:[98,176]},{A:[1],K:[1,2],c:[0,3]},{A:[1,2],K:[0,1,2],c:[10]},{A:[0,4,5,6,7],K:[0,1,2,3,4,5,6,7],c:[226]},{A:[3,0],K:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],c:[80]},{A:[0],K:[0],c:[]},{A:[0,2,3,4,5],K:[0,1,2,3,4,5],c:[]},{A:[1,0,2],K:[0,1,2],c:[48]},{A:[0],K:[0],c:[102,103]},{A:[0,2,3,4,5],K:[0,1,2,3,4,5],c:[70]},{A:[],K:[],c:[]},{A:[0],K:[0],c:[3]},{A:[1,0],K:[0,1,2],c:[234,235,236,237]},{A:[0,1],K:[0,1],c:[]},{A:[],K:[],c:[0,8]},{A:[3,1],K:[0,1,2,3],c:[]},{w:0,A:[2,3],K:[1,2,3],c:[]},{w:0,A:[4,1],K:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],c:[221,222,223]},{A:[0],K:[0,1],c:[]},{A:[],K:[],c:[0,2]},{A:[],K:[],c:[]},{w:0,A:[1],K:[1],c:[35]},{A:[1],K:[1,3],c:[0,2]},{A:[],K:[],c:[3,12,13,41]},{A:[0,6,7,8,9],K:[0,1,2,3,4,5,6,7,8,9],c:[]},{A:[0,3,2,4,5],K:[0,1,2,3,4,5],c:[185]},{A:[3,4],K:[3,4,5,6,7,8,9,10,11,12],c:[0,1,2,67,73]},{A:[1],K:[0,1,2,3,4,5,6,7,8],c:[83,84,85,86,91,92,93,94,95,96,98,99,100,101,247,248,249]},{A:[1],K:[1,3],c:[0,2,190]},{w:0,A:[11,3],K:[1,2,3,4,5,6,7,8,9,10,11],c:[189]},{A:[],K:[],c:[9,10,14,16]},{w:0,i:1,A:[],K:[],c:[6,13]},{A:[3,1],K:[0,1,2,3],c:[]},{A:[],K:[],c:[]},{A:[2],K:[0,2],c:[1,3,17]},{A:[0],K:[0],c:[]},{A:[9,1,5,6,7,8,4],K:[0,1,2,3,4,5,6,7,8,9],c:[81,250,251]},{A:[],K:[],c:[2,4]},{A:[],K:[],c:[0]},{A:[0,1],K:[0,1,2],c:[86,87,88,89,90,91]},{A:[0],K:[0],c:[]},{A:[],K:[],c:[82,245]},{i:0,A:[8],K:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],c:[]},{A:[0],K:[0],c:[4]},{i:0,A:[],K:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],c:[54,55,56,57,58,59,60,61,62,63,65,68,69,70]},{A:[0,3,2,4,5],K:[0,1,2,3,4,5],c:[70]},{A:[1,0],K:[0,1],c:[106,107,108,109,110,111,112,113,114,115,116]},{A:[0],K:[0,1,2,3],c:[]},{A:[0],K:[0,4],c:[1,2,3,107,114]},{w:0,A:[],K:[],c:[]},{A:[0,5,2,6,4],K:[0,1,2,3,4,5,6],c:[204,205]},{A:[1,5],K:[1,2,3,4,5,6,7,8,9,10,11],c:[0,106,110,112,114,115,119,121,122,123]},{A:[1,0,2],K:[0,1,2],c:[45]},{w:0,A:[3,9,12],K:[3,4,5,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22],c:[1,2,7,177,182]},{A:[5,4],K:[0,1,2,3,4,5,6,7,8,9],c:[]},{w:0,A:[],K:[1],c:[]},{A:[],K:[],c:[0,4]},{A:[0],K:[0],c:[]},{A:[0],K:[0],c:[1]},{A:[1,3],K:[0,1,2,3],c:[]},{A:[0],K:[0],c:[4,8,94]},{w:0,A:[4],K:[1,2,3,4,5],c:[]},{A:[3,1],K:[0,1,2,3],c:[]},{A:[1,0,2],K:[0,1,2],c:[246]},{A:[0],K:[0],c:[20,195,196]},{A:[2],K:[2,3,4,5],c:[0,1]},{A:[0],K:[0],c:[1,3,17]},{A:[0],K:[0],c:[3]},{A:[0],K:[0],c:[1,100]},{A:[],K:[0,1,2,3,5,17,18,19,20,21],c:[4,6,7,8,9,10,11,12,13,14,15,16,238]},{A:[0],K:[0],c:[1,2]},{A:[],K:[],c:[1,6]},{A:[0],K:[0,1,2,3,4,5,6],c:[18,19]},{A:[1],K:[1],c:[0]},{A:[2],K:[2,3],c:[0,1,228]},{i:0,A:[1],K:[1,2,3],c:[4,5,7,8,9,10,11,12,13,41]},{A:[2],K:[2,3],c:[0,1,228]},{A:[0],K:[0],c:[]},{A:[0],K:[0],c:[177]},{w:0,A:[5,1],K:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],c:[70,221,227,228,229]},{A:[0],K:[0],c:[9]},{A:[0,1],K:[0,1],c:[]},{A:[0,2,3,4,5],K:[0,1,2,3,4,5],c:[70]},{A:[0,3],K:[0,1,2,3],c:[86,87,90]},{A:[],K:[],c:[0,1]},{A:[],K:[],c:[7]},{w:0,A:[5],K:[1,2,3,4,5],c:[35,198]},{A:[2],K:[2],c:[0,1,52]},{w:0,A:[1],K:[1],c:[0]},{A:[0,3,2,4,5],K:[0,1,2,3,4,5],c:[70]},{w:0,A:[5],K:[1,3,4,5,6],c:[2]},{A:[],K:[3,4],c:[0,1,2,67,73,238]},{A:[],K:[],c:[4,6,9]},{A:[0],K:[0],c:[]},{A:[0],K:[0],c:[1,2,4,32]},{A:[0],K:[0],c:[11]},{A:[9],K:[9,10,11,12,13,14,15,16],c:[0,1,2,3,4,5,6,7,8,67,71,75,77,78,242]},{A:[0,1],K:[0,1,2],c:[]},{A:[0],K:[0],c:[20,195,196]},{A:[0],K:[0,1],c:[29]},{A:[],K:[],c:[17]},{A:[3,4,0,2],K:[0,1,2,3,4],c:[]},{A:[0],K:[0],c:[7,10,16]},{A:[0],K:[0],c:[12,188]},{A:[0],K:[0,1],c:[77]},{A:[2],K:[2,3,4],c:[0,1,181]},{i:2,A:[],K:[],c:[0,1]},{A:[4],K:[4],c:[0,1,2,3,185]},{A:[3,1],K:[0,1,2,3],c:[]},{A:[1,0,2],K:[0,1,2],c:[244]},{A:[0],K:[0],c:[]},{A:[0,3,2,4,5],K:[0,1,2,3,4,5],c:[70]},{w:0,A:[],K:[],c:[130]},{A:[0,3,6,5,7],K:[0,1,2,3,4,5,6,7],c:[32]},{A:[0],K:[0],c:[]},{A:[0,1],K:[0,1],c:[]},{A:[0,1],K:[0,1],c:[]},{A:[0],K:[0],c:[1]},{A:[1],K:[0,1,2,3],c:[]},{A:[],K:[0],c:[14,20]},{A:[],K:[],c:[3]},{A:[1],K:[1],c:[0,5]},{A:[0,1,2,3,4,5,6,7,8,9,10,11,12],K:[0,1,2,3,4,5,6,7,8,9,10,11,12],c:[53,54,55,56,57,58,59,60,61,62,63,64,65]},{A:[1],K:[1,2],c:[0,3,223]},{A:[0],K:[0],c:[1,3,17]},{A:[3,0],K:[0,1,2,3,4],c:[]},{w:0,A:[],K:[1,2,3],c:[]},{A:[],K:[0],c:[42,106,107,110,112,114,115,118,119,120,121,122,123]},{A:[1],K:[0,1,2,3,4,5,6],c:[194]},{A:[2,0,4],K:[0,1,2,3,4,5],c:[]},{A:[],K:[],c:[1,4]},{A:[],K:[],c:[44,207]},{A:[0],K:[0],c:[2,9]},{w:0,A:[],K:[1],c:[234,235,236]},{A:[],K:[],c:[115,119]},{A:[3],K:[0,2,3,4,5],c:[1,70]},{A:[],K:[],c:[]},{w:0,A:[1],K:[1],c:[]},{A:[0],K:[0,1,2,3,4],c:[]},{A:[0],K:[0,1,2],c:[]},{A:[0],K:[0,2],c:[1]},{A:[0,3,9,7,8],K:[0,1,2,3,4,5,6,7,8,9],c:[228,231]},{A:[0,2,3,4,5],K:[0,1,2,3,4,5],c:[]},{A:[0],K:[0,1,2],c:[5,10]},{A:[],K:[],c:[111]},{A:[],K:[],c:[0,2]},{A:[5],K:[0,3,5],c:[1,2,4,32]},{A:[7],K:[0,2,3,4,5,6,7,8,9],c:[1,70]},{A:[0,5,6,7,8],K:[0,1,2,3,4,5,6,7,8],c:[219]},{A:[0,2,3,4,5],K:[0,1,2,3,4,5],c:[122,220]},{A:[0,4,3,5,6],K:[0,1,2,3,4,5,6],c:[]},{w:0,i:1,A:[],K:[2,3,4,5,6,7],c:[]},{A:[6],K:[0,3,5,6],c:[1,2,4]},{A:[],K:[],c:[9,125]},{A:[6],K:[0,3,5,6],c:[1,2,4]},{A:[],K:[],c:[3]},{A:[1],K:[1],c:[0,70]},{A:[0,3,2,4,5],K:[0,1,2,3,4,5],c:[36,37,70]},{A:[],K:[],c:[112,113]},{A:[0],K:[0],c:[2,18]},{A:[1],K:[1],c:[0]},{A:[0],K:[0],c:[]},{A:[0,3,2,4,5],K:[0,1,2,3,4,5],c:[70]},{A:[4,1,2],K:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],c:[]},{w:0,A:[1],K:[1],c:[184]},{A:[5],K:[0,4,5,6,7],c:[1,2,3,226]},{A:[0,1],K:[0,1],c:[]},{A:[0],K:[0,2,4,9,10],c:[1,3,5,6,7,8,223]},{A:[0,1],K:[0,1],c:[]},{A:[0],K:[0],c:[3,180]},{w:0,A:[2,6,7,8],K:[1,2,3,4,5,6,7,8],c:[]},{A:[1],K:[1],c:[0,4]},{A:[0],K:[0],c:[]},{A:[0],K:[0],c:[202]},{A:[],K:[],c:[3,5,11,13]},{A:[0,1],K:[0,1],c:[]},{A:[0,5,8,9,7],K:[0,1,2,3,4,5,6,7,8,9],c:[209,210]},{A:[0],K:[0],c:[]},{A:[],K:[1],c:[0,83,84]},{A:[2,3,0],K:[0,1,2,3,4],c:[79]},{A:[0],K:[0],c:[116]},{A:[0],K:[0],c:[125]},{A:[0],K:[0,1,2,3],c:[107,114,116]},{A:[0,3,9,7,8],K:[0,1,2,3,4,5,6,7,8,9],c:[190,192]},{A:[0,2,3,4,5],K:[0,1,2,3,4,5],c:[]},{A:[1],K:[0,1],c:[222,223]},{A:[3,1],K:[0,1,2,3],c:[]},{A:[1],K:[1,2],c:[0,3]},{A:[3],K:[0,1,2,3,4],c:[5,112,114,123]},{A:[1,0,2],K:[0,1,2],c:[50]},{A:[0],K:[0],c:[]},{A:[0],K:[0],c:[76]},{A:[0],K:[0],c:[33,108,199]},{w:1,i:2,A:[6],K:[3,4,5,6],c:[0]},{A:[98,99,100,101,95,96,262,97,102],K:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,284,35,36,37,38,39,40,41,42,43,44,45,261,46,277,283,272,273,278,47,48,276,49,50,263,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,275,134,274,264,174,267,256,175,280,176,257,282,269,177,259,178,265,179,180,258,181,271,281,266,268,262,182,260,183,279,270],c:[133,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173]},{A:[],K:[],c:[]},{A:[0],K:[0],c:[5]},{A:[],K:[4,5,6,7,8],c:[0,1,2,3,67,73,74,238]},{A:[],K:[5,7,8],c:[0,1,2,3,4,6,209,210]},{A:[6,1,8],K:[0,1,2,3,4,5,6,7,8],c:[43,118,203]},{A:[0],K:[0],c:[]},{A:[3],K:[0,2,3,4,5,6,7,8,9,10,11],c:[1]},{A:[0],K:[0],c:[1,3]},{A:[1],K:[1],c:[0]},{A:[1],K:[1,3],c:[0,2,190]},{A:[3,1],K:[0,1,2,3],c:[]},{A:[1,0,2,3,4],K:[0,1,2,3,4],c:[193]},{A:[],K:[],c:[104]},{A:[3,1],K:[0,1,2,3],c:[]},{A:[2,1],K:[0,1,2],c:[]},{A:[4],K:[0,1,2,3,4],c:[176]},{A:[1],K:[1,3],c:[0,2,4]},{w:0,A:[2],K:[1,2],c:[222,223]},{A:[1,0,2,3,4],K:[0,1,2,3,4],c:[]},{A:[0,3,2,4,5],K:[0,1,2,3,4,5],c:[232,233]},{A:[0,1],K:[0,1],c:[]},{A:[0],K:[0,1,2],c:[]},{i:0,A:[],K:[1],c:[9,11]},{A:[0],K:[0],c:[1,2,4]},{A:[2,5,6,7,8],K:[1,2,3,4,5,6,7,8],c:[0]},{w:0,A:[1],K:[1,2],c:[99,100]},{A:[1,2],K:[0,1,2],c:[113]},{A:[0,4,5,7,8],K:[0,1,2,3,4,5,6,7,8],c:[197]},{A:[0,3],K:[0,1,2,3,4,5,6],c:[23,24,25,26,27,28,30]},{A:[0],K:[0],c:[49,108,230]},{A:[2],K:[0,2,3],c:[1,70]},{A:[0],K:[0,1,2],c:[]},{A:[],K:[],c:[]},{A:[0],K:[0],c:[2]},{A:[0,1],K:[0,1],c:[]},{A:[1,0],K:[0,1],c:[]},{A:[],K:[],c:[1,8,18,20,25]},{A:[3,1],K:[0,1,2,3],c:[]},{A:[0],K:[0],c:[]},{A:[],K:[],c:[6]},{A:[1,3,7,5,6],K:[0,1,2,3,4,5,6,7],c:[208]},{A:[0],K:[0,1,2],c:[]},{A:[],K:[0],c:[102,103]},{A:[0],K:[0],c:[13,108,191]},{w:0,A:[2,9,10,11],K:[1,2,3,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,292,35,36,37,38,39,40,41,42,43,44,45,301,46,293,425,318,436,382,47,48,329,49,50,256,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,288,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,363,286,174,277,271,175,330,176,429,365,287,177,434,178,302,179,180,362,181,278,334,320,367,324,182,373,183,262,269,184,420,370,345,290,369,279,348,285,185,186,356,187,321,263,188,416,411,316,296,400,189,332,190,431,191,267,283,192,193,194,195,196,197,198,299,199,270,355,375,364,404,200,201,202,203,204,423,282,205,206,307,207,384,343,398,208,209,210,361,211,257,212,338,213,418,214,389,215,390,216,326,217,337,218,219,220,394,221,305,393,222,258,223,359,224,426,405,385,391,225,289,226,227,273,228,341,229,264,230,280,351,231,298,232,281,233,234,235,236,237,435,432,238,376,239,353,240,328,241,242,243,304,244,274,397,245,265,352,407,291,421,276,246,247,248,333,249,401,250,350,251,252,378,253,254,419,422,255,424,261,428,360,303,336,377,402,417,260,366,372,357,272,379,347,297,313,323,344,415,317,349,388,386,368,387,358,403,408,409,306,275,342,339,315,413,340,414,335,410,309,383,308,396,395,294,266,259,295,380,433,430,284,374,346,268,310,371,427,300,319,314,381,322,392,354,311,331,327,325,312,399,412,406],c:[4,5,6,7]},{A:[0,1],K:[0,1],c:[7,12]},{A:[0],K:[0],c:[1,2]},{A:[0],K:[0],c:[2]},{A:[2,3,0],K:[0,1,2,3],c:[51]},{A:[2,0],K:[0,1,2,3,4,5,6],c:[105,109]},{w:0,A:[],K:[1,2,3,4],c:[]},{A:[0],K:[0,1,2,3],c:[]},{A:[0,1],K:[0,1,2],c:[22,24]},{A:[],K:[],c:[]},{A:[0],K:[0],c:[]},{A:[20],K:[7,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],c:[0,1,2,3,4,5,6,8,10]},{w:0,A:[],K:[],c:[184]},{A:[0,2,4,5,6],K:[0,1,2,3,4,5,6],c:[17]},{i:0,A:[12,9],K:[1,2,3,4,5,6,7,8,9,10,11,12,13,14],c:[41]},{A:[9],K:[0,2,3,4,5,6,7,8,9],c:[1,122,220]},{A:[],K:[],c:[2]},{A:[0],K:[0],c:[]},{A:[0],K:[0],c:[4,184]},{A:[0,1],K:[0,1],c:[]},{A:[2],K:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],c:[1,36,37,70]},{A:[0,1,3],K:[0,1,2,3],c:[]},{A:[1,2],K:[0,1,2],c:[]},{A:[0],K:[0],c:[1,2]},{A:[1,0,2,3,4],K:[0,1,2,3,4],c:[202]},{A:[1],K:[1],c:[0]},{A:[1],K:[0,1],c:[]},{A:[0],K:[0,1,2,3,4,5,6,7,8,9],c:[181]},{A:[5,3],K:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],c:[67,71,75,77,78,238,242]},{A:[1],K:[1],c:[0,3]},{A:[0],K:[0],c:[1]},{A:[1],K:[1],c:[0]},{A:[1],K:[1],c:[0]},{A:[0,1],K:[0,1],c:[]},{A:[0],K:[0],c:[]},{i:0,A:[],K:[1,2,6,7,9,10],c:[3,4,5,8,11,13]},{A:[0],K:[0],c:[3]},{A:[1,0,2],K:[0,1,2],c:[187]},{A:[0],K:[0],c:[1,2,4,5,6,228]},{A:[1],K:[1],c:[0]},{A:[0],K:[0,1,2,3,4],c:[47,108,221,222,223,224]},{A:[1,0],K:[0,1],c:[87]},{A:[1],K:[0,1],c:[9]},{A:[0],K:[0],c:[64]},{A:[],K:[],c:[0,2]},{w:0,A:[],K:[],c:[2]},{A:[0],K:[0],c:[3,4,6,8,9]},{A:[369],K:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,334,35,36,37,38,39,40,41,42,43,44,45,382,46,294,332,361,383,269,47,48,314,49,50,271,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,261,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,347,352,174,325,343,175,256,176,320,344,317,177,292,178,272,179,180,362,181,359,375,363,285,360,182,380,183,278,353,184,368,336,288,316,282,286,265,260,185,186,295,187,321,297,188,346,283,311,371,357,189,342,190,385,191,263,339,192,193,194,195,196,197,198,305,199,308,333,381,258,293,200,201,202,203,204,329,358,205,206,290,207,366,266,335,208,209,210,304,211,327,212,326,213,275,214,267,215,296,216,313,217,328,218,219,220,330,221,369,257,222,319,223,340,224,291,302,364,345,225,384,226,227,279,228,338,229,312,230,350,300,231,331,232,284,233,234,235,236,237,273,377,238,298,239,378,240,349,241,242,243,348,244,379,303,245,351,370,315,274,262,355,246,247,248,324,249,277,250,372,251,252,287,253,254,259,264,255,306,281,373,374,301,289,386,270,367,307,323,365,322,376,280,318,299,268,310,276,341,309,337,354,356],c:[]},{A:[0,1],K:[0,1],c:[86,87,88,89,90]},{A:[],K:[],c:[0]},{A:[3,1],K:[0,1,2,3],c:[]},{A:[0,1],K:[0,1,2],c:[21,22]},{w:0,i:1,A:[],K:[],c:[8,15]},{A:[1,4,0],K:[0,1,2,3,4,5,6,7,8,9,10,11],c:[86,87,91]},{w:0,i:1,A:[],K:[2,3,4,5,6,7],c:[184]},{A:[0],K:[0,1],c:[5,114,121,123]},{A:[1,0],K:[0,1,2,3,4,5],c:[67,73,238]},{A:[0,6,7,5,8],K:[0,1,2,3,4,5,6,7,8],c:[46,122,211,212,213,214,215,216,217,218]},{A:[1],K:[1,2],c:[0,3,223]},{A:[1,0],K:[0,1],c:[]},{A:[1,0,2],K:[0,1,2],c:[132]},{A:[3,1],K:[0,1,2,3],c:[]},{A:[0],K:[0],c:[1]},{A:[],K:[0,3],c:[1,2,14,20]},{i:3,A:[],K:[],c:[0,1,2]},{A:[0],K:[0],c:[1]},{A:[],K:[4],c:[0,1,2,3,74]},{A:[0],K:[0],c:[193]},{A:[0,1],K:[0,1],c:[24,27]},{A:[0],K:[0],c:[3]},{A:[0,4,11,9,10],K:[0,1,2,3,4,5,6,7,8,9,10,11],c:[223,225]},{A:[0],K:[0],c:[]},{A:[0,1],K:[0,1,2],c:[21,22,23,24]},{A:[],K:[],c:[1,8,18,20,23]},{A:[],K:[0,2,3,4],c:[1,5,6,7,8]},{A:[2,0],K:[0,2],c:[1]},{A:[3],K:[0,2,3,4],c:[1]},{A:[0],K:[0,2,3],c:[1,185]},{A:[0],K:[0,1,2],c:[]},{A:[0,1],K:[0,1],c:[]},{A:[0],K:[0],c:[]},{A:[0],K:[0],c:[177]},{A:[0],K:[0],c:[39]},{w:0,A:[1],K:[1,2,10,11],c:[3,4,5,6,7,8,9,81,250]},{A:[0],K:[0,2,4],c:[1,3,6]},{w:0,A:[4],K:[1,2,3,4,5,6,7,8,9,10],c:[]},{A:[],K:[0],c:[2,4,10,11,12,13,14,15,16]},{A:[0],K:[0,1,6,7,8,9,11,13,14],c:[2,3,4,5,10,12,15,16,71,242]},{A:[1],K:[1],c:[0]},{A:[2],K:[2,3],c:[0,1,228]},{A:[0],K:[0],c:[179]},{A:[0],K:[0,1,2],c:[179]},{A:[0],K:[0],c:[]},{A:[],K:[],c:[0,3,6]},{A:[3,15],K:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],c:[86,96,97]},{A:[1,0,2],K:[0,1,2],c:[34]},{A:[8,10,0],K:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],c:[71,72]},{A:[0],K:[0,1],c:[]},{A:[1],K:[0,1],c:[5,7,9,11]},{A:[1],K:[0,1,2,3],c:[38,40,201]},{w:0,A:[1],K:[1],c:[6]},{A:[1],K:[1],c:[0,175]},{A:[2],K:[0,2],c:[1,3,197]},{A:[0],K:[0],c:[14]},{A:[0],K:[0],c:[126]},{A:[5,10],K:[0,1,2,3,4,5,6,7,8,9,10,11],c:[86]},{A:[3],K:[2,3,4],c:[0,1]},{w:0,A:[],K:[],c:[]},{A:[0],K:[0],c:[1,2,3,4,6,209,210]},{A:[0],K:[0],c:[1,2,4]},{w:0,i:1,A:[2],K:[2],c:[7,14]},{i:0,A:[],K:[1,2,3,4],c:[112]},{A:[0,1],K:[0,1],c:[]},{A:[1,0,2],K:[0,1,2],c:[174]},{A:[12],K:[0,6,7,8,9,10,11,12,13],c:[1,2,3,4,5]},{A:[],K:[],c:[4]},{A:[1],K:[1],c:[0]},{A:[0,1],K:[0,1,2],c:[]},{A:[0],K:[0],c:[]},{A:[2,0,3,1,4],K:[0,1,2,3,4],c:[20,195,196]},{A:[],K:[0],c:[1]},{A:[0,3,7,5,6],K:[0,1,2,3,4,5,6,7],c:[200]},{A:[1],K:[1],c:[0,4]},{A:[],K:[],c:[111]},{A:[6],K:[0,3,5,6],c:[1,2,4]},{A:[0],K:[0,3,7,8],c:[1,2,4,5,6,190]},{A:[],K:[],c:[0]},{A:[0,2,3,4,5],K:[0,1,2,3,4,5],c:[]},{A:[1,0,2],K:[0,1,2],c:[178]},{A:[1],K:[1],c:[0,4]},{A:[1,2],K:[1,2],c:[0]},{A:[0],K:[0],c:[8,9,10]},{w:0,A:[],K:[3,4,5,6,7,8,9],c:[1,2]},{A:[0],K:[0,1],c:[]}];var e=[536870911,4294967295,77017224e4,7710532002130330,18446744073709550000,0x20000000000000,1382082059,4294967296,1401768625,202420122,.5,291086346,784054202,1396802581];function V(Z){var u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var o=Z.length;var b=new z(n(o*3/4));var M,w,yg,yy,yJ,yh,yd;for(var yX=0,yG=0;yX>4;yh=(w&15)<<4|yg>>2;yd=(yg&3)<<6|yy;b[yG]=yJ;if(yX+2>>he;hC.r.length-=1},function(hZ){var hu=yB[hZ.p]<<8|yB[hZ.p+1];var ho=yB[hZ.p+2];hZ.p+=3;b0:{var hb=hZ.r[hZ.r.length-1];var hM=hb;var hw=hM+","+hu;var dg=x[hw];if(typeof dg!=="undefined"){var dy=dg;break b0}var dJ=C[hu];var dh=V(dJ);var dd=V(hM);var dX=dh[0]+dd[0]&255;var dG="";for(var df=1;df=XY.r[XY.r.length-1];XY.r.length-=1},function(XQ){"use strict";XQ.r[XQ.r.length-2]=XQ.r[XQ.r.length-2][XQ.r[XQ.r.length-1]];XQ.r.length-=1},function(Xr){var Xp=yB[Xr.p];Xr.p+=1;var XH=Xr.r[Xr.r.length-2];var Xj=Xr.r[Xr.r.length-1];var Xi=XH>>>Xj;var Xk=Xr.r[Xr.r.length-3];var XW=Xk|Xi;Xr.H.V(Xp,XW);Xr.r.length-=3},function(Xs){var Xn=C[yB[Xs.p]<<8|yB[Xs.p+1]];Xs.p+=2;Xs.r[Xs.r.length]=typeof y[Xn]},function(Xq){var XL=yB[Xq.p]<<8|yB[Xq.p+1];var Xc=yB[Xq.p+2]<<8|yB[Xq.p+3];Xq.p+=4;var Xt=Xq.r[Xq.r.length-2];var XN=Xq.r[Xq.r.length-1];var Xz=Xt&XN;var XC=Xq.H.q(XL);var Xx=Xq.r.length-2;Xq.r[Xx]=Xz;Xq.r[Xx+1]=XC;Xq.r[Xx+2]=Xq.H.q(Xc)},function(XF){var XO=yB[XF.p]<<8|yB[XF.p+1];var Xe=yB[XF.p+2];var XV=yB[XF.p+3];XF.p+=4;var XZ=XF.r[XF.r.length-1];XF.H.V(XO,XZ);var Xu=XF.H.q(Xe);var Xo=XF.r.length-1;XF.r[Xo]=Xu;XF.r[Xo+1]=XF.H.q(XV)},function(Xb){var XM=yB[Xb.p]<<8|yB[Xb.p+1];Xb.p+=2;var Xw=Xb.r[Xb.r.length-1];if(Xw===null||Xw===void 0){throw new X("Cannot access property of "+Xw)}var Gg=Xb.H.q(XM);Xb.r[Xb.r.length-1]=T(Gg)},function(Gy){var GJ=yB[Gy.p];var Gh=yB[Gy.p+1];Gy.p+=2;var Gd=Gy.r[Gy.r.length-2];var GX=Gy.r[Gy.r.length-1];k(GX,GJ,{writable:true,configurable:true,enumerable:true,value:Gd});Gy.r[Gy.r.length-2]=Gy.H.q(Gh);Gy.r.length-=1},function(GG){var Gf=yB[GG.p]<<8|yB[GG.p+1];var GR=yB[GG.p+2];var GT=yB[GG.p+3]<<8|yB[GG.p+4];GG.p+=5;var Gl=GG.r[GG.r.length-1];GG.H.V(Gf,Gl);var GU=GG.H.q(GR);GG.H.V(GT,GU);GG.r.length-=1},function(Gm){"use strict";Gm.r[Gm.r.length-2][Gm.r[Gm.r.length-1]]=Gm.r[Gm.r.length-3];Gm.r.length-=3},function(GK){GK.r[GK.r.length-2]=GK.r[GK.r.length-2]<>>fD;var fE=fU.r[fU.r.length-4];fU.r[fU.r.length-4]=fE|fv;fU.r.length-=3},function(fA){var fP=yB[fA.p];var fa=yB[fA.p+1];var fB=yB[fA.p+2]<<8|yB[fA.p+3];fA.p+=4;fA.H.V(fa,fP);fA.r[fA.r.length]=fA.H.q(fB)},function(fI){var fY=e[yB[fI.p]];fI.p+=1;fI.r[fI.r.length]=fY},function(fQ){fQ.r[fQ.r.length]=null},function(fr){var fp=yB[fr.p];var fH=C[yB[fr.p+1]<<8|yB[fr.p+2]];var fj=yB[fr.p+3]<<8|yB[fr.p+4];fr.p+=5;var fi=fr.H.q(fp);var fk=fH;var fW=fk+","+fj;var fs=x[fW];if(typeof fs!=="undefined"){var fn=fr.r.length;fr.r[fn]=fi;fr.r[fn+1]=fs;return}var fq=C[fj];var fL=V(fq);var fc=V(fk);var ft=fL[0]+fc[0]&255;var fN="";for(var fz=1;fz>Km.r[Km.r.length-1];Km.r.length-=1},function(KK){KK.r[KK.r.length-2]=KK.r[KK.r.length-2]^KK.r[KK.r.length-1];KK.r.length-=1},function(KD){var KS=yB[KD.p]<<8|yB[KD.p+1];var Kv=yB[KD.p+2];KD.p+=3;var KE=KD.r[KD.r.length-1];KD.H.V(KS,KE);var KA=KD.H.q(Kv);if(KA===null||KA===void 0){throw new X("Cannot access property of "+KA)}KD.r.length-=1},function(KP){var Ka=yB[KP.p];var KB=yB[KP.p+1];KP.p+=2;var KI=KP.r[KP.r.length-1];KP.H.V(Ka,KI);var KY=KP.H.q(KB);if(KY===null||KY===void 0){throw new X("Cannot access property of "+KY)}KP.r.length-=1},function(KQ){var Kr=yB[KQ.p]<<8|yB[KQ.p+1];KQ.p+=2;var Kp=KQ.r[KQ.r.length-2];var KH=KQ.r[KQ.r.length-1];var Kj=Kp>>>KH;var Ki=KQ.r[KQ.r.length-3];var Kk=Ki|Kj;KQ.H.V(Kr,Kk);KQ.r.length-=3},function(KW){KW.r[KW.r.length]=[]},function(Ks){var Kn=yB[Ks.p]<<8|yB[Ks.p+1];Ks.p+=2;Ks.r[Ks.r.length-2]=dv(Kn,Ks.r[Ks.r.length-1],Ks.r[Ks.r.length-2],Ks.H);Ks.r.length-=1},function(Kq){var KL=yB[Kq.p];var Kc=yB[Kq.p+1];var Kt=yB[Kq.p+2];Kq.p+=3;var KN=Kq.r[Kq.r.length-1];Kq.H.V(KL,KN);var Kz=Kq.H.q(Kc);var KC=Kq.r.length-1;Kq.r[KC]=Kz;Kq.r[KC+1]=Kt},function(Kx){var KF=Kx.r[Kx.r.length-5];Kx.r[Kx.r.length-5]=KF(Kx.r[Kx.r.length-4],Kx.r[Kx.r.length-3],Kx.r[Kx.r.length-2],Kx.r[Kx.r.length-1]);Kx.r.length-=4},function(KO){var Ke=C[yB[KO.p]<<8|yB[KO.p+1]];var KV=yB[KO.p+2]<<8|yB[KO.p+3];var KZ=yB[KO.p+4]<<8|yB[KO.p+5];KO.p+=6;b1:{var Ku=Ke;var Ko=Ku+","+KV;var Kb=x[Ko];if(typeof Kb!=="undefined"){var KM=Kb;break b1}var Kw=C[KV];var Dg=V(Kw);var Dy=V(Ku);var DJ=Dg[0]+Dy[0]&255;var Dh="";for(var Dd=1;DdER.r[ER.r.length-1];ER.r.length-=1},function(ET){var El=C[yB[ET.p]<<8|yB[ET.p+1]];ET.p+=2;ET.r[ET.r.length]=El},function(EU){var Em=yB[EU.p]<<8|yB[EU.p+1];var EK=yB[EU.p+2];EU.p+=3;var ED=EU.H.q(Em);var ES=EU.r[EU.r.length-1];k(ED,EK,{writable:true,configurable:true,enumerable:true,value:ES});EU.r.length-=1},function(Ev){var EE=yB[Ev.p];var EA=yB[Ev.p+1];Ev.p+=2;var EP=Ev.H.q(EE);var Ea=Ev.r[Ev.r.length-1];var EB=Ea<>>AS;AU.r.length-=1},function(AE){var AA=yB[AE.p];var AP=yB[AE.p+1];var Aa=yB[AE.p+2];AE.p+=3;var AB=AE.H.q(AA);AE.H.V(AP,AB);AE.r[AE.r.length]=AE.H.q(Aa)},function(AI){var AY=yB[AI.p];AI.p+=1;var AQ=AI.r[AI.r.length-1];var Ar=T(AQ);AI.H.V(AY,Ar);AI.r[AI.r.length-1]=void 0},function(Ap){var AH=yB[Ap.p];var Aj=C[yB[Ap.p+1]<<8|yB[Ap.p+2]];Ap.p+=3;var Ai=Ap.H.q(AH);var Ak=Ap.r.length-1;Ap.r[Ak]=Ai;Ap.r[Ak+1]=Aj},function(AW){var As=yB[AW.p];var An=yB[AW.p+1];var Aq=C[yB[AW.p+2]<<8|yB[AW.p+3]];AW.p+=4;var AL=AW.H.q(As);var Ac=AW.H.q(An);var At=AW.r.length;AW.r[At]=AL;AW.r[At+1]=Ac;AW.r[At+2]=Aq},function(AN){var Az=yB[AN.p];var AC=yB[AN.p+1];AN.p+=2;var Ax=AN.r[AN.r.length-2];var AF=AN.r[AN.r.length-1];var AO=Ax&AF;var Ae=AN.H.q(Az);var AV=AN.r.length-2;AN.r[AV]=AO;AN.r[AV+1]=Ae;AN.r[AV+2]=AC},function(AZ){var Au=yB[AZ.p];var Ao=yB[AZ.p+1];AZ.p+=2;var Ab=AZ.r[AZ.r.length-2];var AM=AZ.r[AZ.r.length-1];var Aw=Ab&AM;var Pg=AZ.H.q(Au);var Py=AZ.r.length-2;AZ.r[Py]=Aw;AZ.r[Py+1]=Pg;AZ.r[Py+2]=AZ.H.q(Ao)},function(PJ){PJ.p=PJ.T.p;PJ.z=PJ.T.z},function(Ph){var Pd=yB[Ph.p]<<8|yB[Ph.p+1];var PX=yB[Ph.p+2];Ph.p+=3;b0:{var PG=Ph.r[Ph.r.length-1];var Pf=PG;var PR=Pf+","+Pd;var PT=x[PR];if(typeof PT!=="undefined"){var Pl=PT;break b0}var PU=C[Pd];var Pm=V(PU);var PK=V(Pf);var PD=Pm[0]+PK[0]&255;var PS="";for(var Pv=1;Pv>>YM.r[YM.r.length-1];YM.r.length-=1},function(Yw){var Qg=[];for(var Qy in Yw.r[Yw.r.length-1]){I(Qg,Qy)}Yw.r[Yw.r.length-1]=Qg},function(QJ){var Qh=yB[QJ.p]<<8|yB[QJ.p+1];QJ.p+=2;QJ.r[QJ.r.length]=QJ.H.q(Qh)},function(Qd){Qd.r[Qd.r.length-2]=Qd.r[Qd.r.length-2]!=Qd.r[Qd.r.length-1];Qd.r.length-=1},function(QX){var QG=yB[QX.p];var Qf=yB[QX.p+1];QX.p+=2;var QR=QX.r[QX.r.length-2];var QT=QX.r[QX.r.length-1];k(QT,QG,{writable:true,configurable:true,enumerable:true,value:QR});QX.r[QX.r.length-2]=Qf;QX.r.length-=1},function(Ql){var QU=Ql.r[Ql.r.length-2];Ql.r[Ql.r.length-2]=QU(Ql.r[Ql.r.length-1]);Ql.r.length-=1},function(Qm){var QK=yB[Qm.p]<<8|yB[Qm.p+1];var QD=C[yB[Qm.p+2]<<8|yB[Qm.p+3]];var QS=yB[Qm.p+4]<<8|yB[Qm.p+5];Qm.p+=6;var Qv=Qm.H.q(QK);var QE=QD;var QA=QE+","+QS;var QP=x[QA];if(typeof QP!=="undefined"){var Qa=Qm.r.length;Qm.r[Qa]=Qv;Qm.r[Qa+1]=QP;return}var QB=C[QS];var QI=V(QB);var QY=V(QE);var QQ=QI[0]+QY[0]&255;var Qr="";for(var Qp=1;Qp