@brandbrigade/ott-bb-player 1.0.13 → 1.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/js/OTTPlayer.prod.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
package/js/OTTPlayer.prod.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x4e65bd=_0x5c70;(function(_0x1855b9,_0x438f6f){const _0x4cf2b8=_0x5c70,_0x507e8c=_0x1855b9();while(!![]){try{const _0x55656a=parseInt(_0x4cf2b8(0x14d))/0x1*(-parseInt(_0x4cf2b8(0x126))/0x2)+parseInt(_0x4cf2b8(0x16a))/0x3+parseInt(_0x4cf2b8(0x217))/0x4*(parseInt(_0x4cf2b8(0x15f))/0x5)+parseInt(_0x4cf2b8(0x1d8))/0x6*(parseInt(_0x4cf2b8(0x31f))/0x7)+-parseInt(_0x4cf2b8(0x13e))/0x8*(parseInt(_0x4cf2b8(0x10c))/0x9)+parseInt(_0x4cf2b8(0x257))/0xa+-parseInt(_0x4cf2b8(0x1d7))/0xb;if(_0x55656a===_0x438f6f)break;else _0x507e8c['push'](_0x507e8c['shift']());}catch(_0x56d00f){_0x507e8c['push'](_0x507e8c['shift']());}}}(_0x201c,0xf181d));const META_WORKER=_0x4e65bd(0x28c);let debug_lastFrameFromVideoCallback=-0x1,debug_tc='';(function(_0x598fb0,_0x3db225){const _0x52545f=_0x4e65bd;typeof define===_0x52545f(0x148)&&define['amd']?define([],function(){return _0x3db225['call'](_0x598fb0);}):_0x598fb0[_0x52545f(0x15e)]=_0x3db225[_0x52545f(0x135)](_0x598fb0);}(this,function(){'use strict';const _0x22d3a0=_0x4e65bd;const _0xa3685f=this;function _0x414f22(_0x964cd5){const _0x330c3f=_0x5c70;return _0x964cd5=_0x964cd5||_0xa3685f,_0x964cd5!==_0x964cd5[_0x330c3f(0x208)];}!_0x414f22()&&(console[_0x22d3a0(0x181)]('%c%s',_0x22d3a0(0x211),'for\x20more\x20about\x20webgl-utils.js\x20see:'),console[_0x22d3a0(0x181)](_0x22d3a0(0x185),_0x22d3a0(0x211),_0x22d3a0(0x2e7)));function _0x3c92f8(_0x36140e){const _0x14b66b=_0x22d3a0;if(_0xa3685f[_0x14b66b(0x1bc)]){if(_0xa3685f[_0x14b66b(0x1bc)]['error'])_0xa3685f[_0x14b66b(0x1bc)][_0x14b66b(0x1f7)](_0x36140e);else _0xa3685f[_0x14b66b(0x1bc)][_0x14b66b(0x181)]&&_0xa3685f['console'][_0x14b66b(0x181)](_0x36140e);}}const _0xc96889=/ERROR:\s*\d+:(\d+)/gi;function _0x2a983b(_0x42633c,_0x18d424=''){const _0x55cb29=_0x22d3a0,_0x15a504=[..._0x18d424[_0x55cb29(0x112)](_0xc96889)],_0x1fae74=new Map(_0x15a504[_0x55cb29(0x2af)]((_0x46b007,_0x57244b)=>{const _0x3b967b=_0x55cb29,_0x211f35=parseInt(_0x46b007[0x1]),_0xeaecdf=_0x15a504[_0x57244b+0x1],_0x4119fd=_0xeaecdf?_0xeaecdf[_0x3b967b(0x2e1)]:_0x18d424['length'],_0x165c00=_0x18d424[_0x3b967b(0x29e)](_0x46b007[_0x3b967b(0x2e1)],_0x4119fd);return[_0x211f35-0x1,_0x165c00];}));return _0x42633c[_0x55cb29(0x317)]('\x0a')['map']((_0x2f8f33,_0x38fddf)=>{const _0x4100d9=_0x55cb29,_0x3bd431=_0x1fae74[_0x4100d9(0x27e)](_0x38fddf);return _0x38fddf+0x1+':\x20'+_0x2f8f33+(_0x3bd431?_0x4100d9(0x20d)+_0x3bd431:'');})['join']('\x0a');}function _0x5144aa(_0x4c6585,_0x4be320,_0x45f655,_0x4c7cd3){const _0x61ac4e=_0x22d3a0,_0x2bf679=_0x4c7cd3||_0x3c92f8,_0x3fdde2=_0x4c6585['createShader'](_0x45f655);_0x4c6585['shaderSource'](_0x3fdde2,_0x4be320),_0x4c6585[_0x61ac4e(0x13f)](_0x3fdde2);const _0x237f31=_0x4c6585[_0x61ac4e(0x19e)](_0x3fdde2,_0x4c6585[_0x61ac4e(0x2cb)]);if(!_0x237f31){const _0x4c4c9c=_0x4c6585[_0x61ac4e(0x17b)](_0x3fdde2);return _0x2bf679(_0x61ac4e(0x1fb)+_0x4c4c9c+'\x0a'+_0x2a983b(_0x4be320,_0x4c4c9c)),_0x4c6585[_0x61ac4e(0x2a2)](_0x3fdde2),null;}return _0x3fdde2;}function _0x2d1481(_0x20d102,_0xcb90db,_0x24a08f,_0x38f1d0,_0x400249){const _0x1f3406=_0x22d3a0,_0x2221fc=_0x400249||_0x3c92f8,_0x1bac3f=_0x20d102['createProgram']();_0xcb90db[_0x1f3406(0x19b)](function(_0x435178){_0x20d102['attachShader'](_0x1bac3f,_0x435178);});_0x24a08f&&_0x24a08f[_0x1f3406(0x19b)](function(_0x2efcea,_0x3b051a){const _0x772a5e=_0x1f3406;_0x20d102[_0x772a5e(0x2aa)](_0x1bac3f,_0x38f1d0?_0x38f1d0[_0x3b051a]:_0x3b051a,_0x2efcea);});_0x20d102[_0x1f3406(0x209)](_0x1bac3f);const _0x273d46=_0x20d102[_0x1f3406(0x17d)](_0x1bac3f,_0x20d102[_0x1f3406(0x1b0)]);if(!_0x273d46){const _0x591ca7=_0x20d102[_0x1f3406(0x26e)](_0x1bac3f);return _0x2221fc(_0x1f3406(0x177)+_0x591ca7+'\x0a'+_0xcb90db[_0x1f3406(0x2af)](_0x303d44=>{const _0x1ca234=_0x1f3406,_0x7ee658=_0x2a983b(_0x20d102[_0x1ca234(0x1cf)](_0x303d44)),_0x21d8cc=_0x20d102[_0x1ca234(0x19e)](_0x303d44,_0x20d102[_0x1ca234(0x193)]);return glEnumToString(_0x20d102,_0x21d8cc)+':\x0a'+_0x7ee658;})[_0x1f3406(0x2b2)]('\x0a')),_0x20d102[_0x1f3406(0x138)](_0x1bac3f),null;}return _0x1bac3f;}function _0x3289f6(_0x1e4e60,_0xc3a395,_0x54b5b8,_0x65a8f2){const _0x18c2cb=_0x22d3a0;let _0x24bbc6='',_0x3c6fe8;const _0x568001=document['getElementById'](_0xc3a395);if(!_0x568001)throw _0x18c2cb(0x21d)+_0xc3a395;_0x24bbc6=_0x568001[_0x18c2cb(0x1b1)];if(!_0x54b5b8){if(_0x568001['type']===_0x18c2cb(0x23e))_0x3c6fe8=_0x1e4e60[_0x18c2cb(0x182)];else{if(_0x568001[_0x18c2cb(0x2fe)]===_0x18c2cb(0x1f3))_0x3c6fe8=_0x1e4e60[_0x18c2cb(0x278)];else{if(_0x3c6fe8!==_0x1e4e60[_0x18c2cb(0x182)]&&_0x3c6fe8!==_0x1e4e60[_0x18c2cb(0x278)])throw _0x18c2cb(0x272);}}}return _0x5144aa(_0x1e4e60,_0x24bbc6,_0x54b5b8?_0x54b5b8:_0x3c6fe8,_0x65a8f2);}const _0x4e018a=[_0x22d3a0(0x182),_0x22d3a0(0x278)];function _0x4b46e3(_0xf9d4a2,_0x228e6e,_0xe0a255,_0x2798b4,_0x1add5f){const _0x90951d=_0x22d3a0,_0x2bbab9=[];for(let _0x4d8dd0=0x0;_0x4d8dd0<_0x228e6e[_0x90951d(0x30a)];++_0x4d8dd0){_0x2bbab9[_0x90951d(0x1a9)](_0x3289f6(_0xf9d4a2,_0x228e6e[_0x4d8dd0],_0xf9d4a2[_0x4e018a[_0x4d8dd0]],_0x1add5f));}return _0x2d1481(_0xf9d4a2,_0x2bbab9,_0xe0a255,_0x2798b4,_0x1add5f);}function _0x124806(_0x36f0a9,_0x190d9f,_0x543698,_0xba37e0,_0x29263e){const _0x55fdfe=[];for(let _0x200711=0x0;_0x200711<_0x190d9f['length'];++_0x200711){_0x55fdfe['push'](_0x5144aa(_0x36f0a9,_0x190d9f[_0x200711],_0x36f0a9[_0x4e018a[_0x200711]],_0x29263e));}return _0x2d1481(_0x36f0a9,_0x55fdfe,_0x543698,_0xba37e0,_0x29263e);}function _0x39526d(_0x5d43d2,_0x55d1a7){const _0x3b8ca5=_0x22d3a0;_0x55d1a7=_0x55d1a7||0x1;const _0x54d1f6=_0x5d43d2[_0x3b8ca5(0x305)]*_0x55d1a7|0x0,_0x3e4284=_0x5d43d2[_0x3b8ca5(0x29c)]*_0x55d1a7|0x0;if(_0x5d43d2[_0x3b8ca5(0x1dd)]!==_0x54d1f6||_0x5d43d2[_0x3b8ca5(0x12d)]!==_0x3e4284)return _0x5d43d2[_0x3b8ca5(0x1dd)]=_0x54d1f6,_0x5d43d2[_0x3b8ca5(0x12d)]=_0x3e4284,!![];return![];}return{'createProgram':_0x2d1481,'createProgramFromScripts':_0x4b46e3,'createProgramFromSources':_0x124806,'resizeCanvasToDisplaySize':_0x39526d};}));function _0x5c70(_0xee7cfa,_0x2a1328){const _0x201c72=_0x201c();return _0x5c70=function(_0x5c70eb,_0x2e2984){_0x5c70eb=_0x5c70eb-0xff;let _0x176d96=_0x201c72[_0x5c70eb];return _0x176d96;},_0x5c70(_0xee7cfa,_0x2a1328);}const BB={'MAX_LOGOS':0x4};function _0x201c(){const _0x1f9436=['TEXTURE_WRAP_T','field','appendChild','splice',',\x20roundingError:\x20','test','playerTime','version','databrowser','maxTouchPoints','mimeType','hasLogo','webglUtils','25IuaeZv','Mozilla','pointer-events',',\x20time:\x20','now','insertBefore','offsetLeft','Win','postMessage','TimeCodeArray2TimeCodeJson','\x20TimeFired:\x20','808572suQdlc','syncPoint','https://www.virtualott.com/ads/','composer::SelectAd:\x20selected\x20ad\x20is\x20','\x0a\x0a//High\x20precision\x20mode\x0aprecision\x20highp\x20float;\x0a\x0a//\x20an\x20attribute\x20is\x20an\x20input\x20(in)\x20to\x20a\x20vertex\x20shader.\x0a//\x20It\x20will\x20receive\x20vertex\x20data\x20from\x20the\x20buffer\x0aattribute\x20vec2\x20a_position;\x0aattribute\x20vec2\x20a_texCoord;\x0auniform\x20vec2\x20u_resolution;\x0avarying\x20vec2\x20v_texCoord;\x0a\x0a\x0a//\x20Main\x20vertex\x20shader\x0avoid\x20main()\x20{\x0a\x20\x20//\x20convert\x20the\x20rectangle\x20from\x20pixels\x20to\x200.0\x20to\x201.0\x0a\x20\x20\x20vec2\x20zeroToOne\x20=\x20a_position\x20/\x20u_resolution;\x0a\x0a\x20\x20\x20//\x20convert\x20from\x200->1\x20to\x200->2\x0a\x20\x20\x20vec2\x20zeroToTwo\x20=\x20zeroToOne\x20*\x202.0;\x0a\x0a\x20\x20\x20//\x20convert\x20from\x200->2\x20to\x20-1->+1\x20(clipspace)\x0a\x20\x20\x20vec2\x20clipSpace\x20=\x20zeroToTwo\x20-\x201.0;\x0a\x0a\x20\x20\x20gl_Position\x20=\x20vec4(clipSpace\x20*\x20vec2(1,\x20-1),\x200,\x201);\x0a\x0a\x20\x20\x20//\x20pass\x20the\x20texCoord\x20to\x20the\x20fragment\x20shader\x0a\x20\x20\x20//\x20The\x20GPU\x20will\x20interpolate\x20this\x20value\x20between\x20points.\x0a\x20\x20\x20v_texCoord\x20=\x20a_texCoord;\x0a}\x0a','getGlobalConfig','blur','TEXTURE_MAG_FILTER','Anonymous','augmentation','u_digitTopLeft','shift','\x20Game:\x20','Error\x20in\x20program\x20linking:\x20','fillText','Utils','refreshRate','getShaderInfoLog','VID.','getProgramParameter','viewport','toFixed','setLastFrame','log','VERTEX_SHADER','style','Error\x20fetching\x20and\x20processing\x20GameId\x20JSON:','%c%s','uniform2f','digitImg','ads','UNSIGNED_BYTE','PlayBook','This\x20videoCallback\x20can\x20be\x20incorrect.\x20This\x20time\x20doing\x20stuff\x20in\x20requestAnimation\x20frame','Android','assign','indexOf','isPowerOf2','script','Unsupported\x20src\x20frame-rate:\x20','currentAds2BoundingRect','SHADER_TYPE','dataos','iPad','corners','Silk','clientX','ANI','getDeviceName','forEach','allGamesURL','getHours','getShaderParameter','fillStyle','folderName','enabled','initializeComponents','getElementById','frames','includes','src','slope','tc__','push','iPhone','playbackTime','\x20so\x20should\x20navigate\x20to\x20','offset','lastAd','onNewMetadata','LINK_STATUS','text','data',',\x20timeStamp-expectedDisplayTime:\x20','DEPTH_BUFFER_BIT','sort','readyState','eventType','\x20not\x20found\x20in\x20JSON.','innerHTML','u_matrix','createProgramFromSources','console','Src60_MediaTime59',',\x20resultTime:\x20','maskY','SynchMethod','Firefox','video','\x20ms','Error\x20in\x20creating\x20MetaDataDownloaderThread','PalmOS','ALPHA','gameId','fragmentShaderSourceV1','CreateDigitImg',',\x20frame\x20not-rounded1:\x20','channelName','getMilliseconds','frame','isAndroid','getShaderSource','rect','\x20dblFrame:\x20','Created\x20webgl1\x20context:\x20','Platform','webgl','TEXTURE_MIN_FILTER','fps','7727159IxABic','2080194NrrTsJ','ctx','toDataURL','#version\x20300\x20es\x0a\x0a//\x20an\x20attribute\x20is\x20an\x20input\x20(in)\x20to\x20a\x20vertex\x20shader.\x0a//\x20It\x20will\x20receive\x20vertex\x20data\x20from\x20the\x20buffer\x0ain\x20vec2\x20a_position;\x0a\x0a//Identity\x20matrix\x20for\x20now\x0auniform\x20mat3\x20u_matrix;\x0a\x0a//The\x20canvas\x20resolution,\x20to\x20covert\x20to\x20ZeTor\x0auniform\x20vec2\x20u_resolution;\x0a\x0a//a_texCoord->v_texCoord\x20interpolation\x0a//in\x20vec2\x20a_texCoord;\x0a//out\x20vec2\x20v_texCoord;\x0a\x0a//\x20Main\x20vertex\x20shader\x0avoid\x20main()\x20{\x0a\x20\x20//Translate,\x20rotate,\x20scale\x20by\x20u_matrix:\x0a\x20\x20vec2\x20position\x20=\x20(u_matrix\x20*\x20vec3(a_position,\x201)).xy;\x0a\x0a\x20\x20//Convert\x20the\x20position\x20from\x20pixels\x20to\x20ZeTor\x20[0.0,1.0]\x0a\x20\x20vec2\x20zeroToOne\x20=\x20position\x20/\x20u_resolution;\x0a\x0a\x20\x20//Convert\x20from\x20[0,1]\x20to\x20[0,2]\x0a\x20\x20vec2\x20zeroToTwo\x20=\x20zeroToOne\x20*\x202.0;\x0a\x0a\x20\x20//Convert\x20from\x20[0,2]\x20to\x20[-1,+1]\x20(clipspace)\x0a\x20\x20vec2\x20clipSpace\x20=\x20zeroToTwo\x20-\x201.0;\x0a\x0a\x20\x20gl_Position\x20=\x20vec4(clipSpace\x20*\x20vec2(1,\x20-1),\x200,\x201);\x0a\x0a\x20\x20//Pass\x20the\x20texCoord\x20to\x20the\x20fragment\x20shader\x0a\x20\x20//The\x20GPU\x20will\x20interpolate\x20this\x20value\x20between\x20points.\x0a\x20\x20//v_texCoord\x20=\x20a_texCoord;\x0a}\x0a','keys','width','100%','TexUnitForPlaceHolder','metadata','onNewMetadataInterface','iOS','\x20for\x20place\x20','Composer3d','createBuffer','timeDate2TCString','counter','webGLVersion','\x20FPS,\x20Aborting\x20augmentation.\x20Only\x2060FPS\x20screens\x20supported','TexUnitForAdInPlace','expectedDisplayTime','BBlog','advertisementMap','metadataArr','TimeCodeAddFrames',',\x20correction','body','application/javascript','x-shader/x-fragment',',\x20so\x20I\x27m\x20launching\x20the\x20meta-data\x20fetcher\x20web-worker','ARRAY_BUFFER',',\x20deltaCur:\x20','error','plus05CorrectionCheckbox','HTTP\x20error!\x20Status:\x20','debugText','Error\x20compiling\x20shader:\x20','\x20FalseForceSync','UNPACK_ALIGNMENT','https://www.virtualott.com','player','ToggleFullscreen','key','alphaTex','Palm','OnNewSegment','timecode','\x20deltaANI_VIDDate:\x20',',\x2059.94-offset:\x20','top','linkProgram','adTexture','logoURL','renderTimecode','\x0a\x0a^^^\x20','json','priv','ScreenFPS','color:blue;font-weight:bold;','Calculating\x20ScreenFrameRate','SelectAd','ad2place','appVersion','br1','212508XJAXEa','OTTPlayer:\x20','getSeconds','abs','RGBA','click','***\x20Error:\x20unknown\x20script\x20element','BBerror','numberInput','OnMetaData','url','getUniformLocation','InitGL','toLowerCase','[-\x20/:;]([\x5cd._]+)','_blank','place2AdTexture','\x20Frame:\x20','onerror','program','slice','placeholders','renderingMode','hasDigit','stopAugment','right','createTexture','floor','NOT\x20SUPPORTED','composer::AddAdvertisement:\x20ads-to-place\x20mapping:\x20','mediaTime',',\x20Time\x20Fired:\x20','urls','TopLeft','tranform','webkitRequestFullscreen','messageData','Error\x20fetching\x20JSON:','MakeSureAdPerPlace:\x20Set\x20default\x20image\x20','x-shader/x-vertex','sourceFPS','COLOR_BUFFER_BIT','The\x20window\x20object\x20is\x20not\x20defined.\x20This\x20script\x20might\x20not\x20be\x20running\x20in\x20a\x20browser\x20environment.','MakeSureAdPerPlace','u_resolution','Render\x20frame\x20#','matchItem','ANI.','FrameRateMode','absolute','undefined','max','SetRectangle','uniformMatrix3fv','padStart','TexUnitForGenericAd','getBoundingClientRect','onNewSegmentInterface','getTime','dateTime','fragmentShaderSource','RenderingMode',',\x20dblFrame:\x20','deleteTexture','13408760berrpp','video\x20element\x20is\x20already\x20loaded.\x20Setting\x20up\x20requestVideoFrameCallback','createElement','videoCopier','u_digitSize','hasOwnProperty','renderAugmentation','FPS\x20not\x20supported','reduce','Safari','img','Got\x20the\x20following\x20config:\x20','Windows','Windows\x20Phone','isWindows','found','uniform1i','Macintosh','options\x20after\x20merge\x20with\x20MK\x27s\x20options:\x20','Kindle','MetaDataDownloaderThread\x20created','adLoopTime','open','getProgramInfoLog','canvas','fetchOffsetForGameId','setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode,\x20fps\x20=\x20','***\x20Error:\x20unknown\x20shader\x20type','CallBacks\x20are\x20set','offsetTop','Src59_MediaTime60','timeCodeStr2TimeCodeArray','isConnected','FRAGMENT_SHADER','Clicked\x20on\x20ad:\x20','VID.\x20','alpha','Setting\x20Callbacks','OTTPlayer','get','OnUserClickOnCanvas','TimeCodesFramesTranslator','display',',\x20currentTime:\x20','CLAMP_TO_EDGE',',\x20SyncPoint.time:\x20','match','texParameteri','\x20playing\x20at\x20','MetaDataFetcher','\x20\x20correction','We\x20are\x20HERE:TimeCode','Network\x20response\x20was\x20not\x20ok','try\x20{\x0a\x0alet\x20UZIP\x20=\x20{};\x0aif(typeof\x20module\x20==\x20\x22object\x22)\x20module.exports\x20=\x20UZIP;\x0aUZIP[\x22parse\x22]\x20=\x20function(buf,\x20onlyNames)\x09//\x20ArrayBuffer\x0a{\x0a\x20\x20\x20\x20let\x20rUs\x20=\x20UZIP.bin.readUshort,\x20rUi\x20=\x20UZIP.bin.readUint,\x20o\x20=\x200,\x20out\x20=\x20{};\x0a\x20\x20\x20\x20let\x20data\x20=\x20new\x20Uint8Array(buf);\x0a\x20\x20\x20\x20let\x20eocd\x20=\x20data.length-4;\x0a\x0a\x20\x20\x20\x20while(rUi(data,\x20eocd)!=0x06054b50)\x20eocd--;\x0a\x0a\x20\x20\x20\x20o\x20=\x20eocd;\x0a\x20\x20\x20\x20o+=4;\x09//\x20sign\x20\x20=\x200x06054b50\x0a\x20\x20\x20\x20o+=4;\x20\x20//\x20disks\x20=\x200;\x0a\x20\x20\x20\x20let\x20cnu\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20let\x20cnt\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x0a\x20\x20\x20\x20let\x20csize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20let\x20coffs\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x0a\x20\x20\x20\x20o\x20=\x20coffs;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<cnu;\x20i++)\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20sign\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20versions;\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20flag\x20+\x20compr\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20time\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20crc32\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20csize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20usize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20nl\x20=\x20rUs(data,\x20o),\x20el\x20=\x20rUs(data,\x20o+2),\x20cl\x20=\x20rUs(data,\x20o+4);\x20\x20o\x20+=\x206;\x20\x20//\x20name,\x20extra,\x20comment\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x208;\x20\x20//\x20disk,\x20attribs\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20roff\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x20nl\x20+\x20el\x20+\x20cl;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20UZIP._readLocal(data,\x20roff,\x20out,\x20csize,\x20usize,\x20onlyNames);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//console.log(out);\x0a\x20\x20\x20\x20return\x20out;\x0a}\x0a\x0aUZIP._readLocal\x20=\x20function(data,\x20o,\x20out,\x20csize,\x20usize,\x20onlyNames)\x0a{\x0a\x20\x20\x20\x20let\x20rUs\x20=\x20UZIP.bin.readUshort,\x20rUi\x20=\x20UZIP.bin.readUint;\x0a\x20\x20\x20\x20let\x20sign\x20\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20let\x20ver\x20\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20let\x20gpflg\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20//if((gpflg&8)!=0)\x20throw\x20\x22unknown\x20sizes\x22;\x0a\x20\x20\x20\x20let\x20cmpr\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x0a\x20\x20\x20\x20let\x20time\x20\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x0a\x20\x20\x20\x20let\x20crc32\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20//let\x20csize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20//let\x20usize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20o+=8;\x0a\x0a\x20\x20\x20\x20let\x20nlen\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20let\x20elen\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x0a\x20\x20\x20\x20let\x20name\x20=\x20\x20UZIP.bin.readUTF8(data,\x20o,\x20nlen);\x20\x20o+=nlen;\x20\x20//console.log(name);\x0a\x20\x20\x20\x20o\x20+=\x20elen;\x0a\x0a\x20\x20\x20\x20//console.log(sign.toString(16),\x20ver,\x20gpflg,\x20cmpr,\x20crc32.toString(16),\x20\x22csize,\x20usize\x22,\x20csize,\x20usize,\x20nlen,\x20elen,\x20name,\x20o);\x0a\x20\x20\x20\x20if(onlyNames)\x20{\x20\x20out[name]={size:usize,\x20csize:csize};\x20\x20return;\x20\x20}\x0a\x20\x20\x20\x20let\x20file\x20=\x20new\x20Uint8Array(data.buffer,\x20o);\x0a\x20\x20\x20\x20if(false)\x20{}\x0a\x20\x20\x20\x20else\x20if(cmpr==0)\x20out[name]\x20=\x20new\x20Uint8Array(file.buffer.slice(o,\x20o+csize));\x0a\x20\x20\x20\x20else\x20if(cmpr==8)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20buf\x20=\x20new\x20Uint8Array(usize);\x20\x20UZIP.inflateRaw(file,\x20buf);\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*let\x20nbuf\x20=\x20pako[\x22inflateRaw\x22](file);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(usize>8514000)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//console.log(PUtils.readASCII(buf\x20,\x208514500,\x20500));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//console.log(PUtils.readASCII(nbuf,\x208514500,\x20500));\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<buf.length;\x20i++)\x20if(buf[i]!=nbuf[i])\x20{\x20\x20console.log(buf.length,\x20nbuf.length,\x20usize,\x20i);\x20\x20throw\x20\x22e\x22;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20out[name]\x20=\x20buf;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20throw\x20\x22unknown\x20compression\x20method:\x20\x22+cmpr;\x0a}\x0a\x0aUZIP.inflateRaw\x20=\x20function(file,\x20buf)\x20{\x20\x20return\x20UZIP.F.inflate(file,\x20buf);\x20\x20}\x0aUZIP.inflate\x20\x20\x20\x20=\x20function(file,\x20buf)\x20{\x0a\x20\x20\x20\x20let\x20CMF\x20=\x20file[0],\x20FLG\x20=\x20file[1];\x0a\x20\x20\x20\x20let\x20CM\x20=\x20(CMF&15),\x20CINFO\x20=\x20(CMF>>>4);\x0a\x20\x20\x20\x20//console.log(CM,\x20CINFO,CMF,FLG);\x0a\x20\x20\x20\x20return\x20UZIP.inflateRaw(new\x20Uint8Array(file.buffer,\x20file.byteOffset+2,\x20file.length-6),\x20buf);\x0a}\x0aUZIP.deflate\x20\x20\x20\x20=\x20function(data,\x20opts/*,\x20buf,\x20off*/)\x20{\x0a\x20\x20\x20\x20if(opts==null)\x20opts={level:6};\x0a\x20\x20\x20\x20let\x20off=0,\x20buf=new\x20Uint8Array(50+Math.floor(data.length*1.1));\x0a\x20\x20\x20\x20buf[off]=120;\x20\x20buf[off+1]=156;\x20\x20off+=2;\x0a\x20\x20\x20\x20off\x20=\x20UZIP.F.deflateRaw(data,\x20buf,\x20off,\x20opts.level);\x0a\x20\x20\x20\x20let\x20crc\x20=\x20UZIP.adler(data,\x200,\x20data.length);\x0a\x20\x20\x20\x20buf[off+0]=((crc>>>24)&255);\x0a\x20\x20\x20\x20buf[off+1]=((crc>>>16)&255);\x0a\x20\x20\x20\x20buf[off+2]=((crc>>>\x208)&255);\x0a\x20\x20\x20\x20buf[off+3]=((crc>>>\x200)&255);\x0a\x20\x20\x20\x20return\x20new\x20Uint8Array(buf.buffer,\x200,\x20off+4);\x0a}\x0aUZIP.deflateRaw\x20=\x20function(data,\x20opts)\x20{\x0a\x20\x20\x20\x20if(opts==null)\x20opts={level:6};\x0a\x20\x20\x20\x20let\x20buf=new\x20Uint8Array(50+Math.floor(data.length*1.1));\x0a\x20\x20\x20\x20let\x20off\x20=\x20UZIP.F.deflateRaw(data,\x20buf,\x20off,\x20opts.level);\x0a\x20\x20\x20\x20return\x20new\x20Uint8Array(buf.buffer,\x200,\x20off);\x0a}\x0a\x0a\x0aUZIP.encode\x20=\x20function(obj,\x20noCmpr)\x20{\x0a\x20\x20\x20\x20if(noCmpr==null)\x20noCmpr=false;\x0a\x20\x20\x20\x20let\x20tot\x20=\x200,\x20wUi\x20=\x20UZIP.bin.writeUint,\x20wUs\x20=\x20UZIP.bin.writeUshort;\x0a\x20\x20\x20\x20let\x20zpd\x20=\x20{};\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20obj)\x20{\x20\x20let\x20cpr\x20=\x20!UZIP._noNeed(p)\x20&&\x20!noCmpr,\x20buf\x20=\x20obj[p],\x20crc\x20=\x20UZIP.crc.crc(buf,0,buf.length);\x0a\x20\x20\x20\x20\x20\x20\x20\x20zpd[p]\x20=\x20{\x20\x20cpr:cpr,\x20usize:buf.length,\x20crc:crc,\x20file:\x20(cpr\x20?\x20UZIP.deflateRaw(buf)\x20:\x20buf)\x20\x20};\x20\x20}\x0a\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20zpd)\x20tot\x20+=\x20zpd[p].file.length\x20+\x2030\x20+\x2046\x20+\x202*UZIP.bin.sizeUTF8(p);\x0a\x20\x20\x20\x20tot\x20+=\x20\x2022;\x0a\x0a\x20\x20\x20\x20let\x20data\x20=\x20new\x20Uint8Array(tot),\x20o\x20=\x200;\x0a\x20\x20\x20\x20let\x20fof\x20=\x20[]\x0a\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20zpd)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20file\x20=\x20zpd[p];\x20\x20fof.push(o);\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20=\x20UZIP._writeHeader(data,\x20o,\x20p,\x20file,\x200);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20i=0,\x20ioff\x20=\x20o;\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20zpd)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20file\x20=\x20zpd[p];\x20\x20fof.push(o);\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20=\x20UZIP._writeHeader(data,\x20o,\x20p,\x20file,\x201,\x20fof[i++]);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20csize\x20=\x20o-ioff;\x0a\x0a\x20\x20\x20\x20wUi(data,\x20o,\x200x06054b50);\x20\x20o+=4;\x0a\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20disks\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20i);\x20\x20o\x20+=\x202;\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20i);\x20\x20o\x20+=\x202;\x09//\x20number\x20of\x20c\x20d\x20records\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20csize);\x20\x20o\x20+=\x204;\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20ioff\x20);\x20\x20o\x20+=\x204;\x0a\x20\x20\x20\x20o\x20+=\x202;\x0a\x20\x20\x20\x20return\x20data.buffer;\x0a}\x0a//\x20no\x20need\x20to\x20compress\x20.PNG,\x20.ZIP,\x20.JPEG\x20....\x0aUZIP._noNeed\x20=\x20function(fn)\x20{\x20\x20let\x20ext\x20=\x20fn.split(\x22.\x22).pop().toLowerCase();\x20\x20return\x20\x22png,jpg,jpeg,zip\x22.indexOf(ext)!=-1;\x20\x20}\x0a\x0aUZIP._writeHeader\x20=\x20function(data,\x20o,\x20p,\x20obj,\x20t,\x20roff)\x0a{\x0a\x20\x20\x20\x20let\x20wUi\x20=\x20UZIP.bin.writeUint,\x20wUs\x20=\x20UZIP.bin.writeUshort;\x0a\x20\x20\x20\x20let\x20file\x20=\x20obj.file;\x0a\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20t==0\x20?\x200x04034b50\x20:\x200x02014b50);\x20\x20o+=4;\x20//\x20sign\x0a\x20\x20\x20\x20if(t==1)\x20o+=2;\x20\x20//\x20ver\x20made\x20by\x0a\x20\x20\x20\x20wUs(data,\x20o,\x2020);\x20\x20o+=2;\x09//\x20ver\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20\x200);\x20\x20o+=2;\x20\x20\x20\x20//\x20gflip\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20\x20obj.cpr?8:0);\x20\x20o+=2;\x09//\x20cmpr\x0a\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20\x200);\x20\x20o+=4;\x09//\x20time\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20obj.crc);\x20\x20o+=4;\x09//\x20crc32\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20file.length);\x20\x20o+=4;\x09//\x20csize\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20obj.usize);\x20\x20o+=4;\x09//\x20usize\x0a\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20UZIP.bin.sizeUTF8(p));\x20\x20o+=2;\x09//\x20nlen\x0a\x20\x20\x20\x20wUs(data,\x20o,\x200);\x20\x20o+=2;\x09//\x20elen\x0a\x0a\x20\x20\x20\x20if(t==1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x202;\x20\x20//\x20comment\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x202;\x20\x20//\x20disk\x20number\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x206;\x20\x20//\x20attributes\x0a\x20\x20\x20\x20\x20\x20\x20\x20wUi(data,\x20o,\x20roff);\x20\x20o+=4;\x09//\x20usize\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20nlen\x20=\x20UZIP.bin.writeUTF8(data,\x20o,\x20p);\x20\x20o+=\x20nlen;\x0a\x20\x20\x20\x20if(t==0)\x20{\x20\x20data.set(file,\x20o);\x20\x20o\x20+=\x20file.length;\x20\x20}\x0a\x20\x20\x20\x20return\x20o;\x0a}\x0aUZIP.crc\x20=\x20{\x0a\x20\x20\x20\x20table\x20:\x20(\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20tab\x20=\x20new\x20Uint32Array(256);\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20n=0;\x20n<256;\x20n++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20c\x20=\x20n;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20k=0;\x20k<8;\x20k++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(c\x20&\x201)\x20\x20c\x20=\x200xedb88320\x20^\x20(c\x20>>>\x201);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20\x20\x20\x20\x20\x20\x20\x20c\x20=\x20c\x20>>>\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tab[n]\x20=\x20c;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20tab;\x20\x20})(),\x0a\x20\x20\x20\x20update\x20:\x20function(c,\x20buf,\x20off,\x20len)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20i=0;\x20i<len;\x20i++)\x20\x20c\x20=\x20UZIP.crc.table[(c\x20^\x20buf[off+i])\x20&\x200xff]\x20^\x20(c\x20>>>\x208);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20c;\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20crc\x20:\x20function(b,o,l)\x20\x20{\x20\x20return\x20UZIP.crc.update(0xffffffff,b,o,l)\x20^\x200xffffffff;\x20\x20}\x0a}\x0aUZIP.adler\x20=\x20function(data,o,len)\x20{\x0a\x20\x20\x20\x20let\x20a\x20=\x201,\x20b\x20=\x200;\x0a\x20\x20\x20\x20let\x20off\x20=\x20o,\x20end=o+len;\x0a\x20\x20\x20\x20while(off<end)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20eend\x20=\x20Math.min(off+5552,\x20end);\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(off<eend)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20a\x20+=\x20data[off++];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20b\x20+=\x20a;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20a=a%65521;\x0a\x20\x20\x20\x20\x20\x20\x20\x20b=b%65521;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20(b\x20<<\x2016)\x20|\x20a;\x0a}\x0a\x0aUZIP.bin\x20=\x20{\x0a\x20\x20\x20\x20readUshort\x20:\x20function(buff,p)\x20\x20{\x20\x20return\x20(buff[p])\x20|\x20(buff[p+1]<<8);\x20\x20},\x0a\x20\x20\x20\x20writeUshort:\x20function(buff,p,n){\x20\x20buff[p]\x20=\x20(n)&255;\x20\x20buff[p+1]\x20=\x20(n>>8)&255;\x20\x20},\x0a\x20\x20\x20\x20readUint\x20\x20\x20:\x20function(buff,p)\x20\x20{\x20\x20return\x20(buff[p+3]*(256*256*256))\x20+\x20((buff[p+2]<<16)\x20|\x20(buff[p+1]<<\x208)\x20|\x20buff[p]);\x20\x20},\x0a\x20\x20\x20\x20writeUint\x20\x20:\x20function(buff,p,n){\x20\x20buff[p]=n&255;\x20\x20buff[p+1]=(n>>8)&255;\x20\x20buff[p+2]=(n>>16)&255;\x20\x20buff[p+3]=(n>>24)&255;\x20\x20},\x0a\x20\x20\x20\x20readASCII\x20\x20:\x20function(buff,p,l){\x20\x20let\x20s\x20=\x20\x22\x22;\x20\x20for(let\x20i=0;\x20i<l;\x20i++)\x20s\x20+=\x20String.fromCharCode(buff[p+i]);\x20\x20return\x20s;\x20\x20\x20\x20},\x0a\x20\x20\x20\x20writeASCII\x20:\x20function(data,p,s){\x20\x20for(let\x20i=0;\x20i<s.length;\x20i++)\x20data[p+i]\x20=\x20s.charCodeAt(i);\x20\x20},\x0a\x20\x20\x20\x20pad\x20:\x20function(n)\x20{\x20return\x20n.length\x20<\x202\x20?\x20\x220\x22\x20+\x20n\x20:\x20n;\x20},\x0a\x20\x20\x20\x20readUTF8\x20:\x20function(buff,\x20p,\x20l)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20s\x20=\x20\x22\x22,\x20ns;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<l;\x20i++)\x20s\x20+=\x20\x22%\x22\x20+\x20UZIP.bin.pad(buff[p+i].toString(16));\x0a\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x20\x20ns\x20=\x20decodeURIComponent(s);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20catch(e)\x20{\x20\x20return\x20UZIP.bin.readASCII(buff,\x20p,\x20l);\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x20ns;\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20writeUTF8\x20:\x20function(buff,\x20p,\x20str)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20strl\x20=\x20str.length,\x20i=0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20ci=0;\x20ci<strl;\x20ci++)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20str.charCodeAt(ci);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20\x20\x20\x20\x20((code&(0xffffffff-(1<<\x207)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(\x20\x20\x20\x20\x20code\x20\x20\x20\x20\x20);\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<11)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(192|(code>>\x206));\x20\x20buff[p+i+1]\x20=\x20(128|((code>>\x200)&63));\x20\x20i+=2;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<16)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(224|(code>>12));\x20\x20buff[p+i+1]\x20=\x20(128|((code>>\x206)&63));\x20\x20buff[p+i+2]\x20=\x20(128|((code>>0)&63));\x20\x20i+=3;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<21)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(240|(code>>18));\x20\x20buff[p+i+1]\x20=\x20(128|((code>>12)&63));\x20\x20buff[p+i+2]\x20=\x20(128|((code>>6)&63));\x20\x20buff[p+i+3]\x20=\x20(128|((code>>0)&63));\x20i+=4;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20i;\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20sizeUTF8\x20:\x20function(str)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20strl\x20=\x20str.length,\x20i=0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20ci=0;\x20ci<strl;\x20ci++)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20str.charCodeAt(ci);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20\x20\x20\x20\x20((code&(0xffffffff-(1<<\x207)+1))==0)\x20{\x20\x20i++\x20;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<11)+1))==0)\x20{\x20\x20i+=2;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<16)+1))==0)\x20{\x20\x20i+=3;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<21)+1))==0)\x20{\x20\x20i+=4;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20i;\x0a\x20\x20\x20\x20}\x0a}\x0aUZIP.F\x20=\x20{};\x0a\x0aUZIP.F.deflateRaw\x20=\x20function(data,\x20out,\x20opos,\x20lvl)\x20{\x0a\x20\x20\x20\x20let\x20opts\x20=\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ush\x20good_length;\x20/*\x20reduce\x20lazy\x20search\x20above\x20this\x20match\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ush\x20max_lazy;\x20\x20\x20\x20/*\x20do\x20not\x20perform\x20lazy\x20search\x20above\x20this\x20match\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ush\x20nice_length;\x20/*\x20quit\x20search\x20above\x20this\x20match\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x20\x20\x20\x20\x20\x20good\x20lazy\x20nice\x20chain\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x200\x20*/\x20[\x200,\x20\x20\x200,\x20\x20\x200,\x20\x20\x20\x200,0],\x20\x20/*\x20store\x20only\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x201\x20*/\x20[\x204,\x20\x20\x204,\x20\x20\x208,\x20\x20\x20\x204,0],\x20/*\x20max\x20speed,\x20no\x20lazy\x20matches\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x202\x20*/\x20[\x204,\x20\x20\x205,\x20\x2016,\x20\x20\x20\x208,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x203\x20*/\x20[\x204,\x20\x20\x206,\x20\x2016,\x20\x20\x2016,0],\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x204\x20*/\x20[\x204,\x20\x2010,\x20\x2016,\x20\x20\x2032,0],\x20\x20/*\x20lazy\x20matches\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x205\x20*/\x20[\x208,\x20\x2016,\x20\x2032,\x20\x20\x2032,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x206\x20*/\x20[\x208,\x20\x2016,\x20128,\x20\x20128,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x207\x20*/\x20[\x208,\x20\x2032,\x20128,\x20\x20256,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x208\x20*/\x20[32,\x20128,\x20258,\x201024,1],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x209\x20*/\x20[32,\x20258,\x20258,\x204096,1]];\x20/*\x20max\x20compression\x20*/\x0a\x0a\x20\x20\x20\x20let\x20opt\x20=\x20opts[lvl];\x0a\x0a\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U,\x20goodIndex\x20=\x20UZIP.F._goodIndex,\x20hash\x20=\x20UZIP.F._hash,\x20putsE\x20=\x20UZIP.F._putsE;\x0a\x20\x20\x20\x20let\x20i\x20=\x200,\x20pos\x20=\x20opos<<3,\x20cvrd\x20=\x200,\x20dlen\x20=\x20data.length;\x0a\x0a\x20\x20\x20\x20if(lvl==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(i<dlen)\x20{\x20\x20\x20let\x20len\x20=\x20Math.min(0xffff,\x20dlen-i);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,\x20(i+len==dlen\x20?\x201\x20:\x200));\x20\x20pos\x20=\x20UZIP.F._copyExact(data,\x20i,\x20len,\x20out,\x20pos+8);\x20\x20i\x20+=\x20len;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20pos>>>3;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20let\x20lits\x20=\x20U.lits,\x20strt=U.strt,\x20prev=U.prev,\x20li=0,\x20lc=0,\x20bs=0,\x20ebits=0,\x20c=0,\x20nc=0;\x20\x20//\x20last_item,\x20literal_count,\x20block_start\x0a\x20\x20\x20\x20if(dlen>2)\x20{\x20\x20nc=UZIP.F._hash(data,0);\x20\x20strt[nc]=0;\x20\x20}\x0a\x20\x20\x20\x20let\x20nmch=0,nmci=0;\x0a\x0a\x20\x20\x20\x20for(i=0;\x20i<dlen;\x20i++)\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20c\x20=\x20nc;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//*\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(i+1<dlen-2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20nc\x20=\x20UZIP.F._hash(data,\x20i+1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ii\x20=\x20((i+1)&0x7fff);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20prev[ii]=strt[nc];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20strt[nc]=ii;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20//*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(cvrd<=i)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((li>14000\x20||\x20lc>26697)\x20&&\x20(dlen-i)>100)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(cvrd<i)\x20{\x20\x20lits[li]=i-cvrd;\x20\x20li+=2;\x20\x20cvrd=i;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeBlock(((i==dlen-1)\x20||\x20(cvrd==dlen))?1:0,\x20lits,\x20li,\x20ebits,\x20data,bs,i-bs,\x20out,\x20pos);\x20\x20li=lc=ebits=0;\x20\x20bs=i;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20mch\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(nmci==i)\x20mch=\x20nmch;\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(i<dlen-2)\x20mch\x20=\x20UZIP.F._bestMatch(data,\x20i,\x20prev,\x20c,\x20Math.min(opt[2],dlen-i),\x20opt[3]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(mch!=0\x20&&\x20opt[4]==1\x20&&\x20(mch>>>16)<opt[1]\x20&&\x20i+1<dlen-2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20nmch\x20=\x20UZIP.F._bestMatch(data,\x20i+1,\x20prev,\x20nc,\x20opt[2],\x20opt[3]);\x20\x20nmci=i+1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20mch2\x20=\x20UZIP.F._bestMatch(data,\x20i+2,\x20prev,\x20nnc);\x20\x20//nmci=i+1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((nmch>>>16)>(mch>>>16))\x20mch=0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}//*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20len\x20=\x20mch>>>16,\x20dst\x20=\x20mch&0xffff;\x20\x20//if(i-dst<0)\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(mch!=0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20len\x20=\x20mch>>>16,\x20dst\x20=\x20mch&0xffff;\x20\x20//if(i-dst<0)\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lgi\x20=\x20goodIndex(len,\x20U.of0);\x20\x20U.lhst[257+lgi]++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dgi\x20=\x20goodIndex(dst,\x20U.df0);\x20\x20U.dhst[\x20\x20\x20\x20dgi]++;\x20\x20ebits\x20+=\x20U.exb[lgi]\x20+\x20U.dxb[dgi];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20lits[li]\x20=\x20(len<<23)|(i-cvrd);\x20\x20lits[li+1]\x20=\x20(dst<<16)|(lgi<<8)|dgi;\x20\x20li+=2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cvrd\x20=\x20i\x20+\x20len;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20{\x09U.lhst[data[i]]++;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20lc++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if(bs!=i\x20||\x20data.length==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(cvrd<i)\x20{\x20\x20lits[li]=i-cvrd;\x20\x20li+=2;\x20\x20cvrd=i;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeBlock(1,\x20lits,\x20li,\x20ebits,\x20data,bs,i-bs,\x20out,\x20pos);\x20\x20li=0;\x20\x20lc=0;\x20\x20li=lc=ebits=0;\x20\x20bs=i;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20while((pos&7)!=0)\x20pos++;\x0a\x20\x20\x20\x20return\x20pos>>>3;\x0a}\x0aUZIP.F._bestMatch\x20=\x20function(data,\x20i,\x20prev,\x20c,\x20nice,\x20chain)\x20{\x0a\x20\x20\x20\x20let\x20ci\x20=\x20(i&0x7fff),\x20pi=prev[ci];\x0a\x20\x20\x20\x20//console.log(\x22----\x22,\x20i);\x0a\x20\x20\x20\x20let\x20dif\x20=\x20((ci-pi\x20+\x20(1<<15))\x20&\x200x7fff);\x20\x20if(pi==ci\x20||\x20c!=UZIP.F._hash(data,i-dif))\x20return\x200;\x0a\x20\x20\x20\x20let\x20tl=0,\x20td=0;\x20\x20//\x20top\x20length,\x20top\x20distance\x0a\x20\x20\x20\x20let\x20dlim\x20=\x20Math.min(0x7fff,\x20i);\x0a\x20\x20\x20\x20while(dif<=dlim\x20&&\x20--chain!=0\x20&&\x20pi!=ci\x20/*&&\x20c==UZIP.F._hash(data,i-dif)*/)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(tl==0\x20||\x20(data[i+tl]==data[i+tl-dif]))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20cl\x20=\x20UZIP.F._howLong(data,\x20i,\x20dif);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(cl>tl)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tl=cl;\x20\x20td=dif;\x20\x20if(tl>=nice)\x20break;\x20\x20\x20\x20//*\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(dif+2<cl)\x20cl\x20=\x20dif+2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20maxd\x20=\x200;\x20//\x20pi\x20does\x20not\x20point\x20to\x20the\x20start\x20of\x20the\x20word\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20j=0;\x20j<cl-2;\x20j++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ei\x20=\x20\x20(i-dif+j+\x20(1<<15))\x20&\x200x7fff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20li\x20=\x20prev[ei];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20curd\x20=\x20(ei-li\x20+\x20(1<<15))\x20&\x200x7fff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(curd>maxd)\x20{\x20\x20maxd=curd;\x20\x20pi\x20=\x20ei;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x20//*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20ci=pi;\x20\x20pi\x20=\x20prev[ci];\x0a\x20\x20\x20\x20\x20\x20\x20\x20dif\x20+=\x20((ci-pi\x20+\x20(1<<15))\x20&\x200x7fff);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20(tl<<16)|td;\x0a}\x0aUZIP.F._howLong\x20=\x20function(data,\x20i,\x20dif)\x20{\x0a\x20\x20\x20\x20if(data[i]!=data[i-dif]\x20||\x20data[i+1]!=data[i+1-dif]\x20||\x20data[i+2]!=data[i+2-dif])\x20return\x200;\x0a\x20\x20\x20\x20let\x20oi=i,\x20l\x20=\x20Math.min(data.length,\x20i+258);\x20\x20i+=3;\x0a\x20\x20\x20\x20//while(i+4<l\x20&&\x20data[i]==data[i-dif]\x20&&\x20data[i+1]==data[i+1-dif]\x20&&\x20data[i+2]==data[i+2-dif]\x20&&\x20data[i+3]==data[i+3-dif])\x20i+=4;\x0a\x20\x20\x20\x20while(i<l\x20&&\x20data[i]==data[i-dif])\x20i++;\x0a\x20\x20\x20\x20return\x20i-oi;\x0a}\x0aUZIP.F._hash\x20=\x20function(data,\x20i)\x20{\x0a\x20\x20\x20\x20return\x20(((data[i]<<8)\x20|\x20data[i+1])+(data[i+2]<<4))&0xffff;\x0a\x20\x20\x20\x20//let\x20hash_shift\x20=\x200,\x20hash_mask\x20=\x20255;\x0a\x20\x20\x20\x20//let\x20h\x20=\x20data[i+1]\x20%\x20251;\x0a\x20\x20\x20\x20//h\x20=\x20(((h\x20<<\x208)\x20+\x20data[i+2])\x20%\x20251);\x0a\x20\x20\x20\x20//h\x20=\x20(((h\x20<<\x208)\x20+\x20data[i+2])\x20%\x20251);\x0a\x20\x20\x20\x20//h\x20=\x20((h<<hash_shift)\x20^\x20(c)\x20)\x20&\x20hash_mask;\x0a\x20\x20\x20\x20//return\x20h\x20|\x20(data[i]<<8);\x0a\x20\x20\x20\x20//return\x20(data[i]\x20|\x20(data[i+1]<<8));\x0a}\x0a//UZIP.___toth\x20=\x200;\x0aUZIP.saved\x20=\x200;\x0aUZIP.F._writeBlock\x20=\x20function(BFINAL,\x20lits,\x20li,\x20ebits,\x20data,o0,l0,\x20out,\x20pos)\x20{\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U,\x20putsF\x20=\x20UZIP.F._putsF,\x20putsE\x20=\x20UZIP.F._putsE;\x0a\x0a\x20\x20\x20\x20//*\x0a\x20\x20\x20\x20let\x20T,\x20ML,\x20MD,\x20MH,\x20numl,\x20numd,\x20numh,\x20lset,\x20dset;\x20\x20U.lhst[256]++;\x0a\x20\x20\x20\x20T\x20=\x20UZIP.F.getTrees();\x20ML=T[0];\x20MD=T[1];\x20MH=T[2];\x20numl=T[3];\x20numd=T[4];\x20numh=T[5];\x20lset=T[6];\x20dset=T[7];\x0a\x0a\x20\x20\x20\x20let\x20cstSize\x20=\x20(((pos+3)&7)==0\x20?\x200\x20:\x208-((pos+3)&7))\x20+\x2032\x20+\x20(l0<<3);\x0a\x20\x20\x20\x20let\x20fxdSize\x20=\x20ebits\x20+\x20UZIP.F.contSize(U.fltree,\x20U.lhst)\x20+\x20UZIP.F.contSize(U.fdtree,\x20U.dhst);\x0a\x20\x20\x20\x20let\x20dynSize\x20=\x20ebits\x20+\x20UZIP.F.contSize(U.ltree\x20,\x20U.lhst)\x20+\x20UZIP.F.contSize(U.dtree\x20,\x20U.dhst);\x0a\x20\x20\x20\x20dynSize\x20\x20\x20\x20+=\x2014\x20+\x203*numh\x20+\x20UZIP.F.contSize(U.itree,\x20U.ihst)\x20+\x20(U.ihst[16]*2\x20+\x20U.ihst[17]*3\x20+\x20U.ihst[18]*7);\x0a\x0a\x20\x20\x20\x20for(let\x20j=0;\x20j<286;\x20j++)\x20U.lhst[j]=0;\x20\x20\x20for(let\x20j=0;\x20j<30;\x20j++)\x20U.dhst[j]=0;\x20\x20\x20for(let\x20j=0;\x20j<19;\x20j++)\x20U.ihst[j]=0;\x0a\x20\x20\x20\x20//*/\x0a\x20\x20\x20\x20let\x20BTYPE\x20=\x20(cstSize<fxdSize\x20&&\x20cstSize<dynSize)\x20?\x200\x20:\x20(\x20fxdSize<dynSize\x20?\x201\x20:\x202\x20);\x0a\x20\x20\x20\x20putsF(out,\x20pos,\x20BFINAL);\x20\x20putsF(out,\x20pos+1,\x20BTYPE);\x20\x20pos+=3;\x0a\x0a\x20\x20\x20\x20let\x20opos\x20=\x20pos;\x0a\x20\x20\x20\x20if(BTYPE==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20while((pos&7)!=0)\x20pos++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._copyExact(data,\x20o0,\x20l0,\x20out,\x20pos);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20ltree,\x20dtree;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==1)\x20{\x20\x20ltree=U.fltree;\x20\x20dtree=U.fdtree;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UZIP.F.makeCodes(U.ltree,\x20ML);\x20\x20UZIP.F.revCodes(U.ltree,\x20ML);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UZIP.F.makeCodes(U.dtree,\x20MD);\x20\x20UZIP.F.revCodes(U.dtree,\x20MD);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UZIP.F.makeCodes(U.itree,\x20MH);\x20\x20UZIP.F.revCodes(U.itree,\x20MH);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ltree\x20=\x20U.ltree;\x20\x20dtree\x20=\x20U.dtree;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,numl-257);\x20\x20pos+=5;\x20\x20//\x20286\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,numd-\x20\x201);\x20\x20pos+=5;\x20\x20//\x2030\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,numh-\x20\x204);\x20\x20pos+=4;\x20\x20//\x2019\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<numh;\x20i++)\x20putsE(out,\x20pos+i*3,\x20U.itree[(U.ordr[i]<<1)+1]);\x20\x20\x20pos+=3*\x20numh;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._codeTiny(lset,\x20U.itree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._codeTiny(dset,\x20U.itree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20off=o0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20si=0;\x20si<li;\x20si+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20qb=lits[si],\x20len=(qb>>>23),\x20end\x20=\x20off+(qb&((1<<23)-1));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(off<end)\x20pos\x20=\x20UZIP.F._writeLit(data[off++],\x20ltree,\x20out,\x20pos);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(len!=0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20qc\x20=\x20lits[si+1],\x20dst=(qc>>16),\x20lgi=(qc>>8)&255,\x20dgi=(qc&255);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(257+lgi,\x20ltree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,\x20len-U.of0[lgi]);\x20\x20pos+=U.exb[lgi];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(dgi,\x20dtree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsF(out,\x20pos,\x20dst-U.df0[dgi]);\x20\x20pos+=U.dxb[dgi];\x20\x20off+=len;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(256,\x20ltree,\x20out,\x20pos);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//console.log(pos-opos,\x20fxdSize,\x20dynSize,\x20cstSize);\x0a\x20\x20\x20\x20return\x20pos;\x0a}\x0aUZIP.F._copyExact\x20=\x20function(data,off,len,out,pos)\x20{\x0a\x20\x20\x20\x20let\x20p8\x20=\x20(pos>>>3);\x0a\x20\x20\x20\x20out[p8]=(len);\x20\x20out[p8+1]=(len>>>8);\x20\x20out[p8+2]=255-out[p8];\x20\x20out[p8+3]=255-out[p8+1];\x20\x20p8+=4;\x0a\x20\x20\x20\x20out.set(new\x20Uint8Array(data.buffer,\x20off,\x20len),\x20p8);\x0a\x20\x20\x20\x20//for(let\x20i=0;\x20i<len;\x20i++)\x20out[p8+i]=data[off+i];\x0a\x20\x20\x20\x20return\x20pos\x20+\x20((len+4)<<3);\x0a}\x0a/*\x0a\x09Interesting\x20facts:\x0a\x09-\x20decompressed\x20block\x20can\x20have\x20bytes,\x20which\x20do\x20not\x20occur\x20in\x20a\x20Huffman\x20tree\x20(copied\x20from\x20the\x20previous\x20block\x20by\x20reference)\x0a*/\x0a\x0aUZIP.F.getTrees\x20=\x20function()\x20{\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U;\x0a\x20\x20\x20\x20let\x20ML\x20=\x20UZIP.F._hufTree(U.lhst,\x20U.ltree,\x2015);\x0a\x20\x20\x20\x20let\x20MD\x20=\x20UZIP.F._hufTree(U.dhst,\x20U.dtree,\x2015);\x0a\x20\x20\x20\x20let\x20lset\x20=\x20[],\x20numl\x20=\x20UZIP.F._lenCodes(U.ltree,\x20lset);\x0a\x20\x20\x20\x20let\x20dset\x20=\x20[],\x20numd\x20=\x20UZIP.F._lenCodes(U.dtree,\x20dset);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<lset.length;\x20i+=2)\x20U.ihst[lset[i]]++;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<dset.length;\x20i+=2)\x20U.ihst[dset[i]]++;\x0a\x20\x20\x20\x20let\x20MH\x20=\x20UZIP.F._hufTree(U.ihst,\x20U.itree,\x20\x207);\x0a\x20\x20\x20\x20let\x20numh\x20=\x2019;\x20\x20while(numh>4\x20&&\x20U.itree[(U.ordr[numh-1]<<1)+1]==0)\x20numh--;\x0a\x20\x20\x20\x20return\x20[ML,\x20MD,\x20MH,\x20numl,\x20numd,\x20numh,\x20lset,\x20dset];\x0a}\x0aUZIP.F.getSecond=\x20function(a)\x20{\x20\x20let\x20b=[];\x20\x20for(let\x20i=0;\x20i<a.length;\x20i+=2)\x20b.push\x20\x20(a[i+1]);\x20\x20return\x20b;\x20\x20}\x0aUZIP.F.nonZero\x20\x20=\x20function(a)\x20{\x20\x20let\x20b=\x20\x22\x22;\x20\x20for(let\x20i=0;\x20i<a.length;\x20i+=2)\x20if(a[i+1]!=0)b+=(i>>1)+\x22,\x22;\x20\x20return\x20b;\x20\x20}\x0aUZIP.F.contSize\x20=\x20function(tree,\x20hst)\x20{\x20\x20let\x20s=0;\x20\x20for(let\x20i=0;\x20i<hst.length;\x20i++)\x20s+=\x20hst[i]*tree[(i<<1)+1];\x20\x20return\x20s;\x20\x20}\x0aUZIP.F._codeTiny\x20=\x20function(set,\x20tree,\x20out,\x20pos)\x20{\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<set.length;\x20i+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20l\x20=\x20set[i],\x20rst\x20=\x20set[i+1];\x20\x20//console.log(l,\x20pos,\x20tree[(l<<1)+1]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(l,\x20tree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20rsl\x20=\x20l==16\x20?\x202\x20:\x20(l==17\x20?\x203\x20:\x207);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(l>15)\x20{\x20\x20UZIP.F._putsE(out,\x20pos,\x20rst,\x20rsl);\x20\x20pos+=rsl;\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20pos;\x0a}\x0aUZIP.F._lenCodes\x20=\x20function(tree,\x20set)\x20{\x0a\x20\x20\x20\x20let\x20len=tree.length;\x20\x20while(len!=2\x20&&\x20tree[len-1]==0)\x20len-=2;\x20\x20//\x20when\x20no\x20distances,\x20keep\x20one\x20code\x20with\x20length\x200\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<len;\x20i+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20l\x20=\x20tree[i+1],\x20nxt\x20=\x20(i+3<len\x20?\x20tree[i+3]:-1),\x20\x20nnxt\x20=\x20(i+5<len\x20?\x20tree[i+5]:-1),\x20\x20prv\x20=\x20(i==0\x20?\x20-1\x20:\x20tree[i-1]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(l==0\x20&&\x20nxt==l\x20&&\x20nnxt==l)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lz\x20=\x20i+5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(lz+2<len\x20&&\x20tree[lz+2]==l)\x20lz+=2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20zc\x20=\x20Math.min((lz+1-i)>>>1,\x20138);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(zc<11)\x20set.push(17,\x20zc-3);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20set.push(18,\x20zc-11);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20i\x20+=\x20zc*2-2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(l==prv\x20&&\x20nxt==l\x20&&\x20nnxt==l)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lz\x20=\x20i+5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(lz+2<len\x20&&\x20tree[lz+2]==l)\x20lz+=2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20zc\x20=\x20Math.min((lz+1-i)>>>1,\x206);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20set.push(16,\x20zc-3);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20i\x20+=\x20zc*2-2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x20set.push(l,\x200);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20len>>>1;\x0a}\x0aUZIP.F._hufTree\x20\x20\x20=\x20function(hst,\x20tree,\x20MAXL)\x20{\x0a\x20\x20\x20\x20let\x20list=[],\x20hl\x20=\x20hst.length,\x20tl=tree.length,\x20i=0;\x0a\x20\x20\x20\x20for(i=0;\x20i<tl;\x20i+=2)\x20{\x20\x20tree[i]=0;\x20\x20tree[i+1]=0;\x20\x20}\x0a\x20\x20\x20\x20for(i=0;\x20i<hl;\x20i++)\x20if(hst[i]!=0)\x20list.push({lit:i,\x20f:hst[i]});\x0a\x20\x20\x20\x20let\x20end\x20=\x20list.length,\x20l2=list.slice(0);\x0a\x20\x20\x20\x20if(end==0)\x20return\x200;\x20\x20//\x20empty\x20histogram\x20(usually\x20for\x20dist)\x0a\x20\x20\x20\x20if(end==1)\x20{\x20\x20let\x20lit=list[0].lit,\x20l2=lit==0?1:0;\x20\x20tree[(lit<<1)+1]=1;\x20\x20tree[(l2<<1)+1]=1;\x20\x20return\x201;\x20\x20}\x0a\x20\x20\x20\x20list.sort(function(a,b){return\x20a.f-b.f;});\x0a\x20\x20\x20\x20let\x20a=list[0],\x20b=list[1],\x20i0=0,\x20i1=1,\x20i2=2;\x20\x20list[0]={lit:-1,f:a.f+b.f,l:a,r:b,d:0};\x0a\x20\x20\x20\x20while(i1!=end-1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(i0!=i1\x20&&\x20(i2==end\x20||\x20list[i0].f<list[i2].f))\x20{\x20\x20a=list[i0++];\x20\x20}\x20\x20else\x20{\x20\x20a=list[i2++];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(i0!=i1\x20&&\x20(i2==end\x20||\x20list[i0].f<list[i2].f))\x20{\x20\x20b=list[i0++];\x20\x20}\x20\x20else\x20{\x20\x20b=list[i2++];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20list[i1++]={lit:-1,f:a.f+b.f,\x20l:a,r:b};\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20maxl\x20=\x20UZIP.F.setDepth(list[i1-1],\x200);\x0a\x20\x20\x20\x20if(maxl>MAXL)\x20{\x20\x20UZIP.F.restrictDepth(l2,\x20MAXL,\x20maxl);\x20\x20maxl\x20=\x20MAXL;\x20\x20}\x0a\x20\x20\x20\x20for(i=0;\x20i<end;\x20i++)\x20tree[(l2[i].lit<<1)+1]=l2[i].d;\x0a\x20\x20\x20\x20return\x20maxl;\x0a}\x0a\x0aUZIP.F.setDepth\x20\x20=\x20function(t,\x20d)\x20{\x0a\x20\x20\x20\x20if(t.lit!=-1)\x20{\x20\x20t.d=d;\x20\x20return\x20d;\x20\x20}\x0a\x20\x20\x20\x20return\x20Math.max(\x20UZIP.F.setDepth(t.l,\x20d+1),\x20\x20UZIP.F.setDepth(t.r,\x20d+1)\x20);\x0a}\x0a\x0aUZIP.F.restrictDepth\x20=\x20function(dps,\x20MD,\x20maxl)\x20{\x0a\x20\x20\x20\x20let\x20i=0,\x20bCost=1<<(maxl-MD),\x20dbt=0;\x0a\x20\x20\x20\x20dps.sort(function(a,b){return\x20b.d==a.d\x20?\x20a.f-b.f\x20:\x20b.d-a.d;});\x0a\x0a\x20\x20\x20\x20for(i=0;\x20i<dps.length;\x20i++)\x20if(dps[i].d>MD)\x20{\x20\x20let\x20od=dps[i].d;\x20\x20dps[i].d=MD;\x20\x20dbt+=bCost-(1<<(maxl-od));\x20\x20}\x20\x20else\x20break;\x0a\x20\x20\x20\x20dbt\x20=\x20dbt>>>(maxl-MD);\x0a\x20\x20\x20\x20while(dbt>0)\x20{\x20\x20let\x20od=dps[i].d;\x20\x20if(od<MD)\x20{\x20\x20dps[i].d++;\x20\x20dbt-=(1<<(MD-od-1));\x20\x20}\x20\x20else\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20for(;\x20i>=0;\x20i--)\x20if(dps[i].d==MD\x20&&\x20dbt<0)\x20{\x20\x20dps[i].d--;\x20\x20dbt++;\x20\x20}\x20\x20if(dbt!=0)\x20console.log(\x22debt\x20left\x22);\x0a}\x0a\x0aUZIP.F._goodIndex\x20=\x20function(v,\x20arr)\x20{\x0a\x20\x20\x20\x20let\x20i=0;\x20\x20if(arr[i|16]<=v)\x20i|=16;\x20\x20if(arr[i|8]<=v)\x20i|=8;\x20\x20if(arr[i|4]<=v)\x20i|=4;\x20\x20if(arr[i|2]<=v)\x20i|=2;\x20\x20if(arr[i|1]<=v)\x20i|=1;\x20\x20return\x20i;\x0a}\x0aUZIP.F._writeLit\x20=\x20function(ch,\x20ltree,\x20out,\x20pos)\x20{\x0a\x20\x20\x20\x20UZIP.F._putsF(out,\x20pos,\x20ltree[ch<<1]);\x0a\x20\x20\x20\x20return\x20pos+ltree[(ch<<1)+1];\x0a}\x0aUZIP.F.inflate\x20=\x20function(data,\x20buf)\x20{\x0a\x20\x20\x20\x20let\x20u8=Uint8Array;\x0a\x20\x20\x20\x20if(data[0]==3\x20&&\x20data[1]==0)\x20return\x20(buf\x20?\x20buf\x20:\x20new\x20u8(0));\x0a\x20\x20\x20\x20let\x20F=UZIP.F,\x20bitsF\x20=\x20F._bitsF,\x20bitsE\x20=\x20F._bitsE,\x20decodeTiny\x20=\x20F._decodeTiny,\x20makeCodes\x20=\x20F.makeCodes,\x20codes2map=F.codes2map,\x20get17\x20=\x20F._get17;\x0a\x20\x20\x20\x20let\x20U\x20=\x20F.U;\x0a\x0a\x20\x20\x20\x20let\x20noBuf\x20=\x20(buf==null);\x0a\x20\x20\x20\x20if(noBuf)\x20buf\x20=\x20new\x20u8((data.length>>>2)<<3);\x0a\x0a\x20\x20\x20\x20let\x20BFINAL=0,\x20BTYPE=0,\x20HLIT=0,\x20HDIST=0,\x20HCLEN=0,\x20ML=0,\x20MD=0;\x0a\x20\x20\x20\x20let\x20off\x20=\x200,\x20pos\x20=\x200;\x0a\x20\x20\x20\x20let\x20lmap,\x20dmap;\x0a\x0a\x20\x20\x20\x20while(BFINAL==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20BFINAL\x20=\x20bitsF(data,\x20pos\x20\x20,\x201);\x0a\x20\x20\x20\x20\x20\x20\x20\x20BTYPE\x20\x20=\x20bitsF(data,\x20pos+1,\x202);\x20\x20pos+=3;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//console.log(BFINAL,\x20BTYPE);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((pos&7)!=0)\x20pos+=8-(pos&7);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20p8\x20=\x20(pos>>>3)+4,\x20len\x20=\x20data[p8-4]|(data[p8-3]<<8);\x20\x20//console.log(len);//bitsF(data,\x20pos,\x2016),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(noBuf)\x20buf=UZIP.F._check(buf,\x20off+len);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20buf.set(new\x20u8(data.buffer,\x20data.byteOffset+p8,\x20len),\x20off);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//for(let\x20i=0;\x20i<len;\x20i++)\x20buf[off+i]\x20=\x20data[p8+i];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//for(let\x20i=0;\x20i<len;\x20i++)\x20if(buf[off+i]\x20!=\x20data[p8+i])\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20((p8+len)<<3);\x20\x20off+=len;\x20\x20continue;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(noBuf)\x20buf=UZIP.F._check(buf,\x20off+(1<<17));\x20\x20//\x20really\x20not\x20enough\x20in\x20many\x20cases\x20(but\x20PNG\x20and\x20ZIP\x20provide\x20buffer\x20in\x20advance)\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==1)\x20{\x20\x20lmap\x20=\x20U.flmap;\x20\x20dmap\x20=\x20U.fdmap;\x20\x20ML\x20=\x20(1<<9)-1;\x20\x20MD\x20=\x20(1<<5)-1;\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20HLIT\x20\x20=\x20bitsE(data,\x20pos\x20\x20\x20,\x205)+257;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20HDIST\x20=\x20bitsE(data,\x20pos+\x205,\x205)+\x20\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20HCLEN\x20=\x20bitsE(data,\x20pos+10,\x204)+\x20\x204;\x20\x20pos+=14;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ppos\x20=\x20pos;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<38;\x20i+=2)\x20{\x20\x20U.itree[i]=0;\x20\x20U.itree[i+1]=0;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20tl\x20=\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<HCLEN;\x20i++)\x20{\x20\x20let\x20l=bitsE(data,\x20pos+i*3,\x203);\x20\x20U.itree[(U.ordr[i]<<1)+1]\x20=\x20l;\x20\x20if(l>tl)tl=l;\x20\x20}\x20\x20\x20\x20\x20pos+=3*HCLEN;\x20\x20//console.log(itree);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20makeCodes(U.itree,\x20tl);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codes2map(U.itree,\x20tl,\x20U.imap);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20lmap\x20=\x20U.lmap;\x20\x20dmap\x20=\x20U.dmap;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20decodeTiny(U.imap,\x20(1<<tl)-1,\x20HLIT+HDIST,\x20data,\x20pos,\x20U.ttree);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20mx0\x20=\x20F._copyOut(U.ttree,\x20\x20\x20\x200,\x20HLIT\x20,\x20U.ltree);\x20\x20ML\x20=\x20(1<<mx0)-1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20mx1\x20=\x20F._copyOut(U.ttree,\x20HLIT,\x20HDIST,\x20U.dtree);\x20\x20MD\x20=\x20(1<<mx1)-1;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20ml\x20=\x20decodeTiny(U.imap,\x20(1<<tl)-1,\x20HLIT\x20,\x20data,\x20pos,\x20U.ltree);\x20ML\x20=\x20(1<<(ml>>>24))-1;\x20\x20pos+=(ml&0xffffff);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20makeCodes(U.ltree,\x20mx0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codes2map(U.ltree,\x20mx0,\x20lmap);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20md\x20=\x20decodeTiny(U.imap,\x20(1<<tl)-1,\x20HDIST,\x20data,\x20pos,\x20U.dtree);\x20MD\x20=\x20(1<<(md>>>24))-1;\x20\x20pos+=(md&0xffffff);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20makeCodes(U.dtree,\x20mx1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codes2map(U.dtree,\x20mx1,\x20dmap);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20//let\x20ooff=off,\x20opos=pos;\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(true)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20lmap[get17(data,\x20pos)\x20&\x20ML];\x20\x20pos\x20+=\x20code&15;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lit\x20=\x20code>>>4;\x20\x20//U.lhst[lit]++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((lit>>>8)==0)\x20{\x20\x20buf[off++]\x20=\x20lit;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(lit==256)\x20{\x20\x20break;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20end\x20=\x20off+lit-254;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(lit>264)\x20{\x20let\x20ebs\x20=\x20U.ldef[lit-257];\x20\x20end\x20=\x20off\x20+\x20(ebs>>>3)\x20+\x20bitsE(data,\x20pos,\x20ebs&7);\x20\x20pos\x20+=\x20ebs&7;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//UZIP.F.dst[end-off]++;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dcode\x20=\x20dmap[get17(data,\x20pos)\x20&\x20MD];\x20\x20pos\x20+=\x20dcode&15;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dlit\x20=\x20dcode>>>4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dbs\x20=\x20U.ddef[dlit],\x20dst\x20=\x20(dbs>>>4)\x20+\x20bitsF(data,\x20pos,\x20dbs&15);\x20\x20pos\x20+=\x20dbs&15;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20o0\x20=\x20off-dst,\x20stp\x20=\x20Math.min(end-off,\x20dst);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(stp>20)\x20while(off<end)\x20{\x20\x20buf.copyWithin(off,\x20o0,\x20o0+stp);\x20\x20off+=stp;\x20\x20}\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(end-dst<=off)\x20buf.copyWithin(off,\x20off-dst,\x20end-dst);\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(dst==1)\x20buf.fill(buf[off-1],\x20off,\x20end);\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(noBuf)\x20buf=UZIP.F._check(buf,\x20off+(1<<17));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(off<end)\x20{\x20\x20buf[off]=buf[off++-dst];\x20\x20\x20\x20buf[off]=buf[off++-dst];\x20\x20buf[off]=buf[off++-dst];\x20\x20buf[off]=buf[off++-dst];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20off=end;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//while(off!=end)\x20{\x20\x20buf[off]=buf[off++-dst];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20//console.log(off-ooff,\x20(pos-opos)>>>3);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//console.log(UZIP.F.dst);\x0a\x20\x20\x20\x20//console.log(tlen,\x20dlen,\x20off-tlen+tcnt);\x0a\x20\x20\x20\x20return\x20buf.length==off\x20?\x20buf\x20:\x20buf.slice(0,off);\x0a}\x0aUZIP.F._check=function(buf,\x20len)\x20{\x0a\x20\x20\x20\x20let\x20bl=buf.length;\x20\x20if(len<=bl)\x20return\x20buf;\x0a\x20\x20\x20\x20let\x20nbuf\x20=\x20new\x20Uint8Array(Math.max(bl<<1,len));\x20\x20nbuf.set(buf,0);\x0a\x20\x20\x20\x20//for(let\x20i=0;\x20i<bl;\x20i+=4)\x20{\x20\x20nbuf[i]=buf[i];\x20\x20nbuf[i+1]=buf[i+1];\x20\x20nbuf[i+2]=buf[i+2];\x20\x20nbuf[i+3]=buf[i+3];\x20\x20}\x0a\x20\x20\x20\x20return\x20nbuf;\x0a}\x0a\x0aUZIP.F._decodeTiny\x20=\x20function(lmap,\x20LL,\x20len,\x20data,\x20pos,\x20tree)\x20{\x0a\x20\x20\x20\x20let\x20bitsE\x20=\x20UZIP.F._bitsE,\x20get17\x20=\x20UZIP.F._get17;\x0a\x20\x20\x20\x20let\x20i\x20=\x200;\x0a\x20\x20\x20\x20while(i<len)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20lmap[get17(data,\x20pos)&LL];\x20\x20pos+=code&15;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20lit\x20=\x20code>>>4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(lit<=15)\x20{\x20\x20tree[i]=lit;\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ll\x20=\x200,\x20n\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(lit==16)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20n\x20=\x20(3\x20\x20+\x20bitsE(data,\x20pos,\x202));\x20\x20pos\x20+=\x202;\x20\x20ll\x20=\x20tree[i-1];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(lit==17)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20n\x20=\x20(3\x20\x20+\x20bitsE(data,\x20pos,\x203));\x20\x20pos\x20+=\x203;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(lit==18)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20n\x20=\x20(11\x20+\x20bitsE(data,\x20pos,\x207));\x20\x20pos\x20+=\x207;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ni\x20=\x20i+n;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(i<ni)\x20{\x20\x20tree[i]=ll;\x20\x20i++;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20pos;\x0a}\x0aUZIP.F._copyOut\x20=\x20function(src,\x20off,\x20len,\x20tree)\x20{\x0a\x20\x20\x20\x20let\x20mx=0,\x20i=0,\x20tl=tree.length>>>1;\x0a\x20\x20\x20\x20while(i<len)\x20{\x20\x20let\x20v=src[i+off];\x20\x20tree[(i<<1)]=0;\x20\x20tree[(i<<1)+1]=v;\x20\x20if(v>mx)mx=v;\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20while(i<tl\x20)\x20{\x20\x20tree[(i<<1)]=0;\x20\x20tree[(i<<1)+1]=0;\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20return\x20mx;\x0a}\x0a\x0aUZIP.F.makeCodes\x20=\x20function(tree,\x20MAX_BITS)\x20{\x20\x20//\x20code,\x20length\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U;\x0a\x20\x20\x20\x20let\x20max_code\x20=\x20tree.length;\x0a\x20\x20\x20\x20let\x20code,\x20bits,\x20n,\x20i,\x20len;\x0a\x0a\x20\x20\x20\x20let\x20bl_count\x20=\x20U.bl_count;\x20\x20for(let\x20i=0;\x20i<=MAX_BITS;\x20i++)\x20bl_count[i]=0;\x0a\x20\x20\x20\x20for(i=1;\x20i<max_code;\x20i+=2)\x20bl_count[tree[i]]++;\x0a\x0a\x20\x20\x20\x20let\x20next_code\x20=\x20U.next_code;\x09//\x20smallest\x20code\x20for\x20each\x20length\x0a\x0a\x20\x20\x20\x20code\x20=\x200;\x0a\x20\x20\x20\x20bl_count[0]\x20=\x200;\x0a\x20\x20\x20\x20for\x20(bits\x20=\x201;\x20bits\x20<=\x20MAX_BITS;\x20bits++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20code\x20=\x20(code\x20+\x20bl_count[bits-1])\x20<<\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20next_code[bits]\x20=\x20code;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20for\x20(n\x20=\x200;\x20n\x20<\x20max_code;\x20n+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20len\x20=\x20tree[n+1];\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(len\x20!=\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tree[n]\x20=\x20next_code[len];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_code[len]++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a}\x0aUZIP.F.codes2map\x20=\x20function(tree,\x20MAX_BITS,\x20map)\x20{\x0a\x20\x20\x20\x20let\x20max_code\x20=\x20tree.length;\x0a\x20\x20\x20\x20let\x20U=UZIP.F.U,\x20r15\x20=\x20U.rev15;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<max_code;\x20i+=2)\x20if(tree[i+1]!=0)\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20lit\x20=\x20i>>1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20cl\x20=\x20tree[i+1],\x20val\x20=\x20(lit<<4)|cl;\x20//\x20:\x20\x20(0x8000\x20|\x20(U.of0[lit-257]<<7)\x20|\x20(U.exb[lit-257]<<4)\x20|\x20cl);\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20rest\x20=\x20(MAX_BITS-cl),\x20i0\x20=\x20tree[i]<<rest,\x20i1\x20=\x20i0\x20+\x20(1<<rest);\x0a\x20\x20\x20\x20\x20\x20\x20\x20//tree[i]=r15[i0]>>>(15-MAX_BITS);\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(i0!=i1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20p0\x20=\x20r15[i0]>>>(15-MAX_BITS);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20map[p0]=val;\x20\x20i0++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a}\x0aUZIP.F.revCodes\x20=\x20function(tree,\x20MAX_BITS)\x20{\x0a\x20\x20\x20\x20let\x20r15\x20=\x20UZIP.F.U.rev15,\x20imb\x20=\x2015-MAX_BITS;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<tree.length;\x20i+=2)\x20{\x20\x20let\x20i0\x20=\x20(tree[i]<<(MAX_BITS-tree[i+1]));\x20\x20tree[i]\x20=\x20r15[i0]>>>imb;\x20\x20}\x0a}\x0a\x0a//\x20used\x20only\x20in\x20deflate\x0aUZIP.F._putsE=\x20function(dt,\x20pos,\x20val\x20\x20\x20)\x20{\x20\x20val\x20=\x20val<<(pos&7);\x20\x20let\x20o=(pos>>>3);\x20\x20dt[o]|=val;\x20\x20dt[o+1]|=(val>>>8);\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0aUZIP.F._putsF=\x20function(dt,\x20pos,\x20val\x20\x20\x20)\x20{\x20\x20val\x20=\x20val<<(pos&7);\x20\x20let\x20o=(pos>>>3);\x20\x20dt[o]|=val;\x20\x20dt[o+1]|=(val>>>8);\x20\x20dt[o+2]|=(val>>>16);\x20\x20}\x0a\x0aUZIP.F._bitsE=\x20function(dt,\x20pos,\x20length)\x20{\x20\x20return\x20((dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)>>>(pos&7))&((1<<length)-1);\x20\x20}\x0aUZIP.F._bitsF=\x20function(dt,\x20pos,\x20length)\x20{\x20\x20return\x20((dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20|\x20(dt[(pos>>>3)+2]<<16))>>>(pos&7))&((1<<length)-1);\x20\x20}\x0a/*\x0aUZIP.F._get9\x20=\x20function(dt,\x20pos)\x20{\x0a\x09return\x20((dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8))>>>(pos&7))&511;\x0a}\x20*/\x0aUZIP.F._get17=\x20function(dt,\x20pos)\x20{\x09//\x20return\x20at\x20least\x2017\x20meaningful\x20bytes\x0a\x20\x20\x20\x20return\x20(dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20|\x20(dt[(pos>>>3)+2]<<16)\x20)>>>(pos&7);\x0a}\x0aUZIP.F._get25=\x20function(dt,\x20pos)\x20{\x09//\x20return\x20at\x20least\x2017\x20meaningful\x20bytes\x0a\x20\x20\x20\x20return\x20(dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20|\x20(dt[(pos>>>3)+2]<<16)\x20|\x20(dt[(pos>>>3)+3]<<24)\x20)>>>(pos&7);\x0a}\x0aUZIP.F.U\x20=\x20function(){\x0a\x20\x20\x20\x20let\x20u16=Uint16Array,\x20u32=Uint32Array;\x0a\x20\x20\x20\x20return\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20next_code\x20:\x20new\x20u16(16),\x0a\x20\x20\x20\x20\x20\x20\x20\x20bl_count\x20\x20:\x20new\x20u16(16),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ordr\x20:\x20[\x2016,\x2017,\x2018,\x200,\x208,\x207,\x209,\x206,\x2010,\x205,\x2011,\x204,\x2012,\x203,\x2013,\x202,\x2014,\x201,\x2015\x20],\x0a\x20\x20\x20\x20\x20\x20\x20\x20of0\x20\x20:\x20[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],\x0a\x20\x20\x20\x20\x20\x20\x20\x20exb\x20\x20:\x20[0,0,0,0,0,0,0,\x200,\x201,\x201,\x201,\x201,\x202,\x202,\x202,\x202,\x203,\x203,\x203,\x203,\x204,\x204,\x204,\x20\x204,\x20\x205,\x20\x205,\x20\x205,\x20\x205,\x20\x200,\x20\x200,\x20\x200,\x20\x200],\x0a\x20\x20\x20\x20\x20\x20\x20\x20ldef\x20:\x20new\x20u16(32),\x0a\x20\x20\x20\x20\x20\x20\x20\x20df0\x20\x20:\x20[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,\x2065535,\x2065535],\x0a\x20\x20\x20\x20\x20\x20\x20\x20dxb\x20\x20:\x20[0,0,0,0,1,1,2,\x202,\x203,\x203,\x204,\x204,\x205,\x205,\x20\x206,\x20\x206,\x20\x207,\x20\x207,\x20\x208,\x20\x208,\x20\x20\x209,\x20\x20\x209,\x20\x2010,\x20\x2010,\x20\x2011,\x20\x2011,\x20\x2012,\x20\x20\x2012,\x20\x20\x2013,\x20\x20\x2013,\x20\x20\x20\x20\x200,\x20\x20\x20\x20\x200],\x0a\x20\x20\x20\x20\x20\x20\x20\x20ddef\x20:\x20new\x20u32(32),\x0a\x20\x20\x20\x20\x20\x20\x20\x20flmap:\x20new\x20u16(\x20\x20512),\x20\x20fltree:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20fdmap:\x20new\x20u16(\x20\x20\x2032),\x20\x20fdtree:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20lmap\x20:\x20new\x20u16(32768),\x20\x20ltree\x20:\x20[],\x20\x20ttree:[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20dmap\x20:\x20new\x20u16(32768),\x20\x20dtree\x20:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20imap\x20:\x20new\x20u16(\x20\x20512),\x20\x20itree\x20:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20//rev9\x20:\x20new\x20u16(\x20\x20512)\x0a\x20\x20\x20\x20\x20\x20\x20\x20rev15:\x20new\x20u16(1<<15),\x0a\x20\x20\x20\x20\x20\x20\x20\x20lhst\x20:\x20new\x20u32(286),\x20dhst\x20:\x20new\x20u32(\x2030),\x20ihst\x20:\x20new\x20u32(19),\x0a\x20\x20\x20\x20\x20\x20\x20\x20lits\x20:\x20new\x20u32(15000),\x0a\x20\x20\x20\x20\x20\x20\x20\x20strt\x20:\x20new\x20u16(1<<16),\x0a\x20\x20\x20\x20\x20\x20\x20\x20prev\x20:\x20new\x20u16(1<<15)\x0a\x20\x20\x20\x20};\x0a}\x20();\x0a\x0a(function(){\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U;\x0a\x20\x20\x20\x20let\x20len\x20=\x201<<15;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<len;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20x\x20=\x20i;\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xaaaaaaaa)\x20>>>\x201)\x20|\x20((x\x20&\x200x55555555)\x20<<\x201));\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xcccccccc)\x20>>>\x202)\x20|\x20((x\x20&\x200x33333333)\x20<<\x202));\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xf0f0f0f0)\x20>>>\x204)\x20|\x20((x\x20&\x200x0f0f0f0f)\x20<<\x204));\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xff00ff00)\x20>>>\x208)\x20|\x20((x\x20&\x200x00ff00ff)\x20<<\x208));\x0a\x20\x20\x20\x20\x20\x20\x20\x20U.rev15[i]\x20=\x20(((x\x20>>>\x2016)\x20|\x20(x\x20<<\x2016)))>>>17;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20function\x20pushV(tgt,\x20n,\x20sv)\x20{\x20\x20while(n--!=0)\x20tgt.push(0,sv);\x20\x20}\x0a\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<32;\x20i++)\x20{\x20\x20U.ldef[i]=(U.of0[i]<<3)|U.exb[i];\x20\x20U.ddef[i]=(U.df0[i]<<4)|U.dxb[i];\x20\x20}\x0a\x0a\x20\x20\x20\x20pushV(U.fltree,\x20144,\x208);\x20\x20pushV(U.fltree,\x20255-143,\x209);\x20\x20pushV(U.fltree,\x20279-255,\x207);\x20\x20pushV(U.fltree,287-279,8);\x0a\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20let\x20i\x20=\x200;\x0a\x20\x20\x20\x20for(;\x20i<=143;\x20i++)\x20U.fltree.push(0,8);\x0a\x20\x20\x20\x20for(;\x20i<=255;\x20i++)\x20U.fltree.push(0,9);\x0a\x20\x20\x20\x20for(;\x20i<=279;\x20i++)\x20U.fltree.push(0,7);\x0a\x20\x20\x20\x20for(;\x20i<=287;\x20i++)\x20U.fltree.push(0,8);\x0a\x20\x20\x20\x20*/\x0a\x20\x20\x20\x20UZIP.F.makeCodes(U.fltree,\x209);\x0a\x20\x20\x20\x20UZIP.F.codes2map(U.fltree,\x209,\x20U.flmap);\x0a\x20\x20\x20\x20UZIP.F.revCodes\x20(U.fltree,\x209)\x0a\x0a\x20\x20\x20\x20pushV(U.fdtree,32,5);\x0a\x20\x20\x20\x20//for(i=0;i<32;\x20i++)\x20U.fdtree.push(0,5);\x0a\x20\x20\x20\x20UZIP.F.makeCodes(U.fdtree,\x205);\x0a\x20\x20\x20\x20UZIP.F.codes2map(U.fdtree,\x205,\x20U.fdmap);\x0a\x20\x20\x20\x20UZIP.F.revCodes\x20(U.fdtree,\x205)\x0a\x0a\x20\x20\x20\x20pushV(U.itree,19,0);\x20\x20pushV(U.ltree,286,0);\x20\x20pushV(U.dtree,30,0);\x20\x20pushV(U.ttree,320,0);\x0a\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<\x2019;\x20i++)\x20U.itree.push(0,0);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<286;\x20i++)\x20U.ltree.push(0,0);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<\x2030;\x20i++)\x20U.dtree.push(0,0);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<320;\x20i++)\x20U.ttree.push(0,0);\x0a\x20\x20\x20\x20*/\x0a})();\x0a\x0a\x0a\x0alet\x20started\x20=\x20false;\x0alet\x20cloudFrontURL\x20=\x20\x22\x22;\x0alet\x20folderName\x20=\x20\x22\x22;\x0alet\x20lastRequest\x20=\x20{};//{tc:\x2200_00_00_00\x22,\x20path:\x22...\x22}\x0alet\x20lastTimeCodeFound\x20=\x20null;//for\x20statistics\x0alet\x20msecAvg\x20=\x20[];//for\x20statistics\x0aconst\x20delimiter\x20=\x20\x22_\x22;\x0alet\x20maxTimeCode\x20=\x20{};//don\x27t\x20pass\x20this\x20timecode\x0alet\x20enabled\x20=\x20true;\x0alet\x20isWorking\x20=\x20false;\x0a\x0aconst\x20HandleData\x20=\x20async\x20(data)\x20=>\x20{\x0a\x20\x20\x20\x20const\x20result\x20=\x20UZIP.parse(data);\x0a\x20\x20\x20\x20let\x20sortedKeys\x20=\x20Object.keys(result).sort();\x0a\x09\x0a\x20\x20\x20\x20for\x20(const\x20key\x20of\x20sortedKeys)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(key.endsWith(\x22.json\x22))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20transferableArray\x20=\x20[];\x0a\x09\x09\x09const\x20metadata\x20=\x20JSON.parse(new\x20TextDecoder().decode(result[key]));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20tc\x20=\x20metadata.timecode.replace(/:/g,\x22_\x22);//replaceAll(\x22:\x22,\x20\x22_\x22);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(metadata.placeholders)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(const\x20groupId\x20in\x20metadata.placeholders)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20alphaKey\x20=\x20`${tc}_${groupId}.alpha`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(result[alphaKey])\x20{\x0a\x09\x09\x09\x09\x09\x09metadata.placeholders[groupId].alphaAsUint8Array\x20=\x20result[alphaKey];//new\x20Uint8Array(result[alphaKey].buffer);\x0a\x09\x09\x09\x09\x09\x09transferableArray.push(result[alphaKey].buffer);\x0a\x09\x09\x09\x09\x09}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20postMessage(metadata,transferableArray);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a}\x0a\x0aconst\x20Str2TimeCode\x20=\x20(str)\x20=>\x20{\x0a\x20\x20\x20\x20const\x20list\x20=\x20str.split(delimiter);\x0a\x20\x20\x20\x20const\x20timecode\x20=\x20{h:\x20parseInt(list[0]),\x20m:\x20parseInt(list[1]),\x20s:\x20parseInt(list[2]),\x20f:\x20parseInt(list[3])};\x0a\x20\x20\x20\x20return\x20timecode;\x0a}\x0aconst\x20TimeCode2Str\x20=\x20(timecode)\x20=>\x20{\x0a\x20\x20\x20\x20return\x20(\x220\x22\x20+\x20timecode.h).slice(-2)\x20+\x20delimiter\x20+\x20(\x220\x22\x20+\x20timecode.m).slice(-2)\x20+\x20delimiter\x20+\x20(\x220\x22\x20+\x20timecode.s).slice(-2)\x20+\x20delimiter\x20+\x20(\x220\x22\x20+\x20timecode.f).slice(-2);\x0a}\x0aconst\x20AddSecondsToTimeCode\x20=\x20(timecode,\x20seconds)\x20=>\x20{\x0a\x20\x20\x20\x20let\x20ret\x20=\x20{...timecode};//cloning\x20araay\x0a\x09ret.s\x20+=\x20seconds;\x0a\x20\x20\x20\x20if\x20(ret.s\x20>=\x2060)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20ret.s\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20ret.m++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(ret.m\x20>=\x2060)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ret.m\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ret.h++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20ret;\x0a}\x0aconst\x20GetNextTimeCode_TC\x20=\x20(tc,\x20seconds\x20=\x200)\x20=>\x20{\x0a\x20\x20\x20\x20let\x20timecode\x20=\x20Str2TimeCode(tc);\x0a\x20\x20\x20\x20if\x20(seconds)\x20timecode\x20=\x20AddSecondsToTimeCode(timecode,\x20seconds);\x0a\x09return\x20timecode;\x0a}\x0aconst\x20GetNextTimeCode\x20=\x20(tc,\x20seconds\x20=\x200)\x20=>\x20{\x0a\x20\x20\x20\x20let\x20timecode\x20=\x20GetNextTimeCode_TC(tc,seconds);\x0a\x20\x20\x20\x20return\x20TimeCode2Str(timecode);\x0a}\x0a\x0a\x0aconst\x20IsTCBigger\x20=\x20(tc1,\x20tc2)\x20=>\x20{\x0a\x09//return\x20true\x20iif\x20tc1\x20>\x20tc2\x0a\x09if\x20(tc1.h\x20>\x20tc2.h)\x20return\x20true;\x0a\x09else\x20if\x20(tc1.h\x20<\x20tc2.h)\x20return\x20false;\x0a\x09else\x20if\x20(tc1.m\x20>\x20tc2.m)\x20return\x20true;\x0a\x09else\x20if\x20(tc1.m\x20<\x20tc2.m)\x20return\x20false;\x0a\x09else\x20if\x20(tc1.s\x20>\x20tc2.s)\x20return\x20true;\x0a\x09else\x20if\x20(tc1.s\x20<\x20tc2.s)\x20return\x20false;\x0a\x09else\x20if\x20(tc1.f\x20>\x20tc2.f)\x20return\x20true;\x0a\x09else\x20return\x20false;\x0a}\x0aconst\x20TryNextFrame\x20=\x20(seconds)\x20=>\x20{\x0a\x09if(!enabled)\x20return;\x0a\x09//if\x20the\x20required\x20time\x20code\x20exceed\x20the\x20max\x20time\x20code,\x20wait\x20a\x20bit\x0a\x09if\x20(seconds\x20>\x200\x20&&\x20IsTCBigger(GetNextTimeCode_TC(lastRequest.tc,\x20seconds),\x20maxTimeCode))\x20{\x0a\x09\x09//console.log(\x22the\x20current\x20TC\x20\x22,\x20GetNextTimeCode_TC(lastRequest.tc,\x20seconds),\x20\x22\x20is\x20bigger\x20than\x20the\x20max\x20time\x20code:\x20\x22,\x20maxTimeCode);//@oror\x0a\x09\x09setTimeout(()\x20=>\x20{\x0a\x09\x09\x09TryNextFrame(seconds);\x0a\x09\x09},\x20100);\x0a\x09}\x0a\x20\x20\x20\x20else\x20\x0a\x09{\x0a\x09\x09//console.log(\x22We\x27re\x20good\x20to\x20take\x20the\x20next\x20timecode\x22);//@oror\x0a\x09\x09setTimeout(()\x20=>\x20{\x0a\x09\x09\x09lastRequest.tc\x20=\x20GetNextTimeCode(lastRequest.tc,\x20seconds);\x0a\x09\x09\x09//console.log(\x22next\x20time\x20code:\x20\x22,\x20lastRequest.tc);//@oror\x0a\x09\x09\x09GetMetaData();\x0a\x09\x09\x09},\x200);\x0a\x09}\x0a}\x0a\x0aconst\x20AvgMetaDataMsec\x20=\x20()\x20=>\x20{\x0a\x20\x20\x20\x20let\x20sum\x20=\x200;\x0a\x20\x20\x20\x20for\x20(let\x20i\x20=\x200;\x20i\x20<\x20msecAvg.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20sum\x20+=\x20msecAvg[i];\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20sum\x20/\x20msecAvg.length;\x0a};\x0aconst\x20GetMetaData\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20\x20\x20isWorking\x20=\x20true;\x0a\x09const\x20item\x20=\x20lastRequest;\x0a\x20\x20\x20\x20const\x20url\x20=\x20`${item.path}/${item.tc}.zip`;\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20t1\x20=\x20performance.now();\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20res\x20=\x20await\x20fetch(url);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(res.status\x20>=\x20400)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//console.log(`${item.tc}\x20time\x20code\x20not\x20found,\x20url\x20is\x20${url}`);\x0a\x09\x09\x09let\x20now\x20=\x20performance.now();\x0a\x09\x09\x09let\x20msecSinceLastTimeDate\x20=\x20now\x20-\x20lastTimeCodeFound;\x0a\x09\x09\x09let\x20secSinceLastTimeDate\x20=\x20(msecSinceLastTimeDate/1000);\x0a\x09\x09\x09if\x20(secSinceLastTimeDate\x20>\x204)\x20{\x0a\x09\x09\x09\x09console.error(\x22Didn\x27t\x20find\x20timecode\x20\x22,\x20item.tc,\x20\x22,\x20now\x20for\x20\x22\x20+\x20secSinceLastTimeDate.toFixed(2)\x20+\x20\x22\x20seconds\x20-\x20give\x20up\x20!\x22);\x0a\x09\x09\x09\x09TryNextFrame(2);//try\x20the\x20same\x20time\x20\x20code\x20again\x0a\x09\x09\x09}\x0a\x09\x09\x09else\x20{\x0a\x09\x09\x09\x09console.error(\x22Didn\x27t\x20find\x20timecode\x20\x22,\x20item.tc,\x20\x22,\x20now\x20for\x20\x22\x20+\x20secSinceLastTimeDate.toFixed(2)\x20+\x20\x22\x20seconds\x22);\x0a\x09\x09\x09\x09TryNextFrame(0);//try\x20the\x20same\x20time\x20\x20code\x20again\x0a\x09\x09\x09}\x0a\x09\x09\x09isWorking\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20now\x20=\x20performance.now();\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20msecSinceLastTimeDate\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(lastTimeCodeFound)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20msecSinceLastTimeDate\x20=\x20now\x20-\x20lastTimeCodeFound;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20msecAvg.push(msecSinceLastTimeDate);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while\x20(msecAvg.length\x20>\x201000)\x20msecAvg.shift();\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20lastTimeCodeFound\x20=\x20now;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20//console.log(`${item.tc}\x20time\x20code\x20found,\x20(${msecSinceLastTimeDate}\x20msec\x20from\x20last\x20time,\x20avg:\x20${AvgMetaDataMsec()})`);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20await\x20res.arrayBuffer();\x0a\x20\x20\x20\x20\x20\x20\x20\x20await\x20HandleData(data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20t2\x20=\x20performance.now();\x0a\x20\x20\x20\x20\x20\x20\x20\x20//postMessage({time:\x20`Fetch\x20and\x20Decompress:\x20${t2\x20-\x20t1}\x20msec`});\x0a\x20\x20\x20\x20}\x20catch\x20(err)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.error(`Error\x20on\x20url\x20${url}`,\x20err);\x0a\x20\x20\x20\x20}\x0a\x09isWorking\x20=\x20false;\x0a\x20\x20\x20\x20TryNextFrame(2);\x0a}\x0a\x0aaddEventListener(\x22message\x22,\x20(request)\x20=>\x20{\x0a\x09if\x20(!started\x20&&\x20request.data.cloudFrontURL)\x20{\x0a\x09\x09started\x20=\x20true;\x0a\x09\x09cloudFrontURL\x20=\x20request.data.cloudFrontURL;\x0a\x09\x09folderName\x20=\x20request.data.folderName;\x0a\x09\x09let\x20tcReplaced\x20=\x20request.data.tc.replace(/:/g,\x22_\x22);//replaceAll(\x22:\x22,\x20\x22_\x22)\x0a\x09\x09lastRequest\x20=\x20{tc:\x20tcReplaced,\x20path:\x20`${cloudFrontURL}/${folderName}`};//from\x20the\x20lastReqest\x20object\x0a\x09\x09let\x20timeCode\x20=\x20Str2TimeCode(lastRequest.tc);//parse\x20the\x20time\x20code\x20string\x20into\x20a\x20real\x20time-code\x0a\x09\x09maxTimeCode\x20=\x20AddSecondsToTimeCode(Object.assign({},\x20timeCode),\x204);//set\x20the\x20max\x20limit\x20(on\x20a\x20clone)\x0a\x09\x09//set\x20the\x20timecode\x20needed\x20\x0a\x09\x09timeCode.f\x20=\x200;\x0a\x09\x09timeCode.s\x20=\x20timeCode.s\x20%\x202\x20===\x200\x20?\x20timeCode.s\x20:\x20timeCode.s\x20-\x201;\x0a\x09\x09lastRequest.tc\x20=\x20TimeCode2Str(timeCode);\x0a\x09\x09console.log(\x22Meta-data\x20worker\x20starting\x20from\x20this\x20time-code:\x20\x22,\x20lastRequest.tc);//@oror\x0a\x09\x09GetMetaData();\x0a\x09}\x0a\x09else\x20{\x0a\x09\x09let\x20tcReplaced\x20=\x20request.data.tc.replace(/:/g,\x22_\x22);\x0a\x09\x09//console.log(\x22metaDataDownloader\x20new\x20timecode\x20=\x20\x22\x20+\x20tcReplaced);\x0a\x09\x09let\x20timeCode\x20=\x20Str2TimeCode(tcReplaced);\x0a\x09\x09timeCode.f\x20=\x200;\x0a\x09\x09timeCode.s\x20=\x20timeCode.s\x20%\x202\x20===\x200\x20?\x20timeCode.s\x20:\x20timeCode.s\x20-\x201;\x0a\x09\x09if\x20(IsTCBigger(timeCode,\x20maxTimeCode))\x0a\x09\x09{\x0a\x09\x09\x09lastRequest.tc\x20=\x20TimeCode2Str(timeCode);\x0a\x09\x09\x09console.log(\x22Meta-data\x20worker\x20jumps\x20forward\x20to\x20this\x20time-code:\x20\x22,\x20lastRequest.tc);\x0a\x09\x09}\x0a\x09\x09if\x20(IsTCBigger(Str2TimeCode(lastRequest.tc),\x20AddSecondsToTimeCode(timeCode,4)))\x0a\x09\x09{\x0a\x09\x09\x09lastRequest.tc\x20=\x20TimeCode2Str(timeCode);\x0a\x09\x09\x09console.log(\x22Meta-data\x20worker\x20jumps\x20back\x20to\x20this\x20time-code:\x20\x22,\x20lastRequest.tc);\x0a\x09\x09}\x0a\x09\x09maxTimeCode\x20=\x20AddSecondsToTimeCode(timeCode,\x204);\x0a\x09\x09if(!enabled\x20&&\x20request.data.enabled)\x0a\x09\x09{\x0a\x09\x09\x09enabled\x20=\x20request.data.enabled;\x09\x0a\x09\x09\x09if(!isWorking)\x20GetMetaData();\x0a\x09\x09}\x0a\x09\x09else\x20{\x0a\x09\x09\x09enabled\x20=\x20request.data.enabled;\x09\x0a\x09\x09}\x0a\x09\x09//console.log(\x22max\x20time\x20code:\x20\x22,\x20maxTimeCode);\x0a\x09}\x0a});\x0a\x0a}\x20catch\x20(e){\x0a\x09console.error(e);\x0a}','TexUnitBaseForAlpha','opera','drawArrays','SetFps','textContent','Error\x20from\x20worker:','https://db8igqxlbvayn.cloudfront.net/prod','Average\x20refresh\x20screen\x20rate:\x20','white','Ads','location',',\x20took:\x20','bindBuffer','offsetJsonURL','#external','clientHeight','Offest\x20for\x20gameid=\x20','substring','bindVertexArray','alphaFound','options','deleteShader','ANI2','\x20room','BB.Utils.getMediaTimeFPS:\x20Unknown\x20FrameRate\x20mode','isAdLoop','doNotRenderAugmentationCheckbox','black','none','bindAttribLocation','an\x20Android\x20phone','isiPhone','vendor','lastAdName','map',',\x20timeStamp-lastTimeStamp:\x20','AddAdvertisement','join','timeDate2TC','charCodeAt','\x20correction\x20RealFrame=\x20','info','\x20</br>','weHaveTheGameID','a\x20Mac','STATIC_DRAW','printTimecode','lastTimeReportedIncomingTC','getContext','requestAnimationFrame','Src60_MediaTime60','timeCodeStr2TimeCodeArray:\x20Failed\x20to\x20parse\x20','Internet\x20Explorer','MKsync','Checking\x20window\x20and\x20methods','an\x20iPhone','init','bufferData','getMinutes','videoStarted','disconnect','intercept','COMPILE_STATUS','fetchAndFindGameIdAndOffestFromMediaId','\x20Setting\x20(some)\x20ms\x20timer','forplus','maskX','canvasSize','crossOrigin','BB.Augmenter\x20Start','status','New\x20segment\x20(','clearColor','_nextAdvertisement','AdNameForPlaceHolder','stringTime','\x20!!!!!!!!!!!!!!!!!!!!!!','Src29_MediaTime29','Mac','addEventListener','Version','https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js','onload','alphaAsUint8Array','index','srcFrameRate','a_position','name','from','Frames2Timecode','http://webgl2fundamentals.org/webgl/lessons/webgl-boilerplate.html','TEXTURE_2D','nextSibling','FLOAT','GenerateTexture',',\x20timeAfterSync:\x20','getCanvas','requestVideoFrameCallback','CLDC','paused','https://games-prod.virtualott.com/offset','getSourceFPS',',\x20offset:\x20','requestAnimationFrame\x20is\x20supported','debugText2','offs','):\x20','setMediaFPS:\x20Unknown\x20Media\x20FrameRate\x20mode','Socket','dblFrame:\x20','round','zIndex','cloudFrontURL','type','callback','frameRateMode',',\x20timeStamp-nowFromVideoFrame:\x20','messageroom:\x20','composer::AddAdvertisement:\x20place-to-ads\x20mapping:\x20','30px\x20Arial','clientWidth','searchParams',',\x20SyncPoint.frames:\x20','enableVertexAttribArray','uniform2fv','length','getMediaTimeFPS','Src59_MediaTime59','u_alpha','BlackBerry','url:\x20','emit','.json','place2ad','OnMetadata','MAX_LOGOS','offset\x20for\x20','toISOString','split','TEXTURE_WRAP_S','connect','Folder\x20name\x20for\x20','join\x20\x20','frameDrawer','random','render():\x20lastVideoFrameRenderedInGL==currentFrame:\x20','28vVJvnQ','ad2Url','filter','pixelStorei','fillRect','toString','toggleBtn','then','clientY','time','parentElement','roommembers\x20message:\x20','Timecode2Frames','SetSyncPoint','messageroom','checked','BB.Utils.getSourceFPS:\x20Unknown\x20FrameRate\x20mode','RenderTimecode','Probable\x20videoFrameCallback\x20was\x20not\x20fired.\x20Apllying\x20correction\x20mechanism\x20(','144kkGQYo','setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode','texImage2D','ads:',',\x20delta:\x20',',\x20Stream\x20Time-Code:\x20','matchAll','requestVideoFrameCallback\x20is\x20supported','ad0','(\x20Security\x20)\x20We\x20cant\x20reach\x20','vertexShaderSource','fetchAndFindGameIdAndOffestFromMediaId:\x20I\x20Know\x20what\x20is\x20the\x20game\x20id\x20!\x20Its\x20','autoAddIndex','\x20countAppleVideo:\x20','bottom','debug','GAME_ID','ntc','Linux','value','www.mediakind.com/NTC','font','Chrome','webgl2','vertexAttribPointer','isMac','10KvULAu','disconnect\x20from\x20signaling::','UNPACK_FLIP_Y_WEBGL','MSIE','getElementsByTagName','forDoNotRender','platform','height','LINEAR','presentationTime','isApple','position','Missing\x20meta\x20data\x20at\x20time\x20code\x20','if\x20(alpha\x20<\x200.8)','metadataMap','call','currentTime','\x20Time\x20Fired:\x20','deleteProgram','RenderDigits','u_resolution2','https://games-prod.virtualott.com/map','loadedmetadata','\x20Time:\x20','67432HGwUjg','compileShader','None','error::','left','clear','nba','getUTCHours',',\x20Brain\x20Time-Code:\x20','Connect','function','userAgent','CleanGL',',\x20rendering:\x20','br2','287257xumYQN','Project\x20name:\x20','isiPad','Augment','video\x20element\x20is\x20not\x20yet\x20loaded.\x20Setting\x20up\x20loadedmetadata\x20event\x20to\x20wait\x20until\x20it\x27s\x20loaded'];_0x201c=function(){return _0x1f9436;};return _0x201c();}BB['GL']={'vertexShaderSource':_0x4e65bd(0x1db),'fragmentShaderSource':'#version\x20300\x20es\x0a\x0a//High\x20precision\x20mode\x0aprecision\x20highp\x20float;\x0a\x0a//The\x20textures\x0a//uniform\x20sampler2D\x20u_image;//video\x20frame\x27s\x20texture\x0auniform\x20sampler2D\x20ad0;//the\x20ad\x20texture\x0auniform\x20sampler2D\x20ad1;//the\x20ad\x20texture\x0auniform\x20sampler2D\x20ad2;//the\x20ad\x20texture\x0auniform\x20sampler2D\x20ad3;//the\x20ad\x20texture\x0a\x0auniform\x20vec2\x20u_resolution2;//resolution\x20of\x20the\x20canvas\x0a\x0a//v_texCoord\x20from\x20the\x20vertex\x20shader\x0a//in\x20vec2\x20v_texCoord;\x0a\x0a//Logos\x27\x20staff\x0auniform\x20int\x20hasLogo0;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo0;\x0auniform\x20sampler2D\x20alpha0;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix0;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha0TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha0Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo1;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo1;\x0auniform\x20sampler2D\x20alpha1;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix1;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha1TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha1Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo2;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo2;\x0auniform\x20sampler2D\x20alpha2;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix2;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha2TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha2Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo3;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo3;\x0auniform\x20sampler2D\x20alpha3;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix3;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha3TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha3Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasDigit;//has\x20debug\x20digit\x20texture\x0auniform\x20sampler2D\x20digitTex;//the\x20digits\x27s\x20mate\x0auniform\x20vec2\x20u_digitTopLeft;//the\x20digit\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_digitTopLeft2;//the\x20digit\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_digitSize;//the\x20digit\x20mate\x27s\x20size\x0a\x0a//Output\x0aout\x20vec4\x20outColor;\x0abool\x20BlendDigit(in\x20vec2\x20curCoord)\x20{\x0a\x09//vec2\x20texCoord\x20=\x20curCoord;\x0a\x09//texCoord\x20/=\x20u_resolution2;\x0a\x09vec2\x20digitCoord\x20=\x20(curCoord\x20-\x20u_digitTopLeft)/u_digitSize;//get\x20the\x20coordinate\x20on\x20the\x20digit\x20size\x0a\x09if\x20(digitCoord.x\x20>=\x200.0\x20&&\x20digitCoord.y\x20>=\x200.0\x20&&\x20digitCoord.x\x20<=\x201.0\x20&&\x20digitCoord.y\x20<=\x201.0)\x0a\x09{\x0a\x09\x09outColor\x20=\x20texture(digitTex,\x20digitCoord);\x0a\x09\x09return\x20true;\x0a\x09}\x0a\x09return\x20false;\x0a}\x0abool\x20BlendDigit2(in\x20vec2\x20curCoord)\x20{\x0a\x09//vec2\x20texCoord\x20=\x20curCoord;\x0a\x09//texCoord\x20/=\x20u_resolution2;\x0a\x09vec2\x20digitCoord\x20=\x20(curCoord\x20-\x20u_digitTopLeft2)/u_digitSize;//get\x20the\x20coordinate\x20on\x20the\x20digit\x20size\x0a\x09if\x20(digitCoord.x\x20>=\x200.0\x20&&\x20digitCoord.y\x20>=\x200.0\x20&&\x20digitCoord.x\x20<=\x201.0\x20&&\x20digitCoord.y\x20<=\x201.0)\x0a\x09{\x0a\x09\x09outColor\x20=\x20texture(digitTex,\x20digitCoord);\x0a\x09\x09return\x20true;\x0a\x09}\x0a\x09return\x20false;\x0a}\x0abool\x20BlendWithLogo(\x0a\x09in\x20int\x20adUnit,\x0a\x20\x20\x20\x20in\x20sampler2D\x20alphaTexture,\x0a\x20\x20\x20\x20in\x20mat3\x20matrix,\x0a\x20\x20\x20\x20in\x20vec2\x20curCoord,\x0a\x20\x20\x20\x20in\x20vec2\x20alphaTopLeft,\x0a\x20\x20\x20\x20in\x20vec2\x20alphaSize)\x20\x0a{\x0a\x09\x0a\x09\x0a\x09\x0a\x20\x20\x20\x20vec2\x20texCoord;\x0a\x20\x20\x20\x20texCoord.x\x20=\x20(matrix[0][0]*curCoord.x\x20+\x20matrix[0][1]*curCoord.y\x20+\x20matrix[0][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord.y\x20=\x20(matrix[1][0]*curCoord.x\x20+\x20matrix[1][1]*curCoord.y\x20+\x20matrix[1][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord\x20/=\x20u_resolution2;\x0a\x0a\x20\x20\x20\x20//if\x20we\x27re\x20in\x20the\x20bounding\x20rect\x20of\x20the\x20logo\x0a\x20\x20\x20\x20if\x20(texCoord.x\x20>=\x200.0\x20&&\x20texCoord.y\x20>=\x200.0\x20&&\x20texCoord.x\x20<=\x201.0\x20&&\x20texCoord.y\x20<=\x201.0)\x0a\x20\x20\x20\x20{\x0a\x09\x09\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha\x20=\x201.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20alphaCoord\x20=\x20(curCoord\x20-\x20alphaTopLeft)/alphaSize;//get\x20the\x20coordinate\x20on\x20the\x20alpha\x20mate\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(\x0a\x09\x09alphaCoord.x\x20>=\x200.0\x20&&\x20\x0a\x09\x09alphaCoord.y\x20>=\x200.0\x20&&\x20\x0a\x09\x09alphaCoord.x\x20<=\x201.0\x20&&\x20\x0a\x09\x09alphaCoord.y\x20<=\x201.0\x0a\x09\x09)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//get\x20the\x20alpha\x20texel:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20alpha\x20*=\x20texture(alphaTexture,\x20alphaCoord).a;//without\x20blur\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x09\x09\x0a\x09\x09vec4\x20ad0Pix\x20=\x20\x0a\x09\x09\x09adUnit\x20==\x200\x20?\x20texture(ad0,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x201\x20?\x20texture(ad1,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x202\x20?\x20texture(ad2,\x20texCoord)\x20:\x0a\x09\x09\x09\x09\x09\x09\x20\x20texture(ad3,\x20texCoord);//get\x20the\x20logo\x27s\x20texel\x0a\x09\x09alpha\x20*=\x20ad0Pix.a;//consider\x20the\x20alpha\x20of\x20the\x20logo\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20resultRGB\x20=\x20ad0Pix.rgb;//\x20+\x20videoImagePix.rgb*(1.0-alpha);//blend\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(alpha\x20==\x200.0)\x20resultRGB\x20=\x20vec3(0,0,0);\x0a\x09\x09outColor\x20=\x20vec4(resultRGB,\x20alpha);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20return\x20false;\x0a\x20\x20\x0a}\x0avoid\x20main()\x0a{\x0a\x20\x20//calculate\x20cur-coord\x20(with\x20pixels\x20units)\x0a\x20\x20vec2\x20curCoord\x20=\x20gl_FragCoord.xy;\x0a\x20\x20curCoord.y\x20=\x20u_resolution2[1]\x20-\x20curCoord.y;\x0a\x20\x20//if\x20(hasDigit\x20==\x201\x20&&\x20(BlendDigit(curCoord)\x20||\x20BlendDigit2(curCoord)))\x20return;\x0a\x20\x20if\x20(hasDigit\x20==\x201\x20&&\x20(BlendDigit(curCoord)))\x20return;\x0a\x20\x20else\x20if\x20(hasLogo0\x20==\x201\x20&&\x20\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo0,\x0a\x09\x20alpha0,\x20u_matrix0,\x20curCoord,u_alpha0TopLeft,\x20u_alpha0Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo1\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo1,\x0a\x09\x20alpha1,\x20u_matrix1,\x20curCoord,u_alpha1TopLeft,\x20u_alpha1Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo2\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo2,\x0a\x09\x20alpha2,\x20u_matrix2,\x20curCoord,u_alpha2TopLeft,\x20u_alpha2Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo3\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo3,\x0a\x09\x20alpha3,\x20u_matrix3,\x20curCoord,u_alpha3TopLeft,\x20u_alpha3Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20{//no\x20logo\x0a\x20\x20\x20\x20outColor\x20=\x20vec4(0,0,0,0);\x0a\x20\x20}\x0a}\x0a','vertexShaderSourceV1':_0x4e65bd(0x16e),'fragmentShaderSourceV1':'\x0a\x0a//High\x20precision\x20mode\x0aprecision\x20highp\x20float;\x0a\x0a//The\x20textures\x0auniform\x20sampler2D\x20u_image;//video\x20frame\x27s\x20texture2D\x0auniform\x20sampler2D\x20ad0;//the\x20ad\x20texture2D\x0auniform\x20sampler2D\x20ad1;//the\x20ad\x20texture2D\x0auniform\x20sampler2D\x20ad2;//the\x20ad\x20texture2D\x0auniform\x20sampler2D\x20ad3;//the\x20ad\x20texture2D\x0a\x0auniform\x20vec2\x20u_resolution2;//resolution\x20of\x20the\x20canvas\x0a\x0a//v_texCoord\x20from\x20the\x20vertex\x20shader\x0avarying\x20vec2\x20v_texCoord;\x0a\x0a//Logos\x27\x20staff\x0auniform\x20int\x20hasLogo0;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo0;\x0auniform\x20sampler2D\x20alpha0;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix0;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha0TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha0Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo1;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo1;\x0auniform\x20sampler2D\x20alpha1;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix1;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha1TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha1Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo2;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo2;\x0auniform\x20sampler2D\x20alpha2;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix2;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha2TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha2Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo3;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo3;\x0auniform\x20sampler2D\x20alpha3;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix3;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha3TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha3Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20sampler2D\x20injectoLogo;//the\x20injecto\x20logo\x20to\x20cover\x20the\x20timecode\x20watermark\x0a\x0aconst\x20float\x20Directions\x20=\x2016.0;\x20//\x20BLUR\x20DIRECTIONS\x20(Default\x2016.0\x20-\x20More\x20is\x20better\x20but\x20slower)\x0aconst\x20float\x20Quality\x20=\x203.0;\x20//\x20BLUR\x20QUALITY\x20(Default\x203.0\x20-\x20More\x20is\x20better\x20but\x20slower)\x0aconst\x20float\x20Size\x20=\x2012.0;\x20//\x20BLUR\x20SIZE\x20(Radius)\x0aconst\x20float\x20Pi\x20=\x206.28318530718;\x20//\x20Pi*2\x0a\x0avec3\x20BlurBGR(vec4\x20videoImagePix)\x0a{\x0a\x09vec3\x20res\x20=\x20videoImagePix.rgb;\x0a\x20//get\x20the\x20kernel\x20radius:\x0a\x20\x20\x20\x20vec2\x20Radius\x20=\x20Size/u_resolution2.xy;\x0a\x20\x20\x20\x0a\x20\x20\x20\x20//\x20Blur\x20around:\x0a\x20\x20\x20\x20for(\x20float\x20d=0.0;\x20d<Pi;\x20d+=Pi/Directions)\x0a\x20\x20\x20\x20{\x0a\x09\x09for(float\x20i=1.0/Quality;\x20i<=1.0;\x20i+=1.0/Quality)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x09\x09\x09res\x20+=\x20texture2D(\x20u_image,\x20v_texCoord+vec2(cos(d),sin(d))*Radius*i).rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20res\x20/=\x20Quality\x20*\x20Directions\x20-\x2015.0;\x0a\x0a\x20\x20\x20\x20return\x20res;\x0a}\x0a\x0abool\x20BlendWithLogo(\x0a\x09int\x20adUnit,\x0a\x20\x20\x20\x20\x20sampler2D\x20alphaTexture,\x0a\x20\x20\x20\x20\x20mat3\x20matrix,\x0a\x20\x20\x20\x20\x20vec2\x20curCoord,\x0a\x20\x20\x20\x20\x20vec2\x20alphaTopLeft,\x0a\x20\x20\x20\x20\x20vec2\x20alphaSize,\x0a\x20\x20\x20\x20\x20vec4\x20videoImagePix)\x20\x0a{\x0a\x20\x20\x20\x20vec2\x20texCoord;\x0a\x20\x20\x20\x20texCoord.x\x20=\x20(matrix[0][0]*curCoord.x\x20+\x20matrix[0][1]*curCoord.y\x20+\x20matrix[0][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord.y\x20=\x20(matrix[1][0]*curCoord.x\x20+\x20matrix[1][1]*curCoord.y\x20+\x20matrix[1][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord\x20/=\x20u_resolution2;\x0a\x0a\x20\x20\x20\x20//if\x20we\x27re\x20in\x20the\x20bounding\x20rect\x20of\x20the\x20logo\x0a\x20\x20\x20\x20if\x20(texCoord.x\x20>=\x200.0\x20&&\x20texCoord.y\x20>=\x200.0\x20&&\x20texCoord.x\x20<=\x201.0\x20&&\x20texCoord.y\x20<=\x201.0)\x0a\x20\x20\x20\x20{\x0a\x09\x09\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha\x20=\x201.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20alphaCoord\x20=\x20(curCoord\x20-\x20alphaTopLeft)/alphaSize;//get\x20the\x20coordinate\x20on\x20the\x20alpha\x20mate\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(alphaCoord.x\x20>=\x200.0\x20&&\x20alphaCoord.y\x20>=\x200.0\x20&&\x20alphaCoord.x\x20<=\x201.0\x20&&\x20alphaCoord.y\x20<=\x201.0)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//get\x20the\x20alpha\x20texel:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//alpha\x20*=\x20BlurAlpha(alphaCoord);//blurred\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20alpha\x20*=\x20texture2D(alphaTexture,\x20alphaCoord).a;//without\x20blur\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x09\x09if\x20(adUnit\x20==\x2099)//blur\x0a\x09\x09{\x0a\x09\x09\x09gl_FragColor\x20=\x20vec4(BlurBGR(videoImagePix)*alpha\x20+\x20\x20videoImagePix.rgb*(1.0-alpha),\x201.0);\x0a\x09\x09\x09//outColor\x20=\x20vec4(BlurBGR(videoImagePix),\x201.0);\x0a\x09\x09\x09return\x20true;\x0a\x09\x09}\x0a\x09\x09vec4\x20ad0Pix\x20=\x20\x0a\x09\x09\x09adUnit\x20==\x200\x20?\x20texture2D(ad0,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x201\x20?\x20texture2D(ad1,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x202\x20?\x20texture2D(ad2,\x20texCoord)\x20:\x0a\x09\x09\x09\x09\x09\x09\x20\x20texture2D(ad3,\x20texCoord);//get\x20the\x20logo\x27s\x20texel\x0a\x09\x09alpha\x20*=\x20ad0Pix.a;//consider\x20the\x20alpha\x20of\x20the\x20logo\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20resultRGB\x20=\x20ad0Pix.rgb*alpha\x20+\x20videoImagePix.rgb*(1.0-alpha);//blend\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(resultRGB,\x201.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20return\x20false;\x0a\x20\x20\x0a}\x0avoid\x20main()\x0a{\x0a\x20\x20//calculate\x20cur-coord\x20(with\x20pixels\x20units)\x0a\x20\x20vec2\x20curCoord\x20=\x20gl_FragCoord.xy;\x0a\x20\x20curCoord.y\x20=\x20u_resolution2[1]\x20-\x20curCoord.y;\x0a\x0a\x20\x20//cover\x20the\x20timecode\x20with\x20some\x20watermark\x0a\x20\x20if\x20(v_texCoord[0]\x20<=\x200.125\x20&&\x20(1.0-v_texCoord[1])\x20<=\x200.125)\x0a\x20\x20{\x20\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20texture2D(injectoLogo,\x20vec2(v_texCoord[0]*8.0,\x201.0-(1.0-v_texCoord[1])*8.0));\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x0a\x20\x20vec4\x20videoImagePix\x20=\x20texture2D(u_image,\x20v_texCoord);\x0a\x20\x20\x0a\x20\x20if\x20(hasLogo0\x20==\x201\x20&&\x20\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo0,\x0a\x09\x20alpha0,\x20u_matrix0,\x20curCoord,u_alpha0TopLeft,\x20u_alpha0Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo1\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo1,\x0a\x09\x20alpha1,\x20u_matrix1,\x20curCoord,u_alpha1TopLeft,\x20u_alpha1Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo2\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo2,\x0a\x09\x20alpha2,\x20u_matrix2,\x20curCoord,u_alpha2TopLeft,\x20u_alpha2Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo3\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo3,\x0a\x09\x20alpha3,\x20u_matrix3,\x20curCoord,u_alpha3TopLeft,\x20u_alpha3Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20{//only\x20video\x20texel,\x20no\x20logo\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20videoImagePix;\x0a\x20\x20}\x0a}\x0a'},BB[_0x4e65bd(0x247)]={'Src60_MediaTime60':Symbol(_0x4e65bd(0x2bf)),'Src59_MediaTime60':Symbol(_0x4e65bd(0x275)),'Src59_MediaTime59':Symbol(_0x4e65bd(0x30c)),'Src29_MediaTime29':Symbol(_0x4e65bd(0x2da))},BB['RenderingMode']={'RenderDigits':Symbol('RenderDigits'),'RenderTimecode':Symbol(_0x4e65bd(0x10a)),'Augment':Symbol(_0x4e65bd(0x150))},BB[_0x4e65bd(0x1c0)]={'OnNewSegment':Symbol(_0x4e65bd(0x204)),'OnMetadata':Symbol(_0x4e65bd(0x313)),'None':Symbol(_0x4e65bd(0x140))},BB[_0x4e65bd(0x179)]=((()=>{const _0x20e75a=_0x49c221=>{const _0x3baa70=_0x5c70;return _0x49c221[_0x3baa70(0x324)]()[_0x3baa70(0x24d)](0x2,'0');},_0x52d909=((()=>{const _0x261d4a=(_0xcfb453,_0x2658d1,_0x449295)=>{const _0x4300ff=_0x5c70;let _0x489994='';if(Array['isArray'](_0xcfb453)){_0x489994=[_0x20e75a(_0xcfb453[0x0]),_0x20e75a(_0xcfb453[0x1]),_0x20e75a(_0xcfb453[0x2]),_0x20e75a(_0xcfb453[0x3])][_0x4300ff(0x2b2)](':');if(_0x449295==!![]){if(_0xcfb453[0x4]==0x1&&(_0x2658d1===undefined||_0x2658d1))_0x489994+='.2';else _0x489994+='.1';}else{if(_0xcfb453[0x4]==0x1&&(_0x2658d1===undefined||_0x2658d1))_0x489994+='.1';}}else{const _0x433b17=':';_0x489994=('0'+_0xcfb453['h'])[_0x4300ff(0x22b)](-0x2)+_0x433b17+('0'+_0xcfb453['m'])['slice'](-0x2)+_0x433b17+('0'+_0xcfb453['s'])[_0x4300ff(0x22b)](-0x2)+_0x433b17+('0'+_0xcfb453['f'])[_0x4300ff(0x22b)](-0x2);if(_0x2658d1)_0x489994+='.'+(_0xcfb453[_0x4300ff(0x153)]?'1':'2');}return _0x489994;},_0x2b4970=_0x4073e7=>{const _0x535d9b=_0x5c70;let _0x1c5fc8=_0x4073e7['split'](':');if(_0x1c5fc8['length']!=0x4)return console[_0x535d9b(0x1f7)](_0x535d9b(0x2c0)+_0x4073e7),[0x0,0x0,0x0,0x0,0x0];let _0x244a3b=[parseInt(_0x1c5fc8[0x0]),parseInt(_0x1c5fc8[0x1]),parseInt(_0x1c5fc8[0x2])];if(_0x1c5fc8[0x3]['indexOf']('.')>=0x0){let _0x454301=_0x1c5fc8[0x3][_0x535d9b(0x317)]('.');_0x244a3b['push'](parseInt(_0x454301[0x0])),_0x244a3b[_0x535d9b(0x1a9)](parseInt(_0x454301[0x1]));}else _0x244a3b[_0x535d9b(0x1a9)](parseInt(_0x1c5fc8[0x3])),_0x244a3b[_0x535d9b(0x1a9)](0x0);return _0x244a3b;},_0x230bd7=(_0x32abb5,_0x47407a,_0x3b3289)=>{const _0x13acfd=_0x5c70;let _0x23fe4d=0x3c,_0x5fa113=0x0;if(Math[_0x13acfd(0x232)](_0x47407a)==0x3c)_0x23fe4d=0x3c,_0x5fa113=0x0;else{if(Math['floor'](_0x47407a)==0x3b)_0x23fe4d=0x3c,_0x5fa113=0x4;else{if(Math[_0x13acfd(0x232)](_0x47407a)==0x1e)_0x23fe4d=0x1e,_0x5fa113=0x0;else Math['floor'](_0x47407a)==0x1d&&(_0x23fe4d=0x1e,_0x5fa113=0x2);}}let _0x3b1b61=0x0,_0x45d8ff=Math[_0x13acfd(0x232)](_0x47407a*0x3c),_0x57dc70=Math[_0x13acfd(0x232)](_0x47407a*0x3c*0xa),_0x2d2ad2=_0x57dc70*0x6,_0xd5a276=_0x32abb5[0x0],_0x18c4bd=_0x32abb5[0x1],_0x5f5a64=_0x32abb5[0x2],_0x163c2c=_0x32abb5[0x3],_0x27727b=_0x32abb5[0x4];_0x3b1b61+=_0xd5a276*_0x2d2ad2,_0x3b1b61+=_0x18c4bd*(_0x23fe4d*0x3c),_0x3b1b61+=_0x5f5a64*_0x23fe4d;if(_0x3b3289)_0x3b1b61+=_0x163c2c*0x2+_0x27727b;else _0x3b1b61+=_0x163c2c;return _0x3b1b61-=_0x5fa113*_0x18c4bd,_0x3b1b61+=_0x5fa113*Math['floor'](_0x18c4bd/0xa),_0x3b1b61;},_0x287762=(_0x569c95,_0x4f09c2,_0x41b02f)=>{const _0x97ebd7=_0x5c70;let _0x98ca5a=0x3c,_0xcddf2f=0x0;if(Math['floor'](_0x4f09c2)==0x3c)_0x98ca5a=0x3c,_0xcddf2f=0x0;else{if(Math['floor'](_0x4f09c2)==0x3b)_0x98ca5a=0x3c,_0xcddf2f=0x4;else{if(Math[_0x97ebd7(0x232)](_0x4f09c2)==0x1e)_0x98ca5a=0x1e,_0xcddf2f=0x0;else Math['floor'](_0x4f09c2)==0x1d&&(_0x98ca5a=0x1e,_0xcddf2f=0x2);}}let _0x1b189e=0x0,_0x178def=Math[_0x97ebd7(0x232)](_0x4f09c2*0x3c),_0x506cd5=Math['floor'](_0x4f09c2*0x3c*0xa),_0x2a0668=_0x506cd5*0x6,_0x3690d4=_0x569c95,_0x528dd5=Math['floor'](_0x3690d4/_0x2a0668);_0x3690d4-=_0x528dd5*_0x2a0668;let _0x537890=Math['floor'](_0x3690d4/_0x506cd5);_0x3690d4-=_0x537890*_0x506cd5;if(_0x3690d4>=_0x98ca5a*0x3c)_0x3690d4+=_0xcddf2f*(Math[_0x97ebd7(0x232)]((_0x3690d4-_0x98ca5a*0x3c)/_0x178def)+0x1);let _0x4dfabd=Math['floor'](_0x3690d4/(_0x98ca5a*0x3c));_0x3690d4-=_0x4dfabd*(_0x98ca5a*0x3c);let _0x22614a=Math[_0x97ebd7(0x232)](_0x3690d4/_0x98ca5a);_0x3690d4-=_0x22614a*_0x98ca5a;let _0x3b7f3d=_0x3690d4;_0x4dfabd+=_0x537890*0xa,dotOne=0x0;_0x41b02f&&(dotOne=_0x3b7f3d%0x2,_0x3b7f3d=Math[_0x97ebd7(0x232)](_0x3b7f3d/0x2));let _0x34e66f=[_0x528dd5,_0x4dfabd,_0x22614a,_0x3b7f3d,dotOne];return _0x34e66f;},_0x133e43=(_0x53d748,_0x315198,_0x4ba848)=>{let _0x374664=_0x4ba848>0x1e,_0x19619f=_0x230bd7(_0x53d748,_0x4ba848,_0x374664);return _0x19619f+=_0x315198,_0x287762(_0x19619f,_0x4ba848,_0x374664);},_0x47483a=_0x4567cb=>{return{'h':_0x4567cb[0x0],'m':_0x4567cb[0x1],'s':_0x4567cb[0x2],'f':_0x4567cb[0x3],'field':_0x4567cb[0x4]};},_0x4a626b=(_0x3a8311,_0x1d3108)=>{const _0x585713=_0x5c70;let _0x18d5d8=BB['Utils'][_0x585713(0x2b3)](_0x3a8311,_0x1d3108);return _0x1d3108>0x3b?BB['Utils'][_0x585713(0x280)]['printTimecode'](tcFromMessage,!![]):BB[_0x585713(0x179)][_0x585713(0x280)][_0x585713(0x2bb)](tcFromMessage,![]);let _0x5c6d53=BB[_0x585713(0x179)][_0x585713(0x1d3)],_0x423e6c='';_0x5c6d53[_0x585713(0x130)]()?_0x423e6c=_0x3a8311:_0x423e6c=_0x3a8311[_0x585713(0x316)]();let _0x385726=_0x423e6c[_0x585713(0x317)]('T')[0x1],_0x53e269=_0x385726[_0x585713(0x317)](':'),_0x4f84db=parseInt(_0x53e269[0x0]),_0xb099ea=parseInt(_0x53e269[0x1]),_0x568992=_0x53e269[0x2][_0x585713(0x317)]('.'),_0x4a48a4=parseInt(_0x568992[0x0]),_0xa2634b=parseInt(_0x568992[0x1][_0x585713(0x29e)](0x0,0x3)),_0x6d118b=Math[_0x585713(0x2fb)](_0xa2634b/0x3e8*_0x1d3108);if(_0x1d3108>0x3b){let _0x173672=_0x6d118b%0x2==0x0?0x1:0x2;_0x6d118b=Math[_0x585713(0x232)](_0x6d118b/0x2);let _0x279836=_0x4f84db[_0x585713(0x324)]()[_0x585713(0x24d)](0x2,'0')+':'+_0xb099ea[_0x585713(0x324)]()[_0x585713(0x24d)](0x2,'0')+':'+_0x4a48a4[_0x585713(0x324)]()[_0x585713(0x24d)](0x2,'0')+':'+_0x6d118b['toString']()['padStart'](0x2,'0')+'.'+_0x173672[_0x585713(0x324)]();return _0x279836;}else{let _0x931957=_0x4f84db['toString']()['padStart'](0x2,'0')+':'+_0xb099ea[_0x585713(0x324)]()[_0x585713(0x24d)](0x2,'0')+':'+_0x4a48a4[_0x585713(0x324)]()['padStart'](0x2,'0')+':'+_0x6d118b['toString']()[_0x585713(0x24d)](0x2,'0');return _0x931957;}return str;},_0xe6b468=(_0xc7be2f,_0x601678)=>{const _0x2953ac=_0x5c70;let _0x11bbcb=BB[_0x2953ac(0x179)][_0x2953ac(0x1d3)],_0x1a650e='';_0x11bbcb[_0x2953ac(0x130)]()?_0x1a650e=_0xc7be2f:_0x1a650e=_0xc7be2f['toISOString']();let _0x3e0841=_0x1a650e[_0x2953ac(0x317)]('T')[0x1],_0x11a1f0=_0x3e0841['split'](':'),_0x3fb6f1=parseInt(_0x11a1f0[0x0]),_0x5ae42a=parseInt(_0x11a1f0[0x1]),_0xbf9a34=_0x11a1f0[0x2]['split']('.'),_0x1158b1=parseInt(_0xbf9a34[0x0]),_0x465bff=parseInt(_0xbf9a34[0x1][_0x2953ac(0x29e)](0x0,0x3));if(_0x601678>0x3b){let _0x591848=Math['round']((_0x465bff/0x3e8+_0x1158b1+_0x5ae42a*0x3c+_0x3fb6f1*0x3c*0x3c)*_0x601678),_0xde8dc0=BB[_0x2953ac(0x179)][_0x2953ac(0x280)][_0x2953ac(0x2e6)](_0x591848,_0x601678,!![]);return _0xde8dc0;}else{let _0x148af4=Math['round']((_0x465bff/0x3e8+_0x1158b1+_0x5ae42a*0x3c+_0x3fb6f1*0x3c*0x3c)*_0x601678),_0x274b07=BB[_0x2953ac(0x179)][_0x2953ac(0x280)][_0x2953ac(0x2e6)](_0x148af4,_0x601678,![]);return _0x274b07;}};return{'printTimecode':_0x261d4a,'timeCodeStr2TimeCodeArray':_0x2b4970,'Timecode2Frames':_0x230bd7,'Frames2Timecode':_0x287762,'TimeCodeAddFrames':_0x133e43,'TimeCodeArray2TimeCodeJson':_0x47483a,'timeDate2TCString':_0x4a626b,'timeDate2TC':_0xe6b468};})()),_0x188916=_0x214db8=>{let _0x45d339=_0x214db8||0x2540be3ff,_0x241397=[],_0x4b3ea7=0x0;const _0x561429=_0x323640=>{const _0x36fffd=_0x5c70;++_0x4b3ea7,_0x241397['push'](_0x323640);while(_0x241397[_0x36fffd(0x30a)]>_0x45d339)_0x241397[_0x36fffd(0x175)]();},_0x4e771e=()=>{const _0x248b15=_0x5c70;if(_0x241397[_0x248b15(0x30a)]==0x0)return-0x1;let _0x2c527f=Array[_0x248b15(0x2e5)](_0x241397)[_0x248b15(0x1b5)]((_0x15e01f,_0x11b7d9)=>{return _0x15e01f-_0x11b7d9;});return _0x2c527f[parseInt(_0x2c527f['length']/0x2)];},_0x4f9ce0=()=>{return _0x4b3ea7;};return{'add':_0x561429,'getMedian':_0x4e771e,'howMany':_0x4f9ce0};},_0x386a77=((()=>{const _0x44b746=()=>{const _0x10b3d9=_0x5c70,_0x5e6c7b=navigator['userAgent'];if(/windows/i[_0x10b3d9(0x157)](_0x5e6c7b))return _0x10b3d9(0x263);else{if(/android/i[_0x10b3d9(0x157)](_0x5e6c7b))return _0x10b3d9(0x18c);else{if(/iphone|ipad|ipod/i[_0x10b3d9(0x157)](_0x5e6c7b))return _0x10b3d9(0x1e2);else{if(/mac/i[_0x10b3d9(0x157)](_0x5e6c7b)){let _0x5314d7='ontouchstart'in window||navigator[_0x10b3d9(0x15b)]>0x0||navigator['msMaxTouchPoints']>0x0;if(_0x5314d7)return _0x10b3d9(0x195);else return _0x10b3d9(0x2db);}else return/ipad/i['test'](_0x5e6c7b)?_0x10b3d9(0x195):'Something\x20else';}}}},_0x1e3c29=()=>{const _0x218dc1=_0x5c70;let _0x2ffe75=_0x44b746();return _0x2ffe75==_0x218dc1(0x2db);},_0x567f01=()=>{const _0x3b6e5f=_0x5c70;let _0x444e61=_0x44b746();return _0x444e61==_0x3b6e5f(0x195);},_0x39fd8b=()=>{let _0x3f75c3=_0x44b746();return _0x3f75c3=='iOS';},_0x2d0e4=()=>{const _0x36b1aa=_0x5c70;let _0x1f40e0=_0x44b746();return _0x1f40e0==_0x36b1aa(0x1e2)||_0x1f40e0==_0x36b1aa(0x2db)||_0x1f40e0==_0x36b1aa(0x195);},_0x3ca658=()=>{const _0x1707f9=_0x5c70;let _0x571a57=_0x44b746();return _0x571a57==_0x1707f9(0x263);},_0x2de9c0=()=>{let _0xce1527=_0x44b746();return _0xce1527=='Android';},_0x37256a=()=>{const _0x19a23b=_0x5c70;let _0x264ea4=_0x44b746();if(_0x264ea4=='Windows')return'a\x20Windows\x20PC';else{if(_0x264ea4=='Android')return _0x19a23b(0x2ab);else{if(_0x264ea4==_0x19a23b(0x1e2))return _0x19a23b(0x2c4);else{if(_0x264ea4==_0x19a23b(0x2db))return _0x19a23b(0x2b9);else{if(_0x264ea4==_0x19a23b(0x195))return'an\x20iPad';else return'an\x20Unknown\x20device';}}}}},_0x29760c=()=>{const _0x340cf5=_0x5c70;let _0x163697={'options':[],'header':[navigator[_0x340cf5(0x12c)],navigator[_0x340cf5(0x149)],navigator[_0x340cf5(0x215)],navigator[_0x340cf5(0x2ad)],window[_0x340cf5(0x28e)]],'dataos':[{'name':'Windows\x20Phone','value':_0x340cf5(0x264),'version':'OS'},{'name':_0x340cf5(0x263),'value':_0x340cf5(0x166),'version':'NT'},{'name':_0x340cf5(0x1aa),'value':_0x340cf5(0x1aa),'version':'OS'},{'name':_0x340cf5(0x195),'value':_0x340cf5(0x195),'version':'OS'},{'name':_0x340cf5(0x26a),'value':_0x340cf5(0x197),'version':_0x340cf5(0x197)},{'name':'Android','value':_0x340cf5(0x18c),'version':_0x340cf5(0x18c)},{'name':_0x340cf5(0x18a),'value':_0x340cf5(0x18a),'version':'OS'},{'name':_0x340cf5(0x30e),'value':_0x340cf5(0x30e),'version':'/'},{'name':_0x340cf5(0x268),'value':_0x340cf5(0x2db),'version':'OS\x20X'},{'name':_0x340cf5(0x11e),'value':_0x340cf5(0x11e),'version':'rv'},{'name':_0x340cf5(0x203),'value':_0x340cf5(0x203),'version':_0x340cf5(0x1c5)}],'databrowser':[{'name':'Chrome','value':_0x340cf5(0x122),'version':_0x340cf5(0x122)},{'name':_0x340cf5(0x1c1),'value':'Firefox','version':_0x340cf5(0x1c1)},{'name':_0x340cf5(0x260),'value':_0x340cf5(0x260),'version':_0x340cf5(0x2dd)},{'name':_0x340cf5(0x2c1),'value':'MSIE','version':_0x340cf5(0x129)},{'name':'Opera','value':'Opera','version':'Opera'},{'name':_0x340cf5(0x30e),'value':'CLDC','version':_0x340cf5(0x2ef)},{'name':_0x340cf5(0x160),'value':_0x340cf5(0x160),'version':_0x340cf5(0x160)}],'init':function(){const _0x1eb76b=_0x340cf5;let _0x352c75=this['header'][_0x1eb76b(0x2b2)]('\x20'),_0x1224f8=this[_0x1eb76b(0x245)](_0x352c75,this[_0x1eb76b(0x194)]),_0x2187bb=this[_0x1eb76b(0x245)](_0x352c75,this[_0x1eb76b(0x15a)]);return{'os':_0x1224f8,'browser':_0x2187bb};},'matchItem':function(_0x2c19b0,_0xdffe7a){const _0x3f2add=_0x340cf5;let _0x159fd6=0x0,_0x5d7769=0x0,_0x24a34e='',_0x298bce,_0xb82230,_0x5b4bef,_0x12dd8c,_0x41a813;for(_0x159fd6=0x0;_0x159fd6<_0xdffe7a[_0x3f2add(0x30a)];_0x159fd6+=0x1){_0x298bce=new RegExp(_0xdffe7a[_0x159fd6][_0x3f2add(0x11f)],'i'),_0x5b4bef=_0x298bce[_0x3f2add(0x157)](_0x2c19b0);if(_0x5b4bef){_0xb82230=new RegExp(_0xdffe7a[_0x159fd6][_0x3f2add(0x159)]+_0x3f2add(0x225),'i'),_0x12dd8c=_0x2c19b0[_0x3f2add(0x285)](_0xb82230),_0x41a813='';_0x12dd8c&&(_0x12dd8c[0x1]&&(_0x12dd8c=_0x12dd8c[0x1]));if(_0x12dd8c){_0x12dd8c=_0x12dd8c['split'](/[._]+/);for(_0x5d7769=0x0;_0x5d7769<_0x12dd8c[_0x3f2add(0x30a)];_0x5d7769+=0x1){_0x5d7769===0x0?_0x41a813+=_0x12dd8c[_0x5d7769]+'.':_0x41a813+=_0x12dd8c[_0x5d7769];}}else _0x41a813='0';return{'name':_0xdffe7a[_0x159fd6][_0x3f2add(0x2e4)],'version':parseFloat(_0x41a813)};}}return{'name':'unknown','version':0x0};}},_0x10b944=_0x163697[_0x340cf5(0x2c5)]();return _0x10b944['os']['name'];};return{'getDeviceName':_0x29760c,'getCurrentPlatform':_0x44b746,'isApple':_0x2d0e4,'isWindows':_0x3ca658,'isAndroid':_0x2de9c0,'isMac':_0x1e3c29,'isiPhone':_0x39fd8b,'isiPad':_0x567f01,'getDeviceDescription':_0x37256a};})()),_0x2e2d23=_0x5709f4=>{const _0x385599=_0x5c70;let _0x2c99b7=0x3c;switch(_0x5709f4){case BB[_0x385599(0x247)][_0x385599(0x2bf)]:_0x2c99b7=0x3c;break;case BB[_0x385599(0x247)][_0x385599(0x275)]:_0x2c99b7=0x3c;break;case BB[_0x385599(0x247)]['Src59_MediaTime59']:_0x2c99b7=0xea60/0x3e9;break;case BB['FrameRateMode']['Src29_MediaTime29']:_0x2c99b7=0x7530/0x3e9;break;default:console[_0x385599(0x1f7)](_0x385599(0x2a5));break;};return _0x2c99b7;},_0x1b2113=_0x365344=>{const _0x749776=_0x5c70;let _0x5becb7=0x3c;switch(_0x365344){case BB['FrameRateMode']['Src60_MediaTime60']:_0x5becb7=0x3c;break;case BB[_0x749776(0x247)][_0x749776(0x275)]:_0x5becb7=0xea60/0x3e9;break;case BB[_0x749776(0x247)]['Src59_MediaTime59']:_0x5becb7=0xea60/0x3e9;break;case BB[_0x749776(0x247)][_0x749776(0x2da)]:_0x5becb7=0x7530/0x3e9;break;default:console[_0x749776(0x1f7)](_0x749776(0x109));break;};return _0x5becb7;},_0x36433f=(_0x41bfde,_0x2b8c38)=>{const _0x1734e4=_0x5c70,_0x1ee13e=(_0x279df3,_0x545cdd)=>{const _0x279635=_0x5c70;if(Math[_0x279635(0x21a)](_0x279df3-_0x545cdd)<0.01)return!![];else return![];};if(_0x1ee13e(_0x41bfde,0x3c)){if(_0x1ee13e(BB[_0x1734e4(0x179)]['getSourceFPS'](_0x2b8c38[_0x1734e4(0x300)]),0x3c))_0x2b8c38[_0x1734e4(0x300)]=BB['FrameRateMode'][_0x1734e4(0x2bf)];else{if(_0x1ee13e(BB[_0x1734e4(0x179)][_0x1734e4(0x2f2)](_0x2b8c38[_0x1734e4(0x300)]),0xea60/0x3e9))_0x2b8c38['frameRateMode']=BB[_0x1734e4(0x247)][_0x1734e4(0x275)];else console[_0x1734e4(0x1f7)](_0x1734e4(0x10d));}}else{if(_0x1ee13e(_0x41bfde,0xea60/0x3e9)){if(_0x1ee13e(BB[_0x1734e4(0x179)][_0x1734e4(0x2f2)](_0x2b8c38['frameRateMode']),0x3c))_0x2b8c38[_0x1734e4(0x300)]=BB['FrameRateMode'][_0x1734e4(0x1bd)];else{if(_0x1ee13e(BB['Utils'][_0x1734e4(0x2f2)](_0x2b8c38[_0x1734e4(0x300)]),0xea60/0x3e9))_0x2b8c38['frameRateMode']=BB[_0x1734e4(0x247)][_0x1734e4(0x30c)];else console[_0x1734e4(0x1f7)](_0x1734e4(0x10d));}}else{if(_0x1ee13e(_0x41bfde,0x7530/0x3e9)){if(_0x1ee13e(BB[_0x1734e4(0x179)][_0x1734e4(0x2f2)](_0x2b8c38['frameRateMode']),0x7530/0x3e9))_0x2b8c38['frameRateMode']=BB[_0x1734e4(0x247)]['Src29_MediaTime29'];else console[_0x1734e4(0x1f7)](_0x1734e4(0x271)+_0x41bfde);}else console[_0x1734e4(0x1f7)](_0x1734e4(0x2f8));}}},_0x146e3c=()=>{const _0x1b583e=[0x7530/0x3e9,0x1e/0x1],_0x1648da=[0xea60/0x3e9,0x3c/0x1];let _0x359cd8=[],_0x1c64b7=[],_0x2ad931=0x0,_0x397f52=-0x1,_0xf59eb4=0x0;const _0x373221=_0x4de99b=>{const _0x494401=_0x5c70;_0xf59eb4++;let _0x8c785a=0x3e7,_0x5d5d47=0x0;if(_0x397f52==-0x1){_0x397f52=_0x4de99b;return;}else{let _0x5a09b8=_0x4de99b-_0x397f52;if(_0x2ad931<0x64){_0x1c64b7[_0x494401(0x1a9)](_0x5a09b8),_0x2ad931++;return;}else _0x1c64b7['push'](_0x5a09b8),_0x1c64b7[_0x494401(0x175)]();let _0x32ab05=0x0;for(let _0x14641f=0x0;_0x14641f<_0x1c64b7['length'];_0x14641f++){_0x32ab05+=_0x1c64b7[_0x14641f];}_0x5a09b8=_0x32ab05/_0x1c64b7[_0x494401(0x30a)];if(0x1/_0x5a09b8<0x28)possibleFps=_0x1b583e;else possibleFps=_0x1648da;}_0x397f52=_0x4de99b;for(let _0x4f5c61=0x0;_0x4f5c61<possibleFps[_0x494401(0x30a)];++_0x4f5c61){let _0xc85c67=possibleFps[_0x4f5c61],_0x2e3c6c=_0x4de99b*_0xc85c67,_0x51d62d=Math[_0x494401(0x2fb)](_0x2e3c6c),_0x371051=Math[_0x494401(0x21a)](_0x2e3c6c-_0x51d62d);_0x371051<_0x8c785a&&(_0x8c785a=_0x371051,_0x5d5d47=_0xc85c67);}let _0x27d7a8=_0x5d5d47;_0x359cd8[_0x494401(0x1a9)](_0x27d7a8);if(_0xf59eb4>0x3e8)_0x359cd8['shift']();},_0x4a3d1c=()=>{const _0x8609cd=_0x5c70;let _0x499a39={},_0x39020e,_0x1ec042=0x0;for(let _0x3975a3=0x0;_0x3975a3<_0x359cd8[_0x8609cd(0x30a)];_0x3975a3++){let _0x2d118f=_0x359cd8[_0x3975a3];_0x499a39[_0x2d118f]=(_0x499a39[_0x2d118f]||0x0)+0x1,_0x499a39[_0x2d118f]>_0x1ec042&&(_0x39020e=_0x2d118f,_0x1ec042=_0x499a39[_0x2d118f]);}return _0x39020e;},_0x598a1d=()=>{return _0xf59eb4;};return{'addTime':_0x373221,'getProbableFPS':_0x4a3d1c,'howMany':_0x598a1d};};return{'TimeCodesFramesTranslator':_0x52d909,'MedianCalculator':_0x188916,'Platform':_0x386a77,'getMediaTimeFPS':_0x2e2d23,'getSourceFPS':_0x1b2113,'setMediaFPS':_0x36433f,'FPSGetter':_0x146e3c};})()),BB['Socket']=class{constructor(_0x2b10fa){const _0x54a131=_0x4e65bd;this[_0x54a131(0x277)]=![],this[_0x54a131(0x1a0)]='',this[_0x54a131(0x2ff)]=_0x2b10fa,this['name']='';}[_0x4e65bd(0x147)](_0x18a785){const _0x4853f3=_0x4e65bd;if(typeof io=='undefined'||this[_0x4853f3(0x277)])return;this[_0x4853f3(0x277)]=!![];const _0x64c221=io(_0x4853f3(0x1fe));_0x64c221['on'](_0x4853f3(0x319),()=>{const _0x1a7e09=_0x4853f3;console[_0x1a7e09(0x181)]('socket\x20connected');let _0x1391d6=BB[_0x1a7e09(0x179)][_0x1a7e09(0x1d3)];_0x64c221[_0x1a7e09(0x310)]('setinfo',{'device':_0x1391d6[_0x1a7e09(0x19a)]()},_0x1851a1=>{const _0x4bdba0=_0x1a7e09;this[_0x4bdba0(0x2e4)]=_0x1851a1[_0x4bdba0(0x2e4)],_0x64c221['emit'](_0x4bdba0(0x2b2),_0x18a785,_0x21c087=>{const _0x5ec6ce=_0x4bdba0;console[_0x5ec6ce(0x181)](_0x5ec6ce(0x31b)+_0x18a785+_0x5ec6ce(0x2a4)),this[_0x5ec6ce(0x2ff)](_0x5ec6ce(0x2b2),_0x21c087);});});}),_0x64c221['on'](_0x4853f3(0x1f7),_0x29e3e1=>{const _0x2f5c1a=_0x4853f3;console[_0x2f5c1a(0x1f7)](_0x2f5c1a(0x141)+_0x29e3e1);}),_0x64c221['on'](_0x4853f3(0x2c9),_0x42598e=>{const _0x22e54d=_0x4853f3;console['error'](_0x22e54d(0x127)+_0x42598e);}),_0x64c221['on'](_0x4853f3(0x107),_0x460ccd=>{const _0x34103d=_0x4853f3;this[_0x34103d(0x2ff)]('messageroom',_0x460ccd),console[_0x34103d(0x181)](_0x34103d(0x302),_0x460ccd);}),_0x64c221['on'](_0x4853f3(0x188),_0x1e7757=>{const _0x2aa176=_0x4853f3;this[_0x2aa176(0x2ff)](_0x2aa176(0x188),_0x1e7757),console[_0x2aa176(0x181)](_0x2aa176(0x10f),_0x1e7757);});}},BB['Augmenter']=(_0x30d672,_0x380823,_0x1d21ca)=>{const _0x31eeee=_0x4e65bd;console[_0x31eeee(0x181)](_0x31eeee(0x2d2));function _0x1f3ddc(_0x435d6f,_0x11eec2){const _0x2a4b56=_0x31eeee;let _0x53179a='';if(_0x435d6f&&_0x435d6f[_0x2a4b56(0x1a5)](_0x2a4b56(0x120))){const _0x3a8b91=_0x435d6f['replace'](/.*NTC./,'');let _0x4c7622=0x0;while(_0x4c7622+0x8<=_0x3a8b91[_0x2a4b56(0x30a)]){const _0x3d202f=_0x3a8b91[_0x2a4b56(0x29e)](_0x4c7622,_0x4c7622+0x4),_0x4d70de=((_0x3a8b91[_0x2a4b56(0x2b4)](_0x4c7622+0x4)*0x100+_0x3a8b91[_0x2a4b56(0x2b4)](_0x4c7622+0x5))*0x100+_0x3a8b91[_0x2a4b56(0x2b4)](_0x4c7622+0x6))*0x100+_0x3a8b91[_0x2a4b56(0x2b4)](_0x4c7622+0x7);if(_0x4c7622+0x8+_0x4d70de>_0x3a8b91[_0x2a4b56(0x30a)])break;const _0x38ac87=_0x3a8b91[_0x2a4b56(0x29e)](_0x4c7622+0x8,_0x4c7622+0x8+_0x4d70de);_0x3d202f=='utc_'&&(timecodeDateTime=new Date(parseInt(_0x38ac87))[_0x2a4b56(0x251)]()/0x3e8,timecodeDelta=timecodeDateTime-_0x11eec2);_0x3d202f==_0x2a4b56(0x1a8)&&(tcTimeStamp=new Date(parseInt(_0x38ac87))['getTime']());if(_0x3d202f===_0x2a4b56(0x2f6)){timecode_offset=parseInt(_0x38ac87)/0x5a;if(_0x1d21ca[_0x2a4b56(0x11b)])console[_0x2a4b56(0x181)](_0x2a4b56(0x28a),timecode_offset);}_0x4c7622+=0x8+_0x4d70de;}}return _0x53179a;}let _0x5c165d=[0x0,0x0,0x0,0x0,0x0];function _0x19c44a(_0xad4a95){const _0x3e3ce0=_0x31eeee;if(_0xad4a95&&_0xad4a95[_0x3e3ce0(0x1e0)]&&_0xad4a95[_0x3e3ce0(0x1e0)]['id']==0x0||_0xa5911b[_0x3e3ce0(0x125)]()){if(_0xad4a95[_0x3e3ce0(0x1e0)][_0x3e3ce0(0x23b)])_0xad4a95[_0x3e3ce0(0x1e0)][_0x3e3ce0(0x23b)]=_0x1f3ddc(_0xad4a95['metadata'][_0x3e3ce0(0x23b)],_0xad4a95[_0x3e3ce0(0x1e0)][_0x3e3ce0(0x12f)]);else{if(_0xad4a95[_0x3e3ce0(0x1e0)][_0x3e3ce0(0x1a4)]&&_0xad4a95['metadata'][_0x3e3ce0(0x1a4)][_0x3e3ce0(0x30a)]&&_0xad4a95[_0x3e3ce0(0x1e0)]['frames'][0x0]['key']&&_0xad4a95[_0x3e3ce0(0x1e0)][_0x3e3ce0(0x1a4)][0x0][_0x3e3ce0(0x201)][_0x3e3ce0(0x224)]()===_0x3e3ce0(0x20f)){const _0x1da1c6=_0xad4a95['metadata']['frames'][_0x3e3ce0(0x321)](_0x29e3f5=>{const _0x12219a=_0x3e3ce0;return _0x29e3f5[_0x12219a(0x2b6)]&&_0x29e3f5[_0x12219a(0x2b6)]['toLowerCase']()[_0x12219a(0x1a5)](_0x12219a(0x11d));});_0x1da1c6[_0x3e3ce0(0x30a)]&&(messageData=_0x1da1c6[_0x1da1c6['length']-0x1]['info']+'\x00'+String['fromCharCode'](..._0x1da1c6[_0x1da1c6[_0x3e3ce0(0x30a)]-0x1][_0x3e3ce0(0x1b2)]),_0xad4a95['metadata'][_0x3e3ce0(0x23b)]=_0x1f3ddc(messageData,_0xad4a95['metadata'][_0x3e3ce0(0x12f)]));}}(_0xad4a95[_0x3e3ce0(0x1e0)]['id']==0x0||_0xa5911b['isMac']()&&timecode_offset==0x0)&&(presentationTime=_0xad4a95[_0x3e3ce0(0x1e0)][_0x3e3ce0(0x12f)]*0x3e8,offsetTimeCode=new Date(tcTimeStamp-timecode_offset),offsetTimeCodeframeNumber=Math['round'](offsetTimeCode['getUTCMilliseconds']()*0x1e*0x2/0x3e9)/0x2,decimalPartOff=offsetTimeCodeframeNumber%0x1,partoff=0x1,decimalPartOff==0.5&&(offsetTimeCodeframeNumber=Math['floor'](offsetTimeCodeframeNumber),partoff=0x2),_0x5c165d=[offsetTimeCode[_0x3e3ce0(0x145)](),offsetTimeCode['getUTCMinutes'](),offsetTimeCode['getUTCSeconds'](),parseInt(offsetTimeCodeframeNumber),partoff==0x1?0x0:0x1]);}}function _0x7ab2(_0x107165){const _0x2b5cae=_0x31eeee;if(typeof globalConfig!==_0x2b5cae(0x249)){if(typeof globalConfig['MKsync']!==_0x2b5cae(0x249)){if(globalConfig[_0x2b5cae(0x2c2)]=='no')return;}}if(BB['Utils'][_0x2b5cae(0x2f2)](_0x1d21ca['frameRateMode'])==0x7530/0x3e9){let _0x26152a={'frame':0x0,'playerTime':0x0};_0x26152a[_0x2b5cae(0x1cd)]=BB[_0x2b5cae(0x179)]['TimeCodesFramesTranslator']['Timecode2Frames'](_0x5c165d,0x7530/0x3e9,![]),_0x26152a[_0x2b5cae(0x2d8)]=BB[_0x2b5cae(0x179)][_0x2b5cae(0x280)][_0x2b5cae(0x2bb)](_0x5c165d,![],![]),console['log'](_0x2b5cae(0x2d4)+_0x107165['url']+_0x2b5cae(0x2f7)+_0x26152a[_0x2b5cae(0x2d8)]+'\x20('+_0x26152a['frame']+')'+_0x2b5cae(0x287)+_0x107165[_0x2b5cae(0x1ab)]),_0x26152a['playerTime']=_0x107165[_0x2b5cae(0x1ab)],_0x1d21ca[_0x2b5cae(0x16b)]=_0x26152a;}else{if(BB['Utils'][_0x2b5cae(0x2f2)](_0x1d21ca[_0x2b5cae(0x300)])==0xea60/0x3e9){let _0x21914d={'frame':0x0,'playerTime':0x0};_0x21914d[_0x2b5cae(0x1cd)]=BB[_0x2b5cae(0x179)]['TimeCodesFramesTranslator'][_0x2b5cae(0x105)](_0x5c165d,0xea60/0x3e9,!![]),_0x21914d[_0x2b5cae(0x2d8)]=BB[_0x2b5cae(0x179)][_0x2b5cae(0x280)][_0x2b5cae(0x2bb)](_0x5c165d,!![],![]),console[_0x2b5cae(0x181)](_0x2b5cae(0x2d4)+_0x107165[_0x2b5cae(0x221)]+_0x2b5cae(0x2f7)+_0x21914d['stringTime']+'\x20('+_0x21914d[_0x2b5cae(0x1cd)]+')'+'\x20playing\x20at\x20'+_0x107165[_0x2b5cae(0x1ab)]),_0x21914d[_0x2b5cae(0x158)]=_0x107165[_0x2b5cae(0x1ab)],_0x1d21ca[_0x2b5cae(0x16b)]=_0x21914d;}}_0x107165[_0x2b5cae(0x15c)][_0x2b5cae(0x1a5)](_0x2b5cae(0x1c2))&&console[_0x2b5cae(0x181)](_0x2b5cae(0x30f)+_0x107165[_0x2b5cae(0x221)]);}function _0x41e775(_0x172653){const _0xe2f487=_0x31eeee;switch(_0x172653[_0xe2f487(0x1b7)]){case wmcEvents['AMC_EVENT_PLAYER_SEGMENT_PLAYBACK']:let _0x1c57fe={'frame':0x0,'playerTime':0x0};BB[_0xe2f487(0x179)][_0xe2f487(0x2f2)](_0x1d21ca[_0xe2f487(0x300)])==0x7530/0x3e9&&(console[_0xe2f487(0x181)](_0xe2f487(0x2d4)+_0x172653[_0xe2f487(0x221)]+_0xe2f487(0x2f7)+BB[_0xe2f487(0x179)][_0xe2f487(0x280)]['timeDate2TCString'](_0x172653[_0xe2f487(0x252)],0x7530/0x3e9)+_0xe2f487(0x287)+_0x172653[_0xe2f487(0x1ab)]),_0x1c57fe[_0xe2f487(0x1cd)]=BB[_0xe2f487(0x179)][_0xe2f487(0x280)][_0xe2f487(0x105)](BB[_0xe2f487(0x179)][_0xe2f487(0x280)][_0xe2f487(0x2b3)](_0x172653[_0xe2f487(0x252)],0x7530/0x3e9),0x7530/0x3e9,![]),_0x1c57fe[_0xe2f487(0x2d8)]=BB[_0xe2f487(0x179)][_0xe2f487(0x280)][_0xe2f487(0x1e6)](_0x172653['dateTime'],0x7530/0x3e9));BB[_0xe2f487(0x179)][_0xe2f487(0x2f2)](_0x1d21ca['frameRateMode'])==0xea60/0x3e9&&(console['log'](_0xe2f487(0x2d4)+_0x172653[_0xe2f487(0x221)]+'):\x20'+BB[_0xe2f487(0x179)][_0xe2f487(0x280)][_0xe2f487(0x1e6)](_0x172653[_0xe2f487(0x252)],0xea60/0x3e9)+'\x20playing\x20at\x20'+_0x172653[_0xe2f487(0x1ab)]),_0x1c57fe[_0xe2f487(0x1cd)]=BB[_0xe2f487(0x179)][_0xe2f487(0x280)][_0xe2f487(0x105)](BB[_0xe2f487(0x179)][_0xe2f487(0x280)][_0xe2f487(0x2b3)](_0x172653[_0xe2f487(0x252)]),fps,!![]),_0x1c57fe[_0xe2f487(0x2d8)]=BB[_0xe2f487(0x179)][_0xe2f487(0x280)][_0xe2f487(0x1e6)](_0x172653['dateTime'],0xea60/0x3e9));_0x1c57fe[_0xe2f487(0x158)]=_0x172653['playbackTime'],_0x1d21ca['syncPoint']=_0x1c57fe;break;default:}}let _0x1b2b58=BB[_0x31eeee(0x179)][_0x31eeee(0x280)],_0x2c964b=BB[_0x31eeee(0x179)][_0x31eeee(0x2f2)](_0x1d21ca[_0x31eeee(0x300)]),_0x492cc3=BB['Utils'][_0x31eeee(0x30b)](_0x1d21ca[_0x31eeee(0x300)]);refreshRate=_0x1d21ca[_0x31eeee(0x17a)];let _0x5e5178=null,_0x3124b3=null,_0x1eb497=null;if(_0x1d21ca[_0x31eeee(0x22d)]==BB[_0x31eeee(0x254)]['Augment']){}else{let _0x541f5d=document[_0x31eeee(0x259)]('canvas');_0x541f5d[_0x31eeee(0x1dd)]=0x1f4,_0x541f5d['height']=0x1f4,document[_0x31eeee(0x1f1)][_0x31eeee(0x154)](_0x541f5d),_0x1eb497=_0x541f5d[_0x31eeee(0x2bd)]('webgl');}let _0xa5911b=BB['Utils'][_0x31eeee(0x1d3)],_0x18cab8=-0x1,_0x21f734=![];const _0x21ae93=(_0x33ca55,_0x4f8fda)=>{const _0x4340ea=_0x31eeee,_0x40105e=performance['now']();if(_0x18cab8==_0x33ca55&&_0x4f8fda==_0x21f734){if(_0x1d21ca[_0x4340ea(0x11b)])console[_0x4340ea(0x1ec)](_0x4340ea(0x31e)+_0x33ca55);return 0x0;}if(!_0x1d21ca[_0x4340ea(0x1a1)]||_0x1d21ca[_0x4340ea(0x22f)])return _0x3124b3['CleanGL'](),0x0;if(_0x1d21ca['renderingMode']==BB[_0x4340ea(0x254)][_0x4340ea(0x139)])renderDigit(_0x1eb497,_0x33ca55);else{if(_0x1d21ca[_0x4340ea(0x22d)]==BB['RenderingMode'][_0x4340ea(0x10a)]){if(_0x2c964b==0xea60/0x3e9||_0x2c964b==0x3c)renderTimecode(_0x1eb497,_0x1b2b58['Frames2Timecode'](_0x33ca55,_0x2c964b,!![]),!![]);else{if(_0x2c964b==0x7530/0x3e9||_0x2c964b==0x1e)renderTimecode(_0x1eb497,_0x1b2b58[_0x4340ea(0x2e6)](_0x33ca55,_0x2c964b,![]),![]);}}else{if(_0x1d21ca[_0x4340ea(0x22d)]==BB[_0x4340ea(0x254)]['Augment']){if(_0x2c964b==0xea60/0x3e9||_0x2c964b==0x3c)_0x3124b3[_0x4340ea(0x25d)](_0x1b2b58[_0x4340ea(0x2bb)](_0x1b2b58[_0x4340ea(0x2e6)](_0x33ca55,_0x2c964b,!![])));else(_0x2c964b==0x7530/0x3e9||_0x2c964b==0x1e)&&(_0x4f8fda?_0x3124b3['renderAugmentation'](_0x1b2b58[_0x4340ea(0x2bb)](_0x1b2b58[_0x4340ea(0x2e6)](_0x33ca55*0x2+0x1,_0x2c964b*0x2,!![]),!![])):_0x3124b3[_0x4340ea(0x25d)](_0x1b2b58[_0x4340ea(0x2bb)](_0x1b2b58[_0x4340ea(0x2e6)](_0x33ca55,_0x2c964b,![]),![])));}}}_0x18cab8=_0x33ca55,_0x21f734=_0x4f8fda;const _0x29bfbf=performance[_0x4340ea(0x163)]();return _0x29bfbf-_0x40105e;};let _0x2363bf=0x0,_0x5e9c1f=0x0,_0x3e3ce4=0x20,_0x23b5f5=0x20,_0x2c942e='',_0x20cf98=function(_0x1d9290,_0x3258c5){const _0x28b644=_0x31eeee;if(_0x2c942e=='ANI2'){if(_0x1d21ca[_0x28b644(0x11b)])console[_0x28b644(0x1ec)](_0x28b644(0x18b));_0x380823[_0x28b644(0x2ee)](_0x20cf98);return;}_0x2c942e='VID',lastNow=_0x1d9290;let _0x3450c4=(_0x3258c5['mediaTime']-_0x1d21ca['syncPoint'][_0x28b644(0x158)])%(0x3c*0x3c*0x18)*_0x492cc3,_0x526431=_0x3258c5[_0x28b644(0x235)]-_0x1d21ca[_0x28b644(0x16b)]['playerTime'];lastFrameFromVideoCallback=Math[_0x28b644(0x232)](_0x3450c4+0.1)+_0x1d21ca[_0x28b644(0x16b)]['frame'];if(_0x1d21ca[_0x28b644(0x11b)]){var _0x5b7713=document['getElementById'](_0x28b644(0x21f))[_0x28b644(0x11f)],_0x3f0b53=parseInt(_0x5b7713);lastFrameFromVideoCallback+=_0x3f0b53;}else lastFrameFromVideoCallback+=0x1;_0x536258=_0x3258c5['mediaTime'];let _0x15be6f=_0x380823[_0x28b644(0x136)],_0x560c76=document[_0x28b644(0x1a3)](_0x28b644(0x2f5));var _0x4b95bd='';if(BB[_0x28b644(0x179)][_0x28b644(0x2f2)](_0x1d21ca[_0x28b644(0x300)])==0xea60/0x3e9)_0x4b95bd=_0x1b2b58['printTimecode'](_0x1b2b58[_0x28b644(0x2e6)](lastFrameFromVideoCallback,_0x2c964b,!![]),!![],!![]);else BB[_0x28b644(0x179)][_0x28b644(0x2f2)](_0x1d21ca[_0x28b644(0x300)])==0x7530/0x3e9?_0x4b95bd=_0x1b2b58[_0x28b644(0x2bb)](_0x1b2b58[_0x28b644(0x2e6)](lastFrameFromVideoCallback,_0x2c964b,![]),![],![]):_0x4b95bd='NOT\x20SUPPORTED';var _0xa37a88='';if(BB[_0x28b644(0x179)][_0x28b644(0x2f2)](_0x1d21ca['frameRateMode'])==0xea60/0x3e9)_0xa37a88=_0x1b2b58[_0x28b644(0x2bb)](_0x1b2b58['Frames2Timecode'](_0x1d21ca[_0x28b644(0x173)]['offset'],_0x2c964b,!![]),!![],!![]);else BB[_0x28b644(0x179)]['getSourceFPS'](_0x1d21ca[_0x28b644(0x300)])==0x7530/0x3e9?_0xa37a88=_0x1b2b58[_0x28b644(0x2bb)](_0x1b2b58[_0x28b644(0x2e6)](_0x1d21ca['augmentation'][_0x28b644(0x1ad)],_0x2c964b,![]),![],![]):_0xa37a88=_0x28b644(0x233);let _0x4c0273=lastFrameFromVideoCallback-_0x1d21ca[_0x28b644(0x173)][_0x28b644(0x1ad)];if(_0x5e5178)_0x5e5178[_0x28b644(0x180)](_0x4c0273);var _0x333c7e='';if(BB[_0x28b644(0x179)][_0x28b644(0x2f2)](_0x1d21ca[_0x28b644(0x300)])==0xea60/0x3e9)_0x333c7e=_0x1b2b58[_0x28b644(0x2bb)](_0x1b2b58[_0x28b644(0x2e6)](_0x4c0273,_0x2c964b,!![]),!![],!![]);else BB[_0x28b644(0x179)]['getSourceFPS'](_0x1d21ca[_0x28b644(0x300)])==0x7530/0x3e9?_0x333c7e=_0x1b2b58[_0x28b644(0x2bb)](_0x1b2b58[_0x28b644(0x2e6)](_0x4c0273,_0x2c964b,![]),![],![]):_0x333c7e=_0x28b644(0x233);let _0x52a01a=Date['now']()-_0x5e9c1f,_0x23c7be=new Date(),_0x305a68=String(_0x23c7be['getHours']())['padStart'](0x2,'0'),_0x5e5e3d=String(_0x23c7be[_0x28b644(0x2c7)]())[_0x28b644(0x24d)](0x2,'0'),_0x16c812=String(_0x23c7be[_0x28b644(0x219)]())[_0x28b644(0x24d)](0x2,'0'),_0x26f253=String(_0x23c7be[_0x28b644(0x1cc)]())['padStart'](0x3,'0'),_0x119ab6=_0x305a68+':'+_0x5e5e3d+':'+_0x16c812+'.'+_0x26f253;if(_0x1d21ca[_0x28b644(0x11b)]){_0x560c76[_0x28b644(0x1b9)]=_0x28b644(0x27a)+_0x28b644(0x176)+_0x1d21ca[_0x28b644(0x1c7)]+_0x28b644(0x236)+_0x119ab6+_0x28b644(0x111)+_0x4b95bd+',\x20offset:\x20'+_0x1d21ca['augmentation'][_0x28b644(0x1ad)]+'('+_0xa37a88+')'+_0x28b644(0x146)+_0x333c7e+_0x28b644(0x2b7);;}_0x2363bf++,_0x5e9c1f=Date['now']();let _0x504f4c=![];if(_0x1d21ca[_0x28b644(0x11b)]){var _0x5c6c17=document[_0x28b644(0x1a3)](_0x28b644(0x1f8));_0x504f4c=_0x5c6c17['checked'];}let _0x1e63e7=0x0;if(BB['Utils'][_0x28b644(0x2f2)](_0x1d21ca[_0x28b644(0x300)])==0x7530/0x3e9){let _0x42a434=0x18,_0x2250e6=0x21+(0x21-_0x42a434);_0x52a01a<_0x42a434&&_0x3e3ce4<_0x2250e6||_0x3e3ce4<_0x42a434&&_0x52a01a<_0x2250e6||_0x23b5f5<_0x42a434&&_0x3e3ce4<_0x2250e6&&_0x52a01a<_0x2250e6||_0x504f4c==!![]?(_0x560c76[_0x28b644(0x1b9)]+=_0x28b644(0x2cd),setTimeout(function(){_0x21ae93(_0x4c0273,![]);},0xa)):_0x21ae93(_0x4c0273,![]);}else BB[_0x28b644(0x179)][_0x28b644(0x2f2)](_0x1d21ca[_0x28b644(0x300)])==0xea60/0x3e9?_0x1e63e7=_0x21ae93(_0x4c0273,![]):console['BBlog'](_0x28b644(0x25e));_0x23b5f5=_0x3e3ce4,_0x3e3ce4=_0x52a01a;_0x1d21ca[_0x28b644(0x11b)]&&console[_0x28b644(0x1ec)](_0x28b644(0x17c)+_0x28b644(0x169)+_0x119ab6+_0x28b644(0x14b)+_0x4b95bd+_0x28b644(0x298)+_0x1e63e7['toFixed'](0x4)+'\x20ms');_0x380823[_0x28b644(0x2ee)](_0x20cf98);return;};const _0x366098=_0x29c9b3=>{const _0x43c78f=_0x31eeee;let _0x12eb6b=new Date(),_0x4c8532=String(_0x12eb6b[_0x43c78f(0x19d)]())['padStart'](0x2,'0'),_0x12a796=String(_0x12eb6b[_0x43c78f(0x2c7)]())[_0x43c78f(0x24d)](0x2,'0'),_0x397554=String(_0x12eb6b[_0x43c78f(0x219)]())[_0x43c78f(0x24d)](0x2,'0'),_0x20213d=String(_0x12eb6b['getMilliseconds']())[_0x43c78f(0x24d)](0x3,'0'),_0x962c87=_0x4c8532+':'+_0x12a796+':'+_0x397554+'.'+_0x20213d;if(_0x380823[_0x43c78f(0x2f0)]){window[_0x43c78f(0x2be)](_0x366098);return;}let _0x570be1=document['getElementById'](_0x43c78f(0x1fa));if(_0x1d21ca[_0x43c78f(0x11b)])_0x570be1[_0x43c78f(0x1b9)]='ANI.\x20'+_0x43c78f(0x137)+_0x962c87;if(_0x2c942e==_0x43c78f(0x199)||_0x2c942e==_0x43c78f(0x2a3)){var _0x394db2='';if(BB[_0x43c78f(0x179)]['getSourceFPS'](_0x1d21ca['frameRateMode'])==0xea60/0x3e9)_0x394db2=_0x1b2b58[_0x43c78f(0x2bb)](_0x1b2b58['Frames2Timecode'](_0x18cab8+0x1,_0x2c964b,!![]),!![],!![]);else BB[_0x43c78f(0x179)][_0x43c78f(0x2f2)](_0x1d21ca['frameRateMode'])==0x7530/0x3e9?_0x394db2=_0x1b2b58['printTimecode'](_0x1b2b58[_0x43c78f(0x2e6)](_0x18cab8+0x1,_0x2c964b,![]),![],![]):_0x394db2='NOT\x20SUPPORTED';var _0x671bf8='';if(BB[_0x43c78f(0x179)][_0x43c78f(0x2f2)](_0x1d21ca['frameRateMode'])==0xea60/0x3e9)_0x671bf8=_0x1b2b58[_0x43c78f(0x2bb)](_0x1b2b58['Frames2Timecode'](_0x1d21ca[_0x43c78f(0x173)][_0x43c78f(0x1ad)],_0x2c964b,!![]),!![],!![]);else BB[_0x43c78f(0x179)][_0x43c78f(0x2f2)](_0x1d21ca[_0x43c78f(0x300)])==0x7530/0x3e9?_0x671bf8=_0x1b2b58[_0x43c78f(0x2bb)](_0x1b2b58[_0x43c78f(0x2e6)](_0x1d21ca[_0x43c78f(0x173)][_0x43c78f(0x1ad)],_0x2c964b,![]),![],![]):_0x671bf8=_0x43c78f(0x233);let _0x421858=_0x18cab8-_0x1d21ca['augmentation'][_0x43c78f(0x1ad)];var _0x2227d3='';if(BB[_0x43c78f(0x179)][_0x43c78f(0x2f2)](_0x1d21ca[_0x43c78f(0x300)])==0xea60/0x3e9)_0x2227d3=_0x1b2b58['printTimecode'](_0x1b2b58[_0x43c78f(0x2e6)](_0x421858,_0x2c964b,!![]),!![],!![]);else BB[_0x43c78f(0x179)][_0x43c78f(0x2f2)](_0x1d21ca[_0x43c78f(0x300)])==0x7530/0x3e9?_0x2227d3=_0x1b2b58['printTimecode'](_0x1b2b58[_0x43c78f(0x2e6)](_0x421858,_0x2c964b,![]),![],![]):_0x2227d3=_0x43c78f(0x233);_0x1d21ca['debug']&&(console[_0x43c78f(0x1ec)](_0x43c78f(0x10b)+_0x394db2+')'+',\x20stage:\x20'+_0x2c942e),_0x570be1[_0x43c78f(0x1b9)]+=_0x43c78f(0x289));let _0xd81b0b=_0x21ae93(_0x18cab8+0x1,![]);if(_0x1d21ca[_0x43c78f(0x11b)])console[_0x43c78f(0x1ec)](_0x43c78f(0x246)+_0x43c78f(0x137)+_0x962c87+_0x43c78f(0x1f0)+',\x20time:\x20'+_0x394db2+_0x43c78f(0x2f3)+_0x1d21ca[_0x43c78f(0x173)][_0x43c78f(0x1ad)]+'('+_0x671bf8+')'+_0x43c78f(0x1be)+_0x2227d3+_0x43c78f(0x298)+_0xd81b0b['toFixed'](0x4)+_0x43c78f(0x1c3));if(_0x2c942e==_0x43c78f(0x199))_0x2c942e=_0x43c78f(0x2a3);else{if(_0x2c942e==_0x43c78f(0x2a3))_0x2c942e=_0x43c78f(0x199);}}else{if(_0x1d21ca[_0x43c78f(0x11b)])console['BBlog']('ANI.'+_0x43c78f(0x137)+_0x962c87);_0x2c942e='ANI';}window[_0x43c78f(0x2be)](_0x366098);};let _0x1b1b6d=_0x1d21ca[_0x31eeee(0x300)]==BB[_0x31eeee(0x247)][_0x31eeee(0x275)]?-0.04:+0.05,_0x1778c7=0x0,_0x199280={},_0xbdb6b1=0x0,_0x4e9993=0x0,_0x4f4a31=0x0,_0x2f3e10=0x0,_0xf87fb1=0x0,_0x536258=-0x1,_0x18404d=0x0,_0x29f3a1=![];const _0x39fa97=(_0xe770ca,_0x31e2c1)=>{const _0x44f2b8=_0x31eeee;_0x18404d=Date[_0x44f2b8(0x163)]();let _0x8d5b7=_0x31e2c1[_0x44f2b8(0x235)]*_0x492cc3;if(_0x1d21ca['debug']){var _0x1958f8=document[_0x44f2b8(0x1a3)](_0x44f2b8(0x21f))[_0x44f2b8(0x11f)],_0x344d94=parseInt(_0x1958f8);_0x8d5b7+=_0x344d94;}else _0x8d5b7+=0x1;_0xf87fb1+0x1!=Math[_0x44f2b8(0x232)](_0x8d5b7)&&(_0x29f3a1=!![]);_0xf87fb1=Math[_0x44f2b8(0x232)](_0x8d5b7);var _0x500fc6='';if(BB['Utils'][_0x44f2b8(0x2f2)](_0x1d21ca[_0x44f2b8(0x300)])==0xea60/0x3e9)_0x500fc6=_0x1b2b58[_0x44f2b8(0x2bb)](_0x1b2b58['Frames2Timecode'](_0xf87fb1,_0x2c964b,!![]),!![],!![]);else BB[_0x44f2b8(0x179)]['getSourceFPS'](_0x1d21ca[_0x44f2b8(0x300)])==0x7530/0x3e9?_0x500fc6=_0x1b2b58[_0x44f2b8(0x2bb)](_0x1b2b58[_0x44f2b8(0x2e6)](_0xf87fb1,_0x2c964b,![]),![],![]):_0x500fc6=_0x44f2b8(0x233);let _0x47ee1a=document['getElementById'](_0x44f2b8(0x2f5));_0x47ee1a['textContent']=_0x44f2b8(0x1d1)+_0x8d5b7['toFixed'](0x4)+_0x44f2b8(0x228)+_0xf87fb1+_0x44f2b8(0x119)+_0x2f3e10+'\x20Time:\x20'+_0x500fc6,_0x2f3e10++,_0x536258=_0x31e2c1['mediaTime'],_0x380823[_0x44f2b8(0x2ee)](_0x39fa97);return;};let _0x291e8c=0x0,_0x2424ea=0x0;const _0x4169ab=_0x457bd8=>{const _0x18cb01=_0x31eeee;var _0x3d80bb=Date[_0x18cb01(0x163)](),_0x451ec8=_0x3d80bb-_0x18404d;let _0x162c7a=document['getElementById'](_0x18cb01(0x1fa));var _0x46bafa=0x0;_0x162c7a[_0x18cb01(0x291)]='\x20countAppleANI:\x20'+_0x24c602+'\x20Frame:\x20'+_0xf87fb1+_0x18cb01(0x206)+_0x451ec8+_0x18cb01(0x1c3);var _0x31114b=0x0;if(_0x1d21ca['enabled']&&_0x5d2e13>=_0xf87fb1&&_0x5d2e13<_0xf87fb1+0x5){_0x31114b=0x1+(_0x5d2e13-_0xf87fb1);if(_0x1d21ca[_0x18cb01(0x11b)])_0x162c7a[_0x18cb01(0x291)]+='\x20+'+_0x31114b+_0x18cb01(0x2b5)+(_0xf87fb1+_0x31114b);}else _0x31114b=0x0;if(_0x29f3a1&&_0x291e8c==_0x2424ea&&_0x31114b==_0x291e8c)_0x162c7a[_0x18cb01(0x291)]+='\x20forceSync',_0x46bafa=_0xf87fb1,_0x29f3a1=![];else _0x29f3a1&&(_0x291e8c!=_0x2424ea||_0x31114b!=_0x291e8c)?(_0x162c7a[_0x18cb01(0x291)]+=_0x18cb01(0x1fc),_0x46bafa=_0xf87fb1+_0x31114b,_0x29f3a1=![]):_0x46bafa=_0xf87fb1+_0x31114b;if(_0x5e5178)_0x5e5178['setLastFrame'](_0x46bafa);_0x21ae93(_0x46bafa),_0x24c602++,_0x5d2e13=_0x46bafa,_0x2424ea=_0x291e8c,_0x291e8c=_0x31114b,window[_0x18cb01(0x2be)](_0x4169ab);return;},_0x98ebf8=(_0x5eac12,_0x4e6123)=>{const _0xecff31=_0x31eeee;_0x18404d=performance[_0xecff31(0x163)]();var _0x2ba505=_0x4e6123[_0xecff31(0x235)]*_0x492cc3,_0x1744dd=Math['floor'](_0x2ba505),_0x314e57='';if(BB[_0xecff31(0x179)]['getSourceFPS'](_0x1d21ca[_0xecff31(0x300)])==0xea60/0x3e9)_0x314e57=_0x1b2b58['printTimecode'](_0x1b2b58[_0xecff31(0x2e6)](_0x1744dd,_0x2c964b,!![]),!![],!![]);else BB[_0xecff31(0x179)][_0xecff31(0x2f2)](_0x1d21ca[_0xecff31(0x300)])==0x7530/0x3e9?_0x314e57=_0x1b2b58['printTimecode'](_0x1b2b58[_0xecff31(0x2e6)](_0x1744dd,_0x2c964b,![]),![],![]):_0x314e57='NOT\x20SUPPORTED';let _0x3122e4=document[_0xecff31(0x1a3)]('debugText2');_0x3122e4[_0xecff31(0x291)]=_0xecff31(0x1d1)+_0x2ba505['toFixed'](0x4)+'\x20Frame:\x20'+_0x1744dd+_0xecff31(0x119)+_0x2f3e10+_0xecff31(0x13d)+_0x314e57,_0x2f3e10++,_0x380823[_0xecff31(0x2ee)](_0x98ebf8);return;};let _0x3aeb8f=![];const _0x3e792f=_0x474fa5=>{const _0x6fbd35=_0x31eeee;var _0x35d45a=0x0;if(_0x1d21ca[_0x6fbd35(0x11b)]){let _0x5723f8=document['getElementById']('debugText');var _0x247239=document[_0x6fbd35(0x1a3)](_0x6fbd35(0x21f))['value'];_0x35d45a=parseInt(_0x247239);}var _0x6d7bbe=0x0,_0x176b4b=(_0x380823['currentTime']-_0x1d21ca[_0x6fbd35(0x16b)][_0x6fbd35(0x158)])%(0x3c*0x3c*0x18)*_0x492cc3;_0x6d7bbe=Math[_0x6fbd35(0x232)](_0x176b4b)+_0x1d21ca[_0x6fbd35(0x16b)][_0x6fbd35(0x1cd)],_0x6d7bbe+=_0x35d45a;var _0x137c07=_0x176b4b-Math['floor'](_0x176b4b);if(_0x3aeb8f||_0x137c07<0.226)_0x3aeb8f=!![];if(_0x137c07>0.8)_0x3aeb8f=![];if(_0x3aeb8f)_0x6d7bbe--;var _0x4c5217='';if(BB[_0x6fbd35(0x179)][_0x6fbd35(0x2f2)](_0x1d21ca[_0x6fbd35(0x300)])==0xea60/0x3e9)_0x4c5217=_0x1b2b58[_0x6fbd35(0x2bb)](_0x1b2b58['Frames2Timecode'](_0x6d7bbe,_0x2c964b,!![]),!![],!![]);else BB[_0x6fbd35(0x179)]['getSourceFPS'](_0x1d21ca[_0x6fbd35(0x300)])==0x7530/0x3e9?_0x4c5217=_0x1b2b58['printTimecode'](_0x1b2b58['Frames2Timecode'](_0x6d7bbe,_0x2c964b,![]),![],![]):_0x4c5217=_0x6fbd35(0x233);var _0x52786a='';if(BB[_0x6fbd35(0x179)]['getSourceFPS'](_0x1d21ca[_0x6fbd35(0x300)])==0xea60/0x3e9)_0x52786a=_0x1b2b58['printTimecode'](_0x1b2b58['Frames2Timecode'](_0x1d21ca['augmentation'][_0x6fbd35(0x1ad)],_0x2c964b,!![]),!![],!![]);else BB[_0x6fbd35(0x179)][_0x6fbd35(0x2f2)](_0x1d21ca[_0x6fbd35(0x300)])==0x7530/0x3e9?_0x52786a=_0x1b2b58[_0x6fbd35(0x2bb)](_0x1b2b58[_0x6fbd35(0x2e6)](_0x1d21ca[_0x6fbd35(0x173)][_0x6fbd35(0x1ad)],_0x2c964b,![]),![],![]):_0x52786a=_0x6fbd35(0x233);let _0x404faa=_0x6d7bbe-_0x1d21ca[_0x6fbd35(0x173)][_0x6fbd35(0x1ad)];if(_0x5e5178)_0x5e5178[_0x6fbd35(0x180)](_0x404faa);_0x21ae93(_0x404faa),_0x24c602++,window[_0x6fbd35(0x2be)](_0x3e792f);return;},_0x46d4dd=(_0x2f4a00,_0x138694)=>{const _0x43d614=_0x31eeee;let _0x1670ec=_0x138694[_0x43d614(0x235)]*_0x492cc3;var _0x2e94a0=0x0;if(_0x1d21ca['debug']){var _0x3cfc54=document[_0x43d614(0x1a3)]('numberInput')[_0x43d614(0x11f)];_0x2e94a0=parseInt(_0x3cfc54);}_0x1670ec+=_0x2e94a0,_0xf87fb1=Math[_0x43d614(0x232)](_0x1670ec);var _0x35fe48='';if(BB[_0x43d614(0x179)][_0x43d614(0x2f2)](_0x1d21ca['frameRateMode'])==0xea60/0x3e9)_0x35fe48=_0x1b2b58[_0x43d614(0x2bb)](_0x1b2b58['Frames2Timecode'](_0xf87fb1,_0x2c964b,!![]),!![],!![]);else BB[_0x43d614(0x179)][_0x43d614(0x2f2)](_0x1d21ca[_0x43d614(0x300)])==0x7530/0x3e9?_0x35fe48=_0x1b2b58[_0x43d614(0x2bb)](_0x1b2b58[_0x43d614(0x2e6)](_0xf87fb1,_0x2c964b,![]),![],![]):_0x35fe48=_0x43d614(0x233);let _0x58c855=document[_0x43d614(0x1a3)]('debugText2');_0x58c855[_0x43d614(0x291)]=_0x43d614(0x1d1)+_0x1670ec[_0x43d614(0x17f)](0x4)+_0x43d614(0x228)+_0xf87fb1+'\x20countAppleVideo:\x20'+_0x2f3e10+_0x43d614(0x13d)+_0x35fe48,_0x2f3e10++,_0x536258=_0x138694['mediaTime'],_0x380823['requestVideoFrameCallback'](_0x46d4dd);return;_0x4f4a31=_0x2f4a00,_0x199280=_0x138694;let _0x277fa7=_0x380823[_0x43d614(0x136)],_0x40342a=(_0x277fa7-_0x138694[_0x43d614(0x235)])*0x3e8;_0x1778c7=_0x40342a,_0x380823[_0x43d614(0x2ee)](_0x46d4dd);};let _0x3206c3=-0x1,_0x1d8700=0x270f,_0x30c517=0x0,_0x24c602=0x0,_0x5d2e13=0x0;const _0x20b937=_0x1124f3=>{const _0x5cae8f=_0x31eeee;let _0x460c4b=document[_0x5cae8f(0x1a3)](_0x5cae8f(0x1fa));var _0x6b0786=0x0;_0x460c4b[_0x5cae8f(0x291)]='\x20countAppleANI:\x20'+_0x24c602+_0x5cae8f(0x228)+_0xf87fb1;if(_0x1d21ca[_0x5cae8f(0x1a1)]&&_0x5d2e13>=_0xf87fb1&&_0x5d2e13<_0xf87fb1+0x5){var _0x31a9a6=0x1+(_0x5d2e13-_0xf87fb1);_0x6b0786=_0xf87fb1+_0x31a9a6;if(_0x1d21ca[_0x5cae8f(0x11b)])_0x460c4b[_0x5cae8f(0x291)]+='\x20+'+_0x31a9a6+_0x5cae8f(0x2b5)+_0x6b0786;}else _0x6b0786=_0xf87fb1;if(_0x5e5178)_0x5e5178[_0x5cae8f(0x180)](_0x6b0786);_0x21ae93(_0x6b0786),_0x24c602++,_0x5d2e13=_0x6b0786,window[_0x5cae8f(0x2be)](_0x20b937);return;if(_0x3206c3>0x0){_0x21ae93(_0x3206c3,!![]),_0x3206c3=-0x1,window[_0x5cae8f(0x2be)](_0x20b937);return;}let _0x5ab214=_0x380823[_0x5cae8f(0x136)],_0x535056=(_0x5ab214-_0x1d21ca[_0x5cae8f(0x16b)][_0x5cae8f(0x158)])*_0x492cc3;_0x535056+=_0x1d21ca['syncPoint'][_0x5cae8f(0x1cd)],_0x535056=_0x535056%(0x3c*0x3c*0x18*_0x492cc3);if(!![]){let _0x8821a9=0x0,_0x181cb7=_0x8821a9*_0x30d672[_0x5cae8f(0x1a7)]+_0x30d672[_0x5cae8f(0x2ca)];_0x1d21ca['frameRateMode']==BB[_0x5cae8f(0x247)][_0x5cae8f(0x2bf)]&&(_0xa5911b[_0x5cae8f(0x14f)]()||_0xa5911b[_0x5cae8f(0x2ac)]())&&(_0x1b1b6d=-0.043*_0x8821a9+1.36);_0x181cb7+=_0x1b1b6d;let _0x1b362e=Math[_0x5cae8f(0x232)](_0x535056),_0x3caae4=_0x535056-_0x1b362e,_0xdeea36=0x0;if(_0x1d21ca['frameRateMode']==BB[_0x5cae8f(0x247)][_0x5cae8f(0x275)]){if(_0xa5911b['isMac']()&&Math[_0x5cae8f(0x2fb)](_0x8821a9)<=0x17)_0xdeea36=0x1;else _0xa5911b[_0x5cae8f(0x125)]()&&Math[_0x5cae8f(0x2fb)](_0x8821a9)>=0x22?_0xdeea36=0x2:_0xdeea36=Math['round'](_0x8821a9*_0x30d672['slope']+_0x30d672['intercept'])-0x1;_0x1b362e-=Math[_0x5cae8f(0x232)]((_0x1b362e-0x1)/0x3e9)+_0xdeea36,_0xa5911b[_0x5cae8f(0x2ac)]()&&_0x1b362e++;}else{if(_0x1d21ca[_0x5cae8f(0x300)]==BB['FrameRateMode'][_0x5cae8f(0x2bf)]){if(_0xa5911b[_0x5cae8f(0x125)]()&&Math[_0x5cae8f(0x2fb)](_0x8821a9)>=0x22)_0x1b362e--;else _0xa5911b[_0x5cae8f(0x2ac)]()&&_0x1b362e++;}else{if(_0x1d21ca[_0x5cae8f(0x300)]==BB[_0x5cae8f(0x247)][_0x5cae8f(0x30c)]){if(_0xa5911b[_0x5cae8f(0x125)]()){_0x1b362e+=0x2;let _0x541d5f=_0x535056-Math[_0x5cae8f(0x232)](_0x535056);if(_0x541d5f>0.35)_0x1b362e++;}else{if(_0xa5911b[_0x5cae8f(0x14f)]()){_0x1b362e+=0x2;let _0x182a53=_0x535056-Math['floor'](_0x535056);if(_0x182a53<0.08)_0x1b362e--;}else{if(_0xa5911b['isiPhone']()){_0x1b362e+=0x3;let _0x58dd96=_0x535056-Math[_0x5cae8f(0x232)](_0x535056);if(_0x58dd96<0.03)_0x1b362e--;}}}}else _0x1d21ca[_0x5cae8f(0x300)]==BB[_0x5cae8f(0x247)][_0x5cae8f(0x2da)]&&(_0x1b362e+=0x1);}}if(_0x1b362e<0x0)_0x1b362e=0x0;if(_0x5e5178)_0x5e5178['setLastFrame'](_0x1b362e);let _0x299f64=_0x1124f3-_0x199280[_0x5cae8f(0x1eb)];if(_0x18cab8<_0x1b362e){_0x1b362e%0x3c==0x0&&_0x1d21ca['debug']==!![]&&console[_0x5cae8f(0x181)](_0x5cae8f(0x244)+_0x1b362e+_0x5cae8f(0x162)+_0x1b2b58[_0x5cae8f(0x2bb)](_0x1b2b58['Frames2Timecode'](_0x1b362e,_0x2c964b,![]),![])+_0x5cae8f(0x1ca)+(_0x535056+_0x181cb7)['toFixed'](0x2)+',\x20w/o\x20roundinge-error:\x20'+(_0x535056+_0x181cb7-_0x1b1b6d)[_0x5cae8f(0x17f)](0x2)+_0x5cae8f(0x110)+_0x8821a9[_0x5cae8f(0x17f)](0x4)+_0x5cae8f(0x207)+_0xdeea36+',\x20frame-dif:\x20'+_0x181cb7[_0x5cae8f(0x17f)](0x2)+_0x5cae8f(0x255)+_0x535056[_0x5cae8f(0x17f)](0x4)+_0x5cae8f(0x156)+_0x1b1b6d['toFixed'](0x2)+_0x5cae8f(0x282)+_0x5ab214[_0x5cae8f(0x17f)](0x2));if(_0x1d21ca[_0x5cae8f(0x11b)]){let _0xd8c0d=document['getElementById'](_0x5cae8f(0x1fa));_0xd8c0d[_0x5cae8f(0x291)]=_0x5cae8f(0x2fa)+_0x535056[_0x5cae8f(0x17f)](0x4)+',\x20time:\x20'+_0x1b2b58[_0x5cae8f(0x2bb)](_0x1b2b58[_0x5cae8f(0x2e6)](_0x1b362e,_0x2c964b,![]),![])+_0x5cae8f(0x1f6)+_0x1778c7[_0x5cae8f(0x17f)](0x4)+_0x5cae8f(0x282)+_0x5ab214[_0x5cae8f(0x17f)](0x4)+_0x5cae8f(0x2ec)+(_0x5ab214-_0x1d21ca[_0x5cae8f(0x16b)][_0x5cae8f(0x158)])[_0x5cae8f(0x17f)](0x4)+_0x5cae8f(0x284)+_0x1d21ca[_0x5cae8f(0x16b)]['stringTime']+_0x5cae8f(0x307)+_0x1d21ca[_0x5cae8f(0x16b)]['frame']+',\x20timeStamp:\x20'+_0x1124f3[_0x5cae8f(0x17f)](0x0)+_0x5cae8f(0x2b0)+(_0x1124f3-_0x4e9993)[_0x5cae8f(0x17f)](0x0)+_0x5cae8f(0x1b3)+(_0x1124f3-_0x199280[_0x5cae8f(0x1eb)])[_0x5cae8f(0x17f)](0x0)+_0x5cae8f(0x301)+(_0x1124f3-_0x4f4a31)['toFixed'](0x0)+',\x20nowFromVideoFrame-expectedDisplayTime:\x20'+(_0x4f4a31-_0x199280['expectedDisplayTime'])[_0x5cae8f(0x17f)](0x0);}_0xbdb6b1=_0x199280[_0x5cae8f(0x1eb)],_0x4e9993=_0x1124f3,_0x3caae4<0.08?_0x3206c3=_0x1b362e:_0x21ae93(_0x1b362e);}}window[_0x5cae8f(0x2be)](_0x20b937);};console[_0x31eeee(0x1ec)](_0x31eeee(0x27c)),console[_0x31eeee(0x1ec)](_0x31eeee(0x2c3));typeof window!==_0x31eeee(0x249)?console[_0x31eeee(0x1ec)]('The\x20window\x20object\x20is\x20defined.\x20This\x20script\x20is\x20running\x20in\x20a\x20browser\x20environment.'):console[_0x31eeee(0x1ec)](_0x31eeee(0x241));_0x31eeee(0x2be)in window?console[_0x31eeee(0x1ec)](_0x31eeee(0x2f4)):console['BBlog']('requestAnimationFrame\x20is\x20not\x20supported');typeof _0x380823!=='undefined'?console[_0x31eeee(0x1ec)]('Video\x20object\x20is\x20defined.\x20This\x20script\x20is\x20running\x20in\x20a\x20browser\x20environment.'):console[_0x31eeee(0x1ec)]('Video\x20object\x20is\x20not\x20defined.\x20This\x20script\x20might\x20not\x20be\x20running\x20in\x20a\x20browser\x20environment.');_0x31eeee(0x2ee)in _0x380823?console[_0x31eeee(0x1ec)](_0x31eeee(0x113)):console[_0x31eeee(0x1ec)]('requestVideoFrameCallback\x20is\x20not\x20supported');if(_0xa5911b[_0x31eeee(0x265)]()||_0xa5911b['isAndroid']())window[_0x31eeee(0x2be)](_0x366098),_0x380823[_0x31eeee(0x1b6)]>=0x2?(console[_0x31eeee(0x1ec)](_0x31eeee(0x258)),_0x380823[_0x31eeee(0x2ee)](_0x20cf98)):(console[_0x31eeee(0x1ec)](_0x31eeee(0x151)),_0x380823[_0x31eeee(0x2dc)](_0x31eeee(0x13c),()=>{const _0x4188c6=_0x31eeee;_0x380823[_0x4188c6(0x2ee)](_0x20cf98);}));else _0xa5911b['isMac']()?window[_0x31eeee(0x2be)](_0x3e792f):console[_0x31eeee(0x1ec)]('Platform\x20not\x20supported');console[_0x31eeee(0x1ec)](_0x31eeee(0x273)),console[_0x31eeee(0x1ec)](_0x31eeee(0x212));function _0x1a6b49(){return new Promise(_0x7f4f12=>{let _0x2e2895=0x0;const _0x65e02e=[],_0x177ed7=0x14;function _0x5e60f6(_0x46987){const _0x14af4a=_0x5c70;if(_0x2e2895){const _0x40c2b0=_0x46987-_0x2e2895,_0x26c6c1=0x3e8/_0x40c2b0;if(!(_0x26c6c1===undefined)){if(_0x26c6c1>0x0&&_0x26c6c1<0xc8)_0x65e02e['push'](_0x26c6c1);}if(_0x65e02e[_0x14af4a(0x30a)]===_0x177ed7){const _0x426601=_0x65e02e[_0x14af4a(0x25f)]((_0x44b301,_0x11209c)=>_0x44b301+_0x11209c,0x0)/_0x177ed7;_0x7f4f12(Math[_0x14af4a(0x2fb)](_0x426601));return;}}_0x2e2895=_0x46987,requestAnimationFrame(_0x5e60f6);}requestAnimationFrame(_0x5e60f6);});}_0x1a6b49()[_0x31eeee(0x100)](_0x22944c=>{const _0x36c655=_0x31eeee;_0x1d21ca[_0x36c655(0x210)]=_0x22944c,_0x1d21ca[_0x36c655(0x210)]>0x46||_0x1d21ca[_0x36c655(0x210)]<0x32?(console[_0x36c655(0x21e)](_0x36c655(0x294)+_0x22944c+_0x36c655(0x1e9)),_0x1d21ca[_0x36c655(0x22f)]=!![]):console[_0x36c655(0x1ec)](_0x36c655(0x294)+_0x22944c+'\x20FPS,\x20Continuing\x20augmentation');});const _0x85a5aa=()=>{const _0x18ac29=_0x31eeee;let _0x3f660a=_0x380823[_0x18ac29(0x103)];_0x3124b3=new BB[(_0x18ac29(0x1e4))](_0x3f660a,_0x380823,_0x1d21ca),ads=BB[_0x18ac29(0x296)](_0x3124b3,_0x1d21ca),_0x5e5178=BB[_0x18ac29(0x288)](_0x1d21ca,_0x3124b3);},_0x2725d3=()=>{const _0x486381=_0x31eeee;return _0x3124b3[_0x486381(0x2ed)]();},_0x4f791b=_0x231343=>{_0x7ab2(_0x231343);},_0x5bf30c=_0x51ff7c=>{_0x19c44a(_0x51ff7c);};return{'getCanvas':_0x2725d3,'onNewSegmentInterface':_0x4f791b,'onNewMetadataInterface':_0x5bf30c,'initializeComponents':_0x85a5aa};},BB[_0x4e65bd(0x1e4)]=class{constructor(_0x1e0961,_0x237ee2,_0x37d622){const _0x22cb70=_0x4e65bd;if(_0x37d622[_0x22cb70(0x173)][_0x22cb70(0x20c)]){this['digitImg']={};for(let _0x95a594=0x0;_0x95a594<0xa;++_0x95a594){let _0x1f113e=_0x95a594+'.1',_0x555b5a=_0x95a594+'.2';this[_0x22cb70(0x187)][_0x1f113e]=this[_0x22cb70(0x1c9)](_0x1f113e),this[_0x22cb70(0x187)][_0x555b5a]=this[_0x22cb70(0x1c9)](_0x555b5a);}}this[_0x22cb70(0x2a1)]=Object[_0x22cb70(0x18d)]({'adLoopTime':0x1388,'isAdLoop':![]},_0x37d622||{}),this[_0x22cb70(0x23f)]=BB['Utils'][_0x22cb70(0x2f2)](this[_0x22cb70(0x2a1)][_0x22cb70(0x300)]),this['metadataArr']=[],this[_0x22cb70(0x134)]={},this[_0x22cb70(0x2c8)]=![],this[_0x22cb70(0x1ed)]={},this['ad2Url']={},this[_0x22cb70(0x25a)]=null,this[_0x22cb70(0x26f)]=document[_0x22cb70(0x259)](_0x22cb70(0x26f)),this[_0x22cb70(0x1d9)]=this[_0x22cb70(0x26f)][_0x22cb70(0x2bd)](_0x22cb70(0x123),{'premultipliedAlpha':![]});this[_0x22cb70(0x1d9)]==null?(this['ctx']=this[_0x22cb70(0x26f)][_0x22cb70(0x2bd)](_0x22cb70(0x1d4),{'premultipliedAlpha':![]}),this[_0x22cb70(0x1e8)]=0x1):this[_0x22cb70(0x1e8)]=0x2;console[_0x22cb70(0x181)](_0x22cb70(0x1d2)+this['ctx']+'\x20version\x20'+this[_0x22cb70(0x1e8)]);let _0xd2d0fe=_0x1e0961[_0x22cb70(0x274)],_0x2c9141=_0x1e0961['offsetLeft'],_0x58cddf=_0x1e0961[_0x22cb70(0x12a)](_0x22cb70(0x1c2))[0x0];_0x58cddf[_0x22cb70(0x1b6)]>=0x2?(this[_0x22cb70(0x26f)][_0x22cb70(0x183)][_0x22cb70(0x208)]=_0x58cddf['style'][_0x22cb70(0x208)],this[_0x22cb70(0x26f)][_0x22cb70(0x183)][_0x22cb70(0x142)]=_0x58cddf[_0x22cb70(0x183)][_0x22cb70(0x142)]):_0x58cddf[_0x22cb70(0x2dc)](_0x22cb70(0x13c),()=>{const _0x55b575=_0x22cb70;this['canvas'][_0x55b575(0x183)][_0x55b575(0x208)]=_0x58cddf[_0x55b575(0x274)]+'px',this[_0x55b575(0x26f)][_0x55b575(0x183)][_0x55b575(0x142)]=_0x58cddf[_0x55b575(0x165)]+'px';});this[_0x22cb70(0x26f)][_0x22cb70(0x183)][_0x22cb70(0x1dd)]=_0x22cb70(0x1de),this[_0x22cb70(0x26f)][_0x22cb70(0x183)][_0x22cb70(0x2fc)]=0x186a0,this[_0x22cb70(0x26f)][_0x22cb70(0x1dd)]=_0x1e0961['clientWidth'],this['canvas'][_0x22cb70(0x12d)]=_0x1e0961[_0x22cb70(0x29c)],this[_0x22cb70(0x26f)][_0x22cb70(0x183)][_0x22cb70(0x131)]=_0x22cb70(0x248);let _0x2f4a4d=_0x58cddf[_0x22cb70(0x2e9)];if(_0x2f4a4d)_0x1e0961[_0x22cb70(0x164)](this['canvas'],_0x2f4a4d);else _0x1e0961[_0x22cb70(0x154)](this['canvas']);this[_0x22cb70(0x26f)][_0x22cb70(0x183)][_0x22cb70(0x161)]=_0x22cb70(0x2a9),_0x58cddf[_0x22cb70(0x2dc)](_0x22cb70(0x21c),_0x1b0682=>{const _0x223ea5=_0x22cb70;this[_0x223ea5(0x27f)](_0x1b0682);}),this[_0x22cb70(0x223)](),this[_0x22cb70(0x20a)]=null,this['place2AdTexture']={},this[_0x22cb70(0x312)]={},this[_0x22cb70(0x214)]={},this[_0x22cb70(0x192)]=[],this[_0x22cb70(0x2bc)]=0x0,this[_0x22cb70(0x118)]=null;}[_0x4e65bd(0x18f)](_0x18cb5f){return(_0x18cb5f&_0x18cb5f-0x1)==0x0;}[_0x4e65bd(0x1c9)](_0x23f44a){const _0x2514e3=_0x4e65bd;let _0x5ec304=document[_0x2514e3(0x259)]('canvas');_0x5ec304['width']=0x32,_0x5ec304[_0x2514e3(0x12d)]=0x32;let _0x33d1b8=_0x5ec304['getContext']('2d');_0x33d1b8[_0x2514e3(0x19f)]=_0x2514e3(0x2a8),_0x33d1b8[_0x2514e3(0x323)](0x0,0x0,_0x5ec304['width'],_0x5ec304[_0x2514e3(0x12d)]),_0x33d1b8[_0x2514e3(0x121)]=_0x2514e3(0x304),_0x33d1b8[_0x2514e3(0x19f)]=_0x2514e3(0x295),_0x33d1b8[_0x2514e3(0x178)](_0x23f44a,0xa,0x23);let _0x528ac8=_0x5ec304[_0x2514e3(0x1da)](),_0x4dfbf4=document['createElement'](_0x2514e3(0x261));return _0x4dfbf4[_0x2514e3(0x1a6)]=_0x528ac8,_0x4dfbf4;}[_0x4e65bd(0x27f)](_0x4e281a){const _0x46d364=_0x4e65bd,_0x430359=this[_0x46d364(0x26f)][_0x46d364(0x24f)]();let _0x31526d=event[_0x46d364(0x198)]-_0x430359[_0x46d364(0x142)],_0x4c7281=event[_0x46d364(0x101)]-_0x430359[_0x46d364(0x208)];_0x31526d=_0x31526d/(_0x430359[_0x46d364(0x230)]-_0x430359[_0x46d364(0x142)]),_0x4c7281=_0x4c7281/(_0x430359[_0x46d364(0x11a)]-_0x430359[_0x46d364(0x208)]);for(let _0x41c2e8 of this[_0x46d364(0x192)]){if(_0x41c2e8[_0x46d364(0x1d0)]['l']<=_0x31526d&&_0x41c2e8[_0x46d364(0x1d0)]['r']>=_0x31526d&&_0x41c2e8[_0x46d364(0x1d0)]['t']<=_0x4c7281&&_0x41c2e8[_0x46d364(0x1d0)]['b']>=_0x4c7281){let _0x31b6d7=_0x41c2e8[_0x46d364(0x2e4)][_0x46d364(0x29e)](0x1);if(this[_0x46d364(0x320)][_0x31b6d7]){let _0x946c81=this[_0x46d364(0x320)][_0x31b6d7];console[_0x46d364(0x181)](_0x46d364(0x279)+_0x31b6d7+_0x46d364(0x1ac)+_0x946c81+_0x46d364(0x2d9)),window[_0x46d364(0x26d)](_0x946c81,_0x46d364(0x226));}return;}}}['TexUnitForGenericAd'](){return 0x0;}[_0x4e65bd(0x1ea)](_0x359089){const _0x1b74f1=_0x4e65bd;let _0xf11338=Object[_0x1b74f1(0x1dc)](this['place2ad']);for(let _0x58b3ef=0x0;_0x58b3ef<_0xf11338['length'];++_0x58b3ef){if(_0x359089==_0xf11338[_0x58b3ef])return _0x58b3ef+0x1;}return 0x0;}[_0x4e65bd(0x1df)](_0x24c35a){const _0x200462=_0x4e65bd;let _0x5c8799=Object[_0x200462(0x1dc)](this[_0x200462(0x312)]);for(let _0x3bfe29=0x0;_0x3bfe29<_0x5c8799[_0x200462(0x30a)];++_0x3bfe29){let _0x3a989b=_0x5c8799[_0x3bfe29];if(_0x24c35a['name'][_0x200462(0x18e)](_0x3a989b)>=0x0)return _0x3bfe29;}return 0x0;}[_0x4e65bd(0x2d7)](_0x316a7b){const _0x1bd3d9=_0x4e65bd;let _0x140395=Object[_0x1bd3d9(0x1dc)](this[_0x1bd3d9(0x312)]);for(let _0x20f27e=0x0;_0x20f27e<_0x140395[_0x1bd3d9(0x30a)];++_0x20f27e){let _0x523566=_0x140395[_0x20f27e];if(_0x316a7b[_0x1bd3d9(0x2e4)][_0x1bd3d9(0x18e)](_0x523566)>=0x0&&this['place2AdTexture']&&this[_0x1bd3d9(0x227)][_0x523566]&&this['place2AdTexture'][_0x523566][_0x1bd3d9(0x2e4)])return this[_0x1bd3d9(0x227)][_0x523566]['name'];}return this[_0x1bd3d9(0x2ae)];}['TexUnitBaseForAlpha'](){const _0x65700=_0x4e65bd;return 0x1+Object['keys'](this[_0x65700(0x312)])[_0x65700(0x30a)];}[_0x4e65bd(0x223)](){const _0x39f6d8=_0x4e65bd;let _0x1d0d11=BB['GL'][_0x39f6d8(0x253)];if(BB['Utils'][_0x39f6d8(0x1d3)][_0x39f6d8(0x125)]())_0x1d0d11=BB['GL']['fragmentShaderSource']['replace']('if\x20(alpha\x20==\x200.0)',_0x39f6d8(0x133));this[_0x39f6d8(0x22a)]=webglUtils[_0x39f6d8(0x1bb)](this[_0x39f6d8(0x1d9)],this['webGLVersion']==0x2?[BB['GL'][_0x39f6d8(0x116)],_0x1d0d11]:[BB['GL']['vertexShaderSourceV1'],BB['GL'][_0x39f6d8(0x1c8)]]),this[_0x39f6d8(0x1d9)][_0x39f6d8(0x2d5)](0x0,0x0,0x0,0x0),this['ctx'][_0x39f6d8(0x143)](this[_0x39f6d8(0x1d9)][_0x39f6d8(0x240)]),this[_0x39f6d8(0x1d9)]['useProgram'](this[_0x39f6d8(0x22a)]),this[_0x39f6d8(0x1e7)]=0x0,this[_0x39f6d8(0x14a)]();}[_0x4e65bd(0x14a)](){const _0xc09d17=_0x4e65bd;this[_0xc09d17(0x26f)][_0xc09d17(0x183)]['display']=_0xc09d17(0x2a9),this[_0xc09d17(0x2a0)]=0x0;}[_0x4e65bd(0x2eb)](_0x5f5772,_0x4b06df,_0x35ab42,_0x2eb44b,_0x5688f1,_0x2a4216,_0x3a9762){const _0x25d078=_0x4e65bd;_0x3a9762?this[_0x25d078(0x1d9)]['pixelStorei'](this[_0x25d078(0x1d9)][_0x25d078(0x1fd)],0x1):this[_0x25d078(0x1d9)][_0x25d078(0x322)](this[_0x25d078(0x1d9)][_0x25d078(0x1fd)],0x4);this[_0x25d078(0x1d9)][_0x25d078(0x322)](this[_0x25d078(0x1d9)][_0x25d078(0x128)],![]);const _0x3b6faf=this[_0x25d078(0x1d9)][_0x25d078(0x231)]();this[_0x25d078(0x1d9)]['activeTexture'](this[_0x25d078(0x1d9)]['TEXTURE0']+_0x4b06df),this[_0x25d078(0x1d9)]['bindTexture'](this[_0x25d078(0x1d9)][_0x25d078(0x2e8)],_0x3b6faf);try{_0x5688f1&&_0x2a4216?this[_0x25d078(0x1d9)][_0x25d078(0x10e)](this[_0x25d078(0x1d9)][_0x25d078(0x2e8)],0x0,_0x2eb44b==null?this['ctx'][_0x25d078(0x21b)]:_0x2eb44b,_0x5688f1,_0x2a4216,0x0,_0x2eb44b==null?this[_0x25d078(0x1d9)][_0x25d078(0x21b)]:_0x2eb44b,this[_0x25d078(0x1d9)][_0x25d078(0x189)],_0x5f5772):this['ctx'][_0x25d078(0x10e)](this[_0x25d078(0x1d9)][_0x25d078(0x2e8)],0x0,_0x2eb44b==null?this['ctx']['RGBA']:_0x2eb44b,this[_0x25d078(0x1d9)][_0x25d078(0x21b)],this[_0x25d078(0x1d9)][_0x25d078(0x189)],_0x5f5772);}catch(_0x36d74e){return console[_0x25d078(0x1f7)](_0x36d74e),null;}if(this[_0x25d078(0x1e8)]==0x1){let _0x57b1fd=_0x5688f1||_0x5f5772[_0x25d078(0x1dd)],_0x286033=_0x2a4216||_0x5f5772[_0x25d078(0x12d)];_0x57b1fd&&this[_0x25d078(0x18f)](_0x57b1fd)&&_0x286033&&this[_0x25d078(0x18f)](_0x286033)?this[_0x25d078(0x1d9)]['generateMipmap'](this[_0x25d078(0x1d9)]['TEXTURE_2D']):(this[_0x25d078(0x1d9)][_0x25d078(0x286)](this[_0x25d078(0x1d9)][_0x25d078(0x2e8)],this[_0x25d078(0x1d9)][_0x25d078(0x318)],this[_0x25d078(0x1d9)][_0x25d078(0x283)]),this[_0x25d078(0x1d9)][_0x25d078(0x286)](this[_0x25d078(0x1d9)][_0x25d078(0x2e8)],this[_0x25d078(0x1d9)][_0x25d078(0x152)],this[_0x25d078(0x1d9)][_0x25d078(0x283)]),this['ctx'][_0x25d078(0x286)](this[_0x25d078(0x1d9)]['TEXTURE_2D'],this[_0x25d078(0x1d9)]['TEXTURE_MIN_FILTER'],this['ctx'][_0x25d078(0x12e)]));}else this[_0x25d078(0x1d9)][_0x25d078(0x286)](this[_0x25d078(0x1d9)][_0x25d078(0x2e8)],this[_0x25d078(0x1d9)]['TEXTURE_WRAP_S'],this[_0x25d078(0x1d9)][_0x25d078(0x283)]),this[_0x25d078(0x1d9)]['texParameteri'](this[_0x25d078(0x1d9)]['TEXTURE_2D'],this[_0x25d078(0x1d9)]['TEXTURE_WRAP_T'],this[_0x25d078(0x1d9)][_0x25d078(0x283)]),this[_0x25d078(0x1d9)][_0x25d078(0x286)](this[_0x25d078(0x1d9)]['TEXTURE_2D'],this['ctx'][_0x25d078(0x1d5)],this[_0x25d078(0x1d9)][_0x25d078(0x12e)]),this[_0x25d078(0x1d9)][_0x25d078(0x286)](this['ctx'][_0x25d078(0x2e8)],this[_0x25d078(0x1d9)][_0x25d078(0x171)],this[_0x25d078(0x1d9)]['LINEAR']);let _0x29106f=this[_0x25d078(0x1d9)][_0x25d078(0x222)](this[_0x25d078(0x22a)],_0x35ab42);return _0x29106f&&this[_0x25d078(0x1d9)]['uniform1i'](_0x29106f,_0x4b06df),_0x3b6faf;}[_0x4e65bd(0x2d6)](){const _0x3bf04c=_0x4e65bd;this['autoAddIndex']=setTimeout(()=>{const _0x4e1cd3=_0x5c70,_0x5a2321=Object[_0x4e1cd3(0x1dc)](this[_0x4e1cd3(0x1ed)]);_0x5a2321[_0x4e1cd3(0x30a)]&&(this[_0x4e1cd3(0x213)](_0x5a2321[Math[_0x4e1cd3(0x232)](Math[_0x4e1cd3(0x31d)]()*_0x5a2321[_0x4e1cd3(0x30a)])]),this[_0x4e1cd3(0x2d6)]());},this['options'][_0x3bf04c(0x26c)]);}[_0x4e65bd(0x2b1)](_0x20b7f9,_0x1bfcc8,_0x371ee8=null){const _0x403871=_0x4e65bd;if(_0x20b7f9[_0x403871(0x18e)](_0x403871(0x311))>-0x1){fetch(_0x1bfcc8)[_0x403871(0x100)](async _0x253c5a=>{const _0x1bee9f=_0x403871;this['place2ad']=await _0x253c5a[_0x1bee9f(0x20e)](),this['ad2place']={};let _0x266b64=Object[_0x1bee9f(0x1dc)](this[_0x1bee9f(0x312)]);for(let _0x3e8460=0x0;_0x3e8460<_0x266b64['length'];++_0x3e8460){let _0x2736fa=_0x266b64[_0x3e8460];if(_0x2736fa==_0x1bee9f(0x237)){this[_0x1bee9f(0x320)]=this['place2ad'][_0x2736fa],delete this[_0x1bee9f(0x312)][_0x2736fa];continue;}let _0x5892fb=this['place2ad'][_0x2736fa];for(let _0xbf53a6=0x0;_0xbf53a6<_0x5892fb[_0x1bee9f(0x30a)];++_0xbf53a6){let _0x197516=_0x5892fb[_0xbf53a6];this[_0x1bee9f(0x214)]['#'+_0x197516]=_0x2736fa;}}Object[_0x1bee9f(0x1dc)](this['place2ad'])[_0x1bee9f(0x30a)]>0x0&&(console[_0x1bee9f(0x181)](_0x1bee9f(0x303),this['place2ad']),console['log'](_0x1bee9f(0x234),this[_0x1bee9f(0x214)]),setTimeout(()=>{const _0x47d71f=_0x1bee9f;this[_0x47d71f(0x242)]();},0xbb8));});if(_0x371ee8)_0x371ee8();return;}const _0x4fdd42=new Image();return _0x4fdd42[_0x403871(0x2d1)]=_0x403871(0x172),_0x4fdd42['onload']=()=>{const _0x1c689d=_0x403871;let _0x5bfc93=Object[_0x1c689d(0x1dc)](this[_0x1c689d(0x1ed)])['length']===0x0;this[_0x1c689d(0x1ed)][_0x20b7f9]=_0x4fdd42;_0x5bfc93&&(this['SelectAd'](_0x20b7f9),this[_0x1c689d(0x2a1)][_0x1c689d(0x2a6)]&&(clearTimeout(this[_0x1c689d(0x118)]),this[_0x1c689d(0x2d6)]()));if(_0x371ee8)_0x371ee8();},_0x4fdd42['onerror']=()=>{const _0x24cc84=_0x403871;alert(_0x24cc84(0x115)+_0x1bfcc8+'\x20.');},_0x4fdd42[_0x403871(0x1a6)]=_0x1bfcc8,_0x4fdd42;}[_0x4e65bd(0x242)](){const _0x508af2=_0x4e65bd;if(this[_0x508af2(0x312)]){let _0x21ed45=Object[_0x508af2(0x1dc)](this[_0x508af2(0x312)]);for(let _0x267a88=0x0;_0x267a88<_0x21ed45[_0x508af2(0x30a)];++_0x267a88){let _0x157c35=_0x21ed45[_0x267a88];!this['place2AdTexture'][_0x157c35]&&this[_0x508af2(0x312)][_0x157c35]['length']>0x0&&(console[_0x508af2(0x181)](_0x508af2(0x23d)+this[_0x508af2(0x312)][_0x157c35][0x0]+_0x508af2(0x1e3)+_0x157c35),this['SelectAd']('#'+this[_0x508af2(0x312)][_0x157c35][0x0]));}}}['SelectAd'](_0x54305d){const _0x5ec666=_0x4e65bd;console[_0x5ec666(0x181)](_0x5ec666(0x16d)+_0x54305d);let _0x22d581=this[_0x5ec666(0x1ed)][_0x54305d];if(!_0x22d581)console[_0x5ec666(0x1f7)]('SelectAd:\x20Failed\x20to\x20find\x20image\x20\x27'+_0x54305d+'\x27');else{if(this[_0x5ec666(0x214)]&&this['ad2place'][_0x54305d]){let _0x6ec10e=this[_0x5ec666(0x214)][_0x54305d];console[_0x5ec666(0x181)]('composer::SelectAd:\x20The\x20selected\x20ad\x20should\x20be\x20in\x20place\x20'+_0x6ec10e);let _0x5c6d31=this['TexUnitForAdInPlace'](_0x6ec10e),_0x423ca0='ad'+(_0x5c6d31-0x1);if(this[_0x5ec666(0x227)][_0x6ec10e])this['ctx']['deleteTexture'](this[_0x5ec666(0x227)][_0x6ec10e]['tex']);this['place2AdTexture'][_0x6ec10e]={'tex':this[_0x5ec666(0x2eb)](_0x22d581,_0x5c6d31,_0x423ca0),'texUnitId':_0x5c6d31,'texName':_0x423ca0,'name':_0x54305d};}else this[_0x5ec666(0x20a)]!=null&&this[_0x5ec666(0x1d9)][_0x5ec666(0x256)](this['adTexture']),this[_0x5ec666(0x20a)]=this['GenerateTexture'](_0x22d581,this[_0x5ec666(0x24e)](),_0x5ec666(0x114)),this[_0x5ec666(0x1ae)]=_0x22d581,this[_0x5ec666(0x2ae)]=_0x54305d;}}[_0x4e65bd(0x220)](_0x17f20d){const _0x2052fa=_0x4e65bd;this[_0x2052fa(0x134)][_0x17f20d[_0x2052fa(0x205)]]=_0x17f20d,this[_0x2052fa(0x1ee)][_0x2052fa(0x1a9)](_0x17f20d[_0x2052fa(0x205)]);}[_0x4e65bd(0x200)](){const _0x455032=_0x4e65bd;(this['requestFullscreen']||this[_0x455032(0x23a)])[_0x455032(0x135)](this)['catch'](_0x5714a9=>{const _0x1c351d=_0x455032;console[_0x1c351d(0x1f7)](_0x5714a9);});}['RenderFrame'](){const _0x263ab2=_0x4e65bd;let _0x43b293=this[_0x263ab2(0x1d9)]['getAttribLocation'](this[_0x263ab2(0x22a)],_0x263ab2(0x2e3)),_0x43ab1b=this[_0x263ab2(0x1d9)][_0x263ab2(0x222)](this[_0x263ab2(0x22a)],_0x263ab2(0x243)),_0x2312ec=this[_0x263ab2(0x1d9)][_0x263ab2(0x222)](this[_0x263ab2(0x22a)],_0x263ab2(0x13a));this[_0x263ab2(0x1d9)][_0x263ab2(0x186)](_0x43ab1b,this[_0x263ab2(0x1d9)][_0x263ab2(0x26f)][_0x263ab2(0x1dd)],this[_0x263ab2(0x1d9)][_0x263ab2(0x26f)][_0x263ab2(0x12d)]),this['ctx']['uniform2f'](_0x2312ec,this[_0x263ab2(0x1d9)][_0x263ab2(0x26f)][_0x263ab2(0x1dd)],this['ctx'][_0x263ab2(0x26f)]['height']);if(this[_0x263ab2(0x1e8)]==0x2){let _0x10f4eb=this[_0x263ab2(0x1d9)][_0x263ab2(0x222)](this['program'],_0x263ab2(0x1ba)),_0x539c63=[0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1];this[_0x263ab2(0x1d9)][_0x263ab2(0x24c)](_0x10f4eb,![],_0x539c63);}let _0x1e260b=null;this[_0x263ab2(0x1e8)]==0x2&&(_0x1e260b=this['ctx']['createVertexArray'](),this['ctx'][_0x263ab2(0x29f)](_0x1e260b));let _0x5c4090=this['ctx']['createBuffer']();this['ctx'][_0x263ab2(0x308)](_0x43b293),this[_0x263ab2(0x1d9)][_0x263ab2(0x299)](this[_0x263ab2(0x1d9)]['ARRAY_BUFFER'],_0x5c4090);let _0x101807=0x2,_0x1ba489=this['ctx'][_0x263ab2(0x2ea)],_0x140892=![],_0x2d5006=0x0,_0xdcff5d=0x0;this['ctx'][_0x263ab2(0x124)](_0x43b293,_0x101807,_0x1ba489,_0x140892,_0x2d5006,_0xdcff5d);let _0x43b773=this[_0x263ab2(0x1d9)][_0x263ab2(0x1e5)]();this['ctx'][_0x263ab2(0x299)](this[_0x263ab2(0x1d9)][_0x263ab2(0x1f5)],_0x43b773),this[_0x263ab2(0x1d9)][_0x263ab2(0x2c6)](this[_0x263ab2(0x1d9)][_0x263ab2(0x1f5)],new Float32Array([0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1,0x1]),this[_0x263ab2(0x1d9)][_0x263ab2(0x2ba)]),this[_0x263ab2(0x1d9)][_0x263ab2(0x17e)](0x0,0x0,this[_0x263ab2(0x1d9)]['canvas']['width'],this[_0x263ab2(0x1d9)]['canvas']['height']),this[_0x263ab2(0x1d9)]['clearColor'](0x0,0x0,0x0,0x0),this[_0x263ab2(0x1d9)][_0x263ab2(0x143)](this[_0x263ab2(0x1d9)][_0x263ab2(0x240)]|this['ctx'][_0x263ab2(0x1b4)]),this['ctx'][_0x263ab2(0x299)](this['ctx']['ARRAY_BUFFER'],_0x5c4090),this[_0x263ab2(0x24b)](this[_0x263ab2(0x1d9)],0x0,0x0,this[_0x263ab2(0x26f)][_0x263ab2(0x1dd)],this['canvas']['height']);let _0xc5d815=this[_0x263ab2(0x1d9)]['TRIANGLES'],_0x2ba996=0x6;this[_0x263ab2(0x1d9)][_0x263ab2(0x28f)](_0xc5d815,_0xdcff5d,_0x2ba996);}[_0x4e65bd(0x24b)](_0x5501db,_0x316b60,_0x10c253,_0xa3d93b,_0x1d0f17){const _0x27f218=_0x4e65bd;let _0x3502e4=_0x316b60,_0x103c09=_0x316b60+_0xa3d93b,_0x22f1c7=_0x10c253,_0x527918=_0x10c253+_0x1d0f17;this[_0x27f218(0x1d9)][_0x27f218(0x2c6)](this[_0x27f218(0x1d9)][_0x27f218(0x1f5)],new Float32Array([_0x3502e4,_0x22f1c7,_0x103c09,_0x22f1c7,_0x3502e4,_0x527918,_0x3502e4,_0x527918,_0x103c09,_0x22f1c7,_0x103c09,_0x527918]),this['ctx'][_0x27f218(0x2ba)]);}[_0x4e65bd(0x25d)](_0x4a9836){const _0x30ae2f=_0x4e65bd;let _0x1dce5b=BB[_0x30ae2f(0x179)]['TimeCodesFramesTranslator'],_0x2ab0ce=_0x1dce5b[_0x30ae2f(0x276)](_0x4a9836),_0x31f40c=_0x1dce5b[_0x30ae2f(0x1ef)](_0x2ab0ce,0x1,this['sourceFPS']),_0x4974ae=_0x1dce5b[_0x30ae2f(0x1ef)](_0x2ab0ce,0x2,this[_0x30ae2f(0x23f)]),_0x4ee38a=_0x1dce5b[_0x30ae2f(0x2bb)](_0x31f40c),_0x350837=_0x1dce5b[_0x30ae2f(0x2bb)](_0x4974ae);this[_0x30ae2f(0x2c8)]=!![];const _0x4ae36c=performance[_0x30ae2f(0x163)]();let _0x2ef88d=null,_0x1d4c81=[];if(this['metadataMap'][_0x4a9836]){_0x2ef88d=this[_0x30ae2f(0x134)][_0x4a9836];this[_0x30ae2f(0x134)][_0x4ee38a]&&_0x1d4c81[_0x30ae2f(0x1a9)]({'nextVideo':this[_0x30ae2f(0x134)][_0x4ee38a],'nextTimeCode':_0x4ee38a});this[_0x30ae2f(0x134)][_0x350837]&&_0x1d4c81[_0x30ae2f(0x1a9)]({'nextVideo':this[_0x30ae2f(0x134)][_0x350837],'nextTimeCode':_0x350837});const _0x20b720=this[_0x30ae2f(0x1ee)][_0x30ae2f(0x18e)](_0x4a9836);if(_0x20b720>-0x5)this[_0x30ae2f(0x1ee)][_0x30ae2f(0x155)](0x0,_0x20b720-0x4)['forEach'](_0x80f4c1=>{const _0x2b0818=_0x30ae2f;delete this[_0x2b0818(0x134)][_0x80f4c1];});this[_0x30ae2f(0x2a0)]++;}else this[_0x30ae2f(0x1e7)]++,this[_0x30ae2f(0x1e7)]>0x3c&&(this[_0x30ae2f(0x1e7)]=0x0,console['error'](_0x30ae2f(0x132)+_0x4a9836)),this[_0x30ae2f(0x2a0)]++;this['alphaFound']>0x1e&&this[_0x30ae2f(0x26f)][_0x30ae2f(0x183)][_0x30ae2f(0x281)]=='none'&&(this['canvas']['style'][_0x30ae2f(0x281)]='');let _0x39c630=[];this[_0x30ae2f(0x26f)]['width']=0x500,this['canvas'][_0x30ae2f(0x12d)]=0x2d0;let _0xf9f488=0x0;this[_0x30ae2f(0x192)]=[];if(_0x2ef88d){let _0x15580b=![];if(this[_0x30ae2f(0x2a1)][_0x30ae2f(0x11b)]){var _0x54e790=document[_0x30ae2f(0x1a3)](_0x30ae2f(0x2a7));_0x15580b=_0x54e790[_0x30ae2f(0x108)];}if(!_0x15580b)for(const _0x2c5f75 in _0x2ef88d[_0x30ae2f(0x22c)]){const _0x5cc227=_0x2ef88d[_0x30ae2f(0x22c)][_0x2c5f75];if(!_0x5cc227[_0x30ae2f(0x2e0)])continue;let _0x3f6ef3='alpha'+_0xf9f488,_0x42f5aa=this[_0x30ae2f(0x28d)]()+_0xf9f488;_0x5cc227['alphaTex']=this[_0x30ae2f(0x2eb)](_0x5cc227[_0x30ae2f(0x2e0)],_0x42f5aa,_0x3f6ef3,this[_0x30ae2f(0x1d9)][_0x30ae2f(0x1c6)],_0x5cc227[_0x30ae2f(0x1dd)],_0x5cc227[_0x30ae2f(0x12d)],!![]),_0x5cc227[_0x30ae2f(0x2e0)]=null;if(!_0x5cc227[_0x30ae2f(0x202)]){console[_0x30ae2f(0x1f7)]('Failed\x20to\x20create\x20alpha\x20texture');continue;}_0x39c630['push'](_0x5cc227['alphaTex']);let _0x17574c=_0x30ae2f(0x15d)+_0xf9f488,_0x432dd5=this['ctx'][_0x30ae2f(0x222)](this[_0x30ae2f(0x22a)],_0x17574c);this[_0x30ae2f(0x1d9)][_0x30ae2f(0x267)](_0x432dd5,0x1);let _0xfcc154='adForLogo'+_0xf9f488,_0x2c4aa3=this[_0x30ae2f(0x1d9)][_0x30ae2f(0x222)](this['program'],_0xfcc154),_0x49258b=![];_0x5cc227['name'][_0x30ae2f(0x18e)](_0x30ae2f(0x170))>=0x0?(this['ctx'][_0x30ae2f(0x267)](_0x2c4aa3,0x63),_0x49258b=!![]):this['ctx'][_0x30ae2f(0x267)](_0x2c4aa3,this['TexUnitForPlaceHolder'](_0x5cc227));let _0x4e3a66=_0x30ae2f(0x30d)+_0xf9f488+_0x30ae2f(0x238),_0x531d44=this[_0x30ae2f(0x1d9)]['getUniformLocation'](this[_0x30ae2f(0x22a)],_0x4e3a66);this['ctx'][_0x30ae2f(0x309)](_0x531d44,[_0x5cc227[_0x30ae2f(0x2cf)],_0x5cc227[_0x30ae2f(0x1bf)]]);let _0x4aaa18='u_alpha'+_0xf9f488+'Size',_0x5cf248=this['ctx'][_0x30ae2f(0x222)](this[_0x30ae2f(0x22a)],_0x4aaa18);this[_0x30ae2f(0x1d9)]['uniform2fv'](_0x5cf248,[_0x5cc227[_0x30ae2f(0x1dd)],_0x5cc227[_0x30ae2f(0x12d)]]);let _0x51359e=_0x30ae2f(0x1ba)+_0xf9f488,_0x19d1b5=this['ctx']['getUniformLocation'](this[_0x30ae2f(0x22a)],_0x51359e);this[_0x30ae2f(0x1d9)][_0x30ae2f(0x24c)](_0x19d1b5,![],_0x5cc227[_0x30ae2f(0x239)]);if(!_0x49258b){let _0x18a407={'l':-0x1,'t':-0x1,'r':-0x1,'b':-0x1};for(let _0x6051c0 of _0x5cc227[_0x30ae2f(0x196)]){if(_0x6051c0['x']<_0x18a407['l']||_0x18a407['l']==-0x1)_0x18a407['l']=_0x6051c0['x'];if(_0x6051c0['x']>_0x18a407['r']||_0x18a407['r']==-0x1)_0x18a407['r']=_0x6051c0['x'];if(_0x6051c0['y']<_0x18a407['t']||_0x18a407['t']==-0x1)_0x18a407['t']=_0x6051c0['y'];if(_0x6051c0['y']>_0x18a407['b']||_0x18a407['b']==-0x1)_0x18a407['b']=_0x6051c0['y'];}_0x18a407['l']/=_0x2ef88d['canvasSize'][_0x30ae2f(0x1dd)],_0x18a407['r']/=_0x2ef88d[_0x30ae2f(0x2d0)][_0x30ae2f(0x1dd)],_0x18a407['t']/=_0x2ef88d['canvasSize'][_0x30ae2f(0x12d)],_0x18a407['b']/=_0x2ef88d[_0x30ae2f(0x2d0)][_0x30ae2f(0x12d)],this[_0x30ae2f(0x192)]['push']({'name':this[_0x30ae2f(0x2d7)](_0x5cc227),'rect':_0x18a407});}_0xf9f488++;}}else{}for(;_0xf9f488<BB[_0x30ae2f(0x314)];++_0xf9f488){let _0xf46f3c=_0x30ae2f(0x15d)+_0xf9f488,_0x13d8dc=this[_0x30ae2f(0x1d9)][_0x30ae2f(0x222)](this[_0x30ae2f(0x22a)],_0xf46f3c);this['ctx'][_0x30ae2f(0x267)](_0x13d8dc,0x0);let _0x3c4ed2=_0x30ae2f(0x27b)+_0xf9f488,_0x509d2d=this[_0x30ae2f(0x1d9)][_0x30ae2f(0x222)](this['program'],_0x3c4ed2);this['ctx']['uniform1i'](_0x509d2d,0x0);}if(this[_0x30ae2f(0x2a1)][_0x30ae2f(0x173)][_0x30ae2f(0x20c)]){let _0x1f8cc5=_0x4a9836['split'](':')[0x3],_0x5046fe=_0x1f8cc5[_0x30ae2f(0x18e)]('.')>=0x0?0x2:0x1,_0x4ecb17=parseInt(_0x1f8cc5[_0x30ae2f(0x317)]('.')[0x0])%0xa,_0x37e983=_0x4ecb17+'.'+_0x5046fe,_0x3c81b3=this[_0x30ae2f(0x28d)]()+0x5,_0x150704=this[_0x30ae2f(0x2eb)](this['digitImg'][_0x37e983],_0x3c81b3,'digitTex');_0x39c630[_0x30ae2f(0x1a9)](_0x150704);let _0x4022fe=_0x30ae2f(0x22e),_0x3913f4=this[_0x30ae2f(0x1d9)][_0x30ae2f(0x222)](this['program'],_0x4022fe);this[_0x30ae2f(0x1d9)]['uniform1i'](_0x3913f4,0x1);let _0x1c80c7=_0x30ae2f(0x174),_0x2a01ec=this['ctx']['getUniformLocation'](this[_0x30ae2f(0x22a)],_0x1c80c7);this[_0x30ae2f(0x1d9)]['uniform2fv'](_0x2a01ec,[0x0,0x0]);let _0x421407=_0x30ae2f(0x25b),_0x9a6c6f=this[_0x30ae2f(0x1d9)][_0x30ae2f(0x222)](this[_0x30ae2f(0x22a)],_0x421407);this['ctx'][_0x30ae2f(0x309)](_0x9a6c6f,[0xc8,0xc8]);}else{let _0x30af42=_0x30ae2f(0x22e),_0x482e4a=this[_0x30ae2f(0x1d9)]['getUniformLocation'](this['program'],_0x30af42);this['ctx']['uniform1i'](_0x482e4a,0x0);}this['RenderFrame']();for(const _0x19cbe9 of _0x39c630){this[_0x30ae2f(0x1d9)][_0x30ae2f(0x256)](_0x19cbe9);}}['getCanvas'](){const _0x3f4b96=_0x4e65bd;return this[_0x3f4b96(0x26f)];}},BB[_0x4e65bd(0x296)]=(_0x3e4736,_0x5f5ddd)=>{const _0x1e75d0=_0x4e65bd;let _0x441767=[];const _0x2ceace=new BB[(_0x1e75d0(0x2f9))]((_0x2ff157,_0x2ae697)=>{const _0x4d78e1=_0x1e75d0;switch(_0x2ff157){case'roommembers':console['log'](_0x4d78e1(0x104),_0x2ae697);break;case _0x4d78e1(0x2b2):const _0x17d446=document[_0x4d78e1(0x1a3)]('name');_0x17d446&&(_0x17d446[_0x4d78e1(0x291)]=_0x2ceace[_0x4d78e1(0x2e4)]);break;case _0x4d78e1(0x107):if(_0x2ae697[_0x4d78e1(0x1ff)]===_0x2ceace['name']){if(_0x2ae697[_0x4d78e1(0x221)]){const _0x4889a6=_0x4d78e1(0x29b);_0x3e4736[_0x4d78e1(0x2b1)](_0x4889a6,_0x2ae697['url'],()=>{const _0x557770=_0x4d78e1;_0x3e4736[_0x557770(0x213)](_0x4889a6);});}else _0x441767=_0x2ae697[_0x4d78e1(0x188)],_0x441767[_0x4d78e1(0x30a)]&&_0x3e4736[_0x4d78e1(0x213)](_0x441767[0x0]);}break;case'ads':_0x441767=_0x2ae697;_0x441767[_0x4d78e1(0x30a)]&&_0x3e4736[_0x4d78e1(0x213)](_0x441767[0x0]);break;}});var _0x308a32=document[_0x1e75d0(0x259)](_0x1e75d0(0x190));_0x308a32[_0x1e75d0(0x1a6)]=_0x1e75d0(0x2de),document[_0x1e75d0(0x12a)]('head')[0x0][_0x1e75d0(0x154)](_0x308a32),_0x308a32[_0x1e75d0(0x2df)]=function(){const _0xbd0a52=_0x1e75d0;_0x2ceace['Connect'](_0x5f5ddd[_0xbd0a52(0x173)][_0xbd0a52(0x1cb)]);},_0x5f5ddd[_0x1e75d0(0x173)][_0x1e75d0(0x20b)]?_0x3e4736[_0x1e75d0(0x2b1)]('#ad',_0x5f5ddd[_0x1e75d0(0x173)]['logoURL']):fetch(_0x1e75d0(0x16c)+_0x5f5ddd[_0x1e75d0(0x173)][_0x1e75d0(0x1cb)])['then'](async _0x54bcdc=>{const _0xc773cc=_0x1e75d0,_0x105a0b=await _0x54bcdc[_0xc773cc(0x20e)]();_0x105a0b['forEach'](_0x457530=>{const _0x95bbc7=_0xc773cc;_0x3e4736[_0x95bbc7(0x2b1)]('#'+_0x457530[_0x95bbc7(0x2e4)],_0x457530['url']);});});},BB[_0x4e65bd(0x288)]=(_0x474c1b,_0x5ad520)=>{const _0x178c6a=_0x4e65bd;let _0x5f068a=BB[_0x178c6a(0x179)]['TimeCodesFramesTranslator'],_0x312329=BB[_0x178c6a(0x179)][_0x178c6a(0x2f2)](_0x474c1b[_0x178c6a(0x300)]),_0x4603fb,_0x477321,_0x3e8812=null,_0x5dac1e=null;console[_0x178c6a(0x181)](_0x178c6a(0x14e)+_0x474c1b[_0x178c6a(0x1c7)]);const _0x50d543=_0x3a3646=>{const _0x19b649=_0x178c6a;_0x4603fb=_0x3a3646,console['log'](_0x19b649(0x31a)+_0x474c1b[_0x19b649(0x1c7)]+':\x20'+_0x4603fb),_0x477321&&_0x39088a(_0x477321);};async function _0x33fb89(){const _0x332e3a=_0x178c6a,_0x1d059c=await fetch(_0x474c1b[_0x332e3a(0x19c)]),_0x420c6c=await _0x1d059c[_0x332e3a(0x20e)]();_0x50d543(_0x474c1b['gameId']);}_0x33fb89();const _0x4de9ca=_0x59bfde=>{_0x477321=_0x59bfde,_0x4603fb&&_0x39088a(_0x477321);},_0x39088a=_0x42efcc=>{const _0x4ba9de=_0x178c6a;if(_0x3e8812==null){console[_0x4ba9de(0x1ec)]('We\x20have\x20no\x20MetaDataDownloaderThread\x20yet.\x20Creating\x20it');let _0x405bc0=new Blob([META_WORKER],{'type':_0x4ba9de(0x1f2)});_0x3e8812=new Worker(URL['createObjectURL'](_0x405bc0)),_0x3e8812[_0x4ba9de(0x229)]=function(_0xe8322d){const _0x5dd2c6=_0x4ba9de;console[_0x5dd2c6(0x1f7)](_0x5dd2c6(0x292),_0xe8322d);},_0x3e8812[_0x4ba9de(0x2dc)](_0x4ba9de(0x1f7),function(_0x40813b){const _0x5b5903=_0x4ba9de;console[_0x5b5903(0x1f7)]('Error\x20from\x20worker\x20(via\x20addEventListener):',_0x40813b['message']);});if(_0x3e8812)console[_0x4ba9de(0x1ec)](_0x4ba9de(0x26b));else console[_0x4ba9de(0x1ec)](_0x4ba9de(0x1c4));_0x3e8812[_0x4ba9de(0x2dc)]('message',_0x16d63e=>{const _0x2f7890=_0x4ba9de;if(_0x16d63e[_0x2f7890(0x1b2)][_0x2f7890(0x102)]){}else _0x5ad520[_0x2f7890(0x220)](_0x16d63e[_0x2f7890(0x1b2)]);});let _0x4b72f8=_0x5f068a['TimeCodeArray2TimeCodeJson'](_0x5f068a[_0x4ba9de(0x2e6)](_0x42efcc,_0x312329,!![]));_0x3e8812[_0x4ba9de(0x167)]({'cloudFrontURL':_0x474c1b[_0x4ba9de(0x2fd)],'folderName':_0x4603fb,'tc':_0x5f068a['printTimecode'](_0x4b72f8,![])});}else{let _0x1c0a73=_0x5f068a[_0x4ba9de(0x168)](_0x5f068a[_0x4ba9de(0x2e6)](_0x42efcc,_0x312329,!![]));_0x3e8812[_0x4ba9de(0x167)]({'tc':_0x5f068a['printTimecode'](_0x1c0a73,![]),'enabled':_0x474c1b[_0x4ba9de(0x1a1)]});}};return{'setLastFrame':_0x4de9ca};},BB[_0x4e65bd(0x27d)]=class{constructor(_0x1b87ab,_0x3a38ab,_0x46e4c3){const _0xe72975=_0x4e65bd;this[_0xe72975(0x1c2)]=_0x1b87ab,this[_0xe72975(0x2e2)]=_0x3a38ab,console[_0xe72975(0x181)]('optionsFromMK:\x20',_0x46e4c3),this[_0xe72975(0x2a1)]=Object['assign']({'enabled':!![],'stopAugment':![],'gameId':'Unknown','medialook':![],'allGamesURL':'https://www.virtualott.com/games/','cloudFrontURL':_0xe72975(0x293),'mediaIdJsonURL':_0xe72975(0x13b),'offsetJsonURL':_0xe72975(0x2f1),'frameRateMode':BB[_0xe72975(0x247)]['Src59_MediaTime60'],'renderingMode':BB['RenderingMode']['Augment'],'SynchMethod':BB[_0xe72975(0x1c0)][_0xe72975(0x140)],'debug':![],'augmentation':{'renderTimecode':!![],'offset':0x0},'syncPoint':{'frame':0x0,'playerTime':0x0,'mediaTimeMS':0x0}},_0x46e4c3||{}),console[_0xe72975(0x181)](_0xe72975(0x269),this['options']),this[_0xe72975(0x2a1)]['augmentation'][_0xe72975(0x1cb)]=_0xe72975(0x144),console[_0xe72975(0x1ec)]=function(_0x103dff){const _0x57ee18=_0xe72975;console[_0x57ee18(0x181)](_0x57ee18(0x218)+_0x103dff);},console[_0xe72975(0x21e)]=function(_0x42b1f1){const _0x3454b0=_0xe72975;console[_0x3454b0(0x1f7)]('OTTPlayer:\x20'+_0x42b1f1);};function _0x91b76b(_0x403e43,_0x2cb813){const _0x19a3ae=_0xe72975,_0x123eb1=_0x403e43[_0x19a3ae(0x317)]('.')[_0x19a3ae(0x2af)](Number),_0x5ba443=_0x2cb813[_0x19a3ae(0x317)]('.')[_0x19a3ae(0x2af)](Number);for(let _0x4692c4=0x0;_0x4692c4<Math[_0x19a3ae(0x24a)](_0x123eb1['length'],_0x5ba443[_0x19a3ae(0x30a)]);_0x4692c4++){const _0x4374f2=_0x123eb1[_0x4692c4]||0x0,_0x36b00f=_0x5ba443[_0x4692c4]||0x0;if(_0x4374f2<_0x36b00f)return-0x1;else{if(_0x4374f2>_0x36b00f)return 0x1;}}return 0x0;}this[_0xe72975(0x16f)]();}[_0x4e65bd(0x2c5)](){const _0x11f060=_0x4e65bd;if(typeof globalConfig===_0x11f060(0x249))this[_0x11f060(0x2a1)]=Object[_0x11f060(0x18d)](this['options'],{});else this[_0x11f060(0x2a1)]=Object[_0x11f060(0x18d)](this[_0x11f060(0x2a1)],globalConfig);this[_0x11f060(0x2a1)][_0x11f060(0x173)][_0x11f060(0x1ad)]=0x0,console[_0x11f060(0x181)]('options\x20after\x20merge\x20with\x20the\x20global\x20options:\x20',this[_0x11f060(0x2a1)]);if(!this['options'][_0x11f060(0x11b)]){let _0x4109a5=[_0x11f060(0x1fa),_0x11f060(0x2ce),_0x11f060(0x12b),_0x11f060(0x2f5),_0x11f060(0xff),'numberInput',_0x11f060(0x1f8),'doNotRenderAugmentationCheckbox',_0x11f060(0x216),_0x11f060(0x14c)];for(let _0x32b268=0x0;_0x32b268<_0x4109a5['length'];_0x32b268++){const _0xfe03c9=document[_0x11f060(0x1a3)](_0x4109a5[_0x32b268]);_0xfe03c9&&(_0xfe03c9['style']['display']=_0x11f060(0x2a9));}}let _0x3fad7b=BB[_0x11f060(0x179)]['Platform'],_0x1c7c57=BB['Utils']['TimeCodesFramesTranslator'];if(this[_0x11f060(0x2e2)])this['SetFps'](this['srcFrameRate']);this[_0x11f060(0x2cc)](this[_0x11f060(0x2a1)][_0x11f060(0x1c7)]);}[_0x4e65bd(0x2b8)](){const _0x48e314=_0x4e65bd;let _0x9770cb={};this[_0x48e314(0x31c)]=BB['Augmenter'](_0x9770cb,this[_0x48e314(0x1c2)],this[_0x48e314(0x2a1)]),this[_0x48e314(0x2a1)][_0x48e314(0x22d)]==BB['RenderingMode'][_0x48e314(0x150)]&&this['frameDrawer'][_0x48e314(0x1a2)]();}async[_0x4e65bd(0x16f)](){const _0x8cf95b=_0x4e65bd,_0x4a59c5=new URL(document[_0x8cf95b(0x297)]),_0x2a70dd=_0x4a59c5[_0x8cf95b(0x306)][_0x8cf95b(0x27e)]('config')||'';if(_0x2a70dd!=='')try{const _0x1530aa=await fetch(_0x2a70dd);if(!_0x1530aa['ok'])throw new Error(_0x8cf95b(0x28b));const _0x5ec309=await _0x1530aa[_0x8cf95b(0x20e)]();console[_0x8cf95b(0x181)](_0x8cf95b(0x262),_0x5ec309),globalConfig=Object[_0x8cf95b(0x18d)]({},globalConfig,_0x5ec309);}catch(_0x1318fe){console[_0x8cf95b(0x1f7)](_0x8cf95b(0x23c),_0x1318fe);}this[_0x8cf95b(0x2c5)]();}async[_0x4e65bd(0x2cc)](_0x27faa4){const _0x67c195=_0x4e65bd;try{const _0x42d845=await fetch(this['options']['mediaIdJsonURL']+'/'+_0x27faa4);if(!_0x42d845['ok'])throw new Error(_0x67c195(0x1f9)+_0x42d845[_0x67c195(0x2d3)]);const _0x7d1862=await _0x42d845[_0x67c195(0x20e)]();if(_0x7d1862[_0x67c195(0x25c)]('GAME_ID')){const _0x2d2571=_0x7d1862[_0x67c195(0x11c)];console['BBlog']('GameId\x20for\x20mediaid=\x20'+_0x27faa4+':\x20'+_0x2d2571),this['options']['gameId']=_0x2d2571,console['log'](_0x67c195(0x117)+this[_0x67c195(0x2a1)][_0x67c195(0x1c7)]+_0x67c195(0x1f4)),this[_0x67c195(0x2b8)](),this[_0x67c195(0x270)](this['options']['gameId']);}else console[_0x67c195(0x21e)]('MediaID\x20'+_0x27faa4+_0x67c195(0x1b8)),this['options'][_0x67c195(0x22f)]=!![];}catch(_0x5e7f98){console[_0x67c195(0x21e)](_0x67c195(0x184),_0x5e7f98);}}async['fetchOffsetForGameId'](_0x3e84c7){const _0x44bdfc=_0x4e65bd;try{const _0xbe17d6=await fetch(this['options'][_0x44bdfc(0x29a)]+'/'+this['options'][_0x44bdfc(0x1c7)]);!_0xbe17d6['ok']&&(console[_0x44bdfc(0x1ec)](_0x44bdfc(0x1f9)+_0xbe17d6[_0x44bdfc(0x2d3)]),setTimeout(()=>{const _0x4e4122=_0x44bdfc;this[_0x4e4122(0x270)](_0x3e84c7);},0x1388));const _0x5c01ad=await _0xbe17d6[_0x44bdfc(0x20e)]();if(_0x5c01ad[_0x44bdfc(0x25c)]('offset')&&_0x5c01ad[_0x44bdfc(0x25c)](_0x44bdfc(0x266))){const _0x1b4378=_0x5c01ad[_0x44bdfc(0x1ad)],_0x399bc5=_0x5c01ad[_0x44bdfc(0x266)];_0x399bc5==!![]&&(console[_0x44bdfc(0x1ec)](_0x44bdfc(0x29d)+_0x3e84c7+':\x20'+_0x1b4378),this[_0x44bdfc(0x2a1)][_0x44bdfc(0x173)][_0x44bdfc(0x1ad)]=_0x1b4378,setTimeout(()=>{const _0x574931=_0x44bdfc;this[_0x574931(0x270)](_0x3e84c7);},0xea60));}else console[_0x44bdfc(0x1ec)](_0x44bdfc(0x315)+mediaID+_0x44bdfc(0x1b8)),setTimeout(()=>{const _0x10be4e=_0x44bdfc;this[_0x10be4e(0x270)](_0x3e84c7);},0x1388);}catch(_0x463bc7){console[_0x44bdfc(0x21e)]('Error\x20fetching\x20and\x20processing\x20JSON:',_0x463bc7),setTimeout(()=>{const _0x4510f8=_0x44bdfc;this[_0x4510f8(0x270)](_0x3e84c7);},0x1388);}}['Toggle'](_0x1419ca){const _0x273d85=_0x4e65bd;this[_0x273d85(0x2a1)][_0x273d85(0x1a1)]=_0x1419ca;}['GetCanvas'](){const _0x5b9fb3=_0x4e65bd;return this[_0x5b9fb3(0x31c)]['getCanvas']();}[_0x4e65bd(0x290)](_0x504496){const _0x323a6c=_0x4e65bd;let _0x3a2d35=BB[_0x323a6c(0x179)][_0x323a6c(0x1d3)];switch(_0x504496){case 0x3c:this[_0x323a6c(0x2a1)][_0x323a6c(0x300)]=BB['FrameRateMode'][_0x323a6c(0x2bf)];break;case 0xea60/0x3e9:case 59.94:_0x3a2d35[_0x323a6c(0x265)]()||_0x3a2d35[_0x323a6c(0x1ce)]()?this['options']['frameRateMode']=BB[_0x323a6c(0x247)][_0x323a6c(0x30c)]:this[_0x323a6c(0x2a1)][_0x323a6c(0x300)]=BB[_0x323a6c(0x247)][_0x323a6c(0x30c)];break;case 0x7530/0x3e9:case 29.97:this[_0x323a6c(0x2a1)]['frameRateMode']=BB['FrameRateMode']['Src29_MediaTime29'];break;default:console[_0x323a6c(0x1f7)](_0x323a6c(0x191)+_0x504496+_0x323a6c(0x1d6));break;}}[_0x4e65bd(0x106)](_0x4042a4){const _0x471482=_0x4e65bd;this[_0x471482(0x2a1)][_0x471482(0x16b)]=_0x4042a4;}['onNewSegment'](_0x55788e){const _0x3e43e3=_0x4e65bd;this[_0x3e43e3(0x31c)][_0x3e43e3(0x250)](_0x55788e);}[_0x4e65bd(0x1af)](_0x5598bb){const _0xe23394=_0x4e65bd;this[_0xe23394(0x31c)][_0xe23394(0x1e1)](_0x5598bb);}};
|
|
1
|
+
const _0x531132=_0x15a5;(function(_0x243ac2,_0x5f0ab9){const _0x369f63=_0x15a5,_0x3f7167=_0x243ac2();while(!![]){try{const _0x3e0b7d=parseInt(_0x369f63(0x257))/0x1*(-parseInt(_0x369f63(0x21a))/0x2)+-parseInt(_0x369f63(0x10d))/0x3+-parseInt(_0x369f63(0x10a))/0x4*(parseInt(_0x369f63(0x196))/0x5)+-parseInt(_0x369f63(0x1fc))/0x6*(parseInt(_0x369f63(0x1ef))/0x7)+parseInt(_0x369f63(0x297))/0x8*(-parseInt(_0x369f63(0x21f))/0x9)+parseInt(_0x369f63(0x2ba))/0xa*(parseInt(_0x369f63(0x111))/0xb)+parseInt(_0x369f63(0x29e))/0xc*(parseInt(_0x369f63(0x124))/0xd);if(_0x3e0b7d===_0x5f0ab9)break;else _0x3f7167['push'](_0x3f7167['shift']());}catch(_0x6cbcec){_0x3f7167['push'](_0x3f7167['shift']());}}}(_0x5450,0x5d97c));const META_WORKER=_0x531132(0x2f8);function _0x15a5(_0x514a46,_0x10ae3a){const _0x545075=_0x5450();return _0x15a5=function(_0x15a5cc,_0x38b82a){_0x15a5cc=_0x15a5cc-0x100;let _0x96a0d4=_0x545075[_0x15a5cc];return _0x96a0d4;},_0x15a5(_0x514a46,_0x10ae3a);}let debug_lastFrameFromVideoCallback=-0x1,debug_tc='';(function(_0x235af9,_0x565e64){const _0x105f0a=_0x531132;typeof define==='function'&&define['amd']?define([],function(){return _0x565e64['call'](_0x235af9);}):_0x235af9[_0x105f0a(0x255)]=_0x565e64[_0x105f0a(0x150)](_0x235af9);}(this,function(){'use strict';const _0x57a8d9=_0x531132;const _0x51b6bd=this;function _0x5d3a8b(_0x28481f){const _0x51242a=_0x15a5;return _0x28481f=_0x28481f||_0x51b6bd,_0x28481f!==_0x28481f[_0x51242a(0x224)];}!_0x5d3a8b()&&(console['log'](_0x57a8d9(0x2a5),_0x57a8d9(0x139),_0x57a8d9(0x197)),console[_0x57a8d9(0x28b)](_0x57a8d9(0x2a5),_0x57a8d9(0x139),_0x57a8d9(0x187)));function _0x1aed55(_0x3a3310){const _0x40ca7b=_0x57a8d9;if(_0x51b6bd[_0x40ca7b(0x294)]){if(_0x51b6bd[_0x40ca7b(0x294)][_0x40ca7b(0x230)])_0x51b6bd['console'][_0x40ca7b(0x230)](_0x3a3310);else _0x51b6bd[_0x40ca7b(0x294)][_0x40ca7b(0x28b)]&&_0x51b6bd[_0x40ca7b(0x294)]['log'](_0x3a3310);}}const _0x1367a7=/ERROR:\s*\d+:(\d+)/gi;function _0x23615a(_0x4acd4b,_0x1dcf67=''){const _0x41e24b=_0x57a8d9,_0x146aae=[..._0x1dcf67[_0x41e24b(0x285)](_0x1367a7)],_0xea5788=new Map(_0x146aae['map']((_0x2ef297,_0x9f52c)=>{const _0x4841d3=_0x41e24b,_0x517c99=parseInt(_0x2ef297[0x1]),_0xaf8871=_0x146aae[_0x9f52c+0x1],_0x3a2777=_0xaf8871?_0xaf8871[_0x4841d3(0x1a7)]:_0x1dcf67[_0x4841d3(0x2ce)],_0x3e5e97=_0x1dcf67[_0x4841d3(0x157)](_0x2ef297['index'],_0x3a2777);return[_0x517c99-0x1,_0x3e5e97];}));return _0x4acd4b[_0x41e24b(0x1a3)]('\x0a')[_0x41e24b(0x1ec)]((_0x28efd5,_0x1665ca)=>{const _0xab70ed=_0x41e24b,_0x91d0c0=_0xea5788[_0xab70ed(0x266)](_0x1665ca);return _0x1665ca+0x1+':\x20'+_0x28efd5+(_0x91d0c0?_0xab70ed(0x2c2)+_0x91d0c0:'');})[_0x41e24b(0x1ba)]('\x0a');}function _0x439f7a(_0x2292bd,_0x4b4235,_0x4c2bc0,_0x5fa7c6){const _0xba98f3=_0x57a8d9,_0x3ea74e=_0x5fa7c6||_0x1aed55,_0x503771=_0x2292bd[_0xba98f3(0x131)](_0x4c2bc0);_0x2292bd[_0xba98f3(0x1e1)](_0x503771,_0x4b4235),_0x2292bd[_0xba98f3(0x2ed)](_0x503771);const _0x389126=_0x2292bd[_0xba98f3(0x22e)](_0x503771,_0x2292bd[_0xba98f3(0x2f4)]);if(!_0x389126){const _0x396d4f=_0x2292bd['getShaderInfoLog'](_0x503771);return _0x3ea74e(_0xba98f3(0x240)+_0x396d4f+'\x0a'+_0x23615a(_0x4b4235,_0x396d4f)),_0x2292bd[_0xba98f3(0x220)](_0x503771),null;}return _0x503771;}function _0x268d6b(_0x3b0faa,_0x1af11d,_0xc971c2,_0x54e5c2,_0x6795cc){const _0x36750e=_0x57a8d9,_0x3bf655=_0x6795cc||_0x1aed55,_0x545e92=_0x3b0faa[_0x36750e(0x207)]();_0x1af11d[_0x36750e(0x273)](function(_0x27e6aa){const _0x294875=_0x36750e;_0x3b0faa[_0x294875(0x229)](_0x545e92,_0x27e6aa);});_0xc971c2&&_0xc971c2[_0x36750e(0x273)](function(_0x3f6b2e,_0x1112ba){_0x3b0faa['bindAttribLocation'](_0x545e92,_0x54e5c2?_0x54e5c2[_0x1112ba]:_0x1112ba,_0x3f6b2e);});_0x3b0faa['linkProgram'](_0x545e92);const _0x456064=_0x3b0faa[_0x36750e(0x288)](_0x545e92,_0x3b0faa[_0x36750e(0x2b2)]);if(!_0x456064){const _0x27aa93=_0x3b0faa[_0x36750e(0x26b)](_0x545e92);return _0x3bf655(_0x36750e(0x218)+_0x27aa93+'\x0a'+_0x1af11d[_0x36750e(0x1ec)](_0x2bf025=>{const _0x1fff83=_0x36750e,_0x368f46=_0x23615a(_0x3b0faa[_0x1fff83(0x1c4)](_0x2bf025)),_0x187630=_0x3b0faa[_0x1fff83(0x22e)](_0x2bf025,_0x3b0faa['SHADER_TYPE']);return glEnumToString(_0x3b0faa,_0x187630)+':\x0a'+_0x368f46;})['join']('\x0a')),_0x3b0faa[_0x36750e(0x1d6)](_0x545e92),null;}return _0x545e92;}function _0x292b1f(_0x3cc3ee,_0xd520f1,_0x3aece0,_0x3b6ff8){const _0x61e481=_0x57a8d9;let _0x4c31a7='',_0x277a75;const _0x57a2ce=document[_0x61e481(0x1e6)](_0xd520f1);if(!_0x57a2ce)throw _0x61e481(0x287)+_0xd520f1;_0x4c31a7=_0x57a2ce[_0x61e481(0x18b)];if(!_0x3aece0){if(_0x57a2ce[_0x61e481(0x18a)]===_0x61e481(0x14c))_0x277a75=_0x3cc3ee['VERTEX_SHADER'];else{if(_0x57a2ce['type']===_0x61e481(0x2b5))_0x277a75=_0x3cc3ee['FRAGMENT_SHADER'];else{if(_0x277a75!==_0x3cc3ee[_0x61e481(0x17f)]&&_0x277a75!==_0x3cc3ee['FRAGMENT_SHADER'])throw _0x61e481(0x2da);}}}return _0x439f7a(_0x3cc3ee,_0x4c31a7,_0x3aece0?_0x3aece0:_0x277a75,_0x3b6ff8);}const _0x292d3f=[_0x57a8d9(0x17f),_0x57a8d9(0x278)];function _0xc7485(_0x2f2948,_0x4eb406,_0x5d5659,_0x4a6203,_0x5c71c3){const _0x53effc=_0x57a8d9,_0xb536f=[];for(let _0x92454b=0x0;_0x92454b<_0x4eb406[_0x53effc(0x2ce)];++_0x92454b){_0xb536f[_0x53effc(0x1f6)](_0x292b1f(_0x2f2948,_0x4eb406[_0x92454b],_0x2f2948[_0x292d3f[_0x92454b]],_0x5c71c3));}return _0x268d6b(_0x2f2948,_0xb536f,_0x5d5659,_0x4a6203,_0x5c71c3);}function _0x1b7104(_0x1f15e3,_0x2dc96c,_0x4a4e98,_0x27d61f,_0x4b8b06){const _0x5c9522=_0x57a8d9,_0x2f4ee2=[];for(let _0x174fda=0x0;_0x174fda<_0x2dc96c[_0x5c9522(0x2ce)];++_0x174fda){_0x2f4ee2[_0x5c9522(0x1f6)](_0x439f7a(_0x1f15e3,_0x2dc96c[_0x174fda],_0x1f15e3[_0x292d3f[_0x174fda]],_0x4b8b06));}return _0x268d6b(_0x1f15e3,_0x2f4ee2,_0x4a4e98,_0x27d61f,_0x4b8b06);}function _0xd5951d(_0x19ab0b,_0x213aca){const _0x494b9e=_0x57a8d9;_0x213aca=_0x213aca||0x1;const _0x11b046=_0x19ab0b['clientWidth']*_0x213aca|0x0,_0x200bc5=_0x19ab0b[_0x494b9e(0x189)]*_0x213aca|0x0;if(_0x19ab0b[_0x494b9e(0x143)]!==_0x11b046||_0x19ab0b[_0x494b9e(0x228)]!==_0x200bc5)return _0x19ab0b['width']=_0x11b046,_0x19ab0b[_0x494b9e(0x228)]=_0x200bc5,!![];return![];}return{'createProgram':_0x268d6b,'createProgramFromScripts':_0xc7485,'createProgramFromSources':_0x1b7104,'resizeCanvasToDisplaySize':_0xd5951d};}));const BB={'MAX_LOGOS':0x4};BB['GL']={'vertexShaderSource':_0x531132(0x2e9),'fragmentShaderSource':_0x531132(0x1a1),'vertexShaderSourceV1':'\x0a\x0a//High\x20precision\x20mode\x0aprecision\x20highp\x20float;\x0a\x0a//\x20an\x20attribute\x20is\x20an\x20input\x20(in)\x20to\x20a\x20vertex\x20shader.\x0a//\x20It\x20will\x20receive\x20vertex\x20data\x20from\x20the\x20buffer\x0aattribute\x20vec2\x20a_position;\x0aattribute\x20vec2\x20a_texCoord;\x0auniform\x20vec2\x20u_resolution;\x0avarying\x20vec2\x20v_texCoord;\x0a\x0a\x0a//\x20Main\x20vertex\x20shader\x0avoid\x20main()\x20{\x0a\x20\x20//\x20convert\x20the\x20rectangle\x20from\x20pixels\x20to\x200.0\x20to\x201.0\x0a\x20\x20\x20vec2\x20zeroToOne\x20=\x20a_position\x20/\x20u_resolution;\x0a\x0a\x20\x20\x20//\x20convert\x20from\x200->1\x20to\x200->2\x0a\x20\x20\x20vec2\x20zeroToTwo\x20=\x20zeroToOne\x20*\x202.0;\x0a\x0a\x20\x20\x20//\x20convert\x20from\x200->2\x20to\x20-1->+1\x20(clipspace)\x0a\x20\x20\x20vec2\x20clipSpace\x20=\x20zeroToTwo\x20-\x201.0;\x0a\x0a\x20\x20\x20gl_Position\x20=\x20vec4(clipSpace\x20*\x20vec2(1,\x20-1),\x200,\x201);\x0a\x0a\x20\x20\x20//\x20pass\x20the\x20texCoord\x20to\x20the\x20fragment\x20shader\x0a\x20\x20\x20//\x20The\x20GPU\x20will\x20interpolate\x20this\x20value\x20between\x20points.\x0a\x20\x20\x20v_texCoord\x20=\x20a_texCoord;\x0a}\x0a','fragmentShaderSourceV1':_0x531132(0x226)},BB[_0x531132(0x2c1)]={'Src60_MediaTime60':Symbol(_0x531132(0x2e7)),'Src59_MediaTime60':Symbol(_0x531132(0x24d)),'Src59_MediaTime59':Symbol('Src59_MediaTime59'),'Src29_MediaTime29':Symbol(_0x531132(0x2e1))},BB[_0x531132(0x22d)]={'RenderDigits':Symbol(_0x531132(0x2a3)),'RenderTimecode':Symbol('RenderTimecode'),'Augment':Symbol(_0x531132(0x12e))},BB[_0x531132(0x19e)]={'OnNewSegment':Symbol(_0x531132(0x14b)),'OnMetadata':Symbol('OnMetadata'),'None':Symbol(_0x531132(0x1ee))},BB[_0x531132(0x233)]=((()=>{const _0xef369f=_0x2b241b=>{const _0x56b05f=_0x15a5;return _0x2b241b['toString']()[_0x56b05f(0x27d)](0x2,'0');},_0x1f53cf=((()=>{const _0xe9ca1c=(_0x5b51b1,_0x28ba94,_0x10b542)=>{const _0x3064b0=_0x15a5;let _0x228b28='';if(Array[_0x3064b0(0x2ef)](_0x5b51b1)){_0x228b28=[_0xef369f(_0x5b51b1[0x0]),_0xef369f(_0x5b51b1[0x1]),_0xef369f(_0x5b51b1[0x2]),_0xef369f(_0x5b51b1[0x3])][_0x3064b0(0x1ba)](':');if(_0x10b542==!![]){if(_0x5b51b1[0x4]==0x1&&(_0x28ba94===undefined||_0x28ba94))_0x228b28+='.2';else _0x228b28+='.1';}else{if(_0x5b51b1[0x4]==0x1&&(_0x28ba94===undefined||_0x28ba94))_0x228b28+='.1';}}else{const _0xe9854e=':';_0x228b28=('0'+_0x5b51b1['h'])[_0x3064b0(0x113)](-0x2)+_0xe9854e+('0'+_0x5b51b1['m'])[_0x3064b0(0x113)](-0x2)+_0xe9854e+('0'+_0x5b51b1['s'])[_0x3064b0(0x113)](-0x2)+_0xe9854e+('0'+_0x5b51b1['f'])['slice'](-0x2);if(_0x28ba94)_0x228b28+='.'+(_0x5b51b1['field']?'1':'2');}return _0x228b28;},_0x1a6217=_0xecef21=>{const _0x3dd461=_0x15a5;let _0x5ecb5f=_0xecef21[_0x3dd461(0x1a3)](':');if(_0x5ecb5f[_0x3dd461(0x2ce)]!=0x4)return console['error'](_0x3dd461(0x1ff)+_0xecef21),[0x0,0x0,0x0,0x0,0x0];let _0x1a668a=[parseInt(_0x5ecb5f[0x0]),parseInt(_0x5ecb5f[0x1]),parseInt(_0x5ecb5f[0x2])];if(_0x5ecb5f[0x3][_0x3dd461(0x274)]('.')>=0x0){let _0x516af0=_0x5ecb5f[0x3][_0x3dd461(0x1a3)]('.');_0x1a668a[_0x3dd461(0x1f6)](parseInt(_0x516af0[0x0])),_0x1a668a[_0x3dd461(0x1f6)](parseInt(_0x516af0[0x1]));}else _0x1a668a[_0x3dd461(0x1f6)](parseInt(_0x5ecb5f[0x3])),_0x1a668a[_0x3dd461(0x1f6)](0x0);return _0x1a668a;},_0x5061cc=(_0x5b3d32,_0x24a596,_0x5bf6ed)=>{const _0x13394e=_0x15a5;let _0x3a3829=0x3c,_0x5d3941=0x0;if(Math[_0x13394e(0x2d6)](_0x24a596)==0x3c)_0x3a3829=0x3c,_0x5d3941=0x0;else{if(Math[_0x13394e(0x2d6)](_0x24a596)==0x3b)_0x3a3829=0x3c,_0x5d3941=0x4;else{if(Math[_0x13394e(0x2d6)](_0x24a596)==0x1e)_0x3a3829=0x1e,_0x5d3941=0x0;else Math['floor'](_0x24a596)==0x1d&&(_0x3a3829=0x1e,_0x5d3941=0x2);}}let _0x483d10=0x0,_0x122160=Math[_0x13394e(0x2d6)](_0x24a596*0x3c),_0x53c451=Math[_0x13394e(0x2d6)](_0x24a596*0x3c*0xa),_0x58eb9c=_0x53c451*0x6,_0x5f19e4=_0x5b3d32[0x0],_0x12b30d=_0x5b3d32[0x1],_0x34921a=_0x5b3d32[0x2],_0x368097=_0x5b3d32[0x3],_0xbcbd1e=_0x5b3d32[0x4];_0x483d10+=_0x5f19e4*_0x58eb9c,_0x483d10+=_0x12b30d*(_0x3a3829*0x3c),_0x483d10+=_0x34921a*_0x3a3829;if(_0x5bf6ed)_0x483d10+=_0x368097*0x2+_0xbcbd1e;else _0x483d10+=_0x368097;return _0x483d10-=_0x5d3941*_0x12b30d,_0x483d10+=_0x5d3941*Math[_0x13394e(0x2d6)](_0x12b30d/0xa),_0x483d10;},_0x427b30=(_0x2acb98,_0x7534e2,_0x38f440)=>{const _0x44956d=_0x15a5;let _0x451ed7=0x3c,_0x2cd312=0x0;if(Math[_0x44956d(0x2d6)](_0x7534e2)==0x3c)_0x451ed7=0x3c,_0x2cd312=0x0;else{if(Math[_0x44956d(0x2d6)](_0x7534e2)==0x3b)_0x451ed7=0x3c,_0x2cd312=0x4;else{if(Math[_0x44956d(0x2d6)](_0x7534e2)==0x1e)_0x451ed7=0x1e,_0x2cd312=0x0;else Math[_0x44956d(0x2d6)](_0x7534e2)==0x1d&&(_0x451ed7=0x1e,_0x2cd312=0x2);}}let _0x6d86b8=0x0,_0x33933e=Math[_0x44956d(0x2d6)](_0x7534e2*0x3c),_0x41078a=Math[_0x44956d(0x2d6)](_0x7534e2*0x3c*0xa),_0x32fbf8=_0x41078a*0x6,_0x4b62ee=_0x2acb98,_0x13b25d=Math[_0x44956d(0x2d6)](_0x4b62ee/_0x32fbf8);_0x4b62ee-=_0x13b25d*_0x32fbf8;let _0x348b0b=Math['floor'](_0x4b62ee/_0x41078a);_0x4b62ee-=_0x348b0b*_0x41078a;if(_0x4b62ee>=_0x451ed7*0x3c)_0x4b62ee+=_0x2cd312*(Math['floor']((_0x4b62ee-_0x451ed7*0x3c)/_0x33933e)+0x1);let _0x31d6a7=Math['floor'](_0x4b62ee/(_0x451ed7*0x3c));_0x4b62ee-=_0x31d6a7*(_0x451ed7*0x3c);let _0x156b5b=Math['floor'](_0x4b62ee/_0x451ed7);_0x4b62ee-=_0x156b5b*_0x451ed7;let _0x1105bb=_0x4b62ee;_0x31d6a7+=_0x348b0b*0xa,dotOne=0x0;_0x38f440&&(dotOne=_0x1105bb%0x2,_0x1105bb=Math['floor'](_0x1105bb/0x2));let _0x2190e0=[_0x13b25d,_0x31d6a7,_0x156b5b,_0x1105bb,dotOne];return _0x2190e0;},_0x45ad36=(_0xa2929f,_0x493b0a,_0x6c1eb8)=>{let _0x21f160=_0x6c1eb8>0x1e,_0x57a2c5=_0x5061cc(_0xa2929f,_0x6c1eb8,_0x21f160);return _0x57a2c5+=_0x493b0a,_0x427b30(_0x57a2c5,_0x6c1eb8,_0x21f160);},_0xc9cda5=_0x57c66d=>{return{'h':_0x57c66d[0x0],'m':_0x57c66d[0x1],'s':_0x57c66d[0x2],'f':_0x57c66d[0x3],'field':_0x57c66d[0x4]};},_0x427ed9=(_0x3fedd7,_0x40a0a0)=>{const _0x54ed83=_0x15a5;let _0xf90ca1=BB[_0x54ed83(0x233)][_0x54ed83(0x15d)](_0x3fedd7,_0x40a0a0);return _0x40a0a0>0x3b?BB[_0x54ed83(0x233)][_0x54ed83(0x238)][_0x54ed83(0x1e4)](tcFromMessage,!![]):BB[_0x54ed83(0x233)][_0x54ed83(0x238)][_0x54ed83(0x1e4)](tcFromMessage,![]);let _0xd35435=BB[_0x54ed83(0x233)][_0x54ed83(0x2a8)],_0x2f836f='';_0xd35435[_0x54ed83(0x27b)]()?_0x2f836f=_0x3fedd7:_0x2f836f=_0x3fedd7[_0x54ed83(0x1b5)]();let _0x41a93c=_0x2f836f[_0x54ed83(0x1a3)]('T')[0x1],_0x14e13b=_0x41a93c['split'](':'),_0x3dd3b5=parseInt(_0x14e13b[0x0]),_0x151410=parseInt(_0x14e13b[0x1]),_0x4030a6=_0x14e13b[0x2]['split']('.'),_0x5aa97a=parseInt(_0x4030a6[0x0]),_0xcbb550=parseInt(_0x4030a6[0x1]['substring'](0x0,0x3)),_0x108e0f=Math[_0x54ed83(0x15f)](_0xcbb550/0x3e8*_0x40a0a0);if(_0x40a0a0>0x3b){let _0x5dafef=_0x108e0f%0x2==0x0?0x1:0x2;_0x108e0f=Math['floor'](_0x108e0f/0x2);let _0x3ceefc=_0x3dd3b5[_0x54ed83(0x20d)]()[_0x54ed83(0x27d)](0x2,'0')+':'+_0x151410['toString']()[_0x54ed83(0x27d)](0x2,'0')+':'+_0x5aa97a[_0x54ed83(0x20d)]()[_0x54ed83(0x27d)](0x2,'0')+':'+_0x108e0f[_0x54ed83(0x20d)]()['padStart'](0x2,'0')+'.'+_0x5dafef[_0x54ed83(0x20d)]();return _0x3ceefc;}else{let _0x5e836c=_0x3dd3b5[_0x54ed83(0x20d)]()[_0x54ed83(0x27d)](0x2,'0')+':'+_0x151410[_0x54ed83(0x20d)]()[_0x54ed83(0x27d)](0x2,'0')+':'+_0x5aa97a[_0x54ed83(0x20d)]()['padStart'](0x2,'0')+':'+_0x108e0f[_0x54ed83(0x20d)]()[_0x54ed83(0x27d)](0x2,'0');return _0x5e836c;}return str;},_0x3fc055=(_0x6e88eb,_0x581c76)=>{const _0x4b510a=_0x15a5;let _0x4cb4c3=BB[_0x4b510a(0x233)][_0x4b510a(0x2a8)],_0x2873fe='';_0x4cb4c3['isApple']()?_0x2873fe=_0x6e88eb:_0x2873fe=_0x6e88eb[_0x4b510a(0x1b5)]();let _0x1dbc22=_0x2873fe['split']('T')[0x1],_0x2366a7=_0x1dbc22[_0x4b510a(0x1a3)](':'),_0xde67=parseInt(_0x2366a7[0x0]),_0x2e6b5d=parseInt(_0x2366a7[0x1]),_0x1c05b5=_0x2366a7[0x2][_0x4b510a(0x1a3)]('.'),_0x5f3f8f=parseInt(_0x1c05b5[0x0]),_0x4eb896=parseInt(_0x1c05b5[0x1]['substring'](0x0,0x3));if(_0x581c76>0x3b){let _0x448f25=Math[_0x4b510a(0x15f)]((_0x4eb896/0x3e8+_0x5f3f8f+_0x2e6b5d*0x3c+_0xde67*0x3c*0x3c)*_0x581c76),_0x2328da=BB[_0x4b510a(0x233)][_0x4b510a(0x238)][_0x4b510a(0x109)](_0x448f25,_0x581c76,!![]);return _0x2328da;}else{let _0x406d0e=Math[_0x4b510a(0x15f)]((_0x4eb896/0x3e8+_0x5f3f8f+_0x2e6b5d*0x3c+_0xde67*0x3c*0x3c)*_0x581c76),_0xaa62ba=BB['Utils']['TimeCodesFramesTranslator'][_0x4b510a(0x109)](_0x406d0e,_0x581c76,![]);return _0xaa62ba;}};return{'printTimecode':_0xe9ca1c,'timeCodeStr2TimeCodeArray':_0x1a6217,'Timecode2Frames':_0x5061cc,'Frames2Timecode':_0x427b30,'TimeCodeAddFrames':_0x45ad36,'TimeCodeArray2TimeCodeJson':_0xc9cda5,'timeDate2TCString':_0x427ed9,'timeDate2TC':_0x3fc055};})()),_0x58c981=_0x23a96e=>{let _0x56bf6d=_0x23a96e||0x2540be3ff,_0x5ba457=[],_0x36c6d5=0x0;const _0x132304=_0x52dbd1=>{const _0x3bff92=_0x15a5;++_0x36c6d5,_0x5ba457['push'](_0x52dbd1);while(_0x5ba457[_0x3bff92(0x2ce)]>_0x56bf6d)_0x5ba457['shift']();},_0x22cd2e=()=>{const _0x5b88b4=_0x15a5;if(_0x5ba457[_0x5b88b4(0x2ce)]==0x0)return-0x1;let _0x32c193=Array[_0x5b88b4(0x269)](_0x5ba457)[_0x5b88b4(0x268)]((_0x5f1f05,_0x4533a4)=>{return _0x5f1f05-_0x4533a4;});return _0x32c193[parseInt(_0x32c193[_0x5b88b4(0x2ce)]/0x2)];},_0x39cc31=()=>{return _0x36c6d5;};return{'add':_0x132304,'getMedian':_0x22cd2e,'howMany':_0x39cc31};},_0x2733ed=((()=>{const _0xa03e0b=()=>{const _0x99e80c=_0x15a5,_0x2bb9dc=navigator['userAgent'];if(/windows/i['test'](_0x2bb9dc))return _0x99e80c(0x1ed);else{if(/android/i['test'](_0x2bb9dc))return'Android';else{if(/iphone|ipad|ipod/i['test'](_0x2bb9dc))return _0x99e80c(0x2be);else{if(/mac/i[_0x99e80c(0x184)](_0x2bb9dc)){let _0x3850ad=_0x99e80c(0x17c)in window||navigator[_0x99e80c(0x177)]>0x0||navigator['msMaxTouchPoints']>0x0;if(_0x3850ad)return _0x99e80c(0x256);else return _0x99e80c(0x1cb);}else return/ipad/i[_0x99e80c(0x184)](_0x2bb9dc)?_0x99e80c(0x256):_0x99e80c(0x26a);}}}},_0x1cb147=()=>{const _0x2733d2=_0x15a5;let _0x602640=_0xa03e0b();return _0x602640==_0x2733d2(0x1cb);},_0x24ecac=()=>{let _0x5be6a1=_0xa03e0b();return _0x5be6a1=='iPad';},_0x414d34=()=>{const _0x117a91=_0x15a5;let _0x4d50c2=_0xa03e0b();return _0x4d50c2==_0x117a91(0x2be);},_0x1cc24b=()=>{const _0x1554a8=_0x15a5;let _0x180a58=_0xa03e0b();return _0x180a58==_0x1554a8(0x2be)||_0x180a58==_0x1554a8(0x1cb)||_0x180a58==_0x1554a8(0x256);},_0x4b8f0a=()=>{const _0x524f35=_0x15a5;let _0x635ba3=_0xa03e0b();return _0x635ba3==_0x524f35(0x1ed);},_0x278a91=()=>{const _0x4f0b08=_0x15a5;let _0x5553a4=_0xa03e0b();return _0x5553a4==_0x4f0b08(0x1e9);},_0x2e29bc=()=>{const _0x3ca6a3=_0x15a5;let _0x16acd5=_0xa03e0b();if(_0x16acd5=='Windows')return _0x3ca6a3(0x173);else{if(_0x16acd5==_0x3ca6a3(0x1e9))return'an\x20Android\x20phone';else{if(_0x16acd5==_0x3ca6a3(0x2be))return _0x3ca6a3(0x160);else{if(_0x16acd5==_0x3ca6a3(0x1cb))return _0x3ca6a3(0x24c);else{if(_0x16acd5==_0x3ca6a3(0x256))return _0x3ca6a3(0x279);else return _0x3ca6a3(0x122);}}}}},_0x2468c7=()=>{const _0x7ff4b9=_0x15a5;let _0x4d716a={'options':[],'header':[navigator[_0x7ff4b9(0x1c6)],navigator['userAgent'],navigator[_0x7ff4b9(0x247)],navigator[_0x7ff4b9(0x264)],window['opera']],'dataos':[{'name':_0x7ff4b9(0x234),'value':_0x7ff4b9(0x234),'version':'OS'},{'name':_0x7ff4b9(0x1ed),'value':'Win','version':'NT'},{'name':_0x7ff4b9(0x2e8),'value':_0x7ff4b9(0x2e8),'version':'OS'},{'name':_0x7ff4b9(0x256),'value':'iPad','version':'OS'},{'name':'Kindle','value':_0x7ff4b9(0x237),'version':_0x7ff4b9(0x237)},{'name':_0x7ff4b9(0x1e9),'value':_0x7ff4b9(0x1e9),'version':_0x7ff4b9(0x1e9)},{'name':_0x7ff4b9(0x206),'value':_0x7ff4b9(0x206),'version':'OS'},{'name':'BlackBerry','value':_0x7ff4b9(0x244),'version':'/'},{'name':_0x7ff4b9(0x18c),'value':_0x7ff4b9(0x1cb),'version':_0x7ff4b9(0x198)},{'name':_0x7ff4b9(0x1fa),'value':_0x7ff4b9(0x1fa),'version':'rv'},{'name':_0x7ff4b9(0x10e),'value':'Palm','version':'PalmOS'}],'databrowser':[{'name':'Chrome','value':_0x7ff4b9(0x146),'version':_0x7ff4b9(0x146)},{'name':_0x7ff4b9(0x2a2),'value':_0x7ff4b9(0x2a2),'version':_0x7ff4b9(0x2a2)},{'name':_0x7ff4b9(0x202),'value':_0x7ff4b9(0x202),'version':_0x7ff4b9(0x1f0)},{'name':'Internet\x20Explorer','value':_0x7ff4b9(0x29b),'version':_0x7ff4b9(0x29b)},{'name':_0x7ff4b9(0x1ae),'value':_0x7ff4b9(0x1ae),'version':'Opera'},{'name':_0x7ff4b9(0x244),'value':_0x7ff4b9(0x159),'version':'CLDC'},{'name':_0x7ff4b9(0x2d5),'value':'Mozilla','version':_0x7ff4b9(0x2d5)}],'init':function(){const _0xdd0109=_0x7ff4b9;let _0x5595dd=this[_0xdd0109(0x2a4)][_0xdd0109(0x1ba)]('\x20'),_0x381c7d=this[_0xdd0109(0x2bd)](_0x5595dd,this['dataos']),_0x4a3363=this[_0xdd0109(0x2bd)](_0x5595dd,this[_0xdd0109(0x16d)]);return{'os':_0x381c7d,'browser':_0x4a3363};},'matchItem':function(_0x266a17,_0x24212f){const _0x42d302=_0x7ff4b9;let _0x4f97e7=0x0,_0x172f2d=0x0,_0x39ff3f='',_0x4fe69f,_0x71e1ac,_0x51c622,_0x375a24,_0xbf518e;for(_0x4f97e7=0x0;_0x4f97e7<_0x24212f[_0x42d302(0x2ce)];_0x4f97e7+=0x1){_0x4fe69f=new RegExp(_0x24212f[_0x4f97e7][_0x42d302(0x193)],'i'),_0x51c622=_0x4fe69f[_0x42d302(0x184)](_0x266a17);if(_0x51c622){_0x71e1ac=new RegExp(_0x24212f[_0x4f97e7][_0x42d302(0x25e)]+_0x42d302(0x242),'i'),_0x375a24=_0x266a17[_0x42d302(0x2cc)](_0x71e1ac),_0xbf518e='';_0x375a24&&(_0x375a24[0x1]&&(_0x375a24=_0x375a24[0x1]));if(_0x375a24){_0x375a24=_0x375a24[_0x42d302(0x1a3)](/[._]+/);for(_0x172f2d=0x0;_0x172f2d<_0x375a24[_0x42d302(0x2ce)];_0x172f2d+=0x1){_0x172f2d===0x0?_0xbf518e+=_0x375a24[_0x172f2d]+'.':_0xbf518e+=_0x375a24[_0x172f2d];}}else _0xbf518e='0';return{'name':_0x24212f[_0x4f97e7][_0x42d302(0x172)],'version':parseFloat(_0xbf518e)};}}return{'name':_0x42d302(0x260),'version':0x0};}},_0xcab652=_0x4d716a[_0x7ff4b9(0x105)]();return _0xcab652['os'][_0x7ff4b9(0x172)];};return{'getDeviceName':_0x2468c7,'getCurrentPlatform':_0xa03e0b,'isApple':_0x1cc24b,'isWindows':_0x4b8f0a,'isAndroid':_0x278a91,'isMac':_0x1cb147,'isiPhone':_0x414d34,'isiPad':_0x24ecac,'getDeviceDescription':_0x2e29bc};})()),_0x45c9d6=_0xc34afb=>{const _0x145ee3=_0x15a5;let _0x30eaa0=0x3c;switch(_0xc34afb){case BB[_0x145ee3(0x2c1)][_0x145ee3(0x2e7)]:_0x30eaa0=0x3c;break;case BB['FrameRateMode'][_0x145ee3(0x24d)]:_0x30eaa0=0x3c;break;case BB[_0x145ee3(0x2c1)][_0x145ee3(0x203)]:_0x30eaa0=0xea60/0x3e9;break;case BB['FrameRateMode'][_0x145ee3(0x2e1)]:_0x30eaa0=0x7530/0x3e9;break;default:console[_0x145ee3(0x230)](_0x145ee3(0x1d5));break;};return _0x30eaa0;},_0x524fa2=_0x104e1c=>{const _0x39936b=_0x15a5;let _0x507064=0x3c;switch(_0x104e1c){case BB[_0x39936b(0x2c1)][_0x39936b(0x2e7)]:_0x507064=0x3c;break;case BB[_0x39936b(0x2c1)][_0x39936b(0x24d)]:_0x507064=0xea60/0x3e9;break;case BB['FrameRateMode'][_0x39936b(0x203)]:_0x507064=0xea60/0x3e9;break;case BB[_0x39936b(0x2c1)][_0x39936b(0x2e1)]:_0x507064=0x7530/0x3e9;break;default:console[_0x39936b(0x230)](_0x39936b(0x19d));break;};return _0x507064;},_0x1e4f33=(_0x4721e6,_0x136fda)=>{const _0x180417=_0x15a5,_0x49d728=(_0x3a6179,_0x344c55)=>{const _0x5a6e8e=_0x15a5;if(Math[_0x5a6e8e(0x1c8)](_0x3a6179-_0x344c55)<0.01)return!![];else return![];};if(_0x49d728(_0x4721e6,0x3c)){if(_0x49d728(BB[_0x180417(0x233)][_0x180417(0x20b)](_0x136fda[_0x180417(0x1a0)]),0x3c))_0x136fda[_0x180417(0x1a0)]=BB[_0x180417(0x2c1)][_0x180417(0x2e7)];else{if(_0x49d728(BB['Utils'][_0x180417(0x20b)](_0x136fda[_0x180417(0x1a0)]),0xea60/0x3e9))_0x136fda[_0x180417(0x1a0)]=BB[_0x180417(0x2c1)]['Src59_MediaTime60'];else console[_0x180417(0x230)](_0x180417(0x29c));}}else{if(_0x49d728(_0x4721e6,0xea60/0x3e9)){if(_0x49d728(BB[_0x180417(0x233)][_0x180417(0x20b)](_0x136fda[_0x180417(0x1a0)]),0x3c))_0x136fda[_0x180417(0x1a0)]=BB[_0x180417(0x2c1)][_0x180417(0x26d)];else{if(_0x49d728(BB[_0x180417(0x233)][_0x180417(0x20b)](_0x136fda['frameRateMode']),0xea60/0x3e9))_0x136fda['frameRateMode']=BB[_0x180417(0x2c1)][_0x180417(0x203)];else console['error'](_0x180417(0x29c));}}else{if(_0x49d728(_0x4721e6,0x7530/0x3e9)){if(_0x49d728(BB[_0x180417(0x233)][_0x180417(0x20b)](_0x136fda['frameRateMode']),0x7530/0x3e9))_0x136fda[_0x180417(0x1a0)]=BB[_0x180417(0x2c1)][_0x180417(0x2e1)];else console[_0x180417(0x230)](_0x180417(0x21b)+_0x4721e6);}else console[_0x180417(0x230)](_0x180417(0x134));}}},_0x46304c=()=>{const _0x51c882=[0x7530/0x3e9,0x1e/0x1],_0x46f6ab=[0xea60/0x3e9,0x3c/0x1];let _0x5ed918=[],_0x269a21=[],_0x1d0137=0x0,_0x237fe8=-0x1,_0x4e88ac=0x0;const _0x5be7d5=_0xc573fa=>{const _0x5e63f2=_0x15a5;_0x4e88ac++;let _0x9ee2b8=0x3e7,_0x447c78=0x0;if(_0x237fe8==-0x1){_0x237fe8=_0xc573fa;return;}else{let _0x54daa2=_0xc573fa-_0x237fe8;if(_0x1d0137<0x64){_0x269a21[_0x5e63f2(0x1f6)](_0x54daa2),_0x1d0137++;return;}else _0x269a21[_0x5e63f2(0x1f6)](_0x54daa2),_0x269a21['shift']();let _0x346bb2=0x0;for(let _0x444be8=0x0;_0x444be8<_0x269a21['length'];_0x444be8++){_0x346bb2+=_0x269a21[_0x444be8];}_0x54daa2=_0x346bb2/_0x269a21[_0x5e63f2(0x2ce)];if(0x1/_0x54daa2<0x28)possibleFps=_0x51c882;else possibleFps=_0x46f6ab;}_0x237fe8=_0xc573fa;for(let _0x12c4b6=0x0;_0x12c4b6<possibleFps[_0x5e63f2(0x2ce)];++_0x12c4b6){let _0x2cab38=possibleFps[_0x12c4b6],_0x35701a=_0xc573fa*_0x2cab38,_0x4d15c1=Math[_0x5e63f2(0x15f)](_0x35701a),_0x150607=Math['abs'](_0x35701a-_0x4d15c1);_0x150607<_0x9ee2b8&&(_0x9ee2b8=_0x150607,_0x447c78=_0x2cab38);}let _0x1b110e=_0x447c78;_0x5ed918[_0x5e63f2(0x1f6)](_0x1b110e);if(_0x4e88ac>0x3e8)_0x5ed918[_0x5e63f2(0x180)]();},_0x4882a0=()=>{const _0x3d3150=_0x15a5;let _0x3cf537={},_0x399d18,_0x3b35bf=0x0;for(let _0x4ca717=0x0;_0x4ca717<_0x5ed918[_0x3d3150(0x2ce)];_0x4ca717++){let _0x58d6a2=_0x5ed918[_0x4ca717];_0x3cf537[_0x58d6a2]=(_0x3cf537[_0x58d6a2]||0x0)+0x1,_0x3cf537[_0x58d6a2]>_0x3b35bf&&(_0x399d18=_0x58d6a2,_0x3b35bf=_0x3cf537[_0x58d6a2]);}return _0x399d18;},_0x3d43e6=()=>{return _0x4e88ac;};return{'addTime':_0x5be7d5,'getProbableFPS':_0x4882a0,'howMany':_0x3d43e6};};return{'TimeCodesFramesTranslator':_0x1f53cf,'MedianCalculator':_0x58c981,'Platform':_0x2733ed,'getMediaTimeFPS':_0x45c9d6,'getSourceFPS':_0x524fa2,'setMediaFPS':_0x1e4f33,'FPSGetter':_0x46304c};})()),BB['Socket']=class{constructor(_0x34fc58){const _0x4a59d5=_0x531132;this[_0x4a59d5(0x108)]=![],this[_0x4a59d5(0x195)]='',this[_0x4a59d5(0x27f)]=_0x34fc58,this[_0x4a59d5(0x172)]='';}[_0x531132(0x2a6)](_0x39cf0c){const _0x24282d=_0x531132;if(typeof io==_0x24282d(0x24f)||this[_0x24282d(0x108)])return;this[_0x24282d(0x108)]=!![];const _0xe43abe=io(_0x24282d(0x286));_0xe43abe['on']('connect',()=>{const _0x3f794b=_0x24282d;console['log']('socket\x20connected');let _0x45c642=BB[_0x3f794b(0x233)][_0x3f794b(0x2a8)];_0xe43abe[_0x3f794b(0x1dd)]('setinfo',{'device':_0x45c642['getDeviceName']()},_0x19233e=>{const _0x303654=_0x3f794b;this[_0x303654(0x172)]=_0x19233e[_0x303654(0x172)],_0xe43abe[_0x303654(0x1dd)](_0x303654(0x1ba),_0x39cf0c,_0x1bee11=>{const _0x266dac=_0x303654;console[_0x266dac(0x28b)]('join\x20\x20'+_0x39cf0c+_0x266dac(0x1ac)),this['callback'](_0x266dac(0x1ba),_0x1bee11);});});}),_0xe43abe['on']('error',_0x5d5f44=>{const _0x131fc8=_0x24282d;console[_0x131fc8(0x230)]('error::'+_0x5d5f44);}),_0xe43abe['on']('disconnect',_0x18e4b8=>{const _0x2091bb=_0x24282d;console[_0x2091bb(0x230)]('disconnect\x20from\x20signaling::'+_0x18e4b8);}),_0xe43abe['on'](_0x24282d(0x1de),_0x413d5a=>{const _0x270617=_0x24282d;this[_0x270617(0x27f)](_0x270617(0x1de),_0x413d5a),console[_0x270617(0x28b)]('messageroom:\x20',_0x413d5a);}),_0xe43abe['on'](_0x24282d(0x120),_0x451659=>{const _0x591579=_0x24282d;this[_0x591579(0x27f)](_0x591579(0x120),_0x451659),console['log']('ads:',_0x451659);});}},BB[_0x531132(0x130)]=(_0x1691bc,_0x499960,_0xa328a8)=>{const _0x50964c=_0x531132;console[_0x50964c(0x28b)](_0x50964c(0x26e));function _0x256cb8(_0x350e72,_0x26936d){const _0x34dcad=_0x50964c;let _0x2010aa='';if(_0x350e72&&_0x350e72['includes']('www.mediakind.com/NTC')){const _0x2b9c51=_0x350e72[_0x34dcad(0x22f)](/.*NTC./,'');let _0x2b62d3=0x0;while(_0x2b62d3+0x8<=_0x2b9c51[_0x34dcad(0x2ce)]){const _0x46a10e=_0x2b9c51['substring'](_0x2b62d3,_0x2b62d3+0x4),_0xbb40b3=((_0x2b9c51[_0x34dcad(0x208)](_0x2b62d3+0x4)*0x100+_0x2b9c51[_0x34dcad(0x208)](_0x2b62d3+0x5))*0x100+_0x2b9c51[_0x34dcad(0x208)](_0x2b62d3+0x6))*0x100+_0x2b9c51[_0x34dcad(0x208)](_0x2b62d3+0x7);if(_0x2b62d3+0x8+_0xbb40b3>_0x2b9c51[_0x34dcad(0x2ce)])break;const _0x5188ee=_0x2b9c51[_0x34dcad(0x157)](_0x2b62d3+0x8,_0x2b62d3+0x8+_0xbb40b3);_0x46a10e==_0x34dcad(0x215)&&(timecodeDateTime=new Date(parseInt(_0x5188ee))['getTime']()/0x3e8,timecodeDelta=timecodeDateTime-_0x26936d);_0x46a10e=='tc__'&&(tcTimeStamp=new Date(parseInt(_0x5188ee))[_0x34dcad(0x15e)]());if(_0x46a10e===_0x34dcad(0x1c7)){timecode_offset=parseInt(_0x5188ee)/0x5a;if(_0xa328a8[_0x34dcad(0x1cd)])console[_0x34dcad(0x28b)](_0x34dcad(0x142),timecode_offset);}_0x2b62d3+=0x8+_0xbb40b3;}}return _0x2010aa;}let _0x333fc2=[0x0,0x0,0x0,0x0,0x0];function _0x4e9a20(_0x3ef093){const _0xb3efac=_0x50964c;if(_0x3ef093&&_0x3ef093[_0xb3efac(0x1c1)]&&_0x3ef093[_0xb3efac(0x1c1)]['id']==0x0||_0x1f9c8e['isMac']()){if(_0x3ef093[_0xb3efac(0x1c1)][_0xb3efac(0x13c)])_0x3ef093['metadata'][_0xb3efac(0x13c)]=_0x256cb8(_0x3ef093[_0xb3efac(0x1c1)][_0xb3efac(0x13c)],_0x3ef093['metadata']['presentationTime']);else{if(_0x3ef093[_0xb3efac(0x1c1)][_0xb3efac(0x2d3)]&&_0x3ef093['metadata']['frames'][_0xb3efac(0x2ce)]&&_0x3ef093[_0xb3efac(0x1c1)][_0xb3efac(0x2d3)][0x0]['key']&&_0x3ef093[_0xb3efac(0x1c1)][_0xb3efac(0x2d3)][0x0][_0xb3efac(0x119)][_0xb3efac(0x296)]()==='priv'){const _0x15ffba=_0x3ef093['metadata'][_0xb3efac(0x2d3)]['filter'](_0x32d9be=>{const _0x9b6beb=_0xb3efac;return _0x32d9be['info']&&_0x32d9be[_0x9b6beb(0x2d2)][_0x9b6beb(0x296)]()[_0x9b6beb(0x25c)](_0x9b6beb(0x1d1));});_0x15ffba[_0xb3efac(0x2ce)]&&(messageData=_0x15ffba[_0x15ffba[_0xb3efac(0x2ce)]-0x1][_0xb3efac(0x2d2)]+'\x00'+String[_0xb3efac(0x243)](..._0x15ffba[_0x15ffba[_0xb3efac(0x2ce)]-0x1]['data']),_0x3ef093[_0xb3efac(0x1c1)][_0xb3efac(0x13c)]=_0x256cb8(messageData,_0x3ef093['metadata'][_0xb3efac(0x299)]));}}(_0x3ef093[_0xb3efac(0x1c1)]['id']==0x0||_0x1f9c8e[_0xb3efac(0x2d1)]()&&timecode_offset==0x0)&&(presentationTime=_0x3ef093['metadata'][_0xb3efac(0x299)]*0x3e8,offsetTimeCode=new Date(tcTimeStamp-timecode_offset),offsetTimeCodeframeNumber=Math['round'](offsetTimeCode[_0xb3efac(0x1bc)]()*0x1e*0x2/0x3e9)/0x2,decimalPartOff=offsetTimeCodeframeNumber%0x1,partoff=0x1,decimalPartOff==0.5&&(offsetTimeCodeframeNumber=Math['floor'](offsetTimeCodeframeNumber),partoff=0x2),_0x333fc2=[offsetTimeCode['getUTCHours'](),offsetTimeCode[_0xb3efac(0x1db)](),offsetTimeCode[_0xb3efac(0x29d)](),parseInt(offsetTimeCodeframeNumber),partoff==0x1?0x0:0x1]);}}function _0x172049(_0x236e54){const _0x5108d5=_0x50964c;if(typeof globalConfig!==_0x5108d5(0x24f)){if(typeof globalConfig[_0x5108d5(0x19f)]!==_0x5108d5(0x24f)){if(globalConfig[_0x5108d5(0x19f)]=='no')return;}}if(BB[_0x5108d5(0x233)][_0x5108d5(0x20b)](_0xa328a8[_0x5108d5(0x1a0)])==0x7530/0x3e9){let _0xfa97e0={'frame':0x0,'playerTime':0x0};_0xfa97e0[_0x5108d5(0x188)]=BB[_0x5108d5(0x233)][_0x5108d5(0x238)][_0x5108d5(0x1cc)](_0x333fc2,0x7530/0x3e9,![]),_0xfa97e0[_0x5108d5(0x2d9)]=BB[_0x5108d5(0x233)][_0x5108d5(0x238)][_0x5108d5(0x1e4)](_0x333fc2,![],![]),console[_0x5108d5(0x28b)]('New\x20segment\x20('+_0x236e54['url']+_0x5108d5(0x246)+_0xfa97e0[_0x5108d5(0x2d9)]+'\x20('+_0xfa97e0[_0x5108d5(0x188)]+')'+_0x5108d5(0x106)+_0x236e54[_0x5108d5(0x2e0)]),_0xfa97e0['playerTime']=_0x236e54[_0x5108d5(0x2e0)],_0xa328a8[_0x5108d5(0x1af)]=_0xfa97e0;}else{if(BB[_0x5108d5(0x233)][_0x5108d5(0x20b)](_0xa328a8['frameRateMode'])==0xea60/0x3e9){let _0x1278e4={'frame':0x0,'playerTime':0x0};_0x1278e4[_0x5108d5(0x188)]=BB[_0x5108d5(0x233)][_0x5108d5(0x238)][_0x5108d5(0x1cc)](_0x333fc2,0xea60/0x3e9,!![]),_0x1278e4[_0x5108d5(0x2d9)]=BB[_0x5108d5(0x233)][_0x5108d5(0x238)]['printTimecode'](_0x333fc2,!![],![]),console['log']('New\x20segment\x20('+_0x236e54['url']+_0x5108d5(0x246)+_0x1278e4['stringTime']+'\x20('+_0x1278e4[_0x5108d5(0x188)]+')'+_0x5108d5(0x106)+_0x236e54[_0x5108d5(0x2e0)]),_0x1278e4[_0x5108d5(0x1ea)]=_0x236e54[_0x5108d5(0x2e0)],_0xa328a8[_0x5108d5(0x1af)]=_0x1278e4;}}_0x236e54[_0x5108d5(0x125)][_0x5108d5(0x25c)](_0x5108d5(0x2ec))&&console[_0x5108d5(0x28b)]('url:\x20'+_0x236e54['url']);}function _0x32ed5a(_0x53dff0){const _0x1d5290=_0x50964c;switch(_0x53dff0['eventType']){case wmcEvents[_0x1d5290(0x2a9)]:let _0x45cbdc={'frame':0x0,'playerTime':0x0};BB['Utils']['getSourceFPS'](_0xa328a8[_0x1d5290(0x1a0)])==0x7530/0x3e9&&(console['log'](_0x1d5290(0x25f)+_0x53dff0['url']+_0x1d5290(0x246)+BB[_0x1d5290(0x233)][_0x1d5290(0x238)][_0x1d5290(0x1b6)](_0x53dff0['dateTime'],0x7530/0x3e9)+_0x1d5290(0x106)+_0x53dff0[_0x1d5290(0x2e0)]),_0x45cbdc['frame']=BB['Utils'][_0x1d5290(0x238)]['Timecode2Frames'](BB[_0x1d5290(0x233)]['TimeCodesFramesTranslator'][_0x1d5290(0x15d)](_0x53dff0[_0x1d5290(0x179)],0x7530/0x3e9),0x7530/0x3e9,![]),_0x45cbdc['stringTime']=BB[_0x1d5290(0x233)][_0x1d5290(0x238)][_0x1d5290(0x1b6)](_0x53dff0[_0x1d5290(0x179)],0x7530/0x3e9));BB['Utils'][_0x1d5290(0x20b)](_0xa328a8[_0x1d5290(0x1a0)])==0xea60/0x3e9&&(console[_0x1d5290(0x28b)]('New\x20segment\x20('+_0x53dff0['url']+_0x1d5290(0x246)+BB[_0x1d5290(0x233)]['TimeCodesFramesTranslator'][_0x1d5290(0x1b6)](_0x53dff0[_0x1d5290(0x179)],0xea60/0x3e9)+_0x1d5290(0x106)+_0x53dff0['playbackTime']),_0x45cbdc[_0x1d5290(0x188)]=BB[_0x1d5290(0x233)]['TimeCodesFramesTranslator']['Timecode2Frames'](BB[_0x1d5290(0x233)][_0x1d5290(0x238)][_0x1d5290(0x15d)](_0x53dff0[_0x1d5290(0x179)]),fps,!![]),_0x45cbdc[_0x1d5290(0x2d9)]=BB[_0x1d5290(0x233)][_0x1d5290(0x238)]['timeDate2TCString'](_0x53dff0[_0x1d5290(0x179)],0xea60/0x3e9));_0x45cbdc[_0x1d5290(0x1ea)]=_0x53dff0[_0x1d5290(0x2e0)],_0xa328a8[_0x1d5290(0x1af)]=_0x45cbdc;break;default:}}let _0xa47553=BB['Utils']['TimeCodesFramesTranslator'],_0x43711b=BB['Utils'][_0x50964c(0x20b)](_0xa328a8[_0x50964c(0x1a0)]),_0x13b38c=BB['Utils'][_0x50964c(0x1eb)](_0xa328a8['frameRateMode']);refreshRate=_0xa328a8[_0x50964c(0x115)];let _0xdf6751=null,_0xfe1105=null,_0x382d0f=null;if(_0xa328a8[_0x50964c(0x239)]==BB[_0x50964c(0x22d)][_0x50964c(0x12e)]){}else{let _0x3e3981=document['createElement'](_0x50964c(0x121));_0x3e3981[_0x50964c(0x143)]=0x1f4,_0x3e3981[_0x50964c(0x228)]=0x1f4,document[_0x50964c(0x231)][_0x50964c(0x181)](_0x3e3981),_0x382d0f=_0x3e3981[_0x50964c(0x138)]('webgl');}let _0x1f9c8e=BB[_0x50964c(0x233)][_0x50964c(0x2a8)],_0x68f536=-0x1,_0x9a89b8=![];const _0x3a9fd5=(_0x31a1ad,_0x96299c)=>{const _0x27ca1f=_0x50964c,_0xdc454=performance['now']();if(_0x68f536==_0x31a1ad&&_0x96299c==_0x9a89b8){if(_0xa328a8['debug'])console[_0x27ca1f(0x1f7)]('render():\x20lastVideoFrameRenderedInGL==currentFrame:\x20'+_0x31a1ad);return 0x0;}if(!_0xa328a8['enabled']||_0xa328a8['stopAugment'])return _0xfe1105['CleanGL'](),0x0;if(_0xa328a8[_0x27ca1f(0x239)]==BB[_0x27ca1f(0x22d)]['RenderDigits'])renderDigit(_0x382d0f,_0x31a1ad);else{if(_0xa328a8[_0x27ca1f(0x239)]==BB['RenderingMode'][_0x27ca1f(0x28e)]){if(_0x43711b==0xea60/0x3e9||_0x43711b==0x3c)renderTimecode(_0x382d0f,_0xa47553[_0x27ca1f(0x109)](_0x31a1ad,_0x43711b,!![]),!![]);else{if(_0x43711b==0x7530/0x3e9||_0x43711b==0x1e)renderTimecode(_0x382d0f,_0xa47553[_0x27ca1f(0x109)](_0x31a1ad,_0x43711b,![]),![]);}}else{if(_0xa328a8[_0x27ca1f(0x239)]==BB[_0x27ca1f(0x22d)][_0x27ca1f(0x12e)]){if(_0x43711b==0xea60/0x3e9||_0x43711b==0x3c)_0xfe1105[_0x27ca1f(0x100)](_0xa47553[_0x27ca1f(0x1e4)](_0xa47553['Frames2Timecode'](_0x31a1ad,_0x43711b,!![])));else(_0x43711b==0x7530/0x3e9||_0x43711b==0x1e)&&(_0x96299c?_0xfe1105[_0x27ca1f(0x100)](_0xa47553[_0x27ca1f(0x1e4)](_0xa47553[_0x27ca1f(0x109)](_0x31a1ad*0x2+0x1,_0x43711b*0x2,!![]),!![])):_0xfe1105[_0x27ca1f(0x100)](_0xa47553[_0x27ca1f(0x1e4)](_0xa47553[_0x27ca1f(0x109)](_0x31a1ad,_0x43711b,![]),![])));}}}_0x68f536=_0x31a1ad,_0x9a89b8=_0x96299c;const _0xead1e8=performance['now']();return _0xead1e8-_0xdc454;};let _0x4e0702=0x0,_0x3776d9=0x0,_0x341d17=0x20,_0x10579d=0x20,_0x5ebff5='',_0x3e2840=0x0,_0x199420,_0x1d8c54=function(_0x273430,_0x5c6ad5){const _0x337e33=_0x50964c;if(_0x5ebff5==_0x337e33(0x102)){if(_0xa328a8[_0x337e33(0x1cd)])console['BBlog'](_0x337e33(0x1d8));_0x499960[_0x337e33(0x151)](_0x1d8c54);return;}_0x5ebff5='VID',lastNow=_0x273430;let _0x1a1ee4=(_0x5c6ad5[_0x337e33(0x1a2)]-_0xa328a8[_0x337e33(0x1af)][_0x337e33(0x1ea)])%(0x3c*0x3c*0x18)*_0x13b38c,_0x13345c=_0x5c6ad5[_0x337e33(0x1a2)]-_0xa328a8[_0x337e33(0x1af)][_0x337e33(0x1ea)];lastFrameFromVideoCallback=Math[_0x337e33(0x2d6)](_0x1a1ee4+0.1)+_0xa328a8['syncPoint'][_0x337e33(0x188)];if(_0xa328a8[_0x337e33(0x1cd)]){var _0x26f320=document['getElementById'](_0x337e33(0x2e4))[_0x337e33(0x193)],_0x56db8a=parseInt(_0x26f320);lastFrameFromVideoCallback+=_0x56db8a;}else lastFrameFromVideoCallback+=0x1;_0x3f6ac3=_0x5c6ad5[_0x337e33(0x1a2)];let _0x2d1b2e=_0x499960[_0x337e33(0x175)],_0x56b773=document['getElementById']('debugText2');var _0xf2aa97='';if(BB[_0x337e33(0x233)][_0x337e33(0x20b)](_0xa328a8[_0x337e33(0x1a0)])==0xea60/0x3e9)_0xf2aa97=_0xa47553[_0x337e33(0x1e4)](_0xa47553[_0x337e33(0x109)](lastFrameFromVideoCallback,_0x43711b,!![]),!![],!![]);else BB[_0x337e33(0x233)]['getSourceFPS'](_0xa328a8[_0x337e33(0x1a0)])==0x7530/0x3e9?_0xf2aa97=_0xa47553[_0x337e33(0x1e4)](_0xa47553[_0x337e33(0x109)](lastFrameFromVideoCallback,_0x43711b,![]),![],![]):_0xf2aa97=_0x337e33(0x23e);var _0x514b74='';if(BB['Utils'][_0x337e33(0x20b)](_0xa328a8[_0x337e33(0x1a0)])==0xea60/0x3e9)_0x514b74=_0xa47553[_0x337e33(0x1e4)](_0xa47553['Frames2Timecode'](_0xa328a8[_0x337e33(0x1b9)][_0x337e33(0x2bb)],_0x43711b,!![]),!![],!![]);else BB[_0x337e33(0x233)][_0x337e33(0x20b)](_0xa328a8[_0x337e33(0x1a0)])==0x7530/0x3e9?_0x514b74=_0xa47553[_0x337e33(0x1e4)](_0xa47553[_0x337e33(0x109)](_0xa328a8['augmentation']['offset'],_0x43711b,![]),![],![]):_0x514b74=_0x337e33(0x23e);let _0x105a0b=lastFrameFromVideoCallback-_0xa328a8[_0x337e33(0x1b9)][_0x337e33(0x2bb)];if(_0xdf6751)_0xdf6751[_0x337e33(0x2df)](_0x105a0b);var _0x2f5a95='';if(BB[_0x337e33(0x233)][_0x337e33(0x20b)](_0xa328a8[_0x337e33(0x1a0)])==0xea60/0x3e9)_0x2f5a95=_0xa47553[_0x337e33(0x1e4)](_0xa47553[_0x337e33(0x109)](_0x105a0b,_0x43711b,!![]),!![],!![]);else BB[_0x337e33(0x233)][_0x337e33(0x20b)](_0xa328a8[_0x337e33(0x1a0)])==0x7530/0x3e9?_0x2f5a95=_0xa47553[_0x337e33(0x1e4)](_0xa47553[_0x337e33(0x109)](_0x105a0b,_0x43711b,![]),![],![]):_0x2f5a95='NOT\x20SUPPORTED';let _0x38326f=Date['now']()-_0x3776d9,_0x7c2382=new Date(),_0x557eb4=String(_0x7c2382['getHours']())['padStart'](0x2,'0'),_0x16df0d=String(_0x7c2382[_0x337e33(0x164)]())['padStart'](0x2,'0'),_0x2784f1=String(_0x7c2382[_0x337e33(0x176)]())[_0x337e33(0x27d)](0x2,'0'),_0x5c832e=String(_0x7c2382[_0x337e33(0x2d4)]())[_0x337e33(0x27d)](0x3,'0'),_0x422bb9=_0x557eb4+':'+_0x16df0d+':'+_0x2784f1+'.'+_0x5c832e;if(_0xa328a8['debug']){if(_0xa328a8['augmentation'][_0x337e33(0x2bb)]!=_0x3e2840||_0x199420<0xa*0x3c)var _0x2780c5=_0x337e33(0x165);else var _0x2780c5=_0x337e33(0x272);_0x56b773[_0x337e33(0x25a)]='VID.\x20'+_0x337e33(0x13d)+_0xa328a8[_0x337e33(0x17d)]+_0x337e33(0x276)+_0x422bb9+_0x337e33(0x16e)+_0xf2aa97+_0x337e33(0x15b)+_0x2780c5+'\x27>'+_0xa328a8[_0x337e33(0x1b9)][_0x337e33(0x2bb)]+'('+_0x514b74+_0x337e33(0x2cb)+_0x337e33(0x267)+_0x2f5a95+'\x20</br>',_0xa328a8[_0x337e33(0x1b9)]['offset']!=_0x3e2840&&(_0x199420=0x0),_0x3e2840=_0xa328a8[_0x337e33(0x1b9)][_0x337e33(0x2bb)],_0x199420++;}_0x4e0702++,_0x3776d9=Date[_0x337e33(0x185)]();let _0x584777=![];if(_0xa328a8[_0x337e33(0x1cd)]){var _0x50c3eb=document['getElementById'](_0x337e33(0x2db));_0x584777=_0x50c3eb[_0x337e33(0x1f2)];}let _0x43657c=0x0;if(BB['Utils'][_0x337e33(0x20b)](_0xa328a8[_0x337e33(0x1a0)])==0x7530/0x3e9){let _0x32ae3f=0x18,_0x30a8c2=0x21+(0x21-_0x32ae3f);_0x38326f<_0x32ae3f&&_0x341d17<_0x30a8c2||_0x341d17<_0x32ae3f&&_0x38326f<_0x30a8c2||_0x10579d<_0x32ae3f&&_0x341d17<_0x30a8c2&&_0x38326f<_0x30a8c2||_0x584777==!![]?(_0x56b773[_0x337e33(0x25a)]+=_0x337e33(0x27c),setTimeout(function(){_0x3a9fd5(_0x105a0b,![]);},0xa)):_0x3a9fd5(_0x105a0b,![]);}else BB[_0x337e33(0x233)][_0x337e33(0x20b)](_0xa328a8[_0x337e33(0x1a0)])==0xea60/0x3e9?_0x43657c=_0x3a9fd5(_0x105a0b,![]):console[_0x337e33(0x1f7)](_0x337e33(0x201));_0x10579d=_0x341d17,_0x341d17=_0x38326f;_0xa328a8[_0x337e33(0x1cd)]&&console[_0x337e33(0x1f7)](_0x337e33(0x118)+_0x337e33(0x2cf)+_0x422bb9+_0x337e33(0x2ad)+_0xf2aa97+_0x337e33(0x1bb)+_0x43657c[_0x337e33(0x167)](0x4)+_0x337e33(0x15c));_0x499960[_0x337e33(0x151)](_0x1d8c54);return;};const _0x2224c1=_0x176f42=>{const _0x30b963=_0x50964c;let _0xafe14e=new Date(),_0x26dc39=String(_0xafe14e['getHours']())[_0x30b963(0x27d)](0x2,'0'),_0x3dca5a=String(_0xafe14e[_0x30b963(0x164)]())['padStart'](0x2,'0'),_0x527c97=String(_0xafe14e[_0x30b963(0x176)]())[_0x30b963(0x27d)](0x2,'0'),_0x27e310=String(_0xafe14e[_0x30b963(0x2d4)]())[_0x30b963(0x27d)](0x3,'0'),_0x1d999a=_0x26dc39+':'+_0x3dca5a+':'+_0x527c97+'.'+_0x27e310;if(_0x499960[_0x30b963(0x2b6)]){window[_0x30b963(0x194)](_0x2224c1);return;}let _0x5eab34=document[_0x30b963(0x1e6)]('debugText');if(_0xa328a8[_0x30b963(0x1cd)])_0x5eab34['innerHTML']=_0x30b963(0x212)+_0x30b963(0x11d)+_0x1d999a;if(_0x5ebff5==_0x30b963(0x2ac)||_0x5ebff5==_0x30b963(0x102)){var _0x2594a0='';if(BB[_0x30b963(0x233)][_0x30b963(0x20b)](_0xa328a8[_0x30b963(0x1a0)])==0xea60/0x3e9)_0x2594a0=_0xa47553[_0x30b963(0x1e4)](_0xa47553[_0x30b963(0x109)](_0x68f536+0x1,_0x43711b,!![]),!![],!![]);else BB[_0x30b963(0x233)]['getSourceFPS'](_0xa328a8[_0x30b963(0x1a0)])==0x7530/0x3e9?_0x2594a0=_0xa47553[_0x30b963(0x1e4)](_0xa47553[_0x30b963(0x109)](_0x68f536+0x1,_0x43711b,![]),![],![]):_0x2594a0=_0x30b963(0x23e);var _0x5a151d='';if(BB[_0x30b963(0x233)][_0x30b963(0x20b)](_0xa328a8[_0x30b963(0x1a0)])==0xea60/0x3e9)_0x5a151d=_0xa47553['printTimecode'](_0xa47553[_0x30b963(0x109)](_0xa328a8[_0x30b963(0x1b9)][_0x30b963(0x2bb)],_0x43711b,!![]),!![],!![]);else BB['Utils'][_0x30b963(0x20b)](_0xa328a8[_0x30b963(0x1a0)])==0x7530/0x3e9?_0x5a151d=_0xa47553[_0x30b963(0x1e4)](_0xa47553[_0x30b963(0x109)](_0xa328a8[_0x30b963(0x1b9)]['offset'],_0x43711b,![]),![],![]):_0x5a151d=_0x30b963(0x23e);let _0x2b2826=_0x68f536-_0xa328a8[_0x30b963(0x1b9)][_0x30b963(0x2bb)];var _0x2a7d12='';if(BB[_0x30b963(0x233)][_0x30b963(0x20b)](_0xa328a8[_0x30b963(0x1a0)])==0xea60/0x3e9)_0x2a7d12=_0xa47553[_0x30b963(0x1e4)](_0xa47553[_0x30b963(0x109)](_0x2b2826,_0x43711b,!![]),!![],!![]);else BB[_0x30b963(0x233)][_0x30b963(0x20b)](_0xa328a8[_0x30b963(0x1a0)])==0x7530/0x3e9?_0x2a7d12=_0xa47553[_0x30b963(0x1e4)](_0xa47553[_0x30b963(0x109)](_0x2b2826,_0x43711b,![]),![],![]):_0x2a7d12=_0x30b963(0x23e);_0xa328a8[_0x30b963(0x1cd)]&&(console['BBlog'](_0x30b963(0x251)+_0x2594a0+')'+_0x30b963(0x2f3)+_0x5ebff5),_0x5eab34[_0x30b963(0x25a)]+=_0x30b963(0x295));let _0x5427f4=_0x3a9fd5(_0x68f536+0x1,![]);if(_0xa328a8[_0x30b963(0x1cd)])console[_0x30b963(0x1f7)](_0x30b963(0x26c)+_0x30b963(0x11d)+_0x1d999a+_0x30b963(0x11c)+',\x20time:\x20'+_0x2594a0+_0x30b963(0x114)+_0xa328a8[_0x30b963(0x1b9)]['offset']+'('+_0x5a151d+')'+_0x30b963(0x2e6)+_0x2a7d12+_0x30b963(0x1bb)+_0x5427f4[_0x30b963(0x167)](0x4)+_0x30b963(0x15c));if(_0x5ebff5=='ANI')_0x5ebff5=_0x30b963(0x102);else{if(_0x5ebff5==_0x30b963(0x102))_0x5ebff5=_0x30b963(0x2ac);}}else{if(_0xa328a8[_0x30b963(0x1cd)])console[_0x30b963(0x1f7)](_0x30b963(0x26c)+_0x30b963(0x11d)+_0x1d999a);_0x5ebff5='ANI';}window[_0x30b963(0x194)](_0x2224c1);};let _0x590263=_0xa328a8[_0x50964c(0x1a0)]==BB['FrameRateMode']['Src59_MediaTime60']?-0.04:+0.05,_0x3b3340=0x0,_0x42ed35={},_0x47ec82=0x0,_0x4ec168=0x0,_0x16fe08=0x0,_0x2a5f23=0x0,_0xd43682=0x0,_0x3f6ac3=-0x1,_0x274e05=0x0,_0x4c11b4=![],_0x45d995=0x0,_0x51ad6d=0x0,_0x5c344a=![];const _0x54d9b9=_0x77e9c8=>{const _0x6856b1=_0x50964c;var _0x3ba3d1=0x2;if(_0xa328a8[_0x6856b1(0x1cd)]){let _0x4ece9b=document[_0x6856b1(0x1e6)]('debugText');var _0x4c3129=document[_0x6856b1(0x1e6)]('numberInput')[_0x6856b1(0x193)];_0x3ba3d1=parseInt(_0x4c3129);}var _0x1278db=0x0,_0x31c24c=(_0x499960[_0x6856b1(0x175)]-_0xa328a8[_0x6856b1(0x1af)][_0x6856b1(0x1ea)])%(0x3c*0x3c*0x18)*_0x13b38c;_0x1278db=Math[_0x6856b1(0x2d6)](_0x31c24c)+_0xa328a8['syncPoint'][_0x6856b1(0x188)],_0x1278db+=_0x3ba3d1;var _0x4ec8a1=_0x31c24c-Math[_0x6856b1(0x2d6)](_0x31c24c);if(_0x5c344a||_0x4ec8a1<0.226)_0x5c344a=!![];if(_0x4ec8a1>0.8)_0x5c344a=![];if(_0x5c344a)_0x1278db--;var _0x509469='';if(BB[_0x6856b1(0x233)][_0x6856b1(0x20b)](_0xa328a8[_0x6856b1(0x1a0)])==0xea60/0x3e9)_0x509469=_0xa47553[_0x6856b1(0x1e4)](_0xa47553['Frames2Timecode'](_0x1278db,_0x43711b,!![]),!![],!![]);else BB[_0x6856b1(0x233)][_0x6856b1(0x20b)](_0xa328a8[_0x6856b1(0x1a0)])==0x7530/0x3e9?_0x509469=_0xa47553[_0x6856b1(0x1e4)](_0xa47553[_0x6856b1(0x109)](_0x1278db,_0x43711b,![]),![],![]):_0x509469=_0x6856b1(0x23e);var _0x1a0eef='';if(BB[_0x6856b1(0x233)][_0x6856b1(0x20b)](_0xa328a8[_0x6856b1(0x1a0)])==0xea60/0x3e9)_0x1a0eef=_0xa47553[_0x6856b1(0x1e4)](_0xa47553[_0x6856b1(0x109)](_0xa328a8['augmentation'][_0x6856b1(0x2bb)],_0x43711b,!![]),!![],!![]);else BB['Utils']['getSourceFPS'](_0xa328a8[_0x6856b1(0x1a0)])==0x7530/0x3e9?_0x1a0eef=_0xa47553[_0x6856b1(0x1e4)](_0xa47553[_0x6856b1(0x109)](_0xa328a8[_0x6856b1(0x1b9)][_0x6856b1(0x2bb)],_0x43711b,![]),![],![]):_0x1a0eef='NOT\x20SUPPORTED';let _0x5c2270=_0x1278db-_0xa328a8[_0x6856b1(0x1b9)][_0x6856b1(0x2bb)];if(_0xdf6751)_0xdf6751[_0x6856b1(0x2df)](_0x5c2270);_0x3a9fd5(_0x5c2270),_0x1b5c38++,window[_0x6856b1(0x194)](_0x54d9b9);return;},_0x404b06=(_0x3409ec,_0xba235)=>{const _0xb404fe=_0x50964c;let _0x2e0750=_0xba235[_0xb404fe(0x1a2)]*_0x13b38c;var _0x3ccdd0=0x0;if(_0xa328a8[_0xb404fe(0x1cd)]){var _0xdae28c=document['getElementById']('numberInput')[_0xb404fe(0x193)];_0x3ccdd0=parseInt(_0xdae28c);}_0x2e0750+=_0x3ccdd0,_0xd43682=Math[_0xb404fe(0x2d6)](_0x2e0750);var _0x41bd11='';if(BB[_0xb404fe(0x233)]['getSourceFPS'](_0xa328a8['frameRateMode'])==0xea60/0x3e9)_0x41bd11=_0xa47553[_0xb404fe(0x1e4)](_0xa47553[_0xb404fe(0x109)](_0xd43682,_0x43711b,!![]),!![],!![]);else BB[_0xb404fe(0x233)][_0xb404fe(0x20b)](_0xa328a8[_0xb404fe(0x1a0)])==0x7530/0x3e9?_0x41bd11=_0xa47553[_0xb404fe(0x1e4)](_0xa47553['Frames2Timecode'](_0xd43682,_0x43711b,![]),![],![]):_0x41bd11='NOT\x20SUPPORTED';let _0x28e690=document[_0xb404fe(0x1e6)](_0xb404fe(0x1c9));_0x28e690[_0xb404fe(0x24e)]=_0xb404fe(0x1d9)+_0x2e0750[_0xb404fe(0x167)](0x4)+_0xb404fe(0x216)+_0xd43682+_0xb404fe(0x24a)+_0x2a5f23+_0xb404fe(0x192)+_0x41bd11,_0x2a5f23++,_0x3f6ac3=_0xba235[_0xb404fe(0x1a2)],_0x499960['requestVideoFrameCallback'](_0x404b06);return;_0x16fe08=_0x3409ec,_0x42ed35=_0xba235;let _0x5204d4=_0x499960['currentTime'],_0x5c9dd7=(_0x5204d4-_0xba235[_0xb404fe(0x1a2)])*0x3e8;_0x3b3340=_0x5c9dd7,_0x499960[_0xb404fe(0x151)](_0x404b06);};let _0x1efdde=-0x1,_0x3fb2e2=0x270f,_0x31c670=0x0,_0x1b5c38=0x0,_0x419c22=0x0;console['BBlog'](_0x50964c(0x227)),console[_0x50964c(0x1f7)](_0x50964c(0x2ab));typeof window!==_0x50964c(0x24f)?console[_0x50964c(0x1f7)](_0x50964c(0x1dc)):console[_0x50964c(0x1f7)](_0x50964c(0x2c5));_0x50964c(0x194)in window?console[_0x50964c(0x1f7)](_0x50964c(0x2a0)):console['BBlog'](_0x50964c(0x126));typeof _0x499960!=='undefined'?console['BBlog'](_0x50964c(0x133)):console[_0x50964c(0x1f7)]('Video\x20object\x20is\x20not\x20defined.\x20This\x20script\x20might\x20not\x20be\x20running\x20in\x20a\x20browser\x20environment.');'requestVideoFrameCallback'in _0x499960?console[_0x50964c(0x1f7)](_0x50964c(0x12f)):console[_0x50964c(0x1f7)](_0x50964c(0x213));if(_0x1f9c8e[_0x50964c(0x1e8)]()||_0x1f9c8e[_0x50964c(0x253)]())window[_0x50964c(0x194)](_0x2224c1),_0x499960[_0x50964c(0x1f1)]>=0x2?(console['BBlog'](_0x50964c(0x20c)),_0x499960['requestVideoFrameCallback'](_0x1d8c54)):(console['BBlog'](_0x50964c(0x19b)),_0x499960['addEventListener']('loadedmetadata',()=>{_0x499960['requestVideoFrameCallback'](_0x1d8c54);}));else _0x1f9c8e[_0x50964c(0x2d1)]()?window['requestAnimationFrame'](_0x54d9b9):console[_0x50964c(0x1f7)](_0x50964c(0x12d));console['BBlog'](_0x50964c(0x1f8)),console[_0x50964c(0x1f7)](_0x50964c(0x21e));function _0x583b38(){return new Promise(_0x260635=>{let _0x7f4ee=0x0;const _0xb22bd6=[],_0x4c8642=0x14;function _0x2bd9ef(_0x420084){const _0x50a69b=_0x15a5;if(_0x7f4ee){const _0x53acf5=_0x420084-_0x7f4ee,_0xcee7d=0x3e8/_0x53acf5;if(!(_0xcee7d===undefined)){if(_0xcee7d>0x0&&_0xcee7d<0xc8)_0xb22bd6[_0x50a69b(0x1f6)](_0xcee7d);}if(_0xb22bd6[_0x50a69b(0x2ce)]===_0x4c8642){const _0x7e969a=_0xb22bd6[_0x50a69b(0x112)]((_0x4b5272,_0x495016)=>_0x4b5272+_0x495016,0x0)/_0x4c8642;_0x260635(Math['round'](_0x7e969a));return;}}_0x7f4ee=_0x420084,requestAnimationFrame(_0x2bd9ef);}requestAnimationFrame(_0x2bd9ef);});}_0x583b38()[_0x50964c(0x12a)](_0xa08239=>{const _0x237f99=_0x50964c;_0xa328a8[_0x237f99(0x29f)]=_0xa08239,_0xa328a8[_0x237f99(0x29f)]>0x46||_0xa328a8[_0x237f99(0x29f)]<0x32?(console[_0x237f99(0x2f9)](_0x237f99(0x10f)+_0xa08239+_0x237f99(0x2f7)),_0xa328a8[_0x237f99(0x16c)]=!![]):console[_0x237f99(0x1f7)](_0x237f99(0x10f)+_0xa08239+'\x20FPS,\x20Continuing\x20augmentation');});const _0x115c76=()=>{const _0x50bb08=_0x50964c;let _0x2d4297=_0x499960['parentElement'];_0xfe1105=new BB[(_0x50bb08(0x284))](_0x2d4297,_0x499960,_0xa328a8),ads=BB[_0x50bb08(0x2c9)](_0xfe1105,_0xa328a8),_0xdf6751=BB[_0x50bb08(0x129)](_0xa328a8,_0xfe1105);},_0x23b4aa=()=>{return _0xfe1105['getCanvas']();},_0x9c6b0e=_0x43ecbd=>{_0x172049(_0x43ecbd);},_0x2a0579=_0x2a45ad=>{_0x4e9a20(_0x2a45ad);};return{'getCanvas':_0x23b4aa,'onNewSegmentInterface':_0x9c6b0e,'onNewMetadataInterface':_0x2a0579,'initializeComponents':_0x115c76};},BB[_0x531132(0x284)]=class{constructor(_0x3df088,_0x4a6f90,_0x24d4d5){const _0x499044=_0x531132;if(_0x24d4d5[_0x499044(0x1b9)][_0x499044(0x250)]){this['digitImg']={};for(let _0xf1f1fc=0x0;_0xf1f1fc<0xa;++_0xf1f1fc){let _0x27ec8f=_0xf1f1fc+'.1',_0x20b07e=_0xf1f1fc+'.2';this[_0x499044(0x11a)][_0x27ec8f]=this[_0x499044(0x1b8)](_0x27ec8f),this[_0x499044(0x11a)][_0x20b07e]=this[_0x499044(0x1b8)](_0x20b07e);}}this[_0x499044(0x293)]=Object[_0x499044(0x214)]({'adLoopTime':0x1388,'isAdLoop':![]},_0x24d4d5||{}),this[_0x499044(0x117)]=BB[_0x499044(0x233)][_0x499044(0x20b)](this['options'][_0x499044(0x1a0)]),this[_0x499044(0x2f5)]=[],this[_0x499044(0x265)]={},this[_0x499044(0x148)]=![],this['advertisementMap']={},this[_0x499044(0x261)]={},this['videoCopier']=null,this[_0x499044(0x121)]=document[_0x499044(0x1ca)](_0x499044(0x121)),this[_0x499044(0x1ab)]=this[_0x499044(0x121)][_0x499044(0x138)](_0x499044(0x22b),{'premultipliedAlpha':![]});this['ctx']==null?(this['ctx']=this[_0x499044(0x121)][_0x499044(0x138)](_0x499044(0x13b),{'premultipliedAlpha':![]}),this[_0x499044(0x191)]=0x1):this['webGLVersion']=0x2;console[_0x499044(0x28b)](_0x499044(0x241)+this[_0x499044(0x1ab)]+_0x499044(0x13a)+this[_0x499044(0x191)]);let _0x37992d=_0x3df088[_0x499044(0x162)],_0x3feb6b=_0x3df088['offsetLeft'],_0x4a1381=_0x3df088[_0x499044(0x259)](_0x499044(0x2ec))[0x0];typeof wmcPlayer!=_0x499044(0x24f)?(this[_0x499044(0x121)]['style'][_0x499044(0x224)]=0x0,this[_0x499044(0x121)][_0x499044(0x2c0)][_0x499044(0x1a4)]=0x0):(this[_0x499044(0x121)]['style']['top']=_0x37992d,this[_0x499044(0x121)][_0x499044(0x2c0)][_0x499044(0x1a4)]=_0x3feb6b);this['canvas']['style']['width']='100%',this[_0x499044(0x121)]['style'][_0x499044(0x17a)]=0x186a0,this[_0x499044(0x121)][_0x499044(0x143)]=_0x3df088[_0x499044(0x25b)],this[_0x499044(0x121)][_0x499044(0x228)]=_0x3df088[_0x499044(0x189)],this[_0x499044(0x121)][_0x499044(0x2c0)]['position']='absolute';let _0x5c81f6=_0x4a1381[_0x499044(0x1a8)];if(_0x5c81f6)_0x3df088['insertBefore'](this[_0x499044(0x121)],_0x5c81f6);else _0x3df088['appendChild'](this[_0x499044(0x121)]);this[_0x499044(0x121)][_0x499044(0x2c0)][_0x499044(0x271)]='none',_0x4a1381['addEventListener'](_0x499044(0x2a7),_0x522749=>{this['OnUserClickOnCanvas'](_0x522749);}),this[_0x499044(0x101)](),this[_0x499044(0x204)]=null,this[_0x499044(0x19a)]={},this[_0x499044(0x17e)]={},this[_0x499044(0x1f4)]={},this[_0x499044(0x2ea)]=[],this[_0x499044(0x25d)]=0x0,this[_0x499044(0x292)]=null;}[_0x531132(0x153)](_0x5a1503){return(_0x5a1503&_0x5a1503-0x1)==0x0;}[_0x531132(0x1b8)](_0x140349){const _0x502321=_0x531132;let _0x33d164=document[_0x502321(0x1ca)]('canvas');_0x33d164[_0x502321(0x143)]=0x32,_0x33d164[_0x502321(0x228)]=0x32;let _0x4cbfc9=_0x33d164[_0x502321(0x138)]('2d');_0x4cbfc9[_0x502321(0x2b0)]='black',_0x4cbfc9[_0x502321(0x16a)](0x0,0x0,_0x33d164[_0x502321(0x143)],_0x33d164[_0x502321(0x228)]),_0x4cbfc9[_0x502321(0x14e)]='30px\x20Arial',_0x4cbfc9[_0x502321(0x2b0)]=_0x502321(0x10c),_0x4cbfc9[_0x502321(0x10b)](_0x140349,0xa,0x23);let _0x2dd365=_0x33d164[_0x502321(0x2a1)](),_0x44f889=document[_0x502321(0x1ca)]('img');return _0x44f889['src']=_0x2dd365,_0x44f889;}[_0x531132(0x2bf)](_0xe5f279){const _0x4d0bd0=_0x531132,_0x168fb3=this['canvas'][_0x4d0bd0(0x140)]();let _0x1b1856=event[_0x4d0bd0(0x18d)]-_0x168fb3['left'],_0x4f2d3f=event['clientY']-_0x168fb3[_0x4d0bd0(0x224)];_0x1b1856=_0x1b1856/(_0x168fb3[_0x4d0bd0(0x27a)]-_0x168fb3['left']),_0x4f2d3f=_0x4f2d3f/(_0x168fb3[_0x4d0bd0(0x210)]-_0x168fb3[_0x4d0bd0(0x224)]);for(let _0x1ea68b of this[_0x4d0bd0(0x2ea)]){if(_0x1ea68b['rect']['l']<=_0x1b1856&&_0x1ea68b['rect']['r']>=_0x1b1856&&_0x1ea68b[_0x4d0bd0(0x248)]['t']<=_0x4f2d3f&&_0x1ea68b[_0x4d0bd0(0x248)]['b']>=_0x4f2d3f){let _0x59a8c1=_0x1ea68b['name'][_0x4d0bd0(0x157)](0x1);if(this[_0x4d0bd0(0x261)][_0x59a8c1]){let _0x4ca6f9=this[_0x4d0bd0(0x261)][_0x59a8c1];console[_0x4d0bd0(0x28b)](_0x4d0bd0(0x14d)+_0x59a8c1+_0x4d0bd0(0x1c2)+_0x4ca6f9+_0x4d0bd0(0x21c)),window[_0x4d0bd0(0x28d)](_0x4ca6f9,'_blank');}return;}}}[_0x531132(0x1f5)](){return 0x0;}[_0x531132(0x1aa)](_0x3063ec){const _0x3a8e56=_0x531132;let _0xb639b5=Object[_0x3a8e56(0x2dd)](this[_0x3a8e56(0x17e)]);for(let _0x414f97=0x0;_0x414f97<_0xb639b5[_0x3a8e56(0x2ce)];++_0x414f97){if(_0x3063ec==_0xb639b5[_0x414f97])return _0x414f97+0x1;}return 0x0;}[_0x531132(0x225)](_0x532a23){const _0x5cde88=_0x531132;let _0x10e923=Object[_0x5cde88(0x2dd)](this[_0x5cde88(0x17e)]);for(let _0x51e535=0x0;_0x51e535<_0x10e923[_0x5cde88(0x2ce)];++_0x51e535){let _0x127365=_0x10e923[_0x51e535];if(_0x532a23['name']['indexOf'](_0x127365)>=0x0)return _0x51e535;}return 0x0;}['AdNameForPlaceHolder'](_0x3de806){const _0x2e6ee6=_0x531132;let _0x4eaa40=Object[_0x2e6ee6(0x2dd)](this['place2ad']);for(let _0x131494=0x0;_0x131494<_0x4eaa40[_0x2e6ee6(0x2ce)];++_0x131494){let _0x29ee29=_0x4eaa40[_0x131494];if(_0x3de806['name'][_0x2e6ee6(0x274)](_0x29ee29)>=0x0&&this['place2AdTexture']&&this[_0x2e6ee6(0x19a)][_0x29ee29]&&this[_0x2e6ee6(0x19a)][_0x29ee29]['name'])return this[_0x2e6ee6(0x19a)][_0x29ee29][_0x2e6ee6(0x172)];}return this[_0x2e6ee6(0x211)];}[_0x531132(0x2c8)](){const _0xa86aa8=_0x531132;return 0x1+Object[_0xa86aa8(0x2dd)](this['place2ad'])[_0xa86aa8(0x2ce)];}[_0x531132(0x101)](){const _0x357603=_0x531132;let _0x467dd0=BB['GL']['fragmentShaderSource'];if(BB[_0x357603(0x233)][_0x357603(0x2a8)][_0x357603(0x2d1)]())_0x467dd0=BB['GL'][_0x357603(0x2f6)][_0x357603(0x22f)](_0x357603(0x11e),'if\x20(alpha\x20<\x200.8)');this[_0x357603(0x1c0)]=webglUtils[_0x357603(0x290)](this['ctx'],this[_0x357603(0x191)]==0x2?[BB['GL'][_0x357603(0x245)],_0x467dd0]:[BB['GL']['vertexShaderSourceV1'],BB['GL'][_0x357603(0x2dc)]]),this[_0x357603(0x1ab)]['clearColor'](0x0,0x0,0x0,0x0),this[_0x357603(0x1ab)][_0x357603(0x219)](this[_0x357603(0x1ab)][_0x357603(0x13f)]),this[_0x357603(0x1ab)][_0x357603(0x1c5)](this['program']),this[_0x357603(0x2ca)]=0x0,this[_0x357603(0x1d3)]();}[_0x531132(0x1d3)](){const _0x3f60f9=_0x531132;this[_0x3f60f9(0x121)]['style']['display']=_0x3f60f9(0x110),this[_0x3f60f9(0x2d8)]=0x0;}[_0x531132(0x26f)](_0x5db345,_0x6eb106,_0x484a6d,_0x3b1b23,_0x103790,_0x3e24a7,_0x3e456f){const _0xda5eb9=_0x531132;_0x3e456f?this[_0xda5eb9(0x1ab)]['pixelStorei'](this[_0xda5eb9(0x1ab)][_0xda5eb9(0x254)],0x1):this[_0xda5eb9(0x1ab)][_0xda5eb9(0x28a)](this['ctx'][_0xda5eb9(0x254)],0x4);this[_0xda5eb9(0x1ab)][_0xda5eb9(0x28a)](this[_0xda5eb9(0x1ab)][_0xda5eb9(0x2af)],![]);const _0x1f8764=this['ctx']['createTexture']();this[_0xda5eb9(0x1ab)][_0xda5eb9(0x236)](this[_0xda5eb9(0x1ab)][_0xda5eb9(0x1b2)]+_0x6eb106),this['ctx'][_0xda5eb9(0x23a)](this['ctx'][_0xda5eb9(0x21d)],_0x1f8764);try{_0x103790&&_0x3e24a7?this['ctx']['texImage2D'](this[_0xda5eb9(0x1ab)][_0xda5eb9(0x21d)],0x0,_0x3b1b23==null?this[_0xda5eb9(0x1ab)][_0xda5eb9(0x24b)]:_0x3b1b23,_0x103790,_0x3e24a7,0x0,_0x3b1b23==null?this['ctx'][_0xda5eb9(0x24b)]:_0x3b1b23,this['ctx'][_0xda5eb9(0x1fe)],_0x5db345):this['ctx'][_0xda5eb9(0x20e)](this[_0xda5eb9(0x1ab)][_0xda5eb9(0x21d)],0x0,_0x3b1b23==null?this[_0xda5eb9(0x1ab)][_0xda5eb9(0x24b)]:_0x3b1b23,this[_0xda5eb9(0x1ab)][_0xda5eb9(0x24b)],this[_0xda5eb9(0x1ab)][_0xda5eb9(0x1fe)],_0x5db345);}catch(_0x5b6ae7){return console['error'](_0x5b6ae7),null;}if(this['webGLVersion']==0x1){let _0x2aa8ee=_0x103790||_0x5db345[_0xda5eb9(0x143)],_0x5b6763=_0x3e24a7||_0x5db345['height'];_0x2aa8ee&&this[_0xda5eb9(0x153)](_0x2aa8ee)&&_0x5b6763&&this[_0xda5eb9(0x153)](_0x5b6763)?this[_0xda5eb9(0x1ab)][_0xda5eb9(0x183)](this[_0xda5eb9(0x1ab)][_0xda5eb9(0x21d)]):(this[_0xda5eb9(0x1ab)][_0xda5eb9(0x116)](this[_0xda5eb9(0x1ab)]['TEXTURE_2D'],this[_0xda5eb9(0x1ab)][_0xda5eb9(0x249)],this[_0xda5eb9(0x1ab)][_0xda5eb9(0x200)]),this[_0xda5eb9(0x1ab)][_0xda5eb9(0x116)](this[_0xda5eb9(0x1ab)]['TEXTURE_2D'],this[_0xda5eb9(0x1ab)][_0xda5eb9(0x107)],this['ctx']['CLAMP_TO_EDGE']),this[_0xda5eb9(0x1ab)]['texParameteri'](this[_0xda5eb9(0x1ab)][_0xda5eb9(0x21d)],this[_0xda5eb9(0x1ab)][_0xda5eb9(0x1e2)],this[_0xda5eb9(0x1ab)][_0xda5eb9(0x1e5)]));}else this['ctx'][_0xda5eb9(0x116)](this[_0xda5eb9(0x1ab)][_0xda5eb9(0x21d)],this[_0xda5eb9(0x1ab)][_0xda5eb9(0x249)],this['ctx']['CLAMP_TO_EDGE']),this[_0xda5eb9(0x1ab)][_0xda5eb9(0x116)](this[_0xda5eb9(0x1ab)]['TEXTURE_2D'],this['ctx'][_0xda5eb9(0x107)],this[_0xda5eb9(0x1ab)][_0xda5eb9(0x200)]),this['ctx']['texParameteri'](this['ctx'][_0xda5eb9(0x21d)],this[_0xda5eb9(0x1ab)]['TEXTURE_MIN_FILTER'],this['ctx'][_0xda5eb9(0x1e5)]),this[_0xda5eb9(0x1ab)]['texParameteri'](this[_0xda5eb9(0x1ab)][_0xda5eb9(0x21d)],this[_0xda5eb9(0x1ab)][_0xda5eb9(0x258)],this[_0xda5eb9(0x1ab)][_0xda5eb9(0x1e5)]);let _0x1462e3=this[_0xda5eb9(0x1ab)][_0xda5eb9(0x2b4)](this['program'],_0x484a6d);return _0x1462e3&&this[_0xda5eb9(0x1ab)]['uniform1i'](_0x1462e3,_0x6eb106),_0x1f8764;}[_0x531132(0x280)](){const _0x343834=_0x531132;this['autoAddIndex']=setTimeout(()=>{const _0x4b14d2=_0x15a5,_0x26873a=Object[_0x4b14d2(0x2dd)](this[_0x4b14d2(0x1f3)]);_0x26873a[_0x4b14d2(0x2ce)]&&(this[_0x4b14d2(0x15a)](_0x26873a[Math['floor'](Math['random']()*_0x26873a[_0x4b14d2(0x2ce)])]),this[_0x4b14d2(0x280)]());},this[_0x343834(0x293)][_0x343834(0x1a5)]);}['AddAdvertisement'](_0x2966f2,_0x1dd73c,_0x18d27d=null){const _0x4d6aa5=_0x531132;if(_0x2966f2[_0x4d6aa5(0x274)]('.json')>-0x1){fetch(_0x1dd73c)[_0x4d6aa5(0x12a)](async _0x133230=>{const _0x7dae28=_0x4d6aa5;this[_0x7dae28(0x17e)]=await _0x133230['json'](),this[_0x7dae28(0x1f4)]={};let _0x5344fd=Object['keys'](this['place2ad']);for(let _0x36dc5c=0x0;_0x36dc5c<_0x5344fd[_0x7dae28(0x2ce)];++_0x36dc5c){let _0x40ce6a=_0x5344fd[_0x36dc5c];if(_0x40ce6a=='urls'){this[_0x7dae28(0x261)]=this['place2ad'][_0x40ce6a],delete this[_0x7dae28(0x17e)][_0x40ce6a];continue;}let _0x58857d=this['place2ad'][_0x40ce6a];for(let _0x1f4a6f=0x0;_0x1f4a6f<_0x58857d['length'];++_0x1f4a6f){let _0x1a1aa0=_0x58857d[_0x1f4a6f];this[_0x7dae28(0x1f4)]['#'+_0x1a1aa0]=_0x40ce6a;}}Object['keys'](this[_0x7dae28(0x17e)])[_0x7dae28(0x2ce)]>0x0&&(console[_0x7dae28(0x28b)](_0x7dae28(0x144),this[_0x7dae28(0x17e)]),console[_0x7dae28(0x28b)](_0x7dae28(0x2cd),this[_0x7dae28(0x1f4)]),setTimeout(()=>{this['MakeSureAdPerPlace']();},0xbb8));});if(_0x18d27d)_0x18d27d();return;}const _0x418a89=new Image();return _0x418a89['crossOrigin']=_0x4d6aa5(0x2ee),_0x418a89['onload']=()=>{const _0x475331=_0x4d6aa5;let _0x46d4e0=Object['keys'](this['advertisementMap'])[_0x475331(0x2ce)]===0x0;this[_0x475331(0x1f3)][_0x2966f2]=_0x418a89;_0x46d4e0&&(this['SelectAd'](_0x2966f2),this[_0x475331(0x293)][_0x475331(0x262)]&&(clearTimeout(this[_0x475331(0x292)]),this[_0x475331(0x280)]()));if(_0x18d27d)_0x18d27d();},_0x418a89['onerror']=()=>{const _0x2816e1=_0x4d6aa5;alert(_0x2816e1(0x103)+_0x1dd73c+'\x20.');},_0x418a89[_0x4d6aa5(0x169)]=_0x1dd73c,_0x418a89;}[_0x531132(0x1a6)](){const _0x16d7d1=_0x531132;if(this[_0x16d7d1(0x17e)]){let _0xbe8f5c=Object['keys'](this[_0x16d7d1(0x17e)]);for(let _0x2ce71e=0x0;_0x2ce71e<_0xbe8f5c[_0x16d7d1(0x2ce)];++_0x2ce71e){let _0x58e9c2=_0xbe8f5c[_0x2ce71e];!this[_0x16d7d1(0x19a)][_0x58e9c2]&&this[_0x16d7d1(0x17e)][_0x58e9c2][_0x16d7d1(0x2ce)]>0x0&&(console[_0x16d7d1(0x28b)]('MakeSureAdPerPlace:\x20Set\x20default\x20image\x20'+this['place2ad'][_0x58e9c2][0x0]+'\x20for\x20place\x20'+_0x58e9c2),this[_0x16d7d1(0x15a)]('#'+this[_0x16d7d1(0x17e)][_0x58e9c2][0x0]));}}}[_0x531132(0x15a)](_0x3afe85){const _0x4a1d69=_0x531132;console[_0x4a1d69(0x28b)](_0x4a1d69(0x155)+_0x3afe85);let _0x28ea62=this[_0x4a1d69(0x1f3)][_0x3afe85];if(!_0x28ea62)console[_0x4a1d69(0x230)](_0x4a1d69(0x163)+_0x3afe85+'\x27');else{if(this['ad2place']&&this[_0x4a1d69(0x1f4)][_0x3afe85]){let _0x156f29=this['ad2place'][_0x3afe85];console[_0x4a1d69(0x28b)](_0x4a1d69(0x270)+_0x156f29);let _0xc50bfd=this[_0x4a1d69(0x1aa)](_0x156f29),_0x45bef8='ad'+(_0xc50bfd-0x1);if(this[_0x4a1d69(0x19a)][_0x156f29])this[_0x4a1d69(0x1ab)]['deleteTexture'](this[_0x4a1d69(0x19a)][_0x156f29]['tex']);this[_0x4a1d69(0x19a)][_0x156f29]={'tex':this[_0x4a1d69(0x26f)](_0x28ea62,_0xc50bfd,_0x45bef8),'texUnitId':_0xc50bfd,'texName':_0x45bef8,'name':_0x3afe85};}else this[_0x4a1d69(0x204)]!=null&&this['ctx'][_0x4a1d69(0x18e)](this['adTexture']),this[_0x4a1d69(0x204)]=this[_0x4a1d69(0x26f)](_0x28ea62,this['TexUnitForGenericAd'](),'ad0'),this[_0x4a1d69(0x1ce)]=_0x28ea62,this[_0x4a1d69(0x211)]=_0x3afe85;}}[_0x531132(0x1da)](_0x45a075){const _0x539082=_0x531132;this[_0x539082(0x265)][_0x45a075[_0x539082(0x1b7)]]=_0x45a075,this['metadataArr'][_0x539082(0x1f6)](_0x45a075['timecode']);}[_0x531132(0x2d7)](){const _0x5399f7=_0x531132;(this[_0x5399f7(0x2b8)]||this[_0x5399f7(0x221)])[_0x5399f7(0x150)](this)[_0x5399f7(0x141)](_0x2e847f=>{console['error'](_0x2e847f);});}[_0x531132(0x2d0)](){const _0x2f0dfa=_0x531132;let _0xb3779e=this[_0x2f0dfa(0x1ab)]['getAttribLocation'](this['program'],_0x2f0dfa(0x1bd)),_0xd90e40=this[_0x2f0dfa(0x1ab)][_0x2f0dfa(0x2b4)](this[_0x2f0dfa(0x1c0)],'u_resolution'),_0x4baea3=this[_0x2f0dfa(0x1ab)][_0x2f0dfa(0x2b4)](this['program'],_0x2f0dfa(0x2b3));this[_0x2f0dfa(0x1ab)]['uniform2f'](_0xd90e40,this[_0x2f0dfa(0x1ab)]['canvas'][_0x2f0dfa(0x143)],this[_0x2f0dfa(0x1ab)][_0x2f0dfa(0x121)][_0x2f0dfa(0x228)]),this[_0x2f0dfa(0x1ab)]['uniform2f'](_0x4baea3,this['ctx'][_0x2f0dfa(0x121)]['width'],this[_0x2f0dfa(0x1ab)][_0x2f0dfa(0x121)][_0x2f0dfa(0x228)]);if(this[_0x2f0dfa(0x191)]==0x2){let _0x334969=this[_0x2f0dfa(0x1ab)][_0x2f0dfa(0x2b4)](this[_0x2f0dfa(0x1c0)],_0x2f0dfa(0x2aa)),_0x54d185=[0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1];this[_0x2f0dfa(0x1ab)][_0x2f0dfa(0x2f1)](_0x334969,![],_0x54d185);}let _0x237cc0=null;this[_0x2f0dfa(0x191)]==0x2&&(_0x237cc0=this[_0x2f0dfa(0x1ab)][_0x2f0dfa(0x22c)](),this[_0x2f0dfa(0x1ab)]['bindVertexArray'](_0x237cc0));let _0x803deb=this[_0x2f0dfa(0x1ab)][_0x2f0dfa(0x275)]();this['ctx'][_0x2f0dfa(0x147)](_0xb3779e),this[_0x2f0dfa(0x1ab)][_0x2f0dfa(0x28c)](this[_0x2f0dfa(0x1ab)][_0x2f0dfa(0x1e0)],_0x803deb);let _0x4e9cab=0x2,_0x422d96=this[_0x2f0dfa(0x1ab)][_0x2f0dfa(0x16b)],_0x2cdf24=![],_0x1dc8e4=0x0,_0x5415fc=0x0;this[_0x2f0dfa(0x1ab)]['vertexAttribPointer'](_0xb3779e,_0x4e9cab,_0x422d96,_0x2cdf24,_0x1dc8e4,_0x5415fc);let _0x86e87c=this['ctx'][_0x2f0dfa(0x275)]();this[_0x2f0dfa(0x1ab)][_0x2f0dfa(0x28c)](this['ctx'][_0x2f0dfa(0x1e0)],_0x86e87c),this[_0x2f0dfa(0x1ab)]['bufferData'](this[_0x2f0dfa(0x1ab)]['ARRAY_BUFFER'],new Float32Array([0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1,0x1]),this[_0x2f0dfa(0x1ab)]['STATIC_DRAW']),this['ctx']['viewport'](0x0,0x0,this['ctx']['canvas'][_0x2f0dfa(0x143)],this[_0x2f0dfa(0x1ab)][_0x2f0dfa(0x121)][_0x2f0dfa(0x228)]),this[_0x2f0dfa(0x1ab)]['clearColor'](0x0,0x0,0x0,0x0),this['ctx'][_0x2f0dfa(0x219)](this['ctx'][_0x2f0dfa(0x13f)]|this['ctx'][_0x2f0dfa(0x2f2)]),this[_0x2f0dfa(0x1ab)][_0x2f0dfa(0x28c)](this[_0x2f0dfa(0x1ab)][_0x2f0dfa(0x1e0)],_0x803deb),this['SetRectangle'](this[_0x2f0dfa(0x1ab)],0x0,0x0,this[_0x2f0dfa(0x121)]['width'],this[_0x2f0dfa(0x121)]['height']);let _0x1c9aac=this['ctx'][_0x2f0dfa(0x232)],_0x1dfe97=0x6;this[_0x2f0dfa(0x1ab)][_0x2f0dfa(0x22a)](_0x1c9aac,_0x5415fc,_0x1dfe97);}['SetRectangle'](_0x3f396c,_0x139204,_0x3d1f5d,_0x4facae,_0x3d7068){const _0x1239b0=_0x531132;let _0x4cdf65=_0x139204,_0x5cafbc=_0x139204+_0x4facae,_0x50dcc4=_0x3d1f5d,_0x61d4de=_0x3d1f5d+_0x3d7068;this[_0x1239b0(0x1ab)][_0x1239b0(0x154)](this[_0x1239b0(0x1ab)][_0x1239b0(0x1e0)],new Float32Array([_0x4cdf65,_0x50dcc4,_0x5cafbc,_0x50dcc4,_0x4cdf65,_0x61d4de,_0x4cdf65,_0x61d4de,_0x5cafbc,_0x50dcc4,_0x5cafbc,_0x61d4de]),this[_0x1239b0(0x1ab)][_0x1239b0(0x1d7)]);}['renderAugmentation'](_0x4c3192){const _0xfcbc6d=_0x531132;let _0xd758b5=BB[_0xfcbc6d(0x233)]['TimeCodesFramesTranslator'],_0x464bce=_0xd758b5['timeCodeStr2TimeCodeArray'](_0x4c3192),_0x128353=_0xd758b5['TimeCodeAddFrames'](_0x464bce,0x1,this[_0xfcbc6d(0x117)]),_0x4cd59e=_0xd758b5[_0xfcbc6d(0x23b)](_0x464bce,0x2,this[_0xfcbc6d(0x117)]),_0x46a439=_0xd758b5[_0xfcbc6d(0x1e4)](_0x128353),_0x140d3b=_0xd758b5[_0xfcbc6d(0x1e4)](_0x4cd59e);this[_0xfcbc6d(0x148)]=!![];const _0x507d21=performance[_0xfcbc6d(0x185)]();let _0x466be2=null,_0x4f0a2b=[];if(this[_0xfcbc6d(0x265)][_0x4c3192]){_0x466be2=this['metadataMap'][_0x4c3192];this[_0xfcbc6d(0x265)][_0x46a439]&&_0x4f0a2b[_0xfcbc6d(0x1f6)]({'nextVideo':this[_0xfcbc6d(0x265)][_0x46a439],'nextTimeCode':_0x46a439});this['metadataMap'][_0x140d3b]&&_0x4f0a2b[_0xfcbc6d(0x1f6)]({'nextVideo':this[_0xfcbc6d(0x265)][_0x140d3b],'nextTimeCode':_0x140d3b});const _0x3747dd=this[_0xfcbc6d(0x2f5)]['indexOf'](_0x4c3192);if(_0x3747dd>-0x5)this[_0xfcbc6d(0x2f5)][_0xfcbc6d(0x235)](0x0,_0x3747dd-0x4)['forEach'](_0x101b01=>{const _0x2ee498=_0xfcbc6d;delete this[_0x2ee498(0x265)][_0x101b01];});this['alphaFound']++;}else this[_0xfcbc6d(0x2ca)]++,this['counter']>0x3c&&(this['counter']=0x0,console[_0xfcbc6d(0x230)](_0xfcbc6d(0x23f)+_0x4c3192)),this[_0xfcbc6d(0x2d8)]++;this['alphaFound']>0x1e&&this[_0xfcbc6d(0x121)][_0xfcbc6d(0x2c0)][_0xfcbc6d(0x16f)]==_0xfcbc6d(0x110)&&(this['canvas']['style'][_0xfcbc6d(0x16f)]='');let _0x11d872=[];this[_0xfcbc6d(0x121)][_0xfcbc6d(0x143)]=0x500,this[_0xfcbc6d(0x121)]['height']=0x2d0;let _0x9ab775=0x0;this[_0xfcbc6d(0x2ea)]=[];if(_0x466be2){let _0x101ac4=![];if(this['options'][_0xfcbc6d(0x1cd)]){var _0x45c4f3=document['getElementById'](_0xfcbc6d(0x2f0));_0x101ac4=_0x45c4f3[_0xfcbc6d(0x1f2)];}if(!_0x101ac4)for(const _0x4cf099 in _0x466be2['placeholders']){const _0x11144f=_0x466be2[_0xfcbc6d(0x2c3)][_0x4cf099];if(!_0x11144f[_0xfcbc6d(0x149)])continue;let _0x307e48=_0xfcbc6d(0x136)+_0x9ab775,_0x1ba892=this[_0xfcbc6d(0x2c8)]()+_0x9ab775;_0x11144f[_0xfcbc6d(0x18f)]=this['GenerateTexture'](_0x11144f[_0xfcbc6d(0x149)],_0x1ba892,_0x307e48,this[_0xfcbc6d(0x1ab)][_0xfcbc6d(0x11b)],_0x11144f[_0xfcbc6d(0x143)],_0x11144f[_0xfcbc6d(0x228)],!![]),_0x11144f[_0xfcbc6d(0x149)]=null;if(!_0x11144f[_0xfcbc6d(0x18f)]){console[_0xfcbc6d(0x230)](_0xfcbc6d(0x277));continue;}_0x11d872[_0xfcbc6d(0x1f6)](_0x11144f[_0xfcbc6d(0x18f)]);let _0x2bd0d3=_0xfcbc6d(0x137)+_0x9ab775,_0x2a86a1=this[_0xfcbc6d(0x1ab)]['getUniformLocation'](this['program'],_0x2bd0d3);this[_0xfcbc6d(0x1ab)][_0xfcbc6d(0x1b3)](_0x2a86a1,0x1);let _0x52bc4c='adForLogo'+_0x9ab775,_0x2d52a4=this[_0xfcbc6d(0x1ab)][_0xfcbc6d(0x2b4)](this['program'],_0x52bc4c),_0x5ae679=![];_0x11144f['name'][_0xfcbc6d(0x274)]('blur')>=0x0?(this[_0xfcbc6d(0x1ab)][_0xfcbc6d(0x1b3)](_0x2d52a4,0x63),_0x5ae679=!![]):this[_0xfcbc6d(0x1ab)][_0xfcbc6d(0x1b3)](_0x2d52a4,this[_0xfcbc6d(0x225)](_0x11144f));let _0x2adddf='u_alpha'+_0x9ab775+_0xfcbc6d(0x2b1),_0x416cd9=this[_0xfcbc6d(0x1ab)][_0xfcbc6d(0x2b4)](this[_0xfcbc6d(0x1c0)],_0x2adddf);this[_0xfcbc6d(0x1ab)][_0xfcbc6d(0x252)](_0x416cd9,[_0x11144f[_0xfcbc6d(0x128)],_0x11144f['maskY']]);let _0xabdb32=_0xfcbc6d(0x1cf)+_0x9ab775+'Size',_0x220968=this[_0xfcbc6d(0x1ab)][_0xfcbc6d(0x2b4)](this[_0xfcbc6d(0x1c0)],_0xabdb32);this[_0xfcbc6d(0x1ab)]['uniform2fv'](_0x220968,[_0x11144f[_0xfcbc6d(0x143)],_0x11144f['height']]);let _0x5e6aef='u_matrix'+_0x9ab775,_0x39eebe=this[_0xfcbc6d(0x1ab)][_0xfcbc6d(0x2b4)](this['program'],_0x5e6aef);this[_0xfcbc6d(0x1ab)][_0xfcbc6d(0x2f1)](_0x39eebe,![],_0x11144f[_0xfcbc6d(0x152)]);if(!_0x5ae679){let _0x4f5713={'l':-0x1,'t':-0x1,'r':-0x1,'b':-0x1};for(let _0x233294 of _0x11144f['corners']){if(_0x233294['x']<_0x4f5713['l']||_0x4f5713['l']==-0x1)_0x4f5713['l']=_0x233294['x'];if(_0x233294['x']>_0x4f5713['r']||_0x4f5713['r']==-0x1)_0x4f5713['r']=_0x233294['x'];if(_0x233294['y']<_0x4f5713['t']||_0x4f5713['t']==-0x1)_0x4f5713['t']=_0x233294['y'];if(_0x233294['y']>_0x4f5713['b']||_0x4f5713['b']==-0x1)_0x4f5713['b']=_0x233294['y'];}_0x4f5713['l']/=_0x466be2[_0xfcbc6d(0x209)][_0xfcbc6d(0x143)],_0x4f5713['r']/=_0x466be2[_0xfcbc6d(0x209)][_0xfcbc6d(0x143)],_0x4f5713['t']/=_0x466be2[_0xfcbc6d(0x209)][_0xfcbc6d(0x228)],_0x4f5713['b']/=_0x466be2[_0xfcbc6d(0x209)][_0xfcbc6d(0x228)],this['currentAds2BoundingRect']['push']({'name':this[_0xfcbc6d(0x158)](_0x11144f),'rect':_0x4f5713});}_0x9ab775++;}}else{}for(;_0x9ab775<BB[_0xfcbc6d(0x2e2)];++_0x9ab775){let _0x3e50dd='hasLogo'+_0x9ab775,_0x52f072=this[_0xfcbc6d(0x1ab)]['getUniformLocation'](this[_0xfcbc6d(0x1c0)],_0x3e50dd);this[_0xfcbc6d(0x1ab)][_0xfcbc6d(0x1b3)](_0x52f072,0x0);let _0x43c3a3=_0xfcbc6d(0x136)+_0x9ab775,_0x393da8=this[_0xfcbc6d(0x1ab)][_0xfcbc6d(0x2b4)](this[_0xfcbc6d(0x1c0)],_0x43c3a3);this[_0xfcbc6d(0x1ab)][_0xfcbc6d(0x1b3)](_0x393da8,0x0);}if(this['options'][_0xfcbc6d(0x1b9)][_0xfcbc6d(0x250)]){let _0x12cc79=_0x4c3192[_0xfcbc6d(0x1a3)](':')[0x3],_0x375d0c=_0x12cc79[_0xfcbc6d(0x274)]('.')>=0x0?0x2:0x1,_0x38ac78=parseInt(_0x12cc79[_0xfcbc6d(0x1a3)]('.')[0x0])%0xa,_0x199274=_0x38ac78+'.'+_0x375d0c,_0x10c291=this[_0xfcbc6d(0x2c8)]()+0x5,_0x320439=this[_0xfcbc6d(0x26f)](this[_0xfcbc6d(0x11a)][_0x199274],_0x10c291,'digitTex');_0x11d872[_0xfcbc6d(0x1f6)](_0x320439);let _0x303124='hasDigit',_0x2d9c9d=this[_0xfcbc6d(0x1ab)]['getUniformLocation'](this['program'],_0x303124);this[_0xfcbc6d(0x1ab)][_0xfcbc6d(0x1b3)](_0x2d9c9d,0x1);let _0x4c1869=_0xfcbc6d(0x104),_0x34be0c=this[_0xfcbc6d(0x1ab)][_0xfcbc6d(0x2b4)](this[_0xfcbc6d(0x1c0)],_0x4c1869);this[_0xfcbc6d(0x1ab)][_0xfcbc6d(0x252)](_0x34be0c,[0x0,0x0]);let _0x4dd74d=_0xfcbc6d(0x1bf),_0x19de13=this['ctx'][_0xfcbc6d(0x2b4)](this[_0xfcbc6d(0x1c0)],_0x4dd74d);this[_0xfcbc6d(0x1ab)][_0xfcbc6d(0x252)](_0x19de13,[0xc8,0xc8]);}else{let _0xc598c0=_0xfcbc6d(0x282),_0x3d7de8=this[_0xfcbc6d(0x1ab)][_0xfcbc6d(0x2b4)](this[_0xfcbc6d(0x1c0)],_0xc598c0);this[_0xfcbc6d(0x1ab)][_0xfcbc6d(0x1b3)](_0x3d7de8,0x0);}this[_0xfcbc6d(0x2d0)]();for(const _0x272d51 of _0x11d872){this['ctx'][_0xfcbc6d(0x18e)](_0x272d51);}}[_0x531132(0x17b)](){return this['canvas'];}},BB[_0x531132(0x2c9)]=(_0x33c2a0,_0x9c85ea)=>{const _0x28f09d=_0x531132;let _0x5bfa32=[];const _0x4afe42=new BB['Socket']((_0x44af34,_0x12ff16)=>{const _0x343cba=_0x15a5;switch(_0x44af34){case _0x343cba(0x1a9):console[_0x343cba(0x28b)]('roommembers\x20message:\x20',_0x12ff16);break;case _0x343cba(0x1ba):const _0x1f806d=document[_0x343cba(0x1e6)](_0x343cba(0x172));_0x1f806d&&(_0x1f806d[_0x343cba(0x24e)]=_0x4afe42[_0x343cba(0x172)]);break;case _0x343cba(0x1de):if(_0x12ff16[_0x343cba(0x14a)]===_0x4afe42['name']){if(_0x12ff16[_0x343cba(0x14f)]){const _0x1442b5=_0x343cba(0x12c);_0x33c2a0[_0x343cba(0x186)](_0x1442b5,_0x12ff16[_0x343cba(0x14f)],()=>{const _0x36c4ac=_0x343cba;_0x33c2a0[_0x36c4ac(0x15a)](_0x1442b5);});}else _0x5bfa32=_0x12ff16['ads'],_0x5bfa32[_0x343cba(0x2ce)]&&_0x33c2a0[_0x343cba(0x15a)](_0x5bfa32[0x0]);}break;case'ads':_0x5bfa32=_0x12ff16;_0x5bfa32['length']&&_0x33c2a0[_0x343cba(0x15a)](_0x5bfa32[0x0]);break;}});var _0x753ee0=document['createElement']('script');_0x753ee0[_0x28f09d(0x169)]=_0x28f09d(0x1fd),document[_0x28f09d(0x259)]('head')[0x0]['appendChild'](_0x753ee0),_0x753ee0[_0x28f09d(0x19c)]=function(){const _0x29ceab=_0x28f09d;_0x4afe42[_0x29ceab(0x2a6)](_0x9c85ea[_0x29ceab(0x1b9)][_0x29ceab(0x123)]);},_0x9c85ea[_0x28f09d(0x1b9)]['logoURL']?_0x33c2a0[_0x28f09d(0x186)](_0x28f09d(0x298),_0x9c85ea['augmentation']['logoURL']):fetch(_0x28f09d(0x178)+_0x9c85ea[_0x28f09d(0x1b9)][_0x28f09d(0x123)])[_0x28f09d(0x12a)](async _0x46bfb7=>{const _0x519e4d=_0x28f09d,_0x2d2544=await _0x46bfb7['json']();_0x2d2544[_0x519e4d(0x273)](_0x189364=>{const _0x4c7ed9=_0x519e4d;_0x33c2a0[_0x4c7ed9(0x186)]('#'+_0x189364['name'],_0x189364['url']);});});},BB[_0x531132(0x129)]=(_0x3a8fa7,_0x170961)=>{const _0x2561cb=_0x531132;let _0x3cc7ae=BB[_0x2561cb(0x233)][_0x2561cb(0x238)],_0x618524=BB['Utils'][_0x2561cb(0x20b)](_0x3a8fa7[_0x2561cb(0x1a0)]),_0x25445e,_0x193d68,_0x1b22fb=null,_0x225f41=null;console[_0x2561cb(0x28b)](_0x2561cb(0x2c7)+_0x3a8fa7[_0x2561cb(0x17d)]);const _0x178df9=_0x16595d=>{const _0x262614=_0x2561cb;_0x25445e=_0x16595d,console[_0x262614(0x28b)]('Folder\x20name\x20for\x20'+_0x3a8fa7[_0x262614(0x17d)]+':\x20'+_0x25445e),_0x193d68&&_0x3488f4(_0x193d68);};async function _0x533cb1(){const _0x2505d2=_0x2561cb,_0xbb7ccc=await fetch(_0x3a8fa7[_0x2505d2(0x2e5)]),_0x3feb18=await _0xbb7ccc[_0x2505d2(0x182)]();_0x178df9(_0x3a8fa7[_0x2505d2(0x17d)]);}_0x533cb1();const _0x3dfe5c=_0x477002=>{_0x193d68=_0x477002,_0x25445e&&_0x3488f4(_0x193d68);},_0x3488f4=_0x36cedc=>{const _0x260a4b=_0x2561cb;if(_0x1b22fb==null){console[_0x260a4b(0x1f7)]('We\x20have\x20no\x20MetaDataDownloaderThread\x20yet.\x20Creating\x20it');let _0x5e4ea6=new Blob([META_WORKER],{'type':'application/javascript'});_0x1b22fb=new Worker(URL[_0x260a4b(0x1ad)](_0x5e4ea6)),_0x1b22fb[_0x260a4b(0x2e3)]=function(_0x22f928){const _0x26b10f=_0x260a4b;console[_0x26b10f(0x230)](_0x26b10f(0x1fb),_0x22f928);},_0x1b22fb[_0x260a4b(0x20a)](_0x260a4b(0x230),function(_0x551a7e){const _0x209648=_0x260a4b;console[_0x209648(0x230)](_0x209648(0x263),_0x551a7e[_0x209648(0x28f)]);});if(_0x1b22fb)console['BBlog'](_0x260a4b(0x2b9));else console['BBlog'](_0x260a4b(0x132));_0x1b22fb[_0x260a4b(0x20a)](_0x260a4b(0x28f),_0x43479b=>{const _0x49a944=_0x260a4b;if(_0x43479b[_0x49a944(0x1c3)]['time']){}else _0x170961[_0x49a944(0x1da)](_0x43479b[_0x49a944(0x1c3)]);});let _0x2d6d36=_0x3cc7ae['TimeCodeArray2TimeCodeJson'](_0x3cc7ae['Frames2Timecode'](_0x36cedc,_0x618524,!![]));_0x1b22fb[_0x260a4b(0x2c6)]({'cloudFrontURL':_0x3a8fa7[_0x260a4b(0x1d2)],'folderName':_0x25445e,'tc':_0x3cc7ae[_0x260a4b(0x1e4)](_0x2d6d36,![])});}else{let _0x4a60f5=_0x3cc7ae['TimeCodeArray2TimeCodeJson'](_0x3cc7ae['Frames2Timecode'](_0x36cedc,_0x618524,!![]));_0x1b22fb[_0x260a4b(0x2c6)]({'tc':_0x3cc7ae[_0x260a4b(0x1e4)](_0x4a60f5,![]),'enabled':_0x3a8fa7[_0x260a4b(0x174)]});}};return{'setLastFrame':_0x3dfe5c};},BB['OTTPlayer']=class{constructor(_0x15e380,_0x2ce368,_0x260600){const _0x489c0f=_0x531132;this[_0x489c0f(0x2ec)]=_0x15e380,this[_0x489c0f(0x170)]=_0x2ce368,console[_0x489c0f(0x28b)]('optionsFromMK:\x20',_0x260600),this[_0x489c0f(0x293)]=Object['assign']({'enabled':!![],'stopAugment':![],'gameId':'Unknown','medialook':![],'allGamesURL':_0x489c0f(0x168),'cloudFrontURL':_0x489c0f(0x2eb),'mediaIdJsonURL':_0x489c0f(0x2bc),'offsetJsonURL':_0x489c0f(0x2b7),'frameRateMode':BB[_0x489c0f(0x2c1)]['Src59_MediaTime60'],'renderingMode':BB[_0x489c0f(0x22d)][_0x489c0f(0x12e)],'SynchMethod':BB[_0x489c0f(0x19e)][_0x489c0f(0x1ee)],'debug':![],'augmentation':{'renderTimecode':!![],'offset':0x0},'syncPoint':{'frame':0x0,'playerTime':0x0,'mediaTimeMS':0x0}},_0x260600||{}),console[_0x489c0f(0x28b)](_0x489c0f(0x13e),this[_0x489c0f(0x293)]),this[_0x489c0f(0x293)][_0x489c0f(0x1b9)]['channelName']=_0x489c0f(0x11f),console['BBlog']=function(_0x2b1b6d){const _0x5de164=_0x489c0f;console['log'](_0x5de164(0x223)+_0x2b1b6d);},console['BBerror']=function(_0x319219){const _0x4a6d9f=_0x489c0f;console[_0x4a6d9f(0x230)](_0x4a6d9f(0x223)+_0x319219);};function _0x3f5e2e(_0x58abb6,_0x2ec13c){const _0x4cf12e=_0x489c0f,_0x711f3c=_0x58abb6['split']('.')['map'](Number),_0x3a1bf1=_0x2ec13c[_0x4cf12e(0x1a3)]('.')[_0x4cf12e(0x1ec)](Number);for(let _0x5979b7=0x0;_0x5979b7<Math[_0x4cf12e(0x283)](_0x711f3c[_0x4cf12e(0x2ce)],_0x3a1bf1[_0x4cf12e(0x2ce)]);_0x5979b7++){const _0x2dc5f4=_0x711f3c[_0x5979b7]||0x0,_0x205708=_0x3a1bf1[_0x5979b7]||0x0;if(_0x2dc5f4<_0x205708)return-0x1;else{if(_0x2dc5f4>_0x205708)return 0x1;}}return 0x0;}this['getGlobalConfig']();}[_0x531132(0x105)](){const _0x14a1b4=_0x531132;if(typeof globalConfig===_0x14a1b4(0x24f))this['options']=Object[_0x14a1b4(0x214)](this['options'],{});else this['options']=Object[_0x14a1b4(0x214)](this['options'],globalConfig);this['options'][_0x14a1b4(0x1b9)][_0x14a1b4(0x2bb)]=0x0,console[_0x14a1b4(0x28b)](_0x14a1b4(0x190),this['options']);if(!this[_0x14a1b4(0x293)][_0x14a1b4(0x1cd)]){let _0x222887=[_0x14a1b4(0x1df),_0x14a1b4(0x281),_0x14a1b4(0x217),_0x14a1b4(0x1c9),'toggleBtn',_0x14a1b4(0x2e4),_0x14a1b4(0x2db),_0x14a1b4(0x2f0),_0x14a1b4(0x12b),'br2'];for(let _0x5be997=0x0;_0x5be997<_0x222887['length'];_0x5be997++){const _0x4dda15=document['getElementById'](_0x222887[_0x5be997]);_0x4dda15&&(_0x4dda15[_0x14a1b4(0x2c0)][_0x14a1b4(0x16f)]=_0x14a1b4(0x110));}}let _0x2d8a09=BB[_0x14a1b4(0x233)][_0x14a1b4(0x2a8)],_0xe56344=BB[_0x14a1b4(0x233)][_0x14a1b4(0x238)];if(this[_0x14a1b4(0x170)])this[_0x14a1b4(0x222)](this[_0x14a1b4(0x170)]);this[_0x14a1b4(0x1d4)](this[_0x14a1b4(0x293)][_0x14a1b4(0x17d)]);}['weHaveTheGameID'](){const _0x86992f=_0x531132;let _0xe86d66={};this[_0x86992f(0x2c4)]=BB['Augmenter'](_0xe86d66,this['video'],this[_0x86992f(0x293)]),this[_0x86992f(0x293)]['renderingMode']==BB[_0x86992f(0x22d)]['Augment']&&this[_0x86992f(0x2c4)]['initializeComponents']();}async['getGlobalConfig'](){const _0x5f5790=_0x531132,_0x268bf5=new URL(document[_0x5f5790(0x289)]),_0x6de1d9=_0x268bf5['searchParams'][_0x5f5790(0x266)](_0x5f5790(0x2de))||'';if(_0x6de1d9!=='')try{const _0x2c42a2=await fetch(_0x6de1d9);if(!_0x2c42a2['ok'])throw new Error(_0x5f5790(0x1e7));const _0x3ce55f=await _0x2c42a2[_0x5f5790(0x182)]();console[_0x5f5790(0x28b)](_0x5f5790(0x1d0),_0x3ce55f);if(typeof _0x329bf8==_0x5f5790(0x24f))var _0x329bf8={};_0x329bf8=Object[_0x5f5790(0x214)]({},_0x329bf8,_0x3ce55f);}catch(_0x4c59a6){console[_0x5f5790(0x230)](_0x5f5790(0x291),_0x4c59a6);}this[_0x5f5790(0x105)]();}async[_0x531132(0x1d4)](_0x400846){const _0x21508f=_0x531132;try{const _0x9fe3d6=await fetch(this[_0x21508f(0x293)][_0x21508f(0x27e)]+'/'+_0x400846);if(!_0x9fe3d6['ok'])throw new Error(_0x21508f(0x1b4)+_0x9fe3d6[_0x21508f(0x20f)]);const _0x1fe0f6=await _0x9fe3d6['json']();if(_0x1fe0f6[_0x21508f(0x1f9)](_0x21508f(0x156))){const _0x2fb69d=_0x1fe0f6[_0x21508f(0x156)];console[_0x21508f(0x1f7)](_0x21508f(0x161)+_0x400846+':\x20'+_0x2fb69d),this['options']['gameId']=_0x2fb69d,console[_0x21508f(0x28b)]('fetchAndFindGameIdAndOffsetFromMediaId:\x20I\x20Know\x20what\x20is\x20the\x20game\x20id\x20!\x20Its\x20'+this[_0x21508f(0x293)][_0x21508f(0x17d)]+_0x21508f(0x1b0)),this['weHaveTheGameID'](),this[_0x21508f(0x1be)](this[_0x21508f(0x293)][_0x21508f(0x17d)]);}else console[_0x21508f(0x2f9)](_0x21508f(0x2ae)+_0x400846+_0x21508f(0x1e3)),this[_0x21508f(0x293)]['stopAugment']=!![];}catch(_0xd2cd59){console['BBerror'](_0x21508f(0x127),_0xd2cd59);}}async['fetchOffsetForGameId'](_0x2767b0){const _0x5a4ded=_0x531132;try{const _0x129e6e=await fetch(this[_0x5a4ded(0x293)]['offsetJsonURL']+'/'+this[_0x5a4ded(0x293)]['gameId']);!_0x129e6e['ok']&&(console['BBlog']('HTTP\x20error!\x20Status:\x20'+_0x129e6e['status']),setTimeout(()=>{const _0x11830d=_0x5a4ded;this[_0x11830d(0x1be)](_0x2767b0);},0x1388));const _0x37ab97=await _0x129e6e[_0x5a4ded(0x182)]();if(_0x37ab97[_0x5a4ded(0x1f9)]('offset')&&_0x37ab97['hasOwnProperty'](_0x5a4ded(0x1b1))){const _0x5792e2=_0x37ab97[_0x5a4ded(0x2bb)],_0xc4071a=_0x37ab97['found'];_0xc4071a==!![]&&(console['BBlog'](_0x5a4ded(0x29a)+_0x2767b0+':\x20'+_0x5792e2),this[_0x5a4ded(0x293)][_0x5a4ded(0x1b9)][_0x5a4ded(0x2bb)]=_0x5792e2,setTimeout(()=>{this['fetchOffsetForGameId'](_0x2767b0);},0xea60));}else console['BBlog'](_0x5a4ded(0x171)+mediaID+_0x5a4ded(0x1e3)),setTimeout(()=>{const _0x14cefe=_0x5a4ded;this[_0x14cefe(0x1be)](_0x2767b0);},0x1388);}catch(_0x573fee){console[_0x5a4ded(0x2f9)]('Error\x20fetching\x20and\x20processing\x20JSON:',_0x573fee),setTimeout(()=>{this['fetchOffsetForGameId'](_0x2767b0);},0x1388);}}['Toggle'](_0xd9a883){const _0x4262b4=_0x531132;this[_0x4262b4(0x293)]['enabled']=_0xd9a883;}[_0x531132(0x23d)](){const _0x496a10=_0x531132;return this['frameDrawer'][_0x496a10(0x17b)]();}[_0x531132(0x222)](_0x50cd41){const _0x20b568=_0x531132;let _0x3fb252=BB[_0x20b568(0x233)][_0x20b568(0x2a8)];switch(_0x50cd41){case 0x3c:this[_0x20b568(0x293)][_0x20b568(0x1a0)]=BB[_0x20b568(0x2c1)]['Src60_MediaTime60'];break;case 0xea60/0x3e9:case 59.94:_0x3fb252['isWindows']()||_0x3fb252['isAndroid']()?this['options'][_0x20b568(0x1a0)]=BB[_0x20b568(0x2c1)][_0x20b568(0x203)]:this['options']['frameRateMode']=BB[_0x20b568(0x2c1)][_0x20b568(0x203)];break;case 0x7530/0x3e9:case 29.97:this[_0x20b568(0x293)][_0x20b568(0x1a0)]=BB['FrameRateMode'][_0x20b568(0x2e1)];break;default:console[_0x20b568(0x230)]('Unsupported\x20src\x20frame-rate:\x20'+_0x50cd41+_0x20b568(0x135));break;}}[_0x531132(0x166)](_0x1a5691){const _0x1cdd19=_0x531132;this['options'][_0x1cdd19(0x1af)]=_0x1a5691;}[_0x531132(0x199)](_0x553bbf){const _0x50ff5b=_0x531132;this[_0x50ff5b(0x2c4)][_0x50ff5b(0x23c)](_0x553bbf);}[_0x531132(0x205)](_0x545682){const _0x712592=_0x531132;this[_0x712592(0x2c4)][_0x712592(0x145)](_0x545682);}};function _0x5450(){const _0x1a3a7d=['ANI.\x20','requestVideoFrameCallback\x20is\x20not\x20supported','assign','utc_','\x20Frame:\x20','forDoNotRender','Error\x20in\x20program\x20linking:\x20','clear','2KSPOed','setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode,\x20fps\x20=\x20','\x20!!!!!!!!!!!!!!!!!!!!!!','TEXTURE_2D','Calculating\x20ScreenFrameRate','27qVcgxU','deleteShader','webkitRequestFullscreen','SetFps','OTTPlayer:\x20','top','TexUnitForPlaceHolder','\x0a\x0a//High\x20precision\x20mode\x0aprecision\x20highp\x20float;\x0a\x0a//The\x20textures\x0auniform\x20sampler2D\x20u_image;//video\x20frame\x27s\x20texture2D\x0auniform\x20sampler2D\x20ad0;//the\x20ad\x20texture2D\x0auniform\x20sampler2D\x20ad1;//the\x20ad\x20texture2D\x0auniform\x20sampler2D\x20ad2;//the\x20ad\x20texture2D\x0auniform\x20sampler2D\x20ad3;//the\x20ad\x20texture2D\x0a\x0auniform\x20vec2\x20u_resolution2;//resolution\x20of\x20the\x20canvas\x0a\x0a//v_texCoord\x20from\x20the\x20vertex\x20shader\x0avarying\x20vec2\x20v_texCoord;\x0a\x0a//Logos\x27\x20staff\x0auniform\x20int\x20hasLogo0;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo0;\x0auniform\x20sampler2D\x20alpha0;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix0;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha0TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha0Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo1;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo1;\x0auniform\x20sampler2D\x20alpha1;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix1;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha1TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha1Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo2;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo2;\x0auniform\x20sampler2D\x20alpha2;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix2;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha2TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha2Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo3;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo3;\x0auniform\x20sampler2D\x20alpha3;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix3;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha3TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha3Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20sampler2D\x20injectoLogo;//the\x20injecto\x20logo\x20to\x20cover\x20the\x20timecode\x20watermark\x0a\x0aconst\x20float\x20Directions\x20=\x2016.0;\x20//\x20BLUR\x20DIRECTIONS\x20(Default\x2016.0\x20-\x20More\x20is\x20better\x20but\x20slower)\x0aconst\x20float\x20Quality\x20=\x203.0;\x20//\x20BLUR\x20QUALITY\x20(Default\x203.0\x20-\x20More\x20is\x20better\x20but\x20slower)\x0aconst\x20float\x20Size\x20=\x2012.0;\x20//\x20BLUR\x20SIZE\x20(Radius)\x0aconst\x20float\x20Pi\x20=\x206.28318530718;\x20//\x20Pi*2\x0a\x0avec3\x20BlurBGR(vec4\x20videoImagePix)\x0a{\x0a\x09vec3\x20res\x20=\x20videoImagePix.rgb;\x0a\x20//get\x20the\x20kernel\x20radius:\x0a\x20\x20\x20\x20vec2\x20Radius\x20=\x20Size/u_resolution2.xy;\x0a\x20\x20\x20\x0a\x20\x20\x20\x20//\x20Blur\x20around:\x0a\x20\x20\x20\x20for(\x20float\x20d=0.0;\x20d<Pi;\x20d+=Pi/Directions)\x0a\x20\x20\x20\x20{\x0a\x09\x09for(float\x20i=1.0/Quality;\x20i<=1.0;\x20i+=1.0/Quality)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x09\x09\x09res\x20+=\x20texture2D(\x20u_image,\x20v_texCoord+vec2(cos(d),sin(d))*Radius*i).rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20res\x20/=\x20Quality\x20*\x20Directions\x20-\x2015.0;\x0a\x0a\x20\x20\x20\x20return\x20res;\x0a}\x0a\x0abool\x20BlendWithLogo(\x0a\x09int\x20adUnit,\x0a\x20\x20\x20\x20\x20sampler2D\x20alphaTexture,\x0a\x20\x20\x20\x20\x20mat3\x20matrix,\x0a\x20\x20\x20\x20\x20vec2\x20curCoord,\x0a\x20\x20\x20\x20\x20vec2\x20alphaTopLeft,\x0a\x20\x20\x20\x20\x20vec2\x20alphaSize,\x0a\x20\x20\x20\x20\x20vec4\x20videoImagePix)\x20\x0a{\x0a\x20\x20\x20\x20vec2\x20texCoord;\x0a\x20\x20\x20\x20texCoord.x\x20=\x20(matrix[0][0]*curCoord.x\x20+\x20matrix[0][1]*curCoord.y\x20+\x20matrix[0][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord.y\x20=\x20(matrix[1][0]*curCoord.x\x20+\x20matrix[1][1]*curCoord.y\x20+\x20matrix[1][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord\x20/=\x20u_resolution2;\x0a\x0a\x20\x20\x20\x20//if\x20we\x27re\x20in\x20the\x20bounding\x20rect\x20of\x20the\x20logo\x0a\x20\x20\x20\x20if\x20(texCoord.x\x20>=\x200.0\x20&&\x20texCoord.y\x20>=\x200.0\x20&&\x20texCoord.x\x20<=\x201.0\x20&&\x20texCoord.y\x20<=\x201.0)\x0a\x20\x20\x20\x20{\x0a\x09\x09\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha\x20=\x201.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20alphaCoord\x20=\x20(curCoord\x20-\x20alphaTopLeft)/alphaSize;//get\x20the\x20coordinate\x20on\x20the\x20alpha\x20mate\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(alphaCoord.x\x20>=\x200.0\x20&&\x20alphaCoord.y\x20>=\x200.0\x20&&\x20alphaCoord.x\x20<=\x201.0\x20&&\x20alphaCoord.y\x20<=\x201.0)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//get\x20the\x20alpha\x20texel:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//alpha\x20*=\x20BlurAlpha(alphaCoord);//blurred\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20alpha\x20*=\x20texture2D(alphaTexture,\x20alphaCoord).a;//without\x20blur\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x09\x09if\x20(adUnit\x20==\x2099)//blur\x0a\x09\x09{\x0a\x09\x09\x09gl_FragColor\x20=\x20vec4(BlurBGR(videoImagePix)*alpha\x20+\x20\x20videoImagePix.rgb*(1.0-alpha),\x201.0);\x0a\x09\x09\x09//outColor\x20=\x20vec4(BlurBGR(videoImagePix),\x201.0);\x0a\x09\x09\x09return\x20true;\x0a\x09\x09}\x0a\x09\x09vec4\x20ad0Pix\x20=\x20\x0a\x09\x09\x09adUnit\x20==\x200\x20?\x20texture2D(ad0,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x201\x20?\x20texture2D(ad1,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x202\x20?\x20texture2D(ad2,\x20texCoord)\x20:\x0a\x09\x09\x09\x09\x09\x09\x20\x20texture2D(ad3,\x20texCoord);//get\x20the\x20logo\x27s\x20texel\x0a\x09\x09alpha\x20*=\x20ad0Pix.a;//consider\x20the\x20alpha\x20of\x20the\x20logo\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20resultRGB\x20=\x20ad0Pix.rgb*alpha\x20+\x20videoImagePix.rgb*(1.0-alpha);//blend\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(resultRGB,\x201.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20return\x20false;\x0a\x20\x20\x0a}\x0avoid\x20main()\x0a{\x0a\x20\x20//calculate\x20cur-coord\x20(with\x20pixels\x20units)\x0a\x20\x20vec2\x20curCoord\x20=\x20gl_FragCoord.xy;\x0a\x20\x20curCoord.y\x20=\x20u_resolution2[1]\x20-\x20curCoord.y;\x0a\x0a\x20\x20//cover\x20the\x20timecode\x20with\x20some\x20watermark\x0a\x20\x20if\x20(v_texCoord[0]\x20<=\x200.125\x20&&\x20(1.0-v_texCoord[1])\x20<=\x200.125)\x0a\x20\x20{\x20\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20texture2D(injectoLogo,\x20vec2(v_texCoord[0]*8.0,\x201.0-(1.0-v_texCoord[1])*8.0));\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x0a\x20\x20vec4\x20videoImagePix\x20=\x20texture2D(u_image,\x20v_texCoord);\x0a\x20\x20\x0a\x20\x20if\x20(hasLogo0\x20==\x201\x20&&\x20\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo0,\x0a\x09\x20alpha0,\x20u_matrix0,\x20curCoord,u_alpha0TopLeft,\x20u_alpha0Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo1\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo1,\x0a\x09\x20alpha1,\x20u_matrix1,\x20curCoord,u_alpha1TopLeft,\x20u_alpha1Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo2\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo2,\x0a\x09\x20alpha2,\x20u_matrix2,\x20curCoord,u_alpha2TopLeft,\x20u_alpha2Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo3\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo3,\x0a\x09\x20alpha3,\x20u_matrix3,\x20curCoord,u_alpha3TopLeft,\x20u_alpha3Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20{//only\x20video\x20texel,\x20no\x20logo\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20videoImagePix;\x0a\x20\x20}\x0a}\x0a','Setting\x20Callbacks','height','attachShader','drawArrays','webgl2','createVertexArray','RenderingMode','getShaderParameter','replace','error','body','TRIANGLES','Utils','Windows\x20Phone','splice','activeTexture','Silk','TimeCodesFramesTranslator','renderingMode','bindTexture','TimeCodeAddFrames','onNewSegmentInterface','GetCanvas','NOT\x20SUPPORTED','Missing\x20meta\x20data\x20at\x20time\x20code\x20','Error\x20compiling\x20shader:\x20','Created\x20webgl1\x20context:\x20','[-\x20/:;]([\x5cd._]+)','fromCharCode','BlackBerry','vertexShaderSource','):\x20','appVersion','rect','TEXTURE_WRAP_S','\x20countAppleVideo:\x20','RGBA','a\x20Mac','Src59_MediaTime60','textContent','undefined','renderTimecode','Probable\x20videoFrameCallback\x20was\x20not\x20fired.\x20Apllying\x20correction\x20mechanism\x20(','uniform2fv','isAndroid','UNPACK_ALIGNMENT','webglUtils','iPad','25588aXTvTv','TEXTURE_MAG_FILTER','getElementsByTagName','innerHTML','clientWidth','includes','lastTimeReportedIncomingTC','version','New\x20segment\x20(','unknown','ad2Url','isAdLoop','Error\x20from\x20worker\x20(via\x20addEventListener):','vendor','metadataMap','get',',\x20Brain\x20Time-Code:\x20','sort','from','Something\x20else','getProgramInfoLog','ANI.','Src60_MediaTime59','BB.Augmenter\x20Start','GenerateTexture','composer::SelectAd:\x20The\x20selected\x20ad\x20should\x20be\x20in\x20place\x20','pointer-events','black','forEach','indexOf','createBuffer',',\x20Time\x20Fired:\x20','Failed\x20to\x20create\x20alpha\x20texture','FRAGMENT_SHADER','an\x20iPad','right','isApple','\x20Setting\x20(some)\x20ms\x20timer','padStart','mediaIdJsonURL','callback','_nextAdvertisement','forplus','hasDigit','max','Composer3d','matchAll','https://www.virtualott.com','***\x20Error:\x20unknown\x20script\x20element','getProgramParameter','location','pixelStorei','log','bindBuffer','open','RenderTimecode','message','createProgramFromSources','Error\x20fetching\x20JSON:','autoAddIndex','options','console','\x20\x20correction','toLowerCase','1416728LQtXCl','#ad','presentationTime','Offest\x20for\x20gameid=\x20','MSIE','setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode','getUTCSeconds','2328vfeuNb','ScreenFPS','requestAnimationFrame\x20is\x20supported','toDataURL','Firefox','RenderDigits','header','%c%s','Connect','click','Platform','AMC_EVENT_PLAYER_SEGMENT_PLAYBACK','u_matrix','Checking\x20window\x20and\x20methods','ANI',',\x20rendering:\x20','MediaID\x20','UNPACK_FLIP_Y_WEBGL','fillStyle','TopLeft','LINK_STATUS','u_resolution2','getUniformLocation','x-shader/x-fragment','paused','https://games-prod.virtualott.com/offset','requestFullscreen','MetaDataDownloaderThread\x20created','296760QxfllP','offset','https://games-prod.virtualott.com/map','matchItem','iOS','OnUserClickOnCanvas','style','FrameRateMode','\x0a\x0a^^^\x20','placeholders','frameDrawer','The\x20window\x20object\x20is\x20not\x20defined.\x20This\x20script\x20might\x20not\x20be\x20running\x20in\x20a\x20browser\x20environment.','postMessage','Project\x20name:\x20','TexUnitBaseForAlpha','Ads','counter',')</span>','match','composer::AddAdvertisement:\x20ads-to-place\x20mapping:\x20','length','\x20TimeFired:\x20','RenderFrame','isMac','info','frames','getMilliseconds','Mozilla','floor','ToggleFullscreen','alphaFound','stringTime','***\x20Error:\x20unknown\x20shader\x20type','plus05CorrectionCheckbox','fragmentShaderSourceV1','keys','config','setLastFrame','playbackTime','Src29_MediaTime29','MAX_LOGOS','onerror','numberInput','allGamesURL',',\x20resultTime:\x20','Src60_MediaTime60','iPhone','#version\x20300\x20es\x0a\x0a//\x20an\x20attribute\x20is\x20an\x20input\x20(in)\x20to\x20a\x20vertex\x20shader.\x0a//\x20It\x20will\x20receive\x20vertex\x20data\x20from\x20the\x20buffer\x0ain\x20vec2\x20a_position;\x0a\x0a//Identity\x20matrix\x20for\x20now\x0auniform\x20mat3\x20u_matrix;\x0a\x0a//The\x20canvas\x20resolution,\x20to\x20covert\x20to\x20ZeTor\x0auniform\x20vec2\x20u_resolution;\x0a\x0a//a_texCoord->v_texCoord\x20interpolation\x0a//in\x20vec2\x20a_texCoord;\x0a//out\x20vec2\x20v_texCoord;\x0a\x0a//\x20Main\x20vertex\x20shader\x0avoid\x20main()\x20{\x0a\x20\x20//Translate,\x20rotate,\x20scale\x20by\x20u_matrix:\x0a\x20\x20vec2\x20position\x20=\x20(u_matrix\x20*\x20vec3(a_position,\x201)).xy;\x0a\x0a\x20\x20//Convert\x20the\x20position\x20from\x20pixels\x20to\x20ZeTor\x20[0.0,1.0]\x0a\x20\x20vec2\x20zeroToOne\x20=\x20position\x20/\x20u_resolution;\x0a\x0a\x20\x20//Convert\x20from\x20[0,1]\x20to\x20[0,2]\x0a\x20\x20vec2\x20zeroToTwo\x20=\x20zeroToOne\x20*\x202.0;\x0a\x0a\x20\x20//Convert\x20from\x20[0,2]\x20to\x20[-1,+1]\x20(clipspace)\x0a\x20\x20vec2\x20clipSpace\x20=\x20zeroToTwo\x20-\x201.0;\x0a\x0a\x20\x20gl_Position\x20=\x20vec4(clipSpace\x20*\x20vec2(1,\x20-1),\x200,\x201);\x0a\x0a\x20\x20//Pass\x20the\x20texCoord\x20to\x20the\x20fragment\x20shader\x0a\x20\x20//The\x20GPU\x20will\x20interpolate\x20this\x20value\x20between\x20points.\x0a\x20\x20//v_texCoord\x20=\x20a_texCoord;\x0a}\x0a','currentAds2BoundingRect','https://db8igqxlbvayn.cloudfront.net/prod','video','compileShader','Anonymous','isArray','doNotRenderAugmentationCheckbox','uniformMatrix3fv','DEPTH_BUFFER_BIT',',\x20stage:\x20','COMPILE_STATUS','metadataArr','fragmentShaderSource','\x20FPS,\x20Aborting\x20augmentation.\x20Only\x2060FPS\x20screens\x20supported','try\x20{\x0a\x0alet\x20UZIP\x20=\x20{};\x0aif(typeof\x20module\x20==\x20\x22object\x22)\x20module.exports\x20=\x20UZIP;\x0aUZIP[\x22parse\x22]\x20=\x20function(buf,\x20onlyNames)\x09//\x20ArrayBuffer\x0a{\x0a\x20\x20\x20\x20let\x20rUs\x20=\x20UZIP.bin.readUshort,\x20rUi\x20=\x20UZIP.bin.readUint,\x20o\x20=\x200,\x20out\x20=\x20{};\x0a\x20\x20\x20\x20let\x20data\x20=\x20new\x20Uint8Array(buf);\x0a\x20\x20\x20\x20let\x20eocd\x20=\x20data.length-4;\x0a\x0a\x20\x20\x20\x20while(rUi(data,\x20eocd)!=0x06054b50)\x20eocd--;\x0a\x0a\x20\x20\x20\x20o\x20=\x20eocd;\x0a\x20\x20\x20\x20o+=4;\x09//\x20sign\x20\x20=\x200x06054b50\x0a\x20\x20\x20\x20o+=4;\x20\x20//\x20disks\x20=\x200;\x0a\x20\x20\x20\x20let\x20cnu\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20let\x20cnt\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x0a\x20\x20\x20\x20let\x20csize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20let\x20coffs\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x0a\x20\x20\x20\x20o\x20=\x20coffs;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<cnu;\x20i++)\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20sign\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20versions;\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20flag\x20+\x20compr\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20time\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20crc32\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20csize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20usize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20nl\x20=\x20rUs(data,\x20o),\x20el\x20=\x20rUs(data,\x20o+2),\x20cl\x20=\x20rUs(data,\x20o+4);\x20\x20o\x20+=\x206;\x20\x20//\x20name,\x20extra,\x20comment\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x208;\x20\x20//\x20disk,\x20attribs\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20roff\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x20nl\x20+\x20el\x20+\x20cl;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20UZIP._readLocal(data,\x20roff,\x20out,\x20csize,\x20usize,\x20onlyNames);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//console.log(out);\x0a\x20\x20\x20\x20return\x20out;\x0a}\x0a\x0aUZIP._readLocal\x20=\x20function(data,\x20o,\x20out,\x20csize,\x20usize,\x20onlyNames)\x0a{\x0a\x20\x20\x20\x20let\x20rUs\x20=\x20UZIP.bin.readUshort,\x20rUi\x20=\x20UZIP.bin.readUint;\x0a\x20\x20\x20\x20let\x20sign\x20\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20let\x20ver\x20\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20let\x20gpflg\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20//if((gpflg&8)!=0)\x20throw\x20\x22unknown\x20sizes\x22;\x0a\x20\x20\x20\x20let\x20cmpr\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x0a\x20\x20\x20\x20let\x20time\x20\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x0a\x20\x20\x20\x20let\x20crc32\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20//let\x20csize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20//let\x20usize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20o+=8;\x0a\x0a\x20\x20\x20\x20let\x20nlen\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20let\x20elen\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x0a\x20\x20\x20\x20let\x20name\x20=\x20\x20UZIP.bin.readUTF8(data,\x20o,\x20nlen);\x20\x20o+=nlen;\x20\x20//console.log(name);\x0a\x20\x20\x20\x20o\x20+=\x20elen;\x0a\x0a\x20\x20\x20\x20//console.log(sign.toString(16),\x20ver,\x20gpflg,\x20cmpr,\x20crc32.toString(16),\x20\x22csize,\x20usize\x22,\x20csize,\x20usize,\x20nlen,\x20elen,\x20name,\x20o);\x0a\x20\x20\x20\x20if(onlyNames)\x20{\x20\x20out[name]={size:usize,\x20csize:csize};\x20\x20return;\x20\x20}\x0a\x20\x20\x20\x20let\x20file\x20=\x20new\x20Uint8Array(data.buffer,\x20o);\x0a\x20\x20\x20\x20if(false)\x20{}\x0a\x20\x20\x20\x20else\x20if(cmpr==0)\x20out[name]\x20=\x20new\x20Uint8Array(file.buffer.slice(o,\x20o+csize));\x0a\x20\x20\x20\x20else\x20if(cmpr==8)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20buf\x20=\x20new\x20Uint8Array(usize);\x20\x20UZIP.inflateRaw(file,\x20buf);\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*let\x20nbuf\x20=\x20pako[\x22inflateRaw\x22](file);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(usize>8514000)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//console.log(PUtils.readASCII(buf\x20,\x208514500,\x20500));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//console.log(PUtils.readASCII(nbuf,\x208514500,\x20500));\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<buf.length;\x20i++)\x20if(buf[i]!=nbuf[i])\x20{\x20\x20console.log(buf.length,\x20nbuf.length,\x20usize,\x20i);\x20\x20throw\x20\x22e\x22;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20out[name]\x20=\x20buf;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20throw\x20\x22unknown\x20compression\x20method:\x20\x22+cmpr;\x0a}\x0a\x0aUZIP.inflateRaw\x20=\x20function(file,\x20buf)\x20{\x20\x20return\x20UZIP.F.inflate(file,\x20buf);\x20\x20}\x0aUZIP.inflate\x20\x20\x20\x20=\x20function(file,\x20buf)\x20{\x0a\x20\x20\x20\x20let\x20CMF\x20=\x20file[0],\x20FLG\x20=\x20file[1];\x0a\x20\x20\x20\x20let\x20CM\x20=\x20(CMF&15),\x20CINFO\x20=\x20(CMF>>>4);\x0a\x20\x20\x20\x20//console.log(CM,\x20CINFO,CMF,FLG);\x0a\x20\x20\x20\x20return\x20UZIP.inflateRaw(new\x20Uint8Array(file.buffer,\x20file.byteOffset+2,\x20file.length-6),\x20buf);\x0a}\x0aUZIP.deflate\x20\x20\x20\x20=\x20function(data,\x20opts/*,\x20buf,\x20off*/)\x20{\x0a\x20\x20\x20\x20if(opts==null)\x20opts={level:6};\x0a\x20\x20\x20\x20let\x20off=0,\x20buf=new\x20Uint8Array(50+Math.floor(data.length*1.1));\x0a\x20\x20\x20\x20buf[off]=120;\x20\x20buf[off+1]=156;\x20\x20off+=2;\x0a\x20\x20\x20\x20off\x20=\x20UZIP.F.deflateRaw(data,\x20buf,\x20off,\x20opts.level);\x0a\x20\x20\x20\x20let\x20crc\x20=\x20UZIP.adler(data,\x200,\x20data.length);\x0a\x20\x20\x20\x20buf[off+0]=((crc>>>24)&255);\x0a\x20\x20\x20\x20buf[off+1]=((crc>>>16)&255);\x0a\x20\x20\x20\x20buf[off+2]=((crc>>>\x208)&255);\x0a\x20\x20\x20\x20buf[off+3]=((crc>>>\x200)&255);\x0a\x20\x20\x20\x20return\x20new\x20Uint8Array(buf.buffer,\x200,\x20off+4);\x0a}\x0aUZIP.deflateRaw\x20=\x20function(data,\x20opts)\x20{\x0a\x20\x20\x20\x20if(opts==null)\x20opts={level:6};\x0a\x20\x20\x20\x20let\x20buf=new\x20Uint8Array(50+Math.floor(data.length*1.1));\x0a\x20\x20\x20\x20let\x20off\x20=\x20UZIP.F.deflateRaw(data,\x20buf,\x20off,\x20opts.level);\x0a\x20\x20\x20\x20return\x20new\x20Uint8Array(buf.buffer,\x200,\x20off);\x0a}\x0a\x0a\x0aUZIP.encode\x20=\x20function(obj,\x20noCmpr)\x20{\x0a\x20\x20\x20\x20if(noCmpr==null)\x20noCmpr=false;\x0a\x20\x20\x20\x20let\x20tot\x20=\x200,\x20wUi\x20=\x20UZIP.bin.writeUint,\x20wUs\x20=\x20UZIP.bin.writeUshort;\x0a\x20\x20\x20\x20let\x20zpd\x20=\x20{};\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20obj)\x20{\x20\x20let\x20cpr\x20=\x20!UZIP._noNeed(p)\x20&&\x20!noCmpr,\x20buf\x20=\x20obj[p],\x20crc\x20=\x20UZIP.crc.crc(buf,0,buf.length);\x0a\x20\x20\x20\x20\x20\x20\x20\x20zpd[p]\x20=\x20{\x20\x20cpr:cpr,\x20usize:buf.length,\x20crc:crc,\x20file:\x20(cpr\x20?\x20UZIP.deflateRaw(buf)\x20:\x20buf)\x20\x20};\x20\x20}\x0a\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20zpd)\x20tot\x20+=\x20zpd[p].file.length\x20+\x2030\x20+\x2046\x20+\x202*UZIP.bin.sizeUTF8(p);\x0a\x20\x20\x20\x20tot\x20+=\x20\x2022;\x0a\x0a\x20\x20\x20\x20let\x20data\x20=\x20new\x20Uint8Array(tot),\x20o\x20=\x200;\x0a\x20\x20\x20\x20let\x20fof\x20=\x20[]\x0a\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20zpd)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20file\x20=\x20zpd[p];\x20\x20fof.push(o);\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20=\x20UZIP._writeHeader(data,\x20o,\x20p,\x20file,\x200);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20i=0,\x20ioff\x20=\x20o;\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20zpd)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20file\x20=\x20zpd[p];\x20\x20fof.push(o);\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20=\x20UZIP._writeHeader(data,\x20o,\x20p,\x20file,\x201,\x20fof[i++]);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20csize\x20=\x20o-ioff;\x0a\x0a\x20\x20\x20\x20wUi(data,\x20o,\x200x06054b50);\x20\x20o+=4;\x0a\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20disks\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20i);\x20\x20o\x20+=\x202;\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20i);\x20\x20o\x20+=\x202;\x09//\x20number\x20of\x20c\x20d\x20records\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20csize);\x20\x20o\x20+=\x204;\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20ioff\x20);\x20\x20o\x20+=\x204;\x0a\x20\x20\x20\x20o\x20+=\x202;\x0a\x20\x20\x20\x20return\x20data.buffer;\x0a}\x0a//\x20no\x20need\x20to\x20compress\x20.PNG,\x20.ZIP,\x20.JPEG\x20....\x0aUZIP._noNeed\x20=\x20function(fn)\x20{\x20\x20let\x20ext\x20=\x20fn.split(\x22.\x22).pop().toLowerCase();\x20\x20return\x20\x22png,jpg,jpeg,zip\x22.indexOf(ext)!=-1;\x20\x20}\x0a\x0aUZIP._writeHeader\x20=\x20function(data,\x20o,\x20p,\x20obj,\x20t,\x20roff)\x0a{\x0a\x20\x20\x20\x20let\x20wUi\x20=\x20UZIP.bin.writeUint,\x20wUs\x20=\x20UZIP.bin.writeUshort;\x0a\x20\x20\x20\x20let\x20file\x20=\x20obj.file;\x0a\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20t==0\x20?\x200x04034b50\x20:\x200x02014b50);\x20\x20o+=4;\x20//\x20sign\x0a\x20\x20\x20\x20if(t==1)\x20o+=2;\x20\x20//\x20ver\x20made\x20by\x0a\x20\x20\x20\x20wUs(data,\x20o,\x2020);\x20\x20o+=2;\x09//\x20ver\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20\x200);\x20\x20o+=2;\x20\x20\x20\x20//\x20gflip\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20\x20obj.cpr?8:0);\x20\x20o+=2;\x09//\x20cmpr\x0a\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20\x200);\x20\x20o+=4;\x09//\x20time\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20obj.crc);\x20\x20o+=4;\x09//\x20crc32\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20file.length);\x20\x20o+=4;\x09//\x20csize\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20obj.usize);\x20\x20o+=4;\x09//\x20usize\x0a\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20UZIP.bin.sizeUTF8(p));\x20\x20o+=2;\x09//\x20nlen\x0a\x20\x20\x20\x20wUs(data,\x20o,\x200);\x20\x20o+=2;\x09//\x20elen\x0a\x0a\x20\x20\x20\x20if(t==1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x202;\x20\x20//\x20comment\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x202;\x20\x20//\x20disk\x20number\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x206;\x20\x20//\x20attributes\x0a\x20\x20\x20\x20\x20\x20\x20\x20wUi(data,\x20o,\x20roff);\x20\x20o+=4;\x09//\x20usize\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20nlen\x20=\x20UZIP.bin.writeUTF8(data,\x20o,\x20p);\x20\x20o+=\x20nlen;\x0a\x20\x20\x20\x20if(t==0)\x20{\x20\x20data.set(file,\x20o);\x20\x20o\x20+=\x20file.length;\x20\x20}\x0a\x20\x20\x20\x20return\x20o;\x0a}\x0aUZIP.crc\x20=\x20{\x0a\x20\x20\x20\x20table\x20:\x20(\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20tab\x20=\x20new\x20Uint32Array(256);\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20n=0;\x20n<256;\x20n++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20c\x20=\x20n;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20k=0;\x20k<8;\x20k++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(c\x20&\x201)\x20\x20c\x20=\x200xedb88320\x20^\x20(c\x20>>>\x201);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20\x20\x20\x20\x20\x20\x20\x20c\x20=\x20c\x20>>>\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tab[n]\x20=\x20c;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20tab;\x20\x20})(),\x0a\x20\x20\x20\x20update\x20:\x20function(c,\x20buf,\x20off,\x20len)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20i=0;\x20i<len;\x20i++)\x20\x20c\x20=\x20UZIP.crc.table[(c\x20^\x20buf[off+i])\x20&\x200xff]\x20^\x20(c\x20>>>\x208);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20c;\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20crc\x20:\x20function(b,o,l)\x20\x20{\x20\x20return\x20UZIP.crc.update(0xffffffff,b,o,l)\x20^\x200xffffffff;\x20\x20}\x0a}\x0aUZIP.adler\x20=\x20function(data,o,len)\x20{\x0a\x20\x20\x20\x20let\x20a\x20=\x201,\x20b\x20=\x200;\x0a\x20\x20\x20\x20let\x20off\x20=\x20o,\x20end=o+len;\x0a\x20\x20\x20\x20while(off<end)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20eend\x20=\x20Math.min(off+5552,\x20end);\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(off<eend)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20a\x20+=\x20data[off++];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20b\x20+=\x20a;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20a=a%65521;\x0a\x20\x20\x20\x20\x20\x20\x20\x20b=b%65521;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20(b\x20<<\x2016)\x20|\x20a;\x0a}\x0a\x0aUZIP.bin\x20=\x20{\x0a\x20\x20\x20\x20readUshort\x20:\x20function(buff,p)\x20\x20{\x20\x20return\x20(buff[p])\x20|\x20(buff[p+1]<<8);\x20\x20},\x0a\x20\x20\x20\x20writeUshort:\x20function(buff,p,n){\x20\x20buff[p]\x20=\x20(n)&255;\x20\x20buff[p+1]\x20=\x20(n>>8)&255;\x20\x20},\x0a\x20\x20\x20\x20readUint\x20\x20\x20:\x20function(buff,p)\x20\x20{\x20\x20return\x20(buff[p+3]*(256*256*256))\x20+\x20((buff[p+2]<<16)\x20|\x20(buff[p+1]<<\x208)\x20|\x20buff[p]);\x20\x20},\x0a\x20\x20\x20\x20writeUint\x20\x20:\x20function(buff,p,n){\x20\x20buff[p]=n&255;\x20\x20buff[p+1]=(n>>8)&255;\x20\x20buff[p+2]=(n>>16)&255;\x20\x20buff[p+3]=(n>>24)&255;\x20\x20},\x0a\x20\x20\x20\x20readASCII\x20\x20:\x20function(buff,p,l){\x20\x20let\x20s\x20=\x20\x22\x22;\x20\x20for(let\x20i=0;\x20i<l;\x20i++)\x20s\x20+=\x20String.fromCharCode(buff[p+i]);\x20\x20return\x20s;\x20\x20\x20\x20},\x0a\x20\x20\x20\x20writeASCII\x20:\x20function(data,p,s){\x20\x20for(let\x20i=0;\x20i<s.length;\x20i++)\x20data[p+i]\x20=\x20s.charCodeAt(i);\x20\x20},\x0a\x20\x20\x20\x20pad\x20:\x20function(n)\x20{\x20return\x20n.length\x20<\x202\x20?\x20\x220\x22\x20+\x20n\x20:\x20n;\x20},\x0a\x20\x20\x20\x20readUTF8\x20:\x20function(buff,\x20p,\x20l)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20s\x20=\x20\x22\x22,\x20ns;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<l;\x20i++)\x20s\x20+=\x20\x22%\x22\x20+\x20UZIP.bin.pad(buff[p+i].toString(16));\x0a\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x20\x20ns\x20=\x20decodeURIComponent(s);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20catch(e)\x20{\x20\x20return\x20UZIP.bin.readASCII(buff,\x20p,\x20l);\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x20ns;\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20writeUTF8\x20:\x20function(buff,\x20p,\x20str)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20strl\x20=\x20str.length,\x20i=0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20ci=0;\x20ci<strl;\x20ci++)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20str.charCodeAt(ci);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20\x20\x20\x20\x20((code&(0xffffffff-(1<<\x207)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(\x20\x20\x20\x20\x20code\x20\x20\x20\x20\x20);\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<11)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(192|(code>>\x206));\x20\x20buff[p+i+1]\x20=\x20(128|((code>>\x200)&63));\x20\x20i+=2;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<16)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(224|(code>>12));\x20\x20buff[p+i+1]\x20=\x20(128|((code>>\x206)&63));\x20\x20buff[p+i+2]\x20=\x20(128|((code>>0)&63));\x20\x20i+=3;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<21)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(240|(code>>18));\x20\x20buff[p+i+1]\x20=\x20(128|((code>>12)&63));\x20\x20buff[p+i+2]\x20=\x20(128|((code>>6)&63));\x20\x20buff[p+i+3]\x20=\x20(128|((code>>0)&63));\x20i+=4;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20i;\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20sizeUTF8\x20:\x20function(str)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20strl\x20=\x20str.length,\x20i=0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20ci=0;\x20ci<strl;\x20ci++)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20str.charCodeAt(ci);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20\x20\x20\x20\x20((code&(0xffffffff-(1<<\x207)+1))==0)\x20{\x20\x20i++\x20;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<11)+1))==0)\x20{\x20\x20i+=2;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<16)+1))==0)\x20{\x20\x20i+=3;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<21)+1))==0)\x20{\x20\x20i+=4;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20i;\x0a\x20\x20\x20\x20}\x0a}\x0aUZIP.F\x20=\x20{};\x0a\x0aUZIP.F.deflateRaw\x20=\x20function(data,\x20out,\x20opos,\x20lvl)\x20{\x0a\x20\x20\x20\x20let\x20opts\x20=\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ush\x20good_length;\x20/*\x20reduce\x20lazy\x20search\x20above\x20this\x20match\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ush\x20max_lazy;\x20\x20\x20\x20/*\x20do\x20not\x20perform\x20lazy\x20search\x20above\x20this\x20match\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ush\x20nice_length;\x20/*\x20quit\x20search\x20above\x20this\x20match\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x20\x20\x20\x20\x20\x20good\x20lazy\x20nice\x20chain\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x200\x20*/\x20[\x200,\x20\x20\x200,\x20\x20\x200,\x20\x20\x20\x200,0],\x20\x20/*\x20store\x20only\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x201\x20*/\x20[\x204,\x20\x20\x204,\x20\x20\x208,\x20\x20\x20\x204,0],\x20/*\x20max\x20speed,\x20no\x20lazy\x20matches\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x202\x20*/\x20[\x204,\x20\x20\x205,\x20\x2016,\x20\x20\x20\x208,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x203\x20*/\x20[\x204,\x20\x20\x206,\x20\x2016,\x20\x20\x2016,0],\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x204\x20*/\x20[\x204,\x20\x2010,\x20\x2016,\x20\x20\x2032,0],\x20\x20/*\x20lazy\x20matches\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x205\x20*/\x20[\x208,\x20\x2016,\x20\x2032,\x20\x20\x2032,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x206\x20*/\x20[\x208,\x20\x2016,\x20128,\x20\x20128,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x207\x20*/\x20[\x208,\x20\x2032,\x20128,\x20\x20256,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x208\x20*/\x20[32,\x20128,\x20258,\x201024,1],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x209\x20*/\x20[32,\x20258,\x20258,\x204096,1]];\x20/*\x20max\x20compression\x20*/\x0a\x0a\x20\x20\x20\x20let\x20opt\x20=\x20opts[lvl];\x0a\x0a\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U,\x20goodIndex\x20=\x20UZIP.F._goodIndex,\x20hash\x20=\x20UZIP.F._hash,\x20putsE\x20=\x20UZIP.F._putsE;\x0a\x20\x20\x20\x20let\x20i\x20=\x200,\x20pos\x20=\x20opos<<3,\x20cvrd\x20=\x200,\x20dlen\x20=\x20data.length;\x0a\x0a\x20\x20\x20\x20if(lvl==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(i<dlen)\x20{\x20\x20\x20let\x20len\x20=\x20Math.min(0xffff,\x20dlen-i);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,\x20(i+len==dlen\x20?\x201\x20:\x200));\x20\x20pos\x20=\x20UZIP.F._copyExact(data,\x20i,\x20len,\x20out,\x20pos+8);\x20\x20i\x20+=\x20len;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20pos>>>3;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20let\x20lits\x20=\x20U.lits,\x20strt=U.strt,\x20prev=U.prev,\x20li=0,\x20lc=0,\x20bs=0,\x20ebits=0,\x20c=0,\x20nc=0;\x20\x20//\x20last_item,\x20literal_count,\x20block_start\x0a\x20\x20\x20\x20if(dlen>2)\x20{\x20\x20nc=UZIP.F._hash(data,0);\x20\x20strt[nc]=0;\x20\x20}\x0a\x20\x20\x20\x20let\x20nmch=0,nmci=0;\x0a\x0a\x20\x20\x20\x20for(i=0;\x20i<dlen;\x20i++)\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20c\x20=\x20nc;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//*\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(i+1<dlen-2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20nc\x20=\x20UZIP.F._hash(data,\x20i+1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ii\x20=\x20((i+1)&0x7fff);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20prev[ii]=strt[nc];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20strt[nc]=ii;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20//*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(cvrd<=i)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((li>14000\x20||\x20lc>26697)\x20&&\x20(dlen-i)>100)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(cvrd<i)\x20{\x20\x20lits[li]=i-cvrd;\x20\x20li+=2;\x20\x20cvrd=i;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeBlock(((i==dlen-1)\x20||\x20(cvrd==dlen))?1:0,\x20lits,\x20li,\x20ebits,\x20data,bs,i-bs,\x20out,\x20pos);\x20\x20li=lc=ebits=0;\x20\x20bs=i;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20mch\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(nmci==i)\x20mch=\x20nmch;\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(i<dlen-2)\x20mch\x20=\x20UZIP.F._bestMatch(data,\x20i,\x20prev,\x20c,\x20Math.min(opt[2],dlen-i),\x20opt[3]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(mch!=0\x20&&\x20opt[4]==1\x20&&\x20(mch>>>16)<opt[1]\x20&&\x20i+1<dlen-2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20nmch\x20=\x20UZIP.F._bestMatch(data,\x20i+1,\x20prev,\x20nc,\x20opt[2],\x20opt[3]);\x20\x20nmci=i+1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20mch2\x20=\x20UZIP.F._bestMatch(data,\x20i+2,\x20prev,\x20nnc);\x20\x20//nmci=i+1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((nmch>>>16)>(mch>>>16))\x20mch=0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}//*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20len\x20=\x20mch>>>16,\x20dst\x20=\x20mch&0xffff;\x20\x20//if(i-dst<0)\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(mch!=0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20len\x20=\x20mch>>>16,\x20dst\x20=\x20mch&0xffff;\x20\x20//if(i-dst<0)\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lgi\x20=\x20goodIndex(len,\x20U.of0);\x20\x20U.lhst[257+lgi]++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dgi\x20=\x20goodIndex(dst,\x20U.df0);\x20\x20U.dhst[\x20\x20\x20\x20dgi]++;\x20\x20ebits\x20+=\x20U.exb[lgi]\x20+\x20U.dxb[dgi];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20lits[li]\x20=\x20(len<<23)|(i-cvrd);\x20\x20lits[li+1]\x20=\x20(dst<<16)|(lgi<<8)|dgi;\x20\x20li+=2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cvrd\x20=\x20i\x20+\x20len;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20{\x09U.lhst[data[i]]++;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20lc++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if(bs!=i\x20||\x20data.length==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(cvrd<i)\x20{\x20\x20lits[li]=i-cvrd;\x20\x20li+=2;\x20\x20cvrd=i;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeBlock(1,\x20lits,\x20li,\x20ebits,\x20data,bs,i-bs,\x20out,\x20pos);\x20\x20li=0;\x20\x20lc=0;\x20\x20li=lc=ebits=0;\x20\x20bs=i;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20while((pos&7)!=0)\x20pos++;\x0a\x20\x20\x20\x20return\x20pos>>>3;\x0a}\x0aUZIP.F._bestMatch\x20=\x20function(data,\x20i,\x20prev,\x20c,\x20nice,\x20chain)\x20{\x0a\x20\x20\x20\x20let\x20ci\x20=\x20(i&0x7fff),\x20pi=prev[ci];\x0a\x20\x20\x20\x20//console.log(\x22----\x22,\x20i);\x0a\x20\x20\x20\x20let\x20dif\x20=\x20((ci-pi\x20+\x20(1<<15))\x20&\x200x7fff);\x20\x20if(pi==ci\x20||\x20c!=UZIP.F._hash(data,i-dif))\x20return\x200;\x0a\x20\x20\x20\x20let\x20tl=0,\x20td=0;\x20\x20//\x20top\x20length,\x20top\x20distance\x0a\x20\x20\x20\x20let\x20dlim\x20=\x20Math.min(0x7fff,\x20i);\x0a\x20\x20\x20\x20while(dif<=dlim\x20&&\x20--chain!=0\x20&&\x20pi!=ci\x20/*&&\x20c==UZIP.F._hash(data,i-dif)*/)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(tl==0\x20||\x20(data[i+tl]==data[i+tl-dif]))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20cl\x20=\x20UZIP.F._howLong(data,\x20i,\x20dif);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(cl>tl)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tl=cl;\x20\x20td=dif;\x20\x20if(tl>=nice)\x20break;\x20\x20\x20\x20//*\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(dif+2<cl)\x20cl\x20=\x20dif+2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20maxd\x20=\x200;\x20//\x20pi\x20does\x20not\x20point\x20to\x20the\x20start\x20of\x20the\x20word\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20j=0;\x20j<cl-2;\x20j++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ei\x20=\x20\x20(i-dif+j+\x20(1<<15))\x20&\x200x7fff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20li\x20=\x20prev[ei];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20curd\x20=\x20(ei-li\x20+\x20(1<<15))\x20&\x200x7fff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(curd>maxd)\x20{\x20\x20maxd=curd;\x20\x20pi\x20=\x20ei;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x20//*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20ci=pi;\x20\x20pi\x20=\x20prev[ci];\x0a\x20\x20\x20\x20\x20\x20\x20\x20dif\x20+=\x20((ci-pi\x20+\x20(1<<15))\x20&\x200x7fff);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20(tl<<16)|td;\x0a}\x0aUZIP.F._howLong\x20=\x20function(data,\x20i,\x20dif)\x20{\x0a\x20\x20\x20\x20if(data[i]!=data[i-dif]\x20||\x20data[i+1]!=data[i+1-dif]\x20||\x20data[i+2]!=data[i+2-dif])\x20return\x200;\x0a\x20\x20\x20\x20let\x20oi=i,\x20l\x20=\x20Math.min(data.length,\x20i+258);\x20\x20i+=3;\x0a\x20\x20\x20\x20//while(i+4<l\x20&&\x20data[i]==data[i-dif]\x20&&\x20data[i+1]==data[i+1-dif]\x20&&\x20data[i+2]==data[i+2-dif]\x20&&\x20data[i+3]==data[i+3-dif])\x20i+=4;\x0a\x20\x20\x20\x20while(i<l\x20&&\x20data[i]==data[i-dif])\x20i++;\x0a\x20\x20\x20\x20return\x20i-oi;\x0a}\x0aUZIP.F._hash\x20=\x20function(data,\x20i)\x20{\x0a\x20\x20\x20\x20return\x20(((data[i]<<8)\x20|\x20data[i+1])+(data[i+2]<<4))&0xffff;\x0a\x20\x20\x20\x20//let\x20hash_shift\x20=\x200,\x20hash_mask\x20=\x20255;\x0a\x20\x20\x20\x20//let\x20h\x20=\x20data[i+1]\x20%\x20251;\x0a\x20\x20\x20\x20//h\x20=\x20(((h\x20<<\x208)\x20+\x20data[i+2])\x20%\x20251);\x0a\x20\x20\x20\x20//h\x20=\x20(((h\x20<<\x208)\x20+\x20data[i+2])\x20%\x20251);\x0a\x20\x20\x20\x20//h\x20=\x20((h<<hash_shift)\x20^\x20(c)\x20)\x20&\x20hash_mask;\x0a\x20\x20\x20\x20//return\x20h\x20|\x20(data[i]<<8);\x0a\x20\x20\x20\x20//return\x20(data[i]\x20|\x20(data[i+1]<<8));\x0a}\x0a//UZIP.___toth\x20=\x200;\x0aUZIP.saved\x20=\x200;\x0aUZIP.F._writeBlock\x20=\x20function(BFINAL,\x20lits,\x20li,\x20ebits,\x20data,o0,l0,\x20out,\x20pos)\x20{\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U,\x20putsF\x20=\x20UZIP.F._putsF,\x20putsE\x20=\x20UZIP.F._putsE;\x0a\x0a\x20\x20\x20\x20//*\x0a\x20\x20\x20\x20let\x20T,\x20ML,\x20MD,\x20MH,\x20numl,\x20numd,\x20numh,\x20lset,\x20dset;\x20\x20U.lhst[256]++;\x0a\x20\x20\x20\x20T\x20=\x20UZIP.F.getTrees();\x20ML=T[0];\x20MD=T[1];\x20MH=T[2];\x20numl=T[3];\x20numd=T[4];\x20numh=T[5];\x20lset=T[6];\x20dset=T[7];\x0a\x0a\x20\x20\x20\x20let\x20cstSize\x20=\x20(((pos+3)&7)==0\x20?\x200\x20:\x208-((pos+3)&7))\x20+\x2032\x20+\x20(l0<<3);\x0a\x20\x20\x20\x20let\x20fxdSize\x20=\x20ebits\x20+\x20UZIP.F.contSize(U.fltree,\x20U.lhst)\x20+\x20UZIP.F.contSize(U.fdtree,\x20U.dhst);\x0a\x20\x20\x20\x20let\x20dynSize\x20=\x20ebits\x20+\x20UZIP.F.contSize(U.ltree\x20,\x20U.lhst)\x20+\x20UZIP.F.contSize(U.dtree\x20,\x20U.dhst);\x0a\x20\x20\x20\x20dynSize\x20\x20\x20\x20+=\x2014\x20+\x203*numh\x20+\x20UZIP.F.contSize(U.itree,\x20U.ihst)\x20+\x20(U.ihst[16]*2\x20+\x20U.ihst[17]*3\x20+\x20U.ihst[18]*7);\x0a\x0a\x20\x20\x20\x20for(let\x20j=0;\x20j<286;\x20j++)\x20U.lhst[j]=0;\x20\x20\x20for(let\x20j=0;\x20j<30;\x20j++)\x20U.dhst[j]=0;\x20\x20\x20for(let\x20j=0;\x20j<19;\x20j++)\x20U.ihst[j]=0;\x0a\x20\x20\x20\x20//*/\x0a\x20\x20\x20\x20let\x20BTYPE\x20=\x20(cstSize<fxdSize\x20&&\x20cstSize<dynSize)\x20?\x200\x20:\x20(\x20fxdSize<dynSize\x20?\x201\x20:\x202\x20);\x0a\x20\x20\x20\x20putsF(out,\x20pos,\x20BFINAL);\x20\x20putsF(out,\x20pos+1,\x20BTYPE);\x20\x20pos+=3;\x0a\x0a\x20\x20\x20\x20let\x20opos\x20=\x20pos;\x0a\x20\x20\x20\x20if(BTYPE==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20while((pos&7)!=0)\x20pos++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._copyExact(data,\x20o0,\x20l0,\x20out,\x20pos);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20ltree,\x20dtree;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==1)\x20{\x20\x20ltree=U.fltree;\x20\x20dtree=U.fdtree;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UZIP.F.makeCodes(U.ltree,\x20ML);\x20\x20UZIP.F.revCodes(U.ltree,\x20ML);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UZIP.F.makeCodes(U.dtree,\x20MD);\x20\x20UZIP.F.revCodes(U.dtree,\x20MD);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UZIP.F.makeCodes(U.itree,\x20MH);\x20\x20UZIP.F.revCodes(U.itree,\x20MH);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ltree\x20=\x20U.ltree;\x20\x20dtree\x20=\x20U.dtree;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,numl-257);\x20\x20pos+=5;\x20\x20//\x20286\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,numd-\x20\x201);\x20\x20pos+=5;\x20\x20//\x2030\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,numh-\x20\x204);\x20\x20pos+=4;\x20\x20//\x2019\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<numh;\x20i++)\x20putsE(out,\x20pos+i*3,\x20U.itree[(U.ordr[i]<<1)+1]);\x20\x20\x20pos+=3*\x20numh;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._codeTiny(lset,\x20U.itree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._codeTiny(dset,\x20U.itree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20off=o0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20si=0;\x20si<li;\x20si+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20qb=lits[si],\x20len=(qb>>>23),\x20end\x20=\x20off+(qb&((1<<23)-1));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(off<end)\x20pos\x20=\x20UZIP.F._writeLit(data[off++],\x20ltree,\x20out,\x20pos);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(len!=0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20qc\x20=\x20lits[si+1],\x20dst=(qc>>16),\x20lgi=(qc>>8)&255,\x20dgi=(qc&255);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(257+lgi,\x20ltree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,\x20len-U.of0[lgi]);\x20\x20pos+=U.exb[lgi];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(dgi,\x20dtree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsF(out,\x20pos,\x20dst-U.df0[dgi]);\x20\x20pos+=U.dxb[dgi];\x20\x20off+=len;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(256,\x20ltree,\x20out,\x20pos);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//console.log(pos-opos,\x20fxdSize,\x20dynSize,\x20cstSize);\x0a\x20\x20\x20\x20return\x20pos;\x0a}\x0aUZIP.F._copyExact\x20=\x20function(data,off,len,out,pos)\x20{\x0a\x20\x20\x20\x20let\x20p8\x20=\x20(pos>>>3);\x0a\x20\x20\x20\x20out[p8]=(len);\x20\x20out[p8+1]=(len>>>8);\x20\x20out[p8+2]=255-out[p8];\x20\x20out[p8+3]=255-out[p8+1];\x20\x20p8+=4;\x0a\x20\x20\x20\x20out.set(new\x20Uint8Array(data.buffer,\x20off,\x20len),\x20p8);\x0a\x20\x20\x20\x20//for(let\x20i=0;\x20i<len;\x20i++)\x20out[p8+i]=data[off+i];\x0a\x20\x20\x20\x20return\x20pos\x20+\x20((len+4)<<3);\x0a}\x0a/*\x0a\x09Interesting\x20facts:\x0a\x09-\x20decompressed\x20block\x20can\x20have\x20bytes,\x20which\x20do\x20not\x20occur\x20in\x20a\x20Huffman\x20tree\x20(copied\x20from\x20the\x20previous\x20block\x20by\x20reference)\x0a*/\x0a\x0aUZIP.F.getTrees\x20=\x20function()\x20{\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U;\x0a\x20\x20\x20\x20let\x20ML\x20=\x20UZIP.F._hufTree(U.lhst,\x20U.ltree,\x2015);\x0a\x20\x20\x20\x20let\x20MD\x20=\x20UZIP.F._hufTree(U.dhst,\x20U.dtree,\x2015);\x0a\x20\x20\x20\x20let\x20lset\x20=\x20[],\x20numl\x20=\x20UZIP.F._lenCodes(U.ltree,\x20lset);\x0a\x20\x20\x20\x20let\x20dset\x20=\x20[],\x20numd\x20=\x20UZIP.F._lenCodes(U.dtree,\x20dset);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<lset.length;\x20i+=2)\x20U.ihst[lset[i]]++;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<dset.length;\x20i+=2)\x20U.ihst[dset[i]]++;\x0a\x20\x20\x20\x20let\x20MH\x20=\x20UZIP.F._hufTree(U.ihst,\x20U.itree,\x20\x207);\x0a\x20\x20\x20\x20let\x20numh\x20=\x2019;\x20\x20while(numh>4\x20&&\x20U.itree[(U.ordr[numh-1]<<1)+1]==0)\x20numh--;\x0a\x20\x20\x20\x20return\x20[ML,\x20MD,\x20MH,\x20numl,\x20numd,\x20numh,\x20lset,\x20dset];\x0a}\x0aUZIP.F.getSecond=\x20function(a)\x20{\x20\x20let\x20b=[];\x20\x20for(let\x20i=0;\x20i<a.length;\x20i+=2)\x20b.push\x20\x20(a[i+1]);\x20\x20return\x20b;\x20\x20}\x0aUZIP.F.nonZero\x20\x20=\x20function(a)\x20{\x20\x20let\x20b=\x20\x22\x22;\x20\x20for(let\x20i=0;\x20i<a.length;\x20i+=2)\x20if(a[i+1]!=0)b+=(i>>1)+\x22,\x22;\x20\x20return\x20b;\x20\x20}\x0aUZIP.F.contSize\x20=\x20function(tree,\x20hst)\x20{\x20\x20let\x20s=0;\x20\x20for(let\x20i=0;\x20i<hst.length;\x20i++)\x20s+=\x20hst[i]*tree[(i<<1)+1];\x20\x20return\x20s;\x20\x20}\x0aUZIP.F._codeTiny\x20=\x20function(set,\x20tree,\x20out,\x20pos)\x20{\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<set.length;\x20i+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20l\x20=\x20set[i],\x20rst\x20=\x20set[i+1];\x20\x20//console.log(l,\x20pos,\x20tree[(l<<1)+1]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(l,\x20tree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20rsl\x20=\x20l==16\x20?\x202\x20:\x20(l==17\x20?\x203\x20:\x207);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(l>15)\x20{\x20\x20UZIP.F._putsE(out,\x20pos,\x20rst,\x20rsl);\x20\x20pos+=rsl;\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20pos;\x0a}\x0aUZIP.F._lenCodes\x20=\x20function(tree,\x20set)\x20{\x0a\x20\x20\x20\x20let\x20len=tree.length;\x20\x20while(len!=2\x20&&\x20tree[len-1]==0)\x20len-=2;\x20\x20//\x20when\x20no\x20distances,\x20keep\x20one\x20code\x20with\x20length\x200\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<len;\x20i+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20l\x20=\x20tree[i+1],\x20nxt\x20=\x20(i+3<len\x20?\x20tree[i+3]:-1),\x20\x20nnxt\x20=\x20(i+5<len\x20?\x20tree[i+5]:-1),\x20\x20prv\x20=\x20(i==0\x20?\x20-1\x20:\x20tree[i-1]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(l==0\x20&&\x20nxt==l\x20&&\x20nnxt==l)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lz\x20=\x20i+5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(lz+2<len\x20&&\x20tree[lz+2]==l)\x20lz+=2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20zc\x20=\x20Math.min((lz+1-i)>>>1,\x20138);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(zc<11)\x20set.push(17,\x20zc-3);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20set.push(18,\x20zc-11);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20i\x20+=\x20zc*2-2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(l==prv\x20&&\x20nxt==l\x20&&\x20nnxt==l)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lz\x20=\x20i+5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(lz+2<len\x20&&\x20tree[lz+2]==l)\x20lz+=2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20zc\x20=\x20Math.min((lz+1-i)>>>1,\x206);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20set.push(16,\x20zc-3);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20i\x20+=\x20zc*2-2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x20set.push(l,\x200);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20len>>>1;\x0a}\x0aUZIP.F._hufTree\x20\x20\x20=\x20function(hst,\x20tree,\x20MAXL)\x20{\x0a\x20\x20\x20\x20let\x20list=[],\x20hl\x20=\x20hst.length,\x20tl=tree.length,\x20i=0;\x0a\x20\x20\x20\x20for(i=0;\x20i<tl;\x20i+=2)\x20{\x20\x20tree[i]=0;\x20\x20tree[i+1]=0;\x20\x20}\x0a\x20\x20\x20\x20for(i=0;\x20i<hl;\x20i++)\x20if(hst[i]!=0)\x20list.push({lit:i,\x20f:hst[i]});\x0a\x20\x20\x20\x20let\x20end\x20=\x20list.length,\x20l2=list.slice(0);\x0a\x20\x20\x20\x20if(end==0)\x20return\x200;\x20\x20//\x20empty\x20histogram\x20(usually\x20for\x20dist)\x0a\x20\x20\x20\x20if(end==1)\x20{\x20\x20let\x20lit=list[0].lit,\x20l2=lit==0?1:0;\x20\x20tree[(lit<<1)+1]=1;\x20\x20tree[(l2<<1)+1]=1;\x20\x20return\x201;\x20\x20}\x0a\x20\x20\x20\x20list.sort(function(a,b){return\x20a.f-b.f;});\x0a\x20\x20\x20\x20let\x20a=list[0],\x20b=list[1],\x20i0=0,\x20i1=1,\x20i2=2;\x20\x20list[0]={lit:-1,f:a.f+b.f,l:a,r:b,d:0};\x0a\x20\x20\x20\x20while(i1!=end-1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(i0!=i1\x20&&\x20(i2==end\x20||\x20list[i0].f<list[i2].f))\x20{\x20\x20a=list[i0++];\x20\x20}\x20\x20else\x20{\x20\x20a=list[i2++];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(i0!=i1\x20&&\x20(i2==end\x20||\x20list[i0].f<list[i2].f))\x20{\x20\x20b=list[i0++];\x20\x20}\x20\x20else\x20{\x20\x20b=list[i2++];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20list[i1++]={lit:-1,f:a.f+b.f,\x20l:a,r:b};\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20maxl\x20=\x20UZIP.F.setDepth(list[i1-1],\x200);\x0a\x20\x20\x20\x20if(maxl>MAXL)\x20{\x20\x20UZIP.F.restrictDepth(l2,\x20MAXL,\x20maxl);\x20\x20maxl\x20=\x20MAXL;\x20\x20}\x0a\x20\x20\x20\x20for(i=0;\x20i<end;\x20i++)\x20tree[(l2[i].lit<<1)+1]=l2[i].d;\x0a\x20\x20\x20\x20return\x20maxl;\x0a}\x0a\x0aUZIP.F.setDepth\x20\x20=\x20function(t,\x20d)\x20{\x0a\x20\x20\x20\x20if(t.lit!=-1)\x20{\x20\x20t.d=d;\x20\x20return\x20d;\x20\x20}\x0a\x20\x20\x20\x20return\x20Math.max(\x20UZIP.F.setDepth(t.l,\x20d+1),\x20\x20UZIP.F.setDepth(t.r,\x20d+1)\x20);\x0a}\x0a\x0aUZIP.F.restrictDepth\x20=\x20function(dps,\x20MD,\x20maxl)\x20{\x0a\x20\x20\x20\x20let\x20i=0,\x20bCost=1<<(maxl-MD),\x20dbt=0;\x0a\x20\x20\x20\x20dps.sort(function(a,b){return\x20b.d==a.d\x20?\x20a.f-b.f\x20:\x20b.d-a.d;});\x0a\x0a\x20\x20\x20\x20for(i=0;\x20i<dps.length;\x20i++)\x20if(dps[i].d>MD)\x20{\x20\x20let\x20od=dps[i].d;\x20\x20dps[i].d=MD;\x20\x20dbt+=bCost-(1<<(maxl-od));\x20\x20}\x20\x20else\x20break;\x0a\x20\x20\x20\x20dbt\x20=\x20dbt>>>(maxl-MD);\x0a\x20\x20\x20\x20while(dbt>0)\x20{\x20\x20let\x20od=dps[i].d;\x20\x20if(od<MD)\x20{\x20\x20dps[i].d++;\x20\x20dbt-=(1<<(MD-od-1));\x20\x20}\x20\x20else\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20for(;\x20i>=0;\x20i--)\x20if(dps[i].d==MD\x20&&\x20dbt<0)\x20{\x20\x20dps[i].d--;\x20\x20dbt++;\x20\x20}\x20\x20if(dbt!=0)\x20console.log(\x22debt\x20left\x22);\x0a}\x0a\x0aUZIP.F._goodIndex\x20=\x20function(v,\x20arr)\x20{\x0a\x20\x20\x20\x20let\x20i=0;\x20\x20if(arr[i|16]<=v)\x20i|=16;\x20\x20if(arr[i|8]<=v)\x20i|=8;\x20\x20if(arr[i|4]<=v)\x20i|=4;\x20\x20if(arr[i|2]<=v)\x20i|=2;\x20\x20if(arr[i|1]<=v)\x20i|=1;\x20\x20return\x20i;\x0a}\x0aUZIP.F._writeLit\x20=\x20function(ch,\x20ltree,\x20out,\x20pos)\x20{\x0a\x20\x20\x20\x20UZIP.F._putsF(out,\x20pos,\x20ltree[ch<<1]);\x0a\x20\x20\x20\x20return\x20pos+ltree[(ch<<1)+1];\x0a}\x0aUZIP.F.inflate\x20=\x20function(data,\x20buf)\x20{\x0a\x20\x20\x20\x20let\x20u8=Uint8Array;\x0a\x20\x20\x20\x20if(data[0]==3\x20&&\x20data[1]==0)\x20return\x20(buf\x20?\x20buf\x20:\x20new\x20u8(0));\x0a\x20\x20\x20\x20let\x20F=UZIP.F,\x20bitsF\x20=\x20F._bitsF,\x20bitsE\x20=\x20F._bitsE,\x20decodeTiny\x20=\x20F._decodeTiny,\x20makeCodes\x20=\x20F.makeCodes,\x20codes2map=F.codes2map,\x20get17\x20=\x20F._get17;\x0a\x20\x20\x20\x20let\x20U\x20=\x20F.U;\x0a\x0a\x20\x20\x20\x20let\x20noBuf\x20=\x20(buf==null);\x0a\x20\x20\x20\x20if(noBuf)\x20buf\x20=\x20new\x20u8((data.length>>>2)<<3);\x0a\x0a\x20\x20\x20\x20let\x20BFINAL=0,\x20BTYPE=0,\x20HLIT=0,\x20HDIST=0,\x20HCLEN=0,\x20ML=0,\x20MD=0;\x0a\x20\x20\x20\x20let\x20off\x20=\x200,\x20pos\x20=\x200;\x0a\x20\x20\x20\x20let\x20lmap,\x20dmap;\x0a\x0a\x20\x20\x20\x20while(BFINAL==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20BFINAL\x20=\x20bitsF(data,\x20pos\x20\x20,\x201);\x0a\x20\x20\x20\x20\x20\x20\x20\x20BTYPE\x20\x20=\x20bitsF(data,\x20pos+1,\x202);\x20\x20pos+=3;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//console.log(BFINAL,\x20BTYPE);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((pos&7)!=0)\x20pos+=8-(pos&7);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20p8\x20=\x20(pos>>>3)+4,\x20len\x20=\x20data[p8-4]|(data[p8-3]<<8);\x20\x20//console.log(len);//bitsF(data,\x20pos,\x2016),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(noBuf)\x20buf=UZIP.F._check(buf,\x20off+len);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20buf.set(new\x20u8(data.buffer,\x20data.byteOffset+p8,\x20len),\x20off);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//for(let\x20i=0;\x20i<len;\x20i++)\x20buf[off+i]\x20=\x20data[p8+i];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//for(let\x20i=0;\x20i<len;\x20i++)\x20if(buf[off+i]\x20!=\x20data[p8+i])\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20((p8+len)<<3);\x20\x20off+=len;\x20\x20continue;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(noBuf)\x20buf=UZIP.F._check(buf,\x20off+(1<<17));\x20\x20//\x20really\x20not\x20enough\x20in\x20many\x20cases\x20(but\x20PNG\x20and\x20ZIP\x20provide\x20buffer\x20in\x20advance)\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==1)\x20{\x20\x20lmap\x20=\x20U.flmap;\x20\x20dmap\x20=\x20U.fdmap;\x20\x20ML\x20=\x20(1<<9)-1;\x20\x20MD\x20=\x20(1<<5)-1;\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20HLIT\x20\x20=\x20bitsE(data,\x20pos\x20\x20\x20,\x205)+257;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20HDIST\x20=\x20bitsE(data,\x20pos+\x205,\x205)+\x20\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20HCLEN\x20=\x20bitsE(data,\x20pos+10,\x204)+\x20\x204;\x20\x20pos+=14;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ppos\x20=\x20pos;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<38;\x20i+=2)\x20{\x20\x20U.itree[i]=0;\x20\x20U.itree[i+1]=0;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20tl\x20=\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<HCLEN;\x20i++)\x20{\x20\x20let\x20l=bitsE(data,\x20pos+i*3,\x203);\x20\x20U.itree[(U.ordr[i]<<1)+1]\x20=\x20l;\x20\x20if(l>tl)tl=l;\x20\x20}\x20\x20\x20\x20\x20pos+=3*HCLEN;\x20\x20//console.log(itree);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20makeCodes(U.itree,\x20tl);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codes2map(U.itree,\x20tl,\x20U.imap);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20lmap\x20=\x20U.lmap;\x20\x20dmap\x20=\x20U.dmap;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20decodeTiny(U.imap,\x20(1<<tl)-1,\x20HLIT+HDIST,\x20data,\x20pos,\x20U.ttree);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20mx0\x20=\x20F._copyOut(U.ttree,\x20\x20\x20\x200,\x20HLIT\x20,\x20U.ltree);\x20\x20ML\x20=\x20(1<<mx0)-1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20mx1\x20=\x20F._copyOut(U.ttree,\x20HLIT,\x20HDIST,\x20U.dtree);\x20\x20MD\x20=\x20(1<<mx1)-1;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20ml\x20=\x20decodeTiny(U.imap,\x20(1<<tl)-1,\x20HLIT\x20,\x20data,\x20pos,\x20U.ltree);\x20ML\x20=\x20(1<<(ml>>>24))-1;\x20\x20pos+=(ml&0xffffff);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20makeCodes(U.ltree,\x20mx0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codes2map(U.ltree,\x20mx0,\x20lmap);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20md\x20=\x20decodeTiny(U.imap,\x20(1<<tl)-1,\x20HDIST,\x20data,\x20pos,\x20U.dtree);\x20MD\x20=\x20(1<<(md>>>24))-1;\x20\x20pos+=(md&0xffffff);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20makeCodes(U.dtree,\x20mx1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codes2map(U.dtree,\x20mx1,\x20dmap);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20//let\x20ooff=off,\x20opos=pos;\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(true)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20lmap[get17(data,\x20pos)\x20&\x20ML];\x20\x20pos\x20+=\x20code&15;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lit\x20=\x20code>>>4;\x20\x20//U.lhst[lit]++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((lit>>>8)==0)\x20{\x20\x20buf[off++]\x20=\x20lit;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(lit==256)\x20{\x20\x20break;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20end\x20=\x20off+lit-254;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(lit>264)\x20{\x20let\x20ebs\x20=\x20U.ldef[lit-257];\x20\x20end\x20=\x20off\x20+\x20(ebs>>>3)\x20+\x20bitsE(data,\x20pos,\x20ebs&7);\x20\x20pos\x20+=\x20ebs&7;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//UZIP.F.dst[end-off]++;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dcode\x20=\x20dmap[get17(data,\x20pos)\x20&\x20MD];\x20\x20pos\x20+=\x20dcode&15;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dlit\x20=\x20dcode>>>4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dbs\x20=\x20U.ddef[dlit],\x20dst\x20=\x20(dbs>>>4)\x20+\x20bitsF(data,\x20pos,\x20dbs&15);\x20\x20pos\x20+=\x20dbs&15;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20o0\x20=\x20off-dst,\x20stp\x20=\x20Math.min(end-off,\x20dst);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(stp>20)\x20while(off<end)\x20{\x20\x20buf.copyWithin(off,\x20o0,\x20o0+stp);\x20\x20off+=stp;\x20\x20}\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(end-dst<=off)\x20buf.copyWithin(off,\x20off-dst,\x20end-dst);\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(dst==1)\x20buf.fill(buf[off-1],\x20off,\x20end);\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(noBuf)\x20buf=UZIP.F._check(buf,\x20off+(1<<17));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(off<end)\x20{\x20\x20buf[off]=buf[off++-dst];\x20\x20\x20\x20buf[off]=buf[off++-dst];\x20\x20buf[off]=buf[off++-dst];\x20\x20buf[off]=buf[off++-dst];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20off=end;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//while(off!=end)\x20{\x20\x20buf[off]=buf[off++-dst];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20//console.log(off-ooff,\x20(pos-opos)>>>3);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//console.log(UZIP.F.dst);\x0a\x20\x20\x20\x20//console.log(tlen,\x20dlen,\x20off-tlen+tcnt);\x0a\x20\x20\x20\x20return\x20buf.length==off\x20?\x20buf\x20:\x20buf.slice(0,off);\x0a}\x0aUZIP.F._check=function(buf,\x20len)\x20{\x0a\x20\x20\x20\x20let\x20bl=buf.length;\x20\x20if(len<=bl)\x20return\x20buf;\x0a\x20\x20\x20\x20let\x20nbuf\x20=\x20new\x20Uint8Array(Math.max(bl<<1,len));\x20\x20nbuf.set(buf,0);\x0a\x20\x20\x20\x20//for(let\x20i=0;\x20i<bl;\x20i+=4)\x20{\x20\x20nbuf[i]=buf[i];\x20\x20nbuf[i+1]=buf[i+1];\x20\x20nbuf[i+2]=buf[i+2];\x20\x20nbuf[i+3]=buf[i+3];\x20\x20}\x0a\x20\x20\x20\x20return\x20nbuf;\x0a}\x0a\x0aUZIP.F._decodeTiny\x20=\x20function(lmap,\x20LL,\x20len,\x20data,\x20pos,\x20tree)\x20{\x0a\x20\x20\x20\x20let\x20bitsE\x20=\x20UZIP.F._bitsE,\x20get17\x20=\x20UZIP.F._get17;\x0a\x20\x20\x20\x20let\x20i\x20=\x200;\x0a\x20\x20\x20\x20while(i<len)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20lmap[get17(data,\x20pos)&LL];\x20\x20pos+=code&15;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20lit\x20=\x20code>>>4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(lit<=15)\x20{\x20\x20tree[i]=lit;\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ll\x20=\x200,\x20n\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(lit==16)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20n\x20=\x20(3\x20\x20+\x20bitsE(data,\x20pos,\x202));\x20\x20pos\x20+=\x202;\x20\x20ll\x20=\x20tree[i-1];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(lit==17)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20n\x20=\x20(3\x20\x20+\x20bitsE(data,\x20pos,\x203));\x20\x20pos\x20+=\x203;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(lit==18)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20n\x20=\x20(11\x20+\x20bitsE(data,\x20pos,\x207));\x20\x20pos\x20+=\x207;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ni\x20=\x20i+n;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(i<ni)\x20{\x20\x20tree[i]=ll;\x20\x20i++;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20pos;\x0a}\x0aUZIP.F._copyOut\x20=\x20function(src,\x20off,\x20len,\x20tree)\x20{\x0a\x20\x20\x20\x20let\x20mx=0,\x20i=0,\x20tl=tree.length>>>1;\x0a\x20\x20\x20\x20while(i<len)\x20{\x20\x20let\x20v=src[i+off];\x20\x20tree[(i<<1)]=0;\x20\x20tree[(i<<1)+1]=v;\x20\x20if(v>mx)mx=v;\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20while(i<tl\x20)\x20{\x20\x20tree[(i<<1)]=0;\x20\x20tree[(i<<1)+1]=0;\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20return\x20mx;\x0a}\x0a\x0aUZIP.F.makeCodes\x20=\x20function(tree,\x20MAX_BITS)\x20{\x20\x20//\x20code,\x20length\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U;\x0a\x20\x20\x20\x20let\x20max_code\x20=\x20tree.length;\x0a\x20\x20\x20\x20let\x20code,\x20bits,\x20n,\x20i,\x20len;\x0a\x0a\x20\x20\x20\x20let\x20bl_count\x20=\x20U.bl_count;\x20\x20for(let\x20i=0;\x20i<=MAX_BITS;\x20i++)\x20bl_count[i]=0;\x0a\x20\x20\x20\x20for(i=1;\x20i<max_code;\x20i+=2)\x20bl_count[tree[i]]++;\x0a\x0a\x20\x20\x20\x20let\x20next_code\x20=\x20U.next_code;\x09//\x20smallest\x20code\x20for\x20each\x20length\x0a\x0a\x20\x20\x20\x20code\x20=\x200;\x0a\x20\x20\x20\x20bl_count[0]\x20=\x200;\x0a\x20\x20\x20\x20for\x20(bits\x20=\x201;\x20bits\x20<=\x20MAX_BITS;\x20bits++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20code\x20=\x20(code\x20+\x20bl_count[bits-1])\x20<<\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20next_code[bits]\x20=\x20code;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20for\x20(n\x20=\x200;\x20n\x20<\x20max_code;\x20n+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20len\x20=\x20tree[n+1];\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(len\x20!=\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tree[n]\x20=\x20next_code[len];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_code[len]++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a}\x0aUZIP.F.codes2map\x20=\x20function(tree,\x20MAX_BITS,\x20map)\x20{\x0a\x20\x20\x20\x20let\x20max_code\x20=\x20tree.length;\x0a\x20\x20\x20\x20let\x20U=UZIP.F.U,\x20r15\x20=\x20U.rev15;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<max_code;\x20i+=2)\x20if(tree[i+1]!=0)\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20lit\x20=\x20i>>1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20cl\x20=\x20tree[i+1],\x20val\x20=\x20(lit<<4)|cl;\x20//\x20:\x20\x20(0x8000\x20|\x20(U.of0[lit-257]<<7)\x20|\x20(U.exb[lit-257]<<4)\x20|\x20cl);\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20rest\x20=\x20(MAX_BITS-cl),\x20i0\x20=\x20tree[i]<<rest,\x20i1\x20=\x20i0\x20+\x20(1<<rest);\x0a\x20\x20\x20\x20\x20\x20\x20\x20//tree[i]=r15[i0]>>>(15-MAX_BITS);\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(i0!=i1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20p0\x20=\x20r15[i0]>>>(15-MAX_BITS);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20map[p0]=val;\x20\x20i0++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a}\x0aUZIP.F.revCodes\x20=\x20function(tree,\x20MAX_BITS)\x20{\x0a\x20\x20\x20\x20let\x20r15\x20=\x20UZIP.F.U.rev15,\x20imb\x20=\x2015-MAX_BITS;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<tree.length;\x20i+=2)\x20{\x20\x20let\x20i0\x20=\x20(tree[i]<<(MAX_BITS-tree[i+1]));\x20\x20tree[i]\x20=\x20r15[i0]>>>imb;\x20\x20}\x0a}\x0a\x0a//\x20used\x20only\x20in\x20deflate\x0aUZIP.F._putsE=\x20function(dt,\x20pos,\x20val\x20\x20\x20)\x20{\x20\x20val\x20=\x20val<<(pos&7);\x20\x20let\x20o=(pos>>>3);\x20\x20dt[o]|=val;\x20\x20dt[o+1]|=(val>>>8);\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0aUZIP.F._putsF=\x20function(dt,\x20pos,\x20val\x20\x20\x20)\x20{\x20\x20val\x20=\x20val<<(pos&7);\x20\x20let\x20o=(pos>>>3);\x20\x20dt[o]|=val;\x20\x20dt[o+1]|=(val>>>8);\x20\x20dt[o+2]|=(val>>>16);\x20\x20}\x0a\x0aUZIP.F._bitsE=\x20function(dt,\x20pos,\x20length)\x20{\x20\x20return\x20((dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)>>>(pos&7))&((1<<length)-1);\x20\x20}\x0aUZIP.F._bitsF=\x20function(dt,\x20pos,\x20length)\x20{\x20\x20return\x20((dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20|\x20(dt[(pos>>>3)+2]<<16))>>>(pos&7))&((1<<length)-1);\x20\x20}\x0a/*\x0aUZIP.F._get9\x20=\x20function(dt,\x20pos)\x20{\x0a\x09return\x20((dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8))>>>(pos&7))&511;\x0a}\x20*/\x0aUZIP.F._get17=\x20function(dt,\x20pos)\x20{\x09//\x20return\x20at\x20least\x2017\x20meaningful\x20bytes\x0a\x20\x20\x20\x20return\x20(dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20|\x20(dt[(pos>>>3)+2]<<16)\x20)>>>(pos&7);\x0a}\x0aUZIP.F._get25=\x20function(dt,\x20pos)\x20{\x09//\x20return\x20at\x20least\x2017\x20meaningful\x20bytes\x0a\x20\x20\x20\x20return\x20(dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20|\x20(dt[(pos>>>3)+2]<<16)\x20|\x20(dt[(pos>>>3)+3]<<24)\x20)>>>(pos&7);\x0a}\x0aUZIP.F.U\x20=\x20function(){\x0a\x20\x20\x20\x20let\x20u16=Uint16Array,\x20u32=Uint32Array;\x0a\x20\x20\x20\x20return\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20next_code\x20:\x20new\x20u16(16),\x0a\x20\x20\x20\x20\x20\x20\x20\x20bl_count\x20\x20:\x20new\x20u16(16),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ordr\x20:\x20[\x2016,\x2017,\x2018,\x200,\x208,\x207,\x209,\x206,\x2010,\x205,\x2011,\x204,\x2012,\x203,\x2013,\x202,\x2014,\x201,\x2015\x20],\x0a\x20\x20\x20\x20\x20\x20\x20\x20of0\x20\x20:\x20[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],\x0a\x20\x20\x20\x20\x20\x20\x20\x20exb\x20\x20:\x20[0,0,0,0,0,0,0,\x200,\x201,\x201,\x201,\x201,\x202,\x202,\x202,\x202,\x203,\x203,\x203,\x203,\x204,\x204,\x204,\x20\x204,\x20\x205,\x20\x205,\x20\x205,\x20\x205,\x20\x200,\x20\x200,\x20\x200,\x20\x200],\x0a\x20\x20\x20\x20\x20\x20\x20\x20ldef\x20:\x20new\x20u16(32),\x0a\x20\x20\x20\x20\x20\x20\x20\x20df0\x20\x20:\x20[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,\x2065535,\x2065535],\x0a\x20\x20\x20\x20\x20\x20\x20\x20dxb\x20\x20:\x20[0,0,0,0,1,1,2,\x202,\x203,\x203,\x204,\x204,\x205,\x205,\x20\x206,\x20\x206,\x20\x207,\x20\x207,\x20\x208,\x20\x208,\x20\x20\x209,\x20\x20\x209,\x20\x2010,\x20\x2010,\x20\x2011,\x20\x2011,\x20\x2012,\x20\x20\x2012,\x20\x20\x2013,\x20\x20\x2013,\x20\x20\x20\x20\x200,\x20\x20\x20\x20\x200],\x0a\x20\x20\x20\x20\x20\x20\x20\x20ddef\x20:\x20new\x20u32(32),\x0a\x20\x20\x20\x20\x20\x20\x20\x20flmap:\x20new\x20u16(\x20\x20512),\x20\x20fltree:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20fdmap:\x20new\x20u16(\x20\x20\x2032),\x20\x20fdtree:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20lmap\x20:\x20new\x20u16(32768),\x20\x20ltree\x20:\x20[],\x20\x20ttree:[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20dmap\x20:\x20new\x20u16(32768),\x20\x20dtree\x20:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20imap\x20:\x20new\x20u16(\x20\x20512),\x20\x20itree\x20:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20//rev9\x20:\x20new\x20u16(\x20\x20512)\x0a\x20\x20\x20\x20\x20\x20\x20\x20rev15:\x20new\x20u16(1<<15),\x0a\x20\x20\x20\x20\x20\x20\x20\x20lhst\x20:\x20new\x20u32(286),\x20dhst\x20:\x20new\x20u32(\x2030),\x20ihst\x20:\x20new\x20u32(19),\x0a\x20\x20\x20\x20\x20\x20\x20\x20lits\x20:\x20new\x20u32(15000),\x0a\x20\x20\x20\x20\x20\x20\x20\x20strt\x20:\x20new\x20u16(1<<16),\x0a\x20\x20\x20\x20\x20\x20\x20\x20prev\x20:\x20new\x20u16(1<<15)\x0a\x20\x20\x20\x20};\x0a}\x20();\x0a\x0a(function(){\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U;\x0a\x20\x20\x20\x20let\x20len\x20=\x201<<15;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<len;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20x\x20=\x20i;\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xaaaaaaaa)\x20>>>\x201)\x20|\x20((x\x20&\x200x55555555)\x20<<\x201));\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xcccccccc)\x20>>>\x202)\x20|\x20((x\x20&\x200x33333333)\x20<<\x202));\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xf0f0f0f0)\x20>>>\x204)\x20|\x20((x\x20&\x200x0f0f0f0f)\x20<<\x204));\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xff00ff00)\x20>>>\x208)\x20|\x20((x\x20&\x200x00ff00ff)\x20<<\x208));\x0a\x20\x20\x20\x20\x20\x20\x20\x20U.rev15[i]\x20=\x20(((x\x20>>>\x2016)\x20|\x20(x\x20<<\x2016)))>>>17;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20function\x20pushV(tgt,\x20n,\x20sv)\x20{\x20\x20while(n--!=0)\x20tgt.push(0,sv);\x20\x20}\x0a\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<32;\x20i++)\x20{\x20\x20U.ldef[i]=(U.of0[i]<<3)|U.exb[i];\x20\x20U.ddef[i]=(U.df0[i]<<4)|U.dxb[i];\x20\x20}\x0a\x0a\x20\x20\x20\x20pushV(U.fltree,\x20144,\x208);\x20\x20pushV(U.fltree,\x20255-143,\x209);\x20\x20pushV(U.fltree,\x20279-255,\x207);\x20\x20pushV(U.fltree,287-279,8);\x0a\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20let\x20i\x20=\x200;\x0a\x20\x20\x20\x20for(;\x20i<=143;\x20i++)\x20U.fltree.push(0,8);\x0a\x20\x20\x20\x20for(;\x20i<=255;\x20i++)\x20U.fltree.push(0,9);\x0a\x20\x20\x20\x20for(;\x20i<=279;\x20i++)\x20U.fltree.push(0,7);\x0a\x20\x20\x20\x20for(;\x20i<=287;\x20i++)\x20U.fltree.push(0,8);\x0a\x20\x20\x20\x20*/\x0a\x20\x20\x20\x20UZIP.F.makeCodes(U.fltree,\x209);\x0a\x20\x20\x20\x20UZIP.F.codes2map(U.fltree,\x209,\x20U.flmap);\x0a\x20\x20\x20\x20UZIP.F.revCodes\x20(U.fltree,\x209)\x0a\x0a\x20\x20\x20\x20pushV(U.fdtree,32,5);\x0a\x20\x20\x20\x20//for(i=0;i<32;\x20i++)\x20U.fdtree.push(0,5);\x0a\x20\x20\x20\x20UZIP.F.makeCodes(U.fdtree,\x205);\x0a\x20\x20\x20\x20UZIP.F.codes2map(U.fdtree,\x205,\x20U.fdmap);\x0a\x20\x20\x20\x20UZIP.F.revCodes\x20(U.fdtree,\x205)\x0a\x0a\x20\x20\x20\x20pushV(U.itree,19,0);\x20\x20pushV(U.ltree,286,0);\x20\x20pushV(U.dtree,30,0);\x20\x20pushV(U.ttree,320,0);\x0a\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<\x2019;\x20i++)\x20U.itree.push(0,0);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<286;\x20i++)\x20U.ltree.push(0,0);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<\x2030;\x20i++)\x20U.dtree.push(0,0);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<320;\x20i++)\x20U.ttree.push(0,0);\x0a\x20\x20\x20\x20*/\x0a})();\x0a\x0a\x0a\x0alet\x20started\x20=\x20false;\x0alet\x20cloudFrontURL\x20=\x20\x22\x22;\x0alet\x20folderName\x20=\x20\x22\x22;\x0alet\x20lastRequest\x20=\x20{};//{tc:\x2200_00_00_00\x22,\x20path:\x22...\x22}\x0alet\x20lastTimeCodeFound\x20=\x20null;//for\x20statistics\x0alet\x20msecAvg\x20=\x20[];//for\x20statistics\x0aconst\x20delimiter\x20=\x20\x22_\x22;\x0alet\x20maxTimeCode\x20=\x20{};//don\x27t\x20pass\x20this\x20timecode\x0alet\x20enabled\x20=\x20true;\x0alet\x20isWorking\x20=\x20false;\x0a\x0aconst\x20HandleData\x20=\x20async\x20(data)\x20=>\x20{\x0a\x20\x20\x20\x20const\x20result\x20=\x20UZIP.parse(data);\x0a\x20\x20\x20\x20let\x20sortedKeys\x20=\x20Object.keys(result).sort();\x0a\x09\x0a\x20\x20\x20\x20for\x20(const\x20key\x20of\x20sortedKeys)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(key.endsWith(\x22.json\x22))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20transferableArray\x20=\x20[];\x0a\x09\x09\x09const\x20metadata\x20=\x20JSON.parse(new\x20TextDecoder().decode(result[key]));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20tc\x20=\x20metadata.timecode.replace(/:/g,\x22_\x22);//replaceAll(\x22:\x22,\x20\x22_\x22);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(metadata.placeholders)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(const\x20groupId\x20in\x20metadata.placeholders)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20alphaKey\x20=\x20`${tc}_${groupId}.alpha`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(result[alphaKey])\x20{\x0a\x09\x09\x09\x09\x09\x09metadata.placeholders[groupId].alphaAsUint8Array\x20=\x20result[alphaKey];//new\x20Uint8Array(result[alphaKey].buffer);\x0a\x09\x09\x09\x09\x09\x09transferableArray.push(result[alphaKey].buffer);\x0a\x09\x09\x09\x09\x09}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20postMessage(metadata,transferableArray);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a}\x0a\x0aconst\x20Str2TimeCode\x20=\x20(str)\x20=>\x20{\x0a\x20\x20\x20\x20const\x20list\x20=\x20str.split(delimiter);\x0a\x20\x20\x20\x20const\x20timecode\x20=\x20{h:\x20parseInt(list[0]),\x20m:\x20parseInt(list[1]),\x20s:\x20parseInt(list[2]),\x20f:\x20parseInt(list[3])};\x0a\x20\x20\x20\x20return\x20timecode;\x0a}\x0aconst\x20TimeCode2Str\x20=\x20(timecode)\x20=>\x20{\x0a\x20\x20\x20\x20return\x20(\x220\x22\x20+\x20timecode.h).slice(-2)\x20+\x20delimiter\x20+\x20(\x220\x22\x20+\x20timecode.m).slice(-2)\x20+\x20delimiter\x20+\x20(\x220\x22\x20+\x20timecode.s).slice(-2)\x20+\x20delimiter\x20+\x20(\x220\x22\x20+\x20timecode.f).slice(-2);\x0a}\x0aconst\x20AddSecondsToTimeCode\x20=\x20(timecode,\x20seconds)\x20=>\x20{\x0a\x20\x20\x20\x20let\x20ret\x20=\x20{...timecode};//cloning\x20araay\x0a\x09ret.s\x20+=\x20seconds;\x0a\x20\x20\x20\x20if\x20(ret.s\x20>=\x2060)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20ret.s\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20ret.m++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(ret.m\x20>=\x2060)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ret.m\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ret.h++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20ret;\x0a}\x0aconst\x20GetNextTimeCode_TC\x20=\x20(tc,\x20seconds\x20=\x200)\x20=>\x20{\x0a\x20\x20\x20\x20let\x20timecode\x20=\x20Str2TimeCode(tc);\x0a\x20\x20\x20\x20if\x20(seconds)\x20timecode\x20=\x20AddSecondsToTimeCode(timecode,\x20seconds);\x0a\x09return\x20timecode;\x0a}\x0aconst\x20GetNextTimeCode\x20=\x20(tc,\x20seconds\x20=\x200)\x20=>\x20{\x0a\x20\x20\x20\x20let\x20timecode\x20=\x20GetNextTimeCode_TC(tc,seconds);\x0a\x20\x20\x20\x20return\x20TimeCode2Str(timecode);\x0a}\x0a\x0a\x0aconst\x20IsTCBigger\x20=\x20(tc1,\x20tc2)\x20=>\x20{\x0a\x09//return\x20true\x20iif\x20tc1\x20>\x20tc2\x0a\x09if\x20(tc1.h\x20>\x20tc2.h)\x20return\x20true;\x0a\x09else\x20if\x20(tc1.h\x20<\x20tc2.h)\x20return\x20false;\x0a\x09else\x20if\x20(tc1.m\x20>\x20tc2.m)\x20return\x20true;\x0a\x09else\x20if\x20(tc1.m\x20<\x20tc2.m)\x20return\x20false;\x0a\x09else\x20if\x20(tc1.s\x20>\x20tc2.s)\x20return\x20true;\x0a\x09else\x20if\x20(tc1.s\x20<\x20tc2.s)\x20return\x20false;\x0a\x09else\x20if\x20(tc1.f\x20>\x20tc2.f)\x20return\x20true;\x0a\x09else\x20return\x20false;\x0a}\x0aconst\x20TryNextFrame\x20=\x20(seconds)\x20=>\x20{\x0a\x09if(!enabled)\x20return;\x0a\x09//if\x20the\x20required\x20time\x20code\x20exceed\x20the\x20max\x20time\x20code,\x20wait\x20a\x20bit\x0a\x09if\x20(seconds\x20>\x200\x20&&\x20IsTCBigger(GetNextTimeCode_TC(lastRequest.tc,\x20seconds),\x20maxTimeCode))\x20{\x0a\x09\x09//console.log(\x22the\x20current\x20TC\x20\x22,\x20GetNextTimeCode_TC(lastRequest.tc,\x20seconds),\x20\x22\x20is\x20bigger\x20than\x20the\x20max\x20time\x20code:\x20\x22,\x20maxTimeCode);//@oror\x0a\x09\x09setTimeout(()\x20=>\x20{\x0a\x09\x09\x09TryNextFrame(seconds);\x0a\x09\x09},\x20100);\x0a\x09}\x0a\x20\x20\x20\x20else\x20\x0a\x09{\x0a\x09\x09//console.log(\x22We\x27re\x20good\x20to\x20take\x20the\x20next\x20timecode\x22);//@oror\x0a\x09\x09setTimeout(()\x20=>\x20{\x0a\x09\x09\x09lastRequest.tc\x20=\x20GetNextTimeCode(lastRequest.tc,\x20seconds);\x0a\x09\x09\x09//console.log(\x22next\x20time\x20code:\x20\x22,\x20lastRequest.tc);//@oror\x0a\x09\x09\x09GetMetaData();\x0a\x09\x09\x09},\x200);\x0a\x09}\x0a}\x0a\x0aconst\x20AvgMetaDataMsec\x20=\x20()\x20=>\x20{\x0a\x20\x20\x20\x20let\x20sum\x20=\x200;\x0a\x20\x20\x20\x20for\x20(let\x20i\x20=\x200;\x20i\x20<\x20msecAvg.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20sum\x20+=\x20msecAvg[i];\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20sum\x20/\x20msecAvg.length;\x0a};\x0aconst\x20GetMetaData\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20\x20\x20isWorking\x20=\x20true;\x0a\x09const\x20item\x20=\x20lastRequest;\x0a\x20\x20\x20\x20const\x20url\x20=\x20`${item.path}/${item.tc}.zip`;\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20t1\x20=\x20performance.now();\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20res\x20=\x20await\x20fetch(url);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(res.status\x20>=\x20400)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//console.log(`${item.tc}\x20time\x20code\x20not\x20found,\x20url\x20is\x20${url}`);\x0a\x09\x09\x09let\x20now\x20=\x20performance.now();\x0a\x09\x09\x09let\x20msecSinceLastTimeDate\x20=\x20now\x20-\x20lastTimeCodeFound;\x0a\x09\x09\x09let\x20secSinceLastTimeDate\x20=\x20(msecSinceLastTimeDate/1000);\x0a\x09\x09\x09if\x20(secSinceLastTimeDate\x20>\x204)\x20{\x0a\x09\x09\x09\x09console.error(\x22Didn\x27t\x20find\x20timecode\x20\x22,\x20item.tc,\x20\x22,\x20now\x20for\x20\x22\x20+\x20secSinceLastTimeDate.toFixed(2)\x20+\x20\x22\x20seconds\x20-\x20give\x20up\x20!\x22);\x0a\x09\x09\x09\x09TryNextFrame(2);//try\x20the\x20same\x20time\x20\x20code\x20again\x0a\x09\x09\x09}\x0a\x09\x09\x09else\x20{\x0a\x09\x09\x09\x09console.error(\x22Didn\x27t\x20find\x20timecode\x20\x22,\x20item.tc,\x20\x22,\x20now\x20for\x20\x22\x20+\x20secSinceLastTimeDate.toFixed(2)\x20+\x20\x22\x20seconds\x22);\x0a\x09\x09\x09\x09TryNextFrame(0);//try\x20the\x20same\x20time\x20\x20code\x20again\x0a\x09\x09\x09}\x0a\x09\x09\x09isWorking\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20now\x20=\x20performance.now();\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20msecSinceLastTimeDate\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(lastTimeCodeFound)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20msecSinceLastTimeDate\x20=\x20now\x20-\x20lastTimeCodeFound;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20msecAvg.push(msecSinceLastTimeDate);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while\x20(msecAvg.length\x20>\x201000)\x20msecAvg.shift();\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20lastTimeCodeFound\x20=\x20now;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20//console.log(`${item.tc}\x20time\x20code\x20found,\x20(${msecSinceLastTimeDate}\x20msec\x20from\x20last\x20time,\x20avg:\x20${AvgMetaDataMsec()})`);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20await\x20res.arrayBuffer();\x0a\x20\x20\x20\x20\x20\x20\x20\x20await\x20HandleData(data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20t2\x20=\x20performance.now();\x0a\x20\x20\x20\x20\x20\x20\x20\x20//postMessage({time:\x20`Fetch\x20and\x20Decompress:\x20${t2\x20-\x20t1}\x20msec`});\x0a\x20\x20\x20\x20}\x20catch\x20(err)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.error(`Error\x20on\x20url\x20${url}`,\x20err);\x0a\x20\x20\x20\x20}\x0a\x09isWorking\x20=\x20false;\x0a\x20\x20\x20\x20TryNextFrame(2);\x0a}\x0a\x0aaddEventListener(\x22message\x22,\x20(request)\x20=>\x20{\x0a\x09if\x20(!started\x20&&\x20request.data.cloudFrontURL)\x20{\x0a\x09\x09started\x20=\x20true;\x0a\x09\x09cloudFrontURL\x20=\x20request.data.cloudFrontURL;\x0a\x09\x09folderName\x20=\x20request.data.folderName;\x0a\x09\x09let\x20tcReplaced\x20=\x20request.data.tc.replace(/:/g,\x22_\x22);//replaceAll(\x22:\x22,\x20\x22_\x22)\x0a\x09\x09lastRequest\x20=\x20{tc:\x20tcReplaced,\x20path:\x20`${cloudFrontURL}/${folderName}`};//from\x20the\x20lastReqest\x20object\x0a\x09\x09let\x20timeCode\x20=\x20Str2TimeCode(lastRequest.tc);//parse\x20the\x20time\x20code\x20string\x20into\x20a\x20real\x20time-code\x0a\x09\x09maxTimeCode\x20=\x20AddSecondsToTimeCode(Object.assign({},\x20timeCode),\x204);//set\x20the\x20max\x20limit\x20(on\x20a\x20clone)\x0a\x09\x09//set\x20the\x20timecode\x20needed\x20\x0a\x09\x09timeCode.f\x20=\x200;\x0a\x09\x09timeCode.s\x20=\x20timeCode.s\x20%\x202\x20===\x200\x20?\x20timeCode.s\x20:\x20timeCode.s\x20-\x201;\x0a\x09\x09lastRequest.tc\x20=\x20TimeCode2Str(timeCode);\x0a\x09\x09console.log(\x22Meta-data\x20worker\x20starting\x20from\x20this\x20time-code:\x20\x22,\x20lastRequest.tc);//@oror\x0a\x09\x09GetMetaData();\x0a\x09}\x0a\x09else\x20{\x0a\x09\x09let\x20tcReplaced\x20=\x20request.data.tc.replace(/:/g,\x22_\x22);\x0a\x09\x09//console.log(\x22metaDataDownloader\x20new\x20timecode\x20=\x20\x22\x20+\x20tcReplaced);\x0a\x09\x09let\x20timeCode\x20=\x20Str2TimeCode(tcReplaced);\x0a\x09\x09timeCode.f\x20=\x200;\x0a\x09\x09timeCode.s\x20=\x20timeCode.s\x20%\x202\x20===\x200\x20?\x20timeCode.s\x20:\x20timeCode.s\x20-\x201;\x0a\x09\x09if\x20(IsTCBigger(timeCode,\x20maxTimeCode))\x0a\x09\x09{\x0a\x09\x09\x09lastRequest.tc\x20=\x20TimeCode2Str(timeCode);\x0a\x09\x09\x09console.log(\x22Meta-data\x20worker\x20jumps\x20forward\x20to\x20this\x20time-code:\x20\x22,\x20lastRequest.tc);\x0a\x09\x09}\x0a\x09\x09if\x20(IsTCBigger(Str2TimeCode(lastRequest.tc),\x20AddSecondsToTimeCode(timeCode,4)))\x0a\x09\x09{\x0a\x09\x09\x09lastRequest.tc\x20=\x20TimeCode2Str(timeCode);\x0a\x09\x09\x09console.log(\x22Meta-data\x20worker\x20jumps\x20back\x20to\x20this\x20time-code:\x20\x22,\x20lastRequest.tc);\x0a\x09\x09}\x0a\x09\x09maxTimeCode\x20=\x20AddSecondsToTimeCode(timeCode,\x204);\x0a\x09\x09if(!enabled\x20&&\x20request.data.enabled)\x0a\x09\x09{\x0a\x09\x09\x09enabled\x20=\x20request.data.enabled;\x09\x0a\x09\x09\x09if(!isWorking)\x20GetMetaData();\x0a\x09\x09}\x0a\x09\x09else\x20{\x0a\x09\x09\x09enabled\x20=\x20request.data.enabled;\x09\x0a\x09\x09}\x0a\x09\x09//console.log(\x22max\x20time\x20code:\x20\x22,\x20maxTimeCode);\x0a\x09}\x0a});\x0a\x0a}\x20catch\x20(e){\x0a\x09console.error(e);\x0a}','BBerror','renderAugmentation','InitGL','ANI2','(\x20Security\x20)\x20We\x20cant\x20reach\x20','u_digitTopLeft','init','\x20playing\x20at\x20','TEXTURE_WRAP_T','isConnected','Frames2Timecode','1596lLCDeW','fillText','white','1985031MHMKuf','Palm','Average\x20refresh\x20screen\x20rate:\x20','none','55VRKXPo','reduce','slice',',\x20offset:\x20','refreshRate','texParameteri','sourceFPS','VID.','key','digitImg','ALPHA',',\x20correction','\x20Time\x20Fired:\x20','if\x20(alpha\x20==\x200.0)','nba','ads','canvas','an\x20Unknown\x20device','channelName','135369IBbjwu','mimeType','requestAnimationFrame\x20is\x20not\x20supported','Error\x20fetching\x20and\x20processing\x20GameId\x20JSON:','maskX','MetaDataFetcher','then','br1','#external','Platform\x20not\x20supported','Augment','requestVideoFrameCallback\x20is\x20supported','Augmenter','createShader','Error\x20in\x20creating\x20MetaDataDownloaderThread','Video\x20object\x20is\x20defined.\x20This\x20script\x20is\x20running\x20in\x20a\x20browser\x20environment.','setMediaFPS:\x20Unknown\x20Media\x20FrameRate\x20mode','fps','alpha','hasLogo','getContext','color:blue;font-weight:bold;','\x20version\x20','webgl','messageData','\x20Game:\x20','options\x20after\x20merge\x20with\x20MK\x27s\x20options:\x20','COLOR_BUFFER_BIT','getBoundingClientRect','catch','We\x20are\x20HERE:TimeCode','width','composer::AddAdvertisement:\x20place-to-ads\x20mapping:\x20','onNewMetadataInterface','Chrome','enableVertexAttribArray','videoStarted','alphaAsUint8Array','player','OnNewSegment','x-shader/x-vertex','Clicked\x20on\x20ad:\x20','font','url','call','requestVideoFrameCallback','tranform','isPowerOf2','bufferData','composer::SelectAd:\x20selected\x20ad\x20is\x20','GAME_ID','substring','AdNameForPlaceHolder','CLDC','SelectAd',',\x20offset:\x20<span\x20style=\x27color:','\x20ms','timeDate2TC','getTime','round','an\x20iPhone','GameId\x20for\x20mediaid=\x20','offsetTop','SelectAd:\x20Failed\x20to\x20find\x20image\x20\x27','getMinutes','red','SetSyncPoint','toFixed','https://www.virtualott.com/games/','src','fillRect','FLOAT','stopAugment','databrowser',',\x20Stream\x20Time-Code:\x20','display','srcFrameRate','offset\x20for\x20','name','a\x20Windows\x20PC','enabled','currentTime','getSeconds','maxTouchPoints','https://www.virtualott.com/ads/','dateTime','zIndex','getCanvas','ontouchstart','gameId','place2ad','VERTEX_SHADER','shift','appendChild','json','generateMipmap','test','now','AddAdvertisement','http://webgl2fundamentals.org/webgl/lessons/webgl-boilerplate.html','frame','clientHeight','type','text','Macintosh','clientX','deleteTexture','alphaTex','options\x20after\x20merge\x20with\x20the\x20global\x20options:\x20','webGLVersion','\x20Time:\x20','value','requestAnimationFrame','folderName','6135KVPccD','for\x20more\x20about\x20webgl-utils.js\x20see:','OS\x20X','onNewSegment','place2AdTexture','video\x20element\x20is\x20not\x20yet\x20loaded.\x20Setting\x20up\x20loadedmetadata\x20event\x20to\x20wait\x20until\x20it\x27s\x20loaded','onload','BB.Utils.getSourceFPS:\x20Unknown\x20FrameRate\x20mode','SynchMethod','MKsync','frameRateMode','#version\x20300\x20es\x0a\x0a//High\x20precision\x20mode\x0aprecision\x20highp\x20float;\x0a\x0a//The\x20textures\x0a//uniform\x20sampler2D\x20u_image;//video\x20frame\x27s\x20texture\x0auniform\x20sampler2D\x20ad0;//the\x20ad\x20texture\x0auniform\x20sampler2D\x20ad1;//the\x20ad\x20texture\x0auniform\x20sampler2D\x20ad2;//the\x20ad\x20texture\x0auniform\x20sampler2D\x20ad3;//the\x20ad\x20texture\x0a\x0auniform\x20vec2\x20u_resolution2;//resolution\x20of\x20the\x20canvas\x0a\x0a//v_texCoord\x20from\x20the\x20vertex\x20shader\x0a//in\x20vec2\x20v_texCoord;\x0a\x0a//Logos\x27\x20staff\x0auniform\x20int\x20hasLogo0;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo0;\x0auniform\x20sampler2D\x20alpha0;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix0;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha0TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha0Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo1;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo1;\x0auniform\x20sampler2D\x20alpha1;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix1;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha1TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha1Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo2;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo2;\x0auniform\x20sampler2D\x20alpha2;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix2;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha2TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha2Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo3;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo3;\x0auniform\x20sampler2D\x20alpha3;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix3;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha3TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha3Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasDigit;//has\x20debug\x20digit\x20texture\x0auniform\x20sampler2D\x20digitTex;//the\x20digits\x27s\x20mate\x0auniform\x20vec2\x20u_digitTopLeft;//the\x20digit\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_digitTopLeft2;//the\x20digit\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_digitSize;//the\x20digit\x20mate\x27s\x20size\x0a\x0a//Output\x0aout\x20vec4\x20outColor;\x0abool\x20BlendDigit(in\x20vec2\x20curCoord)\x20{\x0a\x09//vec2\x20texCoord\x20=\x20curCoord;\x0a\x09//texCoord\x20/=\x20u_resolution2;\x0a\x09vec2\x20digitCoord\x20=\x20(curCoord\x20-\x20u_digitTopLeft)/u_digitSize;//get\x20the\x20coordinate\x20on\x20the\x20digit\x20size\x0a\x09if\x20(digitCoord.x\x20>=\x200.0\x20&&\x20digitCoord.y\x20>=\x200.0\x20&&\x20digitCoord.x\x20<=\x201.0\x20&&\x20digitCoord.y\x20<=\x201.0)\x0a\x09{\x0a\x09\x09outColor\x20=\x20texture(digitTex,\x20digitCoord);\x0a\x09\x09return\x20true;\x0a\x09}\x0a\x09return\x20false;\x0a}\x0abool\x20BlendDigit2(in\x20vec2\x20curCoord)\x20{\x0a\x09//vec2\x20texCoord\x20=\x20curCoord;\x0a\x09//texCoord\x20/=\x20u_resolution2;\x0a\x09vec2\x20digitCoord\x20=\x20(curCoord\x20-\x20u_digitTopLeft2)/u_digitSize;//get\x20the\x20coordinate\x20on\x20the\x20digit\x20size\x0a\x09if\x20(digitCoord.x\x20>=\x200.0\x20&&\x20digitCoord.y\x20>=\x200.0\x20&&\x20digitCoord.x\x20<=\x201.0\x20&&\x20digitCoord.y\x20<=\x201.0)\x0a\x09{\x0a\x09\x09outColor\x20=\x20texture(digitTex,\x20digitCoord);\x0a\x09\x09return\x20true;\x0a\x09}\x0a\x09return\x20false;\x0a}\x0abool\x20BlendWithLogo(\x0a\x09in\x20int\x20adUnit,\x0a\x20\x20\x20\x20in\x20sampler2D\x20alphaTexture,\x0a\x20\x20\x20\x20in\x20mat3\x20matrix,\x0a\x20\x20\x20\x20in\x20vec2\x20curCoord,\x0a\x20\x20\x20\x20in\x20vec2\x20alphaTopLeft,\x0a\x20\x20\x20\x20in\x20vec2\x20alphaSize)\x20\x0a{\x0a\x09\x0a\x09\x0a\x09\x0a\x20\x20\x20\x20vec2\x20texCoord;\x0a\x20\x20\x20\x20texCoord.x\x20=\x20(matrix[0][0]*curCoord.x\x20+\x20matrix[0][1]*curCoord.y\x20+\x20matrix[0][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord.y\x20=\x20(matrix[1][0]*curCoord.x\x20+\x20matrix[1][1]*curCoord.y\x20+\x20matrix[1][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord\x20/=\x20u_resolution2;\x0a\x0a\x20\x20\x20\x20//if\x20we\x27re\x20in\x20the\x20bounding\x20rect\x20of\x20the\x20logo\x0a\x20\x20\x20\x20if\x20(texCoord.x\x20>=\x200.0\x20&&\x20texCoord.y\x20>=\x200.0\x20&&\x20texCoord.x\x20<=\x201.0\x20&&\x20texCoord.y\x20<=\x201.0)\x0a\x20\x20\x20\x20{\x0a\x09\x09\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha\x20=\x201.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20alphaCoord\x20=\x20(curCoord\x20-\x20alphaTopLeft)/alphaSize;//get\x20the\x20coordinate\x20on\x20the\x20alpha\x20mate\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(\x0a\x09\x09alphaCoord.x\x20>=\x200.0\x20&&\x20\x0a\x09\x09alphaCoord.y\x20>=\x200.0\x20&&\x20\x0a\x09\x09alphaCoord.x\x20<=\x201.0\x20&&\x20\x0a\x09\x09alphaCoord.y\x20<=\x201.0\x0a\x09\x09)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//get\x20the\x20alpha\x20texel:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20alpha\x20*=\x20texture(alphaTexture,\x20alphaCoord).a;//without\x20blur\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x09\x09\x0a\x09\x09vec4\x20ad0Pix\x20=\x20\x0a\x09\x09\x09adUnit\x20==\x200\x20?\x20texture(ad0,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x201\x20?\x20texture(ad1,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x202\x20?\x20texture(ad2,\x20texCoord)\x20:\x0a\x09\x09\x09\x09\x09\x09\x20\x20texture(ad3,\x20texCoord);//get\x20the\x20logo\x27s\x20texel\x0a\x09\x09alpha\x20*=\x20ad0Pix.a;//consider\x20the\x20alpha\x20of\x20the\x20logo\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20resultRGB\x20=\x20ad0Pix.rgb;//\x20+\x20videoImagePix.rgb*(1.0-alpha);//blend\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(alpha\x20==\x200.0)\x20resultRGB\x20=\x20vec3(0,0,0);\x0a\x09\x09outColor\x20=\x20vec4(resultRGB,\x20alpha);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20return\x20false;\x0a\x20\x20\x0a}\x0avoid\x20main()\x0a{\x0a\x20\x20//calculate\x20cur-coord\x20(with\x20pixels\x20units)\x0a\x20\x20vec2\x20curCoord\x20=\x20gl_FragCoord.xy;\x0a\x20\x20curCoord.y\x20=\x20u_resolution2[1]\x20-\x20curCoord.y;\x0a\x20\x20//if\x20(hasDigit\x20==\x201\x20&&\x20(BlendDigit(curCoord)\x20||\x20BlendDigit2(curCoord)))\x20return;\x0a\x20\x20if\x20(hasDigit\x20==\x201\x20&&\x20(BlendDigit(curCoord)))\x20return;\x0a\x20\x20else\x20if\x20(hasLogo0\x20==\x201\x20&&\x20\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo0,\x0a\x09\x20alpha0,\x20u_matrix0,\x20curCoord,u_alpha0TopLeft,\x20u_alpha0Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo1\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo1,\x0a\x09\x20alpha1,\x20u_matrix1,\x20curCoord,u_alpha1TopLeft,\x20u_alpha1Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo2\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo2,\x0a\x09\x20alpha2,\x20u_matrix2,\x20curCoord,u_alpha2TopLeft,\x20u_alpha2Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo3\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo3,\x0a\x09\x20alpha3,\x20u_matrix3,\x20curCoord,u_alpha3TopLeft,\x20u_alpha3Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20{//no\x20logo\x0a\x20\x20\x20\x20outColor\x20=\x20vec4(0,0,0,0);\x0a\x20\x20}\x0a}\x0a','mediaTime','split','left','adLoopTime','MakeSureAdPerPlace','index','nextSibling','roommembers','TexUnitForAdInPlace','ctx','\x20room','createObjectURL','Opera','syncPoint',',\x20so\x20I\x27m\x20launching\x20the\x20meta-data\x20fetcher\x20web-worker','found','TEXTURE0','uniform1i','HTTP\x20error!\x20Status:\x20','toISOString','timeDate2TCString','timecode','CreateDigitImg','augmentation','join',',\x20took:\x20','getUTCMilliseconds','a_position','fetchOffsetForGameId','u_digitSize','program','metadata','\x20so\x20should\x20navigate\x20to\x20','data','getShaderSource','useProgram','platform','offs','abs','debugText2','createElement','Mac','Timecode2Frames','debug','lastAd','u_alpha','Got\x20the\x20following\x20config:\x20','ntc','cloudFrontURL','CleanGL','fetchAndFindGameIdAndOffsetFromMediaId','BB.Utils.getMediaTimeFPS:\x20Unknown\x20FrameRate\x20mode','deleteProgram','STATIC_DRAW','This\x20videoCallback\x20can\x20be\x20incorrect.\x20This\x20time\x20doing\x20stuff\x20in\x20requestAnimation\x20frame','\x20dblFrame:\x20','OnMetaData','getUTCMinutes','The\x20window\x20object\x20is\x20defined.\x20This\x20script\x20is\x20running\x20in\x20a\x20browser\x20environment.','emit','messageroom','debugText','ARRAY_BUFFER','shaderSource','TEXTURE_MIN_FILTER','\x20not\x20found\x20in\x20JSON.','printTimecode','LINEAR','getElementById','Network\x20response\x20was\x20not\x20ok','isWindows','Android','playerTime','getMediaTimeFPS','map','Windows','None','1085QeKJUq','Version','readyState','checked','advertisementMap','ad2place','TexUnitForGenericAd','push','BBlog','CallBacks\x20are\x20set','hasOwnProperty','Linux','Error\x20from\x20worker:','2982hrWOQb','https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js','UNSIGNED_BYTE','timeCodeStr2TimeCodeArray:\x20Failed\x20to\x20parse\x20','CLAMP_TO_EDGE','FPS\x20not\x20supported','Safari','Src59_MediaTime59','adTexture','onNewMetadata','PlayBook','createProgram','charCodeAt','canvasSize','addEventListener','getSourceFPS','video\x20element\x20is\x20already\x20loaded.\x20Setting\x20up\x20requestVideoFrameCallback','toString','texImage2D','status','bottom','lastAdName'];_0x5450=function(){return _0x1a3a7d;};return _0x5450();}
|