Pure Javascript OCR for more than 100 Languages 📖🎉🖥
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1 lines
304 KiB

{"version":3,"sources":["webpack://Tesseract/webpack/universalModuleDefinition","webpack://Tesseract/webpack/bootstrap","webpack://Tesseract/./node_modules/buffer/index.js","webpack://Tesseract/./node_modules/process/browser.js","webpack://Tesseract/./node_modules/resolve-url/resolve-url.js","webpack://Tesseract/./node_modules/check-types/src/check-types.js","webpack://Tesseract/./src/browser/index.js","webpack://Tesseract/./src/index.js","webpack://Tesseract/./node_modules/tesseract.js-utils/src/index.browser.js","webpack://Tesseract/./node_modules/tesseract.js-utils/src/common/browser/cache.js","webpack://Tesseract/./node_modules/idb-keyval/dist/idb-keyval.mjs","webpack://Tesseract/./node_modules/tesseract.js-utils/src/loadLang.js","webpack://Tesseract/./node_modules/tesseract.js-utils/node_modules/is-url/index.js","webpack://Tesseract/./node_modules/tesseract.js-utils/src/common/browser/fetch.js","webpack://Tesseract/./node_modules/whatwg-fetch/fetch.js","webpack://Tesseract/./node_modules/tesseract.js-utils/src/common/browser/gunzip.js","webpack://Tesseract/./node_modules/zlibjs/bin/node-zlib.js","webpack://Tesseract/(webpack)/buildin/global.js","webpack://Tesseract/./node_modules/base64-js/index.js","webpack://Tesseract/./node_modules/ieee754/index.js","webpack://Tesseract/./node_modules/isarray/index.js","webpack://Tesseract/./node_modules/tesseract.js-utils/src/readImage.js","webpack://Tesseract/./node_modules/bmp-js/index.js","webpack://Tesseract/./node_modules/bmp-js/lib/encoder.js","webpack://Tesseract/./node_modules/bmp-js/lib/decoder.js","webpack://Tesseract/./node_modules/file-type/index.js","webpack://Tesseract/./src/common/TesseractWorker.js","webpack://Tesseract/./src/common/options.js","webpack://Tesseract/./src/common/circularize.js","webpack://Tesseract/./src/common/TesseractJob.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","global","base64","ieee754","isArray","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","length","RangeError","Uint8Array","__proto__","arg","encodingOrOffset","this","Error","allocUnsafe","from","TypeError","ArrayBuffer","array","byteOffset","byteLength","undefined","fromArrayLike","fromArrayBuffer","string","encoding","isEncoding","actual","write","slice","fromString","obj","isBuffer","len","checked","copy","buffer","val","type","data","fromObject","assertSize","size","toString","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","swap","b","bidirectionalIndexOf","dir","isNaN","arrayIndexOf","indexOf","lastIndexOf","arr","indexSize","arrLength","valLength","String","read","buf","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","push","charCodeAt","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","base64Slice","start","end","fromByteArray","utf8Slice","Math","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","apply","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","subarray","e","typedArraySupport","poolSize","_augment","species","configurable","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","swap16","swap32","swap64","arguments","hexSlice","asciiSlice","latin1Slice","utf16leSlice","equals","inspect","max","match","join","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","Array","_arr","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","code","INVALID_BASE64_RE","Infinity","leadSurrogate","toByteArray","trim","replace","stringtrim","base64clean","src","dst","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","nextTick","args","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","numUrls","base","document","createElement","href","head","getElementsByTagName","insertBefore","firstChild","resolved","index","removeChild","globals","strings","messages","predicates","functions","assert","not","maybe","collections","neginf","posinf","haveSymbols","assigned","number","integer","greater","lhs","rhs","less","greaterOrEqual","lessOrEqual","nonEmptyString","instanceStrict","error","like","archetype","arrayLike","isFunction","testArray","result","testObject","mixin","source","keys","forEach","assertModifier","predicate","defaultMessage","argCount","message","ErrorType","assertImpl","assertPredicate","notModifier","modifiedPredicate","notImpl","ofModifier","collection","map","coerceCollection","item","ignore","createModifiedPredicates","modifier","createModifiedFunctions","shift","pop","writable","createModifiedModifier","modified","createOfModifiers","of","v","al","f","iterator","iteration","values","next","done","substring","regex","constructor","Date","getTime","hasLength","mapSimple","mapComplex","all","any","NEGATIVE_INFINITY","POSITIVE_INFINITY","exportFunctions","check","resolveURL","defaultOptions","workerPath","corePath","WebAssembly","spawnWorker","instance","worker","Blob","URL","blob","Worker","createObjectURL","onmessage","recv","terminateWorker","terminate","sendPacket","iPacket","packet","image","fetch","then","resp","arrayBuffer","File","Promise","fileReader","FileReader","onload","readAsArrayBuffer","reject","loadImage","payload","img","postMessage","utils","TesseractWorker","cache","loadLang","gunzip","readImage","del","readCache","writeCache","deleteCache","checkCache","path","__webpack_exports__","Store","clear","[object Object]","dbName","storeName","_dbp","resolve","openreq","indexedDB","open","onerror","onsuccess","onupgradeneeded","createObjectStore","callback","db","transaction","oncomplete","onabort","objectStore","store","getDefaultStore","req","_withIDBStore","put","delete","openKeyCursor","openCursor","continue","isURL","handleLang","TessModule","dataPath","cachePath","cacheMethod","lang","FS","mkdir","err","writeFile","langs","options","split","langPath","catch","fetchTrainedData","iLangPath","loadAndGunzipFile","protocolAndDomainRE","everythingAfterProtocol","localhostDomainRE","test","nonLocalhostDomainRE","Headers","Request","Response","DOMException","support","searchParams","self","iterable","formData","viewClasses","isArrayBufferView","normalizeName","normalizeValue","iteratorFor","items","headers","append","header","getOwnPropertyNames","consumed","body","bodyUsed","fileReaderReady","reader","readBlobAsArrayBuffer","promise","bufferClone","view","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","rejected","text","readAsText","chars","readArrayBufferAsText","decode","json","JSON","parse","oldValue","has","thisArg","entries","methods","input","method","upcased","url","credentials","signal","toUpperCase","referrer","form","decodeURIComponent","bodyInit","status","ok","statusText","clone","response","redirectStatuses","redirect","location","stack","init","request","aborted","xhr","XMLHttpRequest","abortXhr","abort","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","send","polyfill","gunzipSync","q","B","Uint16Array","Uint32Array","G","k","g","I","finish","L","aa","ba","R","ca","ha","S","ia","ja","ka","T","h","na","oa","F","lazy","compressionType","outputBuffer","outputIndex","getParent","U","pa","NONE","X","qa","va","N","w","C","u","ra","M","z","Y","da","Fa","ea","Ga","la","Ha","Z","ma","E","Ia","D","qb","ta","ua","sa","O","A","fa","H","Ja","Ka","K","J","P","Q","Na","ga","wa","Oa","Pa","Qa","Ra","La","Ma","xa","ya","za","Aa","Ba","flags","filename","comment","deflateOptions","fname","Ca","fcomment","Da","fhcrc","Ea","now","Sa","V","Ta","bufferSize","bufferType","resize","Ua","W","Va","Wa","Xa","Ya","$","ib","Za","$a","ab","bb","cb","eb","fb","gb","hb","kb","lb","jb","mb","nb","ob","verify","pb","rb","sb","ub","Bb","wb","noBuffer","yb","Ab","LOG2E","log","deflate","deflateSync","inflate","inflateSync","gzip","gzipSync","Function","eval","b64","placeHoldersCount","tmp","placeHolders","Arr","revLookup","uint8","extraBytes","output","len2","encodeChunk","lookup","num","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","abs","LN2","bmp","fileType","iBuf","bytesPerPixel","pix","mime","bmpBuf","_malloc","BYTES_PER_ELEMENT","HEAPU8","width","height","ptr","_pixReadMem","getValue","setValue","idx","encode","BmpEncoder","imgData","rgbSize","headerInfoSize","flag","reserved","fileSize","planes","bitPP","compress","hr","vr","colors","importantColors","tempBuffer","rowBytes","fillOffset","quality","BmpDecoder","is_with_alpha","bottom_up","parseHeader","parseRGBA","headerSize","rawSize","palette","blue","green","red","quad","bitn","bit1","xlen","ceil","rgb","bit4","lines","low_nibble","setPixelData","rgbIndex","before","after","bit8","bit15","dif_w","_1_5","alpha","bit16","maskRed","maskGreen","maskBlue","mask0","bit24","bit32","getData","bmpData","toBytes","xpiZipFilename","oxmlContentTypes","oxmlRels","readUInt64LE","assign","mask","checkString","findNextZipHeaderIndex","startAt","findIndex","el","zipHeaderIndex","oxmlFound","sliced","idPos","docTypePos","findDocType","every","objectSize","adapter","circularize","TesseractJob","_currentJob","_queue","params","_sendJob","id","jobId","handle","action","console","warn","_delay","job","fn","null","_dequeue","iPage","page","paragraphs","words","symbols","blocks","iBlock","block","iPara","para","iLine","paragraph","iWord","word","iSym","sym","jobCounter","random","_instance","_resolve","_reject","_progress","_finally","runFinallyCbs"],"mappings":"CAAA,SAAAA,EAAAC,GACA,iBAAAC,SAAA,iBAAAC,OACAA,OAAAD,QAAAD,IACA,mBAAAG,eAAAC,IACAD,OAAA,GAAAH,GACA,iBAAAC,QACAA,QAAA,UAAAD,IAEAD,EAAA,UAAAC,IARA,CASCK,OAAA,WACD,mBCTA,IAAAC,EAAA,GAGA,SAAAC,EAAAC,GAGA,GAAAF,EAAAE,GACA,OAAAF,EAAAE,GAAAP,QAGA,IAAAC,EAAAI,EAAAE,GAAA,CACAC,EAAAD,EACAE,GAAA,EACAT,QAAA,IAUA,OANAU,EAAAH,GAAAI,KAAAV,EAAAD,QAAAC,IAAAD,QAAAM,GAGAL,EAAAQ,GAAA,EAGAR,EAAAD,QA0DA,OArDAM,EAAAM,EAAAF,EAGAJ,EAAAO,EAAAR,EAGAC,EAAAQ,EAAA,SAAAd,EAAAe,EAAAC,GACAV,EAAAW,EAAAjB,EAAAe,IACAG,OAAAC,eAAAnB,EAAAe,EAAA,CAA0CK,YAAA,EAAAC,IAAAL,KAK1CV,EAAAgB,EAAA,SAAAtB,GACA,oBAAAuB,eAAAC,aACAN,OAAAC,eAAAnB,EAAAuB,OAAAC,YAAA,CAAwDC,MAAA,WAExDP,OAAAC,eAAAnB,EAAA,cAAiDyB,OAAA,KAQjDnB,EAAAoB,EAAA,SAAAD,EAAAE,GAEA,GADA,EAAAA,IAAAF,EAAAnB,EAAAmB,IACA,EAAAE,EAAA,OAAAF,EACA,KAAAE,GAAA,iBAAAF,QAAAG,WAAA,OAAAH,EACA,IAAAI,EAAAX,OAAAY,OAAA,MAGA,GAFAxB,EAAAgB,EAAAO,GACAX,OAAAC,eAAAU,EAAA,WAAyCT,YAAA,EAAAK,UACzC,EAAAE,GAAA,iBAAAF,EAAA,QAAAM,KAAAN,EAAAnB,EAAAQ,EAAAe,EAAAE,EAAA,SAAAA,GAAgH,OAAAN,EAAAM,IAAqBC,KAAA,KAAAD,IACrI,OAAAF,GAIAvB,EAAA2B,EAAA,SAAAhC,GACA,IAAAe,EAAAf,KAAA2B,WACA,WAA2B,OAAA3B,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAK,EAAAQ,EAAAE,EAAA,IAAAA,GACAA,GAIAV,EAAAW,EAAA,SAAAiB,EAAAC,GAAsD,OAAAjB,OAAAkB,UAAAC,eAAA1B,KAAAuB,EAAAC,IAGtD7B,EAAAgC,EAAA,GAIAhC,IAAAiC,EAAA,mCClFA,SAAAC;;;;;;;AAUA,IAAAC,EAAanC,EAAQ,IACrBoC,EAAcpC,EAAQ,IACtBqC,EAAcrC,EAAQ,IAmDtB,SAAAsC,IACA,OAAAC,EAAAC,oBACA,WACA,WAGA,SAAAC,EAAAC,EAAAC,GACA,GAAAL,IAAAK,EACA,UAAAC,WAAA,8BAcA,OAZAL,EAAAC,qBAEAE,EAAA,IAAAG,WAAAF,IACAG,UAAAP,EAAAT,WAGA,OAAAY,IACAA,EAAA,IAAAH,EAAAI,IAEAD,EAAAC,UAGAD,EAaA,SAAAH,EAAAQ,EAAAC,EAAAL,GACA,KAAAJ,EAAAC,qBAAAS,gBAAAV,GACA,WAAAA,EAAAQ,EAAAC,EAAAL,GAIA,oBAAAI,EAAA,CACA,oBAAAC,EACA,UAAAE,MACA,qEAGA,OAAAC,EAAAF,KAAAF,GAEA,OAAAK,EAAAH,KAAAF,EAAAC,EAAAL,GAWA,SAAAS,EAAAV,EAAAvB,EAAA6B,EAAAL,GACA,oBAAAxB,EACA,UAAAkC,UAAA,yCAGA,0BAAAC,aAAAnC,aAAAmC,YA6HA,SAAAZ,EAAAa,EAAAC,EAAAb,GAGA,GAFAY,EAAAE,WAEAD,EAAA,GAAAD,EAAAE,WAAAD,EACA,UAAAZ,WAAA,6BAGA,GAAAW,EAAAE,WAAAD,GAAAb,GAAA,GACA,UAAAC,WAAA,6BAIAW,OADAG,IAAAF,QAAAE,IAAAf,EACA,IAAAE,WAAAU,QACGG,IAAAf,EACH,IAAAE,WAAAU,EAAAC,GAEA,IAAAX,WAAAU,EAAAC,EAAAb,GAGAJ,EAAAC,qBAEAE,EAAAa,GACAT,UAAAP,EAAAT,UAGAY,EAAAiB,EAAAjB,EAAAa,GAEA,OAAAb,EAvJAkB,CAAAlB,EAAAvB,EAAA6B,EAAAL,GAGA,iBAAAxB,EAwFA,SAAAuB,EAAAmB,EAAAC,GACA,iBAAAA,GAAA,KAAAA,IACAA,EAAA,QAGA,IAAAvB,EAAAwB,WAAAD,GACA,UAAAT,UAAA,8CAGA,IAAAV,EAAA,EAAAc,EAAAI,EAAAC,GAGAE,GAFAtB,EAAAD,EAAAC,EAAAC,IAEAsB,MAAAJ,EAAAC,GAEAE,IAAArB,IAIAD,IAAAwB,MAAA,EAAAF,IAGA,OAAAtB,EA5GAyB,CAAAzB,EAAAvB,EAAA6B,GAsJA,SAAAN,EAAA0B,GACA,GAAA7B,EAAA8B,SAAAD,GAAA,CACA,IAAAE,EAAA,EAAAC,EAAAH,EAAAzB,QAGA,YAFAD,EAAAD,EAAAC,EAAA4B,IAEA3B,OACAD,GAGA0B,EAAAI,KAAA9B,EAAA,IAAA4B,GACA5B,GAGA,GAAA0B,EAAA,CACA,uBAAAd,aACAc,EAAAK,kBAAAnB,aAAA,WAAAc,EACA,uBAAAA,EAAAzB,SA+8CA+B,EA/8CAN,EAAAzB,SAg9CA+B,EA/8CAjC,EAAAC,EAAA,GAEAiB,EAAAjB,EAAA0B,GAGA,cAAAA,EAAAO,MAAAtC,EAAA+B,EAAAQ,MACA,OAAAjB,EAAAjB,EAAA0B,EAAAQ,MAw8CA,IAAAF,EAp8CA,UAAArB,UAAA,sFA9KAwB,CAAAnC,EAAAvB,GA4BA,SAAA2D,EAAAC,GACA,oBAAAA,EACA,UAAA1B,UAAA,oCACG,GAAA0B,EAAA,EACH,UAAAnC,WAAA,wCA4BA,SAAAO,EAAAT,EAAAqC,GAGA,GAFAD,EAAAC,GACArC,EAAAD,EAAAC,EAAAqC,EAAA,MAAAR,EAAAQ,KACAxC,EAAAC,oBACA,QAAAtC,EAAA,EAAmBA,EAAA6E,IAAU7E,EAC7BwC,EAAAxC,GAAA,EAGA,OAAAwC,EAwCA,SAAAiB,EAAAjB,EAAAa,GACA,IAAAZ,EAAAY,EAAAZ,OAAA,MAAA4B,EAAAhB,EAAAZ,QACAD,EAAAD,EAAAC,EAAAC,GACA,QAAAzC,EAAA,EAAiBA,EAAAyC,EAAYzC,GAAA,EAC7BwC,EAAAxC,GAAA,IAAAqD,EAAArD,GAEA,OAAAwC,EA+DA,SAAA6B,EAAA5B,GAGA,GAAAA,GAAAL,IACA,UAAAM,WAAA,0DACAN,IAAA0C,SAAA,cAEA,SAAArC,EAsFA,SAAAc,EAAAI,EAAAC,GACA,GAAAvB,EAAA8B,SAAAR,GACA,OAAAA,EAAAlB,OAEA,uBAAAW,aAAA,mBAAAA,YAAA2B,SACA3B,YAAA2B,OAAApB,iBAAAP,aACA,OAAAO,EAAAJ,WAEA,iBAAAI,IACAA,EAAA,GAAAA,GAGA,IAAAS,EAAAT,EAAAlB,OACA,OAAA2B,EAAA,SAIA,IADA,IAAAY,GAAA,IAEA,OAAApB,GACA,YACA,aACA,aACA,OAAAQ,EACA,WACA,YACA,UAAAZ,EACA,OAAAyB,EAAAtB,GAAAlB,OACA,WACA,YACA,cACA,eACA,SAAA2B,EACA,UACA,OAAAA,IAAA,EACA,aACA,OAAAc,EAAAvB,GAAAlB,OACA,QACA,GAAAuC,EAAA,OAAAC,EAAAtB,GAAAlB,OACAmB,GAAA,GAAAA,GAAAuB,cACAH,GAAA,GAgFA,SAAAI,EAAAC,EAAA5D,EAAArB,GACA,IAAAJ,EAAAqF,EAAA5D,GACA4D,EAAA5D,GAAA4D,EAAAjF,GACAiF,EAAAjF,GAAAJ,EAmIA,SAAAsF,EAAAf,EAAAC,EAAAlB,EAAAM,EAAA2B,GAEA,OAAAhB,EAAA9B,OAAA,SAmBA,GAhBA,iBAAAa,GACAM,EAAAN,EACAA,EAAA,GACGA,EAAA,WACHA,EAAA,WACGA,GAAA,aACHA,GAAA,YAEAA,KACAkC,MAAAlC,KAEAA,EAAAiC,EAAA,EAAAhB,EAAA9B,OAAA,GAIAa,EAAA,IAAAA,EAAAiB,EAAA9B,OAAAa,GACAA,GAAAiB,EAAA9B,OAAA,CACA,GAAA8C,EAAA,SACAjC,EAAAiB,EAAA9B,OAAA,OACG,GAAAa,EAAA,GACH,IAAAiC,EACA,SADAjC,EAAA,EAUA,GALA,iBAAAkB,IACAA,EAAAnC,EAAAa,KAAAsB,EAAAZ,IAIAvB,EAAA8B,SAAAK,GAEA,WAAAA,EAAA/B,QACA,EAEAgD,EAAAlB,EAAAC,EAAAlB,EAAAM,EAAA2B,GACG,oBAAAf,EAEH,OADAA,GAAA,IACAnC,EAAAC,qBACA,mBAAAK,WAAAf,UAAA8D,QACAH,EACA5C,WAAAf,UAAA8D,QAAAvF,KAAAoE,EAAAC,EAAAlB,GAEAX,WAAAf,UAAA+D,YAAAxF,KAAAoE,EAAAC,EAAAlB,GAGAmC,EAAAlB,EAAA,CAAAC,GAAAlB,EAAAM,EAAA2B,GAGA,UAAApC,UAAA,wCAGA,SAAAsC,EAAAG,EAAApB,EAAAlB,EAAAM,EAAA2B,GACA,IA0BAvF,EA1BA6F,EAAA,EACAC,EAAAF,EAAAnD,OACAsD,EAAAvB,EAAA/B,OAEA,QAAAe,IAAAI,IAEA,UADAA,EAAAoC,OAAApC,GAAAuB,gBACA,UAAAvB,GACA,YAAAA,GAAA,aAAAA,GAAA,CACA,GAAAgC,EAAAnD,OAAA,GAAA+B,EAAA/B,OAAA,EACA,SAEAoD,EAAA,EACAC,GAAA,EACAC,GAAA,EACAzC,GAAA,EAIA,SAAA2C,EAAAC,EAAAlG,GACA,WAAA6F,EACAK,EAAAlG,GAEAkG,EAAAC,aAAAnG,EAAA6F,GAKA,GAAAN,EAAA,CACA,IAAAa,GAAA,EACA,IAAApG,EAAAsD,EAAwBtD,EAAA8F,EAAe9F,IACvC,GAAAiG,EAAAL,EAAA5F,KAAAiG,EAAAzB,GAAA,IAAA4B,EAAA,EAAApG,EAAAoG,IAEA,IADA,IAAAA,MAAApG,GACAA,EAAAoG,EAAA,IAAAL,EAAA,OAAAK,EAAAP,OAEA,IAAAO,IAAApG,KAAAoG,GACAA,GAAA,OAKA,IADA9C,EAAAyC,EAAAD,IAAAxC,EAAAwC,EAAAC,GACA/F,EAAAsD,EAAwBtD,GAAA,EAAQA,IAAA,CAEhC,IADA,IAAAqG,GAAA,EACAC,EAAA,EAAqBA,EAAAP,EAAeO,IACpC,GAAAL,EAAAL,EAAA5F,EAAAsG,KAAAL,EAAAzB,EAAA8B,GAAA,CACAD,GAAA,EACA,MAGA,GAAAA,EAAA,OAAArG,EAIA,SAeA,SAAAuG,EAAAL,EAAAvC,EAAA6C,EAAA/D,GACA+D,EAAAC,OAAAD,IAAA,EACA,IAAAE,EAAAR,EAAAzD,OAAA+D,EACA/D,GAGAA,EAAAgE,OAAAhE,IACAiE,IACAjE,EAAAiE,GAJAjE,EAAAiE,EASA,IAAAC,EAAAhD,EAAAlB,OACA,GAAAkE,EAAA,eAAAxD,UAAA,sBAEAV,EAAAkE,EAAA,IACAlE,EAAAkE,EAAA,GAEA,QAAA3G,EAAA,EAAiBA,EAAAyC,IAAYzC,EAAA,CAC7B,IAAA4G,EAAAC,SAAAlD,EAAAmD,OAAA,EAAA9G,EAAA,OACA,GAAAwF,MAAAoB,GAAA,OAAA5G,EACAkG,EAAAM,EAAAxG,GAAA4G,EAEA,OAAA5G,EAGA,SAAA+G,EAAAb,EAAAvC,EAAA6C,EAAA/D,GACA,OAAAuE,EAAA/B,EAAAtB,EAAAuC,EAAAzD,OAAA+D,GAAAN,EAAAM,EAAA/D,GAGA,SAAAwE,EAAAf,EAAAvC,EAAA6C,EAAA/D,GACA,OAAAuE,EAq6BA,SAAAE,GAEA,IADA,IAAAC,EAAA,GACAnH,EAAA,EAAiBA,EAAAkH,EAAAzE,SAAgBzC,EAEjCmH,EAAAC,KAAA,IAAAF,EAAAG,WAAArH,IAEA,OAAAmH,EA36BAG,CAAA3D,GAAAuC,EAAAM,EAAA/D,GAGA,SAAA8E,EAAArB,EAAAvC,EAAA6C,EAAA/D,GACA,OAAAwE,EAAAf,EAAAvC,EAAA6C,EAAA/D,GAGA,SAAA+E,EAAAtB,EAAAvC,EAAA6C,EAAA/D,GACA,OAAAuE,EAAA9B,EAAAvB,GAAAuC,EAAAM,EAAA/D,GAGA,SAAAgF,EAAAvB,EAAAvC,EAAA6C,EAAA/D,GACA,OAAAuE,EAk6BA,SAAAE,EAAAQ,GAGA,IAFA,IAAArH,EAAAsH,EAAAC,EACAT,EAAA,GACAnH,EAAA,EAAiBA,EAAAkH,EAAAzE,WACjBiF,GAAA,QADiC1H,EAGjCK,EAAA6G,EAAAG,WAAArH,GACA2H,EAAAtH,GAAA,EACAuH,EAAAvH,EAAA,IACA8G,EAAAC,KAAAQ,GACAT,EAAAC,KAAAO,GAGA,OAAAR,EA/6BAU,CAAAlE,EAAAuC,EAAAzD,OAAA+D,GAAAN,EAAAM,EAAA/D,GAkFA,SAAAqF,EAAA5B,EAAA6B,EAAAC,GACA,WAAAD,GAAAC,IAAA9B,EAAAzD,OACAR,EAAAgG,cAAA/B,GAEAjE,EAAAgG,cAAA/B,EAAAlC,MAAA+D,EAAAC,IAIA,SAAAE,EAAAhC,EAAA6B,EAAAC,GACAA,EAAAG,KAAAC,IAAAlC,EAAAzD,OAAAuF,GAIA,IAHA,IAAAK,EAAA,GAEArI,EAAA+H,EACA/H,EAAAgI,GAAA,CACA,IAQAM,EAAAC,EAAAC,EAAAC,EARAC,EAAAxC,EAAAlG,GACA2I,EAAA,KACAC,EAAAF,EAAA,MACAA,EAAA,MACAA,EAAA,MACA,EAEA,GAAA1I,EAAA4I,GAAAZ,EAGA,OAAAY,GACA,OACAF,EAAA,MACAC,EAAAD,GAEA,MACA,OAEA,WADAJ,EAAApC,EAAAlG,EAAA,OAEAyI,GAAA,GAAAC,IAAA,KAAAJ,GACA,MACAK,EAAAF,GAGA,MACA,OACAH,EAAApC,EAAAlG,EAAA,GACAuI,EAAArC,EAAAlG,EAAA,GACA,UAAAsI,IAAA,UAAAC,KACAE,GAAA,GAAAC,IAAA,OAAAJ,IAAA,KAAAC,GACA,OAAAE,EAAA,OAAAA,EAAA,SACAE,EAAAF,GAGA,MACA,OACAH,EAAApC,EAAAlG,EAAA,GACAuI,EAAArC,EAAAlG,EAAA,GACAwI,EAAAtC,EAAAlG,EAAA,GACA,UAAAsI,IAAA,UAAAC,IAAA,UAAAC,KACAC,GAAA,GAAAC,IAAA,OAAAJ,IAAA,OAAAC,IAAA,KAAAC,GACA,OAAAC,EAAA,UACAE,EAAAF,GAMA,OAAAE,GAGAA,EAAA,MACAC,EAAA,GACKD,EAAA,QAELA,GAAA,MACAN,EAAAjB,KAAAuB,IAAA,eACAA,EAAA,WAAAA,GAGAN,EAAAjB,KAAAuB,GACA3I,GAAA4I,EAGA,OAQA,SAAAC,GACA,IAAAzE,EAAAyE,EAAApG,OACA,GAAA2B,GAAA0E,EACA,OAAA9C,OAAA+C,aAAAC,MAAAhD,OAAA6C,GAIA,IAAAR,EAAA,GACArI,EAAA,EACA,KAAAA,EAAAoE,GACAiE,GAAArC,OAAA+C,aAAAC,MACAhD,OACA6C,EAAA7E,MAAAhE,KAAA8I,IAGA,OAAAT,EAvBAY,CAAAZ,GA98BA7I,EAAA6C,SACA7C,EAAA0J,WAoTA,SAAAzG,IACAA,OACAA,EAAA,GAEA,OAAAJ,EAAA8G,OAAA1G,IAvTAjD,EAAA4J,kBAAA,GA0BA/G,EAAAC,yBAAAkB,IAAAxB,EAAAM,oBACAN,EAAAM,oBAQA,WACA,IACA,IAAAsD,EAAA,IAAAjD,WAAA,GAEA,OADAiD,EAAAhD,UAAA,CAAqBA,UAAAD,WAAAf,UAAAyH,IAAA,WAAmD,YACxE,KAAAzD,EAAAyD,OACA,mBAAAzD,EAAA0D,UACA,IAAA1D,EAAA0D,SAAA,KAAA/F,WACG,MAAAgG,GACH,UAfAC,GAKAhK,EAAA4C,eAkEAC,EAAAoH,SAAA,KAGApH,EAAAqH,SAAA,SAAA9D,GAEA,OADAA,EAAAhD,UAAAP,EAAAT,UACAgE,GA2BAvD,EAAAa,KAAA,SAAAjC,EAAA6B,EAAAL,GACA,OAAAS,EAAA,KAAAjC,EAAA6B,EAAAL,IAGAJ,EAAAC,sBACAD,EAAAT,UAAAgB,UAAAD,WAAAf,UACAS,EAAAO,UAAAD,WACA,oBAAA5B,eAAA4I,SACAtH,EAAAtB,OAAA4I,WAAAtH,GAEA3B,OAAAC,eAAA0B,EAAAtB,OAAA4I,QAAA,CACA1I,MAAA,KACA2I,cAAA,KAiCAvH,EAAA8G,MAAA,SAAAtE,EAAAgF,EAAAjG,GACA,OArBA,SAAApB,EAAAqC,EAAAgF,EAAAjG,GAEA,OADAgB,EAAAC,GACAA,GAAA,EACAtC,EAAAC,EAAAqC,QAEArB,IAAAqG,EAIA,iBAAAjG,EACArB,EAAAC,EAAAqC,GAAAgF,OAAAjG,GACArB,EAAAC,EAAAqC,GAAAgF,QAEAtH,EAAAC,EAAAqC,GAQAsE,CAAA,KAAAtE,EAAAgF,EAAAjG,IAiBAvB,EAAAY,YAAA,SAAA4B,GACA,OAAA5B,EAAA,KAAA4B,IAKAxC,EAAAyH,gBAAA,SAAAjF,GACA,OAAA5B,EAAA,KAAA4B,IAiHAxC,EAAA8B,SAAA,SAAAkB,GACA,cAAAA,MAAA0E,YAGA1H,EAAA2H,QAAA,SAAAC,EAAA5E,GACA,IAAAhD,EAAA8B,SAAA8F,KAAA5H,EAAA8B,SAAAkB,GACA,UAAAlC,UAAA,6BAGA,GAAA8G,IAAA5E,EAAA,SAKA,IAHA,IAAA6E,EAAAD,EAAAxH,OACA0H,EAAA9E,EAAA5C,OAEAzC,EAAA,EAAAoE,EAAA+D,KAAAC,IAAA8B,EAAAC,GAAuCnK,EAAAoE,IAASpE,EAChD,GAAAiK,EAAAjK,KAAAqF,EAAArF,GAAA,CACAkK,EAAAD,EAAAjK,GACAmK,EAAA9E,EAAArF,GACA,MAIA,OAAAkK,EAAAC,GAAA,EACAA,EAAAD,EAAA,EACA,GAGA7H,EAAAwB,WAAA,SAAAD,GACA,OAAAoC,OAAApC,GAAAuB,eACA,UACA,WACA,YACA,YACA,aACA,aACA,aACA,WACA,YACA,cACA,eACA,SACA,QACA,WAIA9C,EAAA+H,OAAA,SAAAC,EAAA5H,GACA,IAAAN,EAAAkI,GACA,UAAAlH,UAAA,+CAGA,OAAAkH,EAAA5H,OACA,OAAAJ,EAAA8G,MAAA,GAGA,IAAAnJ,EACA,QAAAwD,IAAAf,EAEA,IADAA,EAAA,EACAzC,EAAA,EAAeA,EAAAqK,EAAA5H,SAAiBzC,EAChCyC,GAAA4H,EAAArK,GAAAyC,OAIA,IAAA8B,EAAAlC,EAAAY,YAAAR,GACA6H,EAAA,EACA,IAAAtK,EAAA,EAAaA,EAAAqK,EAAA5H,SAAiBzC,EAAA,CAC9B,IAAAkG,EAAAmE,EAAArK,GACA,IAAAqC,EAAA8B,SAAA+B,GACA,UAAA/C,UAAA,+CAEA+C,EAAA5B,KAAAC,EAAA+F,GACAA,GAAApE,EAAAzD,OAEA,OAAA8B,GA8CAlC,EAAAkB,aA0EAlB,EAAAT,UAAAmI,WAAA,EAQA1H,EAAAT,UAAA2I,OAAA,WACA,IAAAnG,EAAArB,KAAAN,OACA,GAAA2B,EAAA,KACA,UAAA1B,WAAA,6CAEA,QAAA1C,EAAA,EAAiBA,EAAAoE,EAASpE,GAAA,EAC1BoF,EAAArC,KAAA/C,IAAA,GAEA,OAAA+C,MAGAV,EAAAT,UAAA4I,OAAA,WACA,IAAApG,EAAArB,KAAAN,OACA,GAAA2B,EAAA,KACA,UAAA1B,WAAA,6CAEA,QAAA1C,EAAA,EAAiBA,EAAAoE,EAASpE,GAAA,EAC1BoF,EAAArC,KAAA/C,IAAA,GACAoF,EAAArC,KAAA/C,EAAA,EAAAA,EAAA,GAEA,OAAA+C,MAGAV,EAAAT,UAAA6I,OAAA,WACA,IAAArG,EAAArB,KAAAN,OACA,GAAA2B,EAAA,KACA,UAAA1B,WAAA,6CAEA,QAAA1C,EAAA,EAAiBA,EAAAoE,EAASpE,GAAA,EAC1BoF,EAAArC,KAAA/C,IAAA,GACAoF,EAAArC,KAAA/C,EAAA,EAAAA,EAAA,GACAoF,EAAArC,KAAA/C,EAAA,EAAAA,EAAA,GACAoF,EAAArC,KAAA/C,EAAA,EAAAA,EAAA,GAEA,OAAA+C,MAGAV,EAAAT,UAAAkD,SAAA,WACA,IAAArC,EAAA,EAAAM,KAAAN,OACA,WAAAA,EAAA,GACA,IAAAiI,UAAAjI,OAAAyF,EAAAnF,KAAA,EAAAN,GAxHA,SAAAmB,EAAAmE,EAAAC,GACA,IAAAhD,GAAA,EAcA,SALAxB,IAAAuE,KAAA,KACAA,EAAA,GAIAA,EAAAhF,KAAAN,OACA,SAOA,SAJAe,IAAAwE,KAAAjF,KAAAN,UACAuF,EAAAjF,KAAAN,QAGAuF,GAAA,EACA,SAOA,IAHAA,KAAA,KACAD,KAAA,GAGA,SAKA,IAFAnE,MAAA,UAGA,OAAAA,GACA,UACA,OAAA+G,EAAA5H,KAAAgF,EAAAC,GAEA,WACA,YACA,OAAAE,EAAAnF,KAAAgF,EAAAC,GAEA,YACA,OAAA4C,EAAA7H,KAAAgF,EAAAC,GAEA,aACA,aACA,OAAA6C,EAAA9H,KAAAgF,EAAAC,GAEA,aACA,OAAAF,EAAA/E,KAAAgF,EAAAC,GAEA,WACA,YACA,cACA,eACA,OAAA8C,EAAA/H,KAAAgF,EAAAC,GAEA,QACA,GAAAhD,EAAA,UAAA7B,UAAA,qBAAAS,GACAA,KAAA,IAAAuB,cACAH,GAAA,IAwDAgE,MAAAjG,KAAA2H,YAGArI,EAAAT,UAAAmJ,OAAA,SAAA1F,GACA,IAAAhD,EAAA8B,SAAAkB,GAAA,UAAAlC,UAAA,6BACA,OAAAJ,OAAAsC,GACA,IAAAhD,EAAA2H,QAAAjH,KAAAsC,IAGAhD,EAAAT,UAAAoJ,QAAA,WACA,IAAA9D,EAAA,GACA+D,EAAAzL,EAAA4J,kBAKA,OAJArG,KAAAN,OAAA,IACAyE,EAAAnE,KAAA+B,SAAA,QAAAmG,GAAAC,MAAA,SAAkDC,KAAA,KAClDpI,KAAAN,OAAAwI,IAAA/D,GAAA,UAEA,WAAAA,EAAA,KAGA7E,EAAAT,UAAAoI,QAAA,SAAAoB,EAAArD,EAAAC,EAAAqD,EAAAC,GACA,IAAAjJ,EAAA8B,SAAAiH,GACA,UAAAjI,UAAA,6BAgBA,QAbAK,IAAAuE,IACAA,EAAA,QAEAvE,IAAAwE,IACAA,EAAAoD,IAAA3I,OAAA,QAEAe,IAAA6H,IACAA,EAAA,QAEA7H,IAAA8H,IACAA,EAAAvI,KAAAN,QAGAsF,EAAA,GAAAC,EAAAoD,EAAA3I,QAAA4I,EAAA,GAAAC,EAAAvI,KAAAN,OACA,UAAAC,WAAA,sBAGA,GAAA2I,GAAAC,GAAAvD,GAAAC,EACA,SAEA,GAAAqD,GAAAC,EACA,SAEA,GAAAvD,GAAAC,EACA,SAQA,GAAAjF,OAAAqI,EAAA,SASA,IAPA,IAAAlB,GAJAoB,KAAA,IADAD,KAAA,GAMAlB,GAPAnC,KAAA,IADAD,KAAA,GASA3D,EAAA+D,KAAAC,IAAA8B,EAAAC,GAEAoB,EAAAxI,KAAAiB,MAAAqH,EAAAC,GACAE,EAAAJ,EAAApH,MAAA+D,EAAAC,GAEAhI,EAAA,EAAiBA,EAAAoE,IAASpE,EAC1B,GAAAuL,EAAAvL,KAAAwL,EAAAxL,GAAA,CACAkK,EAAAqB,EAAAvL,GACAmK,EAAAqB,EAAAxL,GACA,MAIA,OAAAkK,EAAAC,GAAA,EACAA,EAAAD,EAAA,EACA,GA6HA7H,EAAAT,UAAA6J,SAAA,SAAAjH,EAAAlB,EAAAM,GACA,WAAAb,KAAA2C,QAAAlB,EAAAlB,EAAAM,IAGAvB,EAAAT,UAAA8D,QAAA,SAAAlB,EAAAlB,EAAAM,GACA,OAAA0B,EAAAvC,KAAAyB,EAAAlB,EAAAM,GAAA,IAGAvB,EAAAT,UAAA+D,YAAA,SAAAnB,EAAAlB,EAAAM,GACA,OAAA0B,EAAAvC,KAAAyB,EAAAlB,EAAAM,GAAA,IAkDAvB,EAAAT,UAAAmC,MAAA,SAAAJ,EAAA6C,EAAA/D,EAAAmB,GAEA,QAAAJ,IAAAgD,EACA5C,EAAA,OACAnB,EAAAM,KAAAN,OACA+D,EAAA,OAEG,QAAAhD,IAAAf,GAAA,iBAAA+D,EACH5C,EAAA4C,EACA/D,EAAAM,KAAAN,OACA+D,EAAA,MAEG,KAAAkF,SAAAlF,GAWH,UAAAxD,MACA,2EAXAwD,GAAA,EACAkF,SAAAjJ,IACAA,GAAA,OACAe,IAAAI,MAAA,UAEAA,EAAAnB,EACAA,OAAAe,GASA,IAAAkD,EAAA3D,KAAAN,OAAA+D,EAGA,SAFAhD,IAAAf,KAAAiE,KAAAjE,EAAAiE,GAEA/C,EAAAlB,OAAA,IAAAA,EAAA,GAAA+D,EAAA,IAAAA,EAAAzD,KAAAN,OACA,UAAAC,WAAA,0CAGAkB,MAAA,QAGA,IADA,IAAAoB,GAAA,IAEA,OAAApB,GACA,UACA,OAAA2C,EAAAxD,KAAAY,EAAA6C,EAAA/D,GAEA,WACA,YACA,OAAAsE,EAAAhE,KAAAY,EAAA6C,EAAA/D,GAEA,YACA,OAAAwE,EAAAlE,KAAAY,EAAA6C,EAAA/D,GAEA,aACA,aACA,OAAA8E,EAAAxE,KAAAY,EAAA6C,EAAA/D,GAEA,aAEA,OAAA+E,EAAAzE,KAAAY,EAAA6C,EAAA/D,GAEA,WACA,YACA,cACA,eACA,OAAAgF,EAAA1E,KAAAY,EAAA6C,EAAA/D,GAEA,QACA,GAAAuC,EAAA,UAAA7B,UAAA,qBAAAS,GACAA,GAAA,GAAAA,GAAAuB,cACAH,GAAA,IAKA3C,EAAAT,UAAA+J,OAAA,WACA,OACAlH,KAAA,SACAC,KAAAkH,MAAAhK,UAAAoC,MAAA7D,KAAA4C,KAAA8I,MAAA9I,KAAA,KAwFA,IAAA+F,EAAA,KAoBA,SAAA8B,EAAA1E,EAAA6B,EAAAC,GACA,IAAA8D,EAAA,GACA9D,EAAAG,KAAAC,IAAAlC,EAAAzD,OAAAuF,GAEA,QAAAhI,EAAA+H,EAAqB/H,EAAAgI,IAAShI,EAC9B8L,GAAA9F,OAAA+C,aAAA,IAAA7C,EAAAlG,IAEA,OAAA8L,EAGA,SAAAjB,EAAA3E,EAAA6B,EAAAC,GACA,IAAA8D,EAAA,GACA9D,EAAAG,KAAAC,IAAAlC,EAAAzD,OAAAuF,GAEA,QAAAhI,EAAA+H,EAAqB/H,EAAAgI,IAAShI,EAC9B8L,GAAA9F,OAAA+C,aAAA7C,EAAAlG,IAEA,OAAA8L,EAGA,SAAAnB,EAAAzE,EAAA6B,EAAAC,GACA,IAAA5D,EAAA8B,EAAAzD,SAEAsF,KAAA,KAAAA,EAAA,KACAC,KAAA,GAAAA,EAAA5D,KAAA4D,EAAA5D,GAGA,IADA,IAAA2H,EAAA,GACA/L,EAAA+H,EAAqB/H,EAAAgI,IAAShI,EAC9B+L,GAAAC,EAAA9F,EAAAlG,IAEA,OAAA+L,EAGA,SAAAjB,EAAA5E,EAAA6B,EAAAC,GAGA,IAFA,IAAAiE,EAAA/F,EAAAlC,MAAA+D,EAAAC,GACAK,EAAA,GACArI,EAAA,EAAiBA,EAAAiM,EAAAxJ,OAAkBzC,GAAA,EACnCqI,GAAArC,OAAA+C,aAAAkD,EAAAjM,GAAA,IAAAiM,EAAAjM,EAAA,IAEA,OAAAqI,EA0CA,SAAA6D,EAAA1F,EAAA2F,EAAA1J,GACA,GAAA+D,EAAA,MAAAA,EAAA,YAAA9D,WAAA,sBACA,GAAA8D,EAAA2F,EAAA1J,EAAA,UAAAC,WAAA,yCA+JA,SAAA0J,EAAAlG,EAAAjF,EAAAuF,EAAA2F,EAAAlB,EAAA7C,GACA,IAAA/F,EAAA8B,SAAA+B,GAAA,UAAA/C,UAAA,+CACA,GAAAlC,EAAAgK,GAAAhK,EAAAmH,EAAA,UAAA1F,WAAA,qCACA,GAAA8D,EAAA2F,EAAAjG,EAAAzD,OAAA,UAAAC,WAAA,sBAkDA,SAAA2J,EAAAnG,EAAAjF,EAAAuF,EAAA8F,GACArL,EAAA,IAAAA,EAAA,MAAAA,EAAA,GACA,QAAAjB,EAAA,EAAAsG,EAAA6B,KAAAC,IAAAlC,EAAAzD,OAAA+D,EAAA,GAAuDxG,EAAAsG,IAAOtG,EAC9DkG,EAAAM,EAAAxG,IAAAiB,EAAA,QAAAqL,EAAAtM,EAAA,EAAAA,MACA,GAAAsM,EAAAtM,EAAA,EAAAA,GA8BA,SAAAuM,EAAArG,EAAAjF,EAAAuF,EAAA8F,GACArL,EAAA,IAAAA,EAAA,WAAAA,EAAA,GACA,QAAAjB,EAAA,EAAAsG,EAAA6B,KAAAC,IAAAlC,EAAAzD,OAAA+D,EAAA,GAAuDxG,EAAAsG,IAAOtG,EAC9DkG,EAAAM,EAAAxG,GAAAiB,IAAA,GAAAqL,EAAAtM,EAAA,EAAAA,GAAA,IAmJA,SAAAwM,EAAAtG,EAAAjF,EAAAuF,EAAA2F,EAAAlB,EAAA7C,GACA,GAAA5B,EAAA2F,EAAAjG,EAAAzD,OAAA,UAAAC,WAAA,sBACA,GAAA8D,EAAA,YAAA9D,WAAA,sBAGA,SAAA+J,EAAAvG,EAAAjF,EAAAuF,EAAA8F,EAAAI,GAKA,OAJAA,GACAF,EAAAtG,EAAAjF,EAAAuF,EAAA,GAEAtE,EAAA6B,MAAAmC,EAAAjF,EAAAuF,EAAA8F,EAAA,MACA9F,EAAA,EAWA,SAAAmG,EAAAzG,EAAAjF,EAAAuF,EAAA8F,EAAAI,GAKA,OAJAA,GACAF,EAAAtG,EAAAjF,EAAAuF,EAAA,GAEAtE,EAAA6B,MAAAmC,EAAAjF,EAAAuF,EAAA8F,EAAA,MACA9F,EAAA,EA/cAnE,EAAAT,UAAAoC,MAAA,SAAA+D,EAAAC,GACA,IAoBA4E,EApBAxI,EAAArB,KAAAN,OAqBA,IApBAsF,OAGA,GACAA,GAAA3D,GACA,IAAA2D,EAAA,GACGA,EAAA3D,IACH2D,EAAA3D,IANA4D,OAAAxE,IAAAwE,EAAA5D,IAAA4D,GASA,GACAA,GAAA5D,GACA,IAAA4D,EAAA,GACGA,EAAA5D,IACH4D,EAAA5D,GAGA4D,EAAAD,IAAAC,EAAAD,GAGA1F,EAAAC,qBACAsK,EAAA7J,KAAAuG,SAAAvB,EAAAC,IACApF,UAAAP,EAAAT,cACG,CACH,IAAAiL,EAAA7E,EAAAD,EACA6E,EAAA,IAAAvK,EAAAwK,OAAArJ,GACA,QAAAxD,EAAA,EAAmBA,EAAA6M,IAAc7M,EACjC4M,EAAA5M,GAAA+C,KAAA/C,EAAA+H,GAIA,OAAA6E,GAWAvK,EAAAT,UAAAkL,WAAA,SAAAtG,EAAAjD,EAAAmJ,GACAlG,GAAA,EACAjD,GAAA,EACAmJ,GAAAR,EAAA1F,EAAAjD,EAAAR,KAAAN,QAKA,IAHA,IAAA+B,EAAAzB,KAAAyD,GACAuG,EAAA,EACA/M,EAAA,IACAA,EAAAuD,IAAAwJ,GAAA,MACAvI,GAAAzB,KAAAyD,EAAAxG,GAAA+M,EAGA,OAAAvI,GAGAnC,EAAAT,UAAAoL,WAAA,SAAAxG,EAAAjD,EAAAmJ,GACAlG,GAAA,EACAjD,GAAA,EACAmJ,GACAR,EAAA1F,EAAAjD,EAAAR,KAAAN,QAKA,IAFA,IAAA+B,EAAAzB,KAAAyD,IAAAjD,GACAwJ,EAAA,EACAxJ,EAAA,IAAAwJ,GAAA,MACAvI,GAAAzB,KAAAyD,IAAAjD,GAAAwJ,EAGA,OAAAvI,GAGAnC,EAAAT,UAAAqL,UAAA,SAAAzG,EAAAkG,GAEA,OADAA,GAAAR,EAAA1F,EAAA,EAAAzD,KAAAN,QACAM,KAAAyD,IAGAnE,EAAAT,UAAAsL,aAAA,SAAA1G,EAAAkG,GAEA,OADAA,GAAAR,EAAA1F,EAAA,EAAAzD,KAAAN,QACAM,KAAAyD,GAAAzD,KAAAyD,EAAA,OAGAnE,EAAAT,UAAAuE,aAAA,SAAAK,EAAAkG,GAEA,OADAA,GAAAR,EAAA1F,EAAA,EAAAzD,KAAAN,QACAM,KAAAyD,IAAA,EAAAzD,KAAAyD,EAAA,IAGAnE,EAAAT,UAAAuL,aAAA,SAAA3G,EAAAkG,GAGA,OAFAA,GAAAR,EAAA1F,EAAA,EAAAzD,KAAAN,SAEAM,KAAAyD,GACAzD,KAAAyD,EAAA,MACAzD,KAAAyD,EAAA,QACA,SAAAzD,KAAAyD,EAAA,IAGAnE,EAAAT,UAAAwL,aAAA,SAAA5G,EAAAkG,GAGA,OAFAA,GAAAR,EAAA1F,EAAA,EAAAzD,KAAAN,QAEA,SAAAM,KAAAyD,IACAzD,KAAAyD,EAAA,OACAzD,KAAAyD,EAAA,MACAzD,KAAAyD,EAAA,KAGAnE,EAAAT,UAAAyL,UAAA,SAAA7G,EAAAjD,EAAAmJ,GACAlG,GAAA,EACAjD,GAAA,EACAmJ,GAAAR,EAAA1F,EAAAjD,EAAAR,KAAAN,QAKA,IAHA,IAAA+B,EAAAzB,KAAAyD,GACAuG,EAAA,EACA/M,EAAA,IACAA,EAAAuD,IAAAwJ,GAAA,MACAvI,GAAAzB,KAAAyD,EAAAxG,GAAA+M,EAMA,OAFAvI,IAFAuI,GAAA,OAEAvI,GAAA2D,KAAAmF,IAAA,IAAA/J,IAEAiB,GAGAnC,EAAAT,UAAA2L,UAAA,SAAA/G,EAAAjD,EAAAmJ,GACAlG,GAAA,EACAjD,GAAA,EACAmJ,GAAAR,EAAA1F,EAAAjD,EAAAR,KAAAN,QAKA,IAHA,IAAAzC,EAAAuD,EACAwJ,EAAA,EACAvI,EAAAzB,KAAAyD,IAAAxG,GACAA,EAAA,IAAA+M,GAAA,MACAvI,GAAAzB,KAAAyD,IAAAxG,GAAA+M,EAMA,OAFAvI,IAFAuI,GAAA,OAEAvI,GAAA2D,KAAAmF,IAAA,IAAA/J,IAEAiB,GAGAnC,EAAAT,UAAA4L,SAAA,SAAAhH,EAAAkG,GAEA,OADAA,GAAAR,EAAA1F,EAAA,EAAAzD,KAAAN,QACA,IAAAM,KAAAyD,IACA,OAAAzD,KAAAyD,GAAA,GADAzD,KAAAyD,IAIAnE,EAAAT,UAAA6L,YAAA,SAAAjH,EAAAkG,GACAA,GAAAR,EAAA1F,EAAA,EAAAzD,KAAAN,QACA,IAAA+B,EAAAzB,KAAAyD,GAAAzD,KAAAyD,EAAA,MACA,aAAAhC,EAAA,WAAAA,KAGAnC,EAAAT,UAAA8L,YAAA,SAAAlH,EAAAkG,GACAA,GAAAR,EAAA1F,EAAA,EAAAzD,KAAAN,QACA,IAAA+B,EAAAzB,KAAAyD,EAAA,GAAAzD,KAAAyD,IAAA,EACA,aAAAhC,EAAA,WAAAA,KAGAnC,EAAAT,UAAA+L,YAAA,SAAAnH,EAAAkG,GAGA,OAFAA,GAAAR,EAAA1F,EAAA,EAAAzD,KAAAN,QAEAM,KAAAyD,GACAzD,KAAAyD,EAAA,MACAzD,KAAAyD,EAAA,OACAzD,KAAAyD,EAAA,QAGAnE,EAAAT,UAAAgM,YAAA,SAAApH,EAAAkG,GAGA,OAFAA,GAAAR,EAAA1F,EAAA,EAAAzD,KAAAN,QAEAM,KAAAyD,IAAA,GACAzD,KAAAyD,EAAA,OACAzD,KAAAyD,EAAA,MACAzD,KAAAyD,EAAA,IAGAnE,EAAAT,UAAAiM,YAAA,SAAArH,EAAAkG,GAEA,OADAA,GAAAR,EAAA1F,EAAA,EAAAzD,KAAAN,QACAP,EAAA+D,KAAAlD,KAAAyD,GAAA,SAGAnE,EAAAT,UAAAkM,YAAA,SAAAtH,EAAAkG,GAEA,OADAA,GAAAR,EAAA1F,EAAA,EAAAzD,KAAAN,QACAP,EAAA+D,KAAAlD,KAAAyD,GAAA,SAGAnE,EAAAT,UAAAmM,aAAA,SAAAvH,EAAAkG,GAEA,OADAA,GAAAR,EAAA1F,EAAA,EAAAzD,KAAAN,QACAP,EAAA+D,KAAAlD,KAAAyD,GAAA,SAGAnE,EAAAT,UAAAoM,aAAA,SAAAxH,EAAAkG,GAEA,OADAA,GAAAR,EAAA1F,EAAA,EAAAzD,KAAAN,QACAP,EAAA+D,KAAAlD,KAAAyD,GAAA,SASAnE,EAAAT,UAAAqM,YAAA,SAAAhN,EAAAuF,EAAAjD,EAAAmJ,IACAzL,KACAuF,GAAA,EACAjD,GAAA,EACAmJ,IAEAN,EAAArJ,KAAA9B,EAAAuF,EAAAjD,EADA4E,KAAAmF,IAAA,IAAA/J,GAAA,EACA,GAGA,IAAAwJ,EAAA,EACA/M,EAAA,EAEA,IADA+C,KAAAyD,GAAA,IAAAvF,IACAjB,EAAAuD,IAAAwJ,GAAA,MACAhK,KAAAyD,EAAAxG,GAAAiB,EAAA8L,EAAA,IAGA,OAAAvG,EAAAjD,GAGAlB,EAAAT,UAAAsM,YAAA,SAAAjN,EAAAuF,EAAAjD,EAAAmJ,IACAzL,KACAuF,GAAA,EACAjD,GAAA,EACAmJ,IAEAN,EAAArJ,KAAA9B,EAAAuF,EAAAjD,EADA4E,KAAAmF,IAAA,IAAA/J,GAAA,EACA,GAGA,IAAAvD,EAAAuD,EAAA,EACAwJ,EAAA,EAEA,IADAhK,KAAAyD,EAAAxG,GAAA,IAAAiB,IACAjB,GAAA,IAAA+M,GAAA,MACAhK,KAAAyD,EAAAxG,GAAAiB,EAAA8L,EAAA,IAGA,OAAAvG,EAAAjD,GAGAlB,EAAAT,UAAAuM,WAAA,SAAAlN,EAAAuF,EAAAkG,GAMA,OALAzL,KACAuF,GAAA,EACAkG,GAAAN,EAAArJ,KAAA9B,EAAAuF,EAAA,SACAnE,EAAAC,sBAAArB,EAAAkH,KAAAiG,MAAAnN,IACA8B,KAAAyD,GAAA,IAAAvF,EACAuF,EAAA,GAWAnE,EAAAT,UAAAyM,cAAA,SAAApN,EAAAuF,EAAAkG,GAUA,OATAzL,KACAuF,GAAA,EACAkG,GAAAN,EAAArJ,KAAA9B,EAAAuF,EAAA,WACAnE,EAAAC,qBACAS,KAAAyD,GAAA,IAAAvF,EACA8B,KAAAyD,EAAA,GAAAvF,IAAA,GAEAoL,EAAAtJ,KAAA9B,EAAAuF,GAAA,GAEAA,EAAA,GAGAnE,EAAAT,UAAA0M,cAAA,SAAArN,EAAAuF,EAAAkG,GAUA,OATAzL,KACAuF,GAAA,EACAkG,GAAAN,EAAArJ,KAAA9B,EAAAuF,EAAA,WACAnE,EAAAC,qBACAS,KAAAyD,GAAAvF,IAAA,EACA8B,KAAAyD,EAAA,OAAAvF,GAEAoL,EAAAtJ,KAAA9B,EAAAuF,GAAA,GAEAA,EAAA,GAUAnE,EAAAT,UAAA2M,cAAA,SAAAtN,EAAAuF,EAAAkG,GAYA,OAXAzL,KACAuF,GAAA,EACAkG,GAAAN,EAAArJ,KAAA9B,EAAAuF,EAAA,gBACAnE,EAAAC,qBACAS,KAAAyD,EAAA,GAAAvF,IAAA,GACA8B,KAAAyD,EAAA,GAAAvF,IAAA,GACA8B,KAAAyD,EAAA,GAAAvF,IAAA,EACA8B,KAAAyD,GAAA,IAAAvF,GAEAsL,EAAAxJ,KAAA9B,EAAAuF,GAAA,GAEAA,EAAA,GAGAnE,EAAAT,UAAA4M,cAAA,SAAAvN,EAAAuF,EAAAkG,GAYA,OAXAzL,KACAuF,GAAA,EACAkG,GAAAN,EAAArJ,KAAA9B,EAAAuF,EAAA,gBACAnE,EAAAC,qBACAS,KAAAyD,GAAAvF,IAAA,GACA8B,KAAAyD,EAAA,GAAAvF,IAAA,GACA8B,KAAAyD,EAAA,GAAAvF,IAAA,EACA8B,KAAAyD,EAAA,OAAAvF,GAEAsL,EAAAxJ,KAAA9B,EAAAuF,GAAA,GAEAA,EAAA,GAGAnE,EAAAT,UAAA6M,WAAA,SAAAxN,EAAAuF,EAAAjD,EAAAmJ,GAGA,GAFAzL,KACAuF,GAAA,GACAkG,EAAA,CACA,IAAAgC,EAAAvG,KAAAmF,IAAA,IAAA/J,EAAA,GAEA6I,EAAArJ,KAAA9B,EAAAuF,EAAAjD,EAAAmL,EAAA,GAAAA,GAGA,IAAA1O,EAAA,EACA+M,EAAA,EACA4B,EAAA,EAEA,IADA5L,KAAAyD,GAAA,IAAAvF,IACAjB,EAAAuD,IAAAwJ,GAAA,MACA9L,EAAA,OAAA0N,GAAA,IAAA5L,KAAAyD,EAAAxG,EAAA,KACA2O,EAAA,GAEA5L,KAAAyD,EAAAxG,IAAAiB,EAAA8L,GAAA,GAAA4B,EAAA,IAGA,OAAAnI,EAAAjD,GAGAlB,EAAAT,UAAAgN,WAAA,SAAA3N,EAAAuF,EAAAjD,EAAAmJ,GAGA,GAFAzL,KACAuF,GAAA,GACAkG,EAAA,CACA,IAAAgC,EAAAvG,KAAAmF,IAAA,IAAA/J,EAAA,GAEA6I,EAAArJ,KAAA9B,EAAAuF,EAAAjD,EAAAmL,EAAA,GAAAA,GAGA,IAAA1O,EAAAuD,EAAA,EACAwJ,EAAA,EACA4B,EAAA,EAEA,IADA5L,KAAAyD,EAAAxG,GAAA,IAAAiB,IACAjB,GAAA,IAAA+M,GAAA,MACA9L,EAAA,OAAA0N,GAAA,IAAA5L,KAAAyD,EAAAxG,EAAA,KACA2O,EAAA,GAEA5L,KAAAyD,EAAAxG,IAAAiB,EAAA8L,GAAA,GAAA4B,EAAA,IAGA,OAAAnI,EAAAjD,GAGAlB,EAAAT,UAAAiN,UAAA,SAAA5N,EAAAuF,EAAAkG,GAOA,OANAzL,KACAuF,GAAA,EACAkG,GAAAN,EAAArJ,KAAA9B,EAAAuF,EAAA,YACAnE,EAAAC,sBAAArB,EAAAkH,KAAAiG,MAAAnN,IACAA,EAAA,IAAAA,EAAA,IAAAA,EAAA,GACA8B,KAAAyD,GAAA,IAAAvF,EACAuF,EAAA,GAGAnE,EAAAT,UAAAkN,aAAA,SAAA7N,EAAAuF,EAAAkG,GAUA,OATAzL,KACAuF,GAAA,EACAkG,GAAAN,EAAArJ,KAAA9B,EAAAuF,EAAA,gBACAnE,EAAAC,qBACAS,KAAAyD,GAAA,IAAAvF,EACA8B,KAAAyD,EAAA,GAAAvF,IAAA,GAEAoL,EAAAtJ,KAAA9B,EAAAuF,GAAA,GAEAA,EAAA,GAGAnE,EAAAT,UAAAmN,aAAA,SAAA9N,EAAAuF,EAAAkG,GAUA,OATAzL,KACAuF,GAAA,EACAkG,GAAAN,EAAArJ,KAAA9B,EAAAuF,EAAA,gBACAnE,EAAAC,qBACAS,KAAAyD,GAAAvF,IAAA,EACA8B,KAAAyD,EAAA,OAAAvF,GAEAoL,EAAAtJ,KAAA9B,EAAAuF,GAAA,GAEAA,EAAA,GAGAnE,EAAAT,UAAAoN,aAAA,SAAA/N,EAAAuF,EAAAkG,GAYA,OAXAzL,KACAuF,GAAA,EACAkG,GAAAN,EAAArJ,KAAA9B,EAAAuF,EAAA,0BACAnE,EAAAC,qBACAS,KAAAyD,GAAA,IAAAvF,EACA8B,KAAAyD,EAAA,GAAAvF,IAAA,EACA8B,KAAAyD,EAAA,GAAAvF,IAAA,GACA8B,KAAAyD,EAAA,GAAAvF,IAAA,IAEAsL,EAAAxJ,KAAA9B,EAAAuF,GAAA,GAEAA,EAAA,GAGAnE,EAAAT,UAAAqN,aAAA,SAAAhO,EAAAuF,EAAAkG,GAaA,OAZAzL,KACAuF,GAAA,EACAkG,GAAAN,EAAArJ,KAAA9B,EAAAuF,EAAA,0BACAvF,EAAA,IAAAA,EAAA,WAAAA,EAAA,GACAoB,EAAAC,qBACAS,KAAAyD,GAAAvF,IAAA,GACA8B,KAAAyD,EAAA,GAAAvF,IAAA,GACA8B,KAAAyD,EAAA,GAAAvF,IAAA,EACA8B,KAAAyD,EAAA,OAAAvF,GAEAsL,EAAAxJ,KAAA9B,EAAAuF,GAAA,GAEAA,EAAA,GAgBAnE,EAAAT,UAAAsN,aAAA,SAAAjO,EAAAuF,EAAAkG,GACA,OAAAD,EAAA1J,KAAA9B,EAAAuF,GAAA,EAAAkG,IAGArK,EAAAT,UAAAuN,aAAA,SAAAlO,EAAAuF,EAAAkG,GACA,OAAAD,EAAA1J,KAAA9B,EAAAuF,GAAA,EAAAkG,IAWArK,EAAAT,UAAAwN,cAAA,SAAAnO,EAAAuF,EAAAkG,GACA,OAAAC,EAAA5J,KAAA9B,EAAAuF,GAAA,EAAAkG,IAGArK,EAAAT,UAAAyN,cAAA,SAAApO,EAAAuF,EAAAkG,GACA,OAAAC,EAAA5J,KAAA9B,EAAAuF,GAAA,EAAAkG,IAIArK,EAAAT,UAAA0C,KAAA,SAAA8G,EAAAkE,EAAAvH,EAAAC,GAQA,GAPAD,MAAA,GACAC,GAAA,IAAAA,MAAAjF,KAAAN,QACA6M,GAAAlE,EAAA3I,SAAA6M,EAAAlE,EAAA3I,QACA6M,MAAA,GACAtH,EAAA,GAAAA,EAAAD,IAAAC,EAAAD,GAGAC,IAAAD,EAAA,SACA,OAAAqD,EAAA3I,QAAA,IAAAM,KAAAN,OAAA,SAGA,GAAA6M,EAAA,EACA,UAAA5M,WAAA,6BAEA,GAAAqF,EAAA,GAAAA,GAAAhF,KAAAN,OAAA,UAAAC,WAAA,6BACA,GAAAsF,EAAA,YAAAtF,WAAA,2BAGAsF,EAAAjF,KAAAN,SAAAuF,EAAAjF,KAAAN,QACA2I,EAAA3I,OAAA6M,EAAAtH,EAAAD,IACAC,EAAAoD,EAAA3I,OAAA6M,EAAAvH,GAGA,IACA/H,EADAoE,EAAA4D,EAAAD,EAGA,GAAAhF,OAAAqI,GAAArD,EAAAuH,KAAAtH,EAEA,IAAAhI,EAAAoE,EAAA,EAAqBpE,GAAA,IAAQA,EAC7BoL,EAAApL,EAAAsP,GAAAvM,KAAA/C,EAAA+H,QAEG,GAAA3D,EAAA,MAAA/B,EAAAC,oBAEH,IAAAtC,EAAA,EAAeA,EAAAoE,IAASpE,EACxBoL,EAAApL,EAAAsP,GAAAvM,KAAA/C,EAAA+H,QAGApF,WAAAf,UAAA2N,IAAApP,KACAiL,EACArI,KAAAuG,SAAAvB,IAAA3D,GACAkL,GAIA,OAAAlL,GAOA/B,EAAAT,UAAAiI,KAAA,SAAArF,EAAAuD,EAAAC,EAAApE,GAEA,oBAAAY,EAAA,CASA,GARA,iBAAAuD,GACAnE,EAAAmE,EACAA,EAAA,EACAC,EAAAjF,KAAAN,QACK,iBAAAuF,IACLpE,EAAAoE,EACAA,EAAAjF,KAAAN,QAEA,IAAA+B,EAAA/B,OAAA,CACA,IAAA+M,EAAAhL,EAAA6C,WAAA,GACAmI,EAAA,MACAhL,EAAAgL,GAGA,QAAAhM,IAAAI,GAAA,iBAAAA,EACA,UAAAT,UAAA,6BAEA,oBAAAS,IAAAvB,EAAAwB,WAAAD,GACA,UAAAT,UAAA,qBAAAS,OAEG,iBAAAY,IACHA,GAAA,KAIA,GAAAuD,EAAA,GAAAhF,KAAAN,OAAAsF,GAAAhF,KAAAN,OAAAuF,EACA,UAAAtF,WAAA,sBAGA,GAAAsF,GAAAD,EACA,OAAAhF,KAQA,IAAA/C,EACA,GANA+H,KAAA,EACAC,OAAAxE,IAAAwE,EAAAjF,KAAAN,OAAAuF,IAAA,EAEAxD,MAAA,GAGA,iBAAAA,EACA,IAAAxE,EAAA+H,EAAmB/H,EAAAgI,IAAShI,EAC5B+C,KAAA/C,GAAAwE,MAEG,CACH,IAAAyH,EAAA5J,EAAA8B,SAAAK,GACAA,EACAS,EAAA,IAAA5C,EAAAmC,EAAAZ,GAAAkB,YACAV,EAAA6H,EAAAxJ,OACA,IAAAzC,EAAA,EAAeA,EAAAgI,EAAAD,IAAiB/H,EAChC+C,KAAA/C,EAAA+H,GAAAkE,EAAAjM,EAAAoE,GAIA,OAAArB,MAMA,IAAA0M,EAAA,qBAmBA,SAAAzD,EAAAvK,GACA,OAAAA,EAAA,OAAAA,EAAAqD,SAAA,IACArD,EAAAqD,SAAA,IAGA,SAAAG,EAAAtB,EAAA+D,GAEA,IAAAiB,EADAjB,KAAAgI,IAMA,IAJA,IAAAjN,EAAAkB,EAAAlB,OACAkN,EAAA,KACA1D,EAAA,GAEAjM,EAAA,EAAiBA,EAAAyC,IAAYzC,EAAA,CAI7B,IAHA2I,EAAAhF,EAAA0D,WAAArH,IAGA,OAAA2I,EAAA,OAEA,IAAAgH,EAAA,CAEA,GAAAhH,EAAA,QAEAjB,GAAA,OAAAuE,EAAA7E,KAAA,aACA,SACS,GAAApH,EAAA,IAAAyC,EAAA,EAETiF,GAAA,OAAAuE,EAAA7E,KAAA,aACA,SAIAuI,EAAAhH,EAEA,SAIA,GAAAA,EAAA,QACAjB,GAAA,OAAAuE,EAAA7E,KAAA,aACAuI,EAAAhH,EACA,SAIAA,EAAA,OAAAgH,EAAA,UAAAhH,EAAA,YACKgH,IAELjI,GAAA,OAAAuE,EAAA7E,KAAA,aAMA,GAHAuI,EAAA,KAGAhH,EAAA,KACA,IAAAjB,GAAA,WACAuE,EAAA7E,KAAAuB,QACK,GAAAA,EAAA,MACL,IAAAjB,GAAA,WACAuE,EAAA7E,KACAuB,GAAA,MACA,GAAAA,EAAA,UAEK,GAAAA,EAAA,OACL,IAAAjB,GAAA,WACAuE,EAAA7E,KACAuB,GAAA,OACAA,GAAA,SACA,GAAAA,EAAA,SAEK,MAAAA,EAAA,SASL,UAAA3F,MAAA,sBARA,IAAA0E,GAAA,WACAuE,EAAA7E,KACAuB,GAAA,OACAA,GAAA,UACAA,GAAA,SACA,GAAAA,EAAA,MAOA,OAAAsD,EA4BA,SAAA/G,EAAAgC,GACA,OAAAjF,EAAA2N,YAhIA,SAAA1I,GAIA,IAFAA,EAUA,SAAAA,GACA,OAAAA,EAAA2I,KAAA3I,EAAA2I,OACA3I,EAAA4I,QAAA,iBAZAC,CAAA7I,GAAA4I,QAAAL,EAAA,KAEAhN,OAAA,WAEA,KAAAyE,EAAAzE,OAAA,MACAyE,GAAA,IAEA,OAAAA,EAuHA8I,CAAA9I,IAGA,SAAAF,EAAAiJ,EAAAC,EAAA1J,EAAA/D,GACA,QAAAzC,EAAA,EAAiBA,EAAAyC,KACjBzC,EAAAwG,GAAA0J,EAAAzN,QAAAzC,GAAAiQ,EAAAxN,UAD6BzC,EAE7BkQ,EAAAlQ,EAAAwG,GAAAyJ,EAAAjQ,GAEA,OAAAA,qCCtvDA,IAOAmQ,EACAC,EARAC,EAAA5Q,EAAAD,QAAA,GAUA,SAAA8Q,IACA,UAAAtN,MAAA,mCAEA,SAAAuN,IACA,UAAAvN,MAAA,qCAsBA,SAAAwN,EAAAC,GACA,GAAAN,IAAAO,WAEA,OAAAA,WAAAD,EAAA,GAGA,IAAAN,IAAAG,IAAAH,IAAAO,WAEA,OADAP,EAAAO,WACAA,WAAAD,EAAA,GAEA,IAEA,OAAAN,EAAAM,EAAA,GACK,MAAAlH,GACL,IAEA,OAAA4G,EAAAhQ,KAAA,KAAAsQ,EAAA,GACS,MAAAlH,GAET,OAAA4G,EAAAhQ,KAAA4C,KAAA0N,EAAA,MAvCA,WACA,IAEAN,EADA,mBAAAO,WACAA,WAEAJ,EAEK,MAAA/G,GACL4G,EAAAG,EAEA,IAEAF,EADA,mBAAAO,aACAA,aAEAJ,EAEK,MAAAhH,GACL6G,EAAAG,GAjBA,GAwEA,IAEAK,EAFAC,EAAA,GACAC,GAAA,EAEAC,GAAA,EAEA,SAAAC,IACAF,GAAAF,IAGAE,GAAA,EACAF,EAAAnO,OACAoO,EAAAD,EAAAxG,OAAAyG,GAEAE,GAAA,EAEAF,EAAApO,QACAwO,KAIA,SAAAA,IACA,IAAAH,EAAA,CAGA,IAAAI,EAAAV,EAAAQ,GACAF,GAAA,EAGA,IADA,IAAA1M,EAAAyM,EAAApO,OACA2B,GAAA,CAGA,IAFAwM,EAAAC,EACAA,EAAA,KACAE,EAAA3M,GACAwM,GACAA,EAAAG,GAAAI,MAGAJ,GAAA,EACA3M,EAAAyM,EAAApO,OAEAmO,EAAA,KACAE,GAAA,EAnEA,SAAAM,GACA,GAAAhB,IAAAO,aAEA,OAAAA,aAAAS,GAGA,IAAAhB,IAAAG,IAAAH,IAAAO,aAEA,OADAP,EAAAO,aACAA,aAAAS,GAEA,IAEAhB,EAAAgB,GACK,MAAA7H,GACL,IAEA,OAAA6G,EAAAjQ,KAAA,KAAAiR,GACS,MAAA7H,GAGT,OAAA6G,EAAAjQ,KAAA4C,KAAAqO,KAgDAC,CAAAH,IAiBA,SAAAI,EAAAb,EAAApN,GACAN,KAAA0N,MACA1N,KAAAM,QAYA,SAAAkO,KA5BAlB,EAAAmB,SAAA,SAAAf,GACA,IAAAgB,EAAA,IAAA7F,MAAAlB,UAAAjI,OAAA,GACA,GAAAiI,UAAAjI,OAAA,EACA,QAAAzC,EAAA,EAAuBA,EAAA0K,UAAAjI,OAAsBzC,IAC7CyR,EAAAzR,EAAA,GAAA0K,UAAA1K,GAGA6Q,EAAAzJ,KAAA,IAAAkK,EAAAb,EAAAgB,IACA,IAAAZ,EAAApO,QAAAqO,GACAN,EAAAS,IASAK,EAAA1P,UAAAuP,IAAA,WACApO,KAAA0N,IAAAzH,MAAA,KAAAjG,KAAAM,QAEAgN,EAAAqB,MAAA,UACArB,EAAAsB,SAAA,EACAtB,EAAAuB,IAAA,GACAvB,EAAAwB,KAAA,GACAxB,EAAAyB,QAAA,GACAzB,EAAA0B,SAAA,GAIA1B,EAAA2B,GAAAT,EACAlB,EAAA4B,YAAAV,EACAlB,EAAA6B,KAAAX,EACAlB,EAAA8B,IAAAZ,EACAlB,EAAA+B,eAAAb,EACAlB,EAAAgC,mBAAAd,EACAlB,EAAAiC,KAAAf,EACAlB,EAAAkC,gBAAAhB,EACAlB,EAAAmC,oBAAAjB,EAEAlB,EAAAoC,UAAA,SAAAlS,GAAqC,UAErC8P,EAAAqC,QAAA,SAAAnS,GACA,UAAAyC,MAAA,qCAGAqN,EAAAsC,IAAA,WAA2B,WAC3BtC,EAAAuC,MAAA,SAAArN,GACA,UAAAvC,MAAA,mCAEAqN,EAAAwC,MAAA,WAA4B,2BCvL5B,IAAAC,EAAAC,OAKkBvP,KAAAuP,EAAA,mBAAdD,EAMH,WAiCD,OA/BA,WACA,IAAAE,EAAAtI,UAAAjI,OAEA,OAAAuQ,EACA,UAAAhQ,MAAA,wDAGA,IAAAiQ,EAAAC,SAAAC,cAAA,QAGA,GAFAF,EAAAG,KAAA1I,UAAA,GAEA,IAAAsI,EACA,OAAAC,EAAAG,KAGA,IAAAC,EAAAH,SAAAI,qBAAA,WACAD,EAAAE,aAAAN,EAAAI,EAAAG,YAKA,IAHA,IACAC,EADAxJ,EAAAiJ,SAAAC,cAAA,KAGAO,EAAA,EAAuBA,EAAAV,EAAiBU,IACxCzJ,EAAAmJ,KAAA1I,UAAAgJ,GACAD,EAAAxJ,EAAAmJ,KACAH,EAAAG,KAAAK,EAKA,OAFAJ,EAAAM,YAAAV,GAEAQ,KApCkBX,EAAA3S,KAAAX,EAAAM,EAAAN,EAAAC,GAAAqT,KAAArT,EAAAD,QAAAuT,oBCLlB,IAAAA,GAGA,SAAAa,GACA,aAEA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACAC,EAAApQ,EAAAqQ,EAAAC,EAAAnS,EAAAoS,EAoIA,SAAAC,EAAA9P,GACA,OAAAA,QA8CA,SAAA+P,EAAA/P,GACA,uBAAAA,KAAA2P,GAAA3P,EAAA4P,EAQA,SAAAI,EAAAhQ,GACA,uBAAAA,KAAA,KA0BA,SAAAiQ,EAAAC,EAAAC,GACA,OAAAJ,EAAAG,MAAAC,EAQA,SAAAC,EAAAF,EAAAC,GACA,OAAAJ,EAAAG,MAAAC,EAsBA,SAAAE,EAAAH,EAAAC,GACA,OAAAJ,EAAAG,OAAAC,EASA,SAAAG,EAAAJ,EAAAC,GACA,OAAAJ,EAAAG,OAAAC,EAuCA,SAAAlR,EAAAe,GACA,uBAAAA,EAiBA,SAAAuQ,EAAAvQ,GACA,OAAAf,EAAAe,IAAA,KAAAA,EAoCA,SAAAhD,EAAAgD,GACA,0BAAAhE,OAAAkB,UAAAkD,SAAA3E,KAAAuE,GA0BA,SAAAwQ,EAAAxQ,EAAA9C,GACA,IACA,OAAA8C,aAAA9C,EACK,MAAAuT,GACL,UA2BA,SAAAC,EAAA1Q,EAAA2Q,GACA,IAAA9U,EAEA,IAAAA,KAAA8U,EACA,GAAAA,EAAAxT,eAAAtB,GAAA,CACA,QAAAmE,EAAA7C,eAAAtB,WAAAmE,EAAAnE,WAAA8U,EAAA9U,GACA,SAGA,GAAAmB,EAAAgD,EAAAnE,MAAA,IAAA6U,EAAA1Q,EAAAnE,GAAA8U,EAAA9U,IACA,SAKA,SAQA,SAAA8C,EAAAqB,GACA,OAAAvC,EAAAuC,GA0BA,SAAA4Q,EAAA5Q,GACA,OAAA8P,EAAA9P,IAAAqQ,EAAArQ,EAAAjC,OAAA,GA8EA,SAAA8S,EAAA7Q,GACA,yBAAAA,EAiGA,SAAA8Q,EAAA9Q,EAAA+Q,GACA,IAAAzV,EAEA,IAAAA,EAAA,EAAeA,EAAA0E,EAAAjC,OAAiBzC,GAAA,EAChC,GAAA0E,EAAA1E,KAAAyV,EACA,OAAAA,EAIA,OAAAA,EAGA,SAAAC,EAAAhR,EAAA+Q,GACA,IAAAlU,EAAAN,EAEA,IAAAM,KAAAmD,EACA,GAAAA,EAAA7C,eAAAN,GAAA,CAGA,GAAAG,EAFAT,EAAAyD,EAAAnD,KAEAmU,EAAAzU,EAAAwU,OACA,OAAAA,EAGA,GAAAxU,IAAAwU,EACA,OAAAA,EAKA,OAAAA,EAqBA,SAAAE,EAAAvK,EAAAwK,GAKA,OAJAlV,OAAAmV,KAAAD,GAAAE,QAAA,SAAAvU,GACA6J,EAAA7J,GAAAqU,EAAArU,KAGA6J,EAQA,SAAA2K,EAAAC,EAAAC,GACA,kBACA,OAIA,SAAAD,EAAAvE,EAAAwE,GACA,IAAAC,EAAAF,EAAA/V,GAAA+V,EAAAvT,OACA0T,EAAA1E,EAAAyE,GACAE,EAAA3E,EAAAyE,EAAA,GAMA,OALAG,EACAL,EAAAhN,MAAA,KAAAyI,GACAwD,EAAAkB,KAAAF,EACAV,EAAAa,KAAAjT,WAEAsO,EAAA,GAbA6E,CAAAN,EAAAtL,UAAAuL,IAgBA,SAAAI,EAAApV,EAAAkV,EAAAC,GACA,GAAAnV,EACA,OAAAA,EAEA,UAAAmV,GAAApT,OAAAmT,GAAA,oBAQA,SAAAI,EAAAP,GACA,IAAAQ,EAAA,WACA,OAAAC,EAAAT,EAAAhN,MAAA,KAAA0B,aAGA,OADA8L,EAAAvW,EAAA+V,EAAAvT,OACA+T,EAGA,SAAAC,EAAAxV,GACA,OAAAA,EAyCA,SAAAyV,EAAAtL,EAAA3G,EAAAuR,GACA,IAAAQ,EAAA,WACA,IAAAG,EAAAlF,EAIA,GAFAkF,EAAAjM,UAAA,GAEA,UAAAU,GAAA8I,EAAAM,SAAAmC,GACA,SAGA,IAAAlS,EAAAkS,GACA,SAGAA,EAuBA,SAAAlS,EAAAkS,GACA,OAAAlS,GACA,KAAA6Q,EACA,OAAAtR,EAAA7D,KAAAwW,GACA,KAAAjV,EACA,OAAAhB,OAAAmV,KAAAc,GAAAC,IAAA,SAAArV,GACA,OAAAoV,EAAApV,KAEA,QACA,OAAAoV,GAhCAE,CAAApS,EAAAkS,GACAlF,EAAAzN,EAAA7D,KAAAuK,UAAA,GAEA,IACAiM,EAAAb,QAAA,SAAAgB,GACA,IACA,UAAA1L,GAAAoJ,EAAAsC,MACAd,EAAAhN,MAAA,MAAA8N,GAAA1M,OAAAqH,IAGA,UAGO,MAAAsF,GACP,SAGA,UAGA,OADAP,EAAAvW,EAAA+V,EAAAvT,OACA+T,EAgBA,SAAAQ,EAAAC,EAAAvV,GACA,OAAAwV,EAAA,CAAAD,EAAAlD,EAAArS,IAGA,SAAAwV,EAAAzF,GACA,IAAAwF,EAAAvV,EAAAsS,EAAAyB,EAiBA,OAfAwB,EAAAxF,EAAA0F,QACAzV,EAAA+P,EAAA2F,MACApD,EAAAvC,EAAA2F,MAEA3B,EAAA/T,GAAA,GAEAhB,OAAAmV,KAAA7B,GAAA8B,QAAA,SAAAvU,GACAb,OAAAC,eAAA8U,EAAAlU,EAAA,CACAqI,cAAA,EACAhJ,YAAA,EACAyW,UAAA,EACApW,MAAAgW,EAAAjO,MAAA,KAAAyI,EAAArH,OAAA4J,EAAAzS,GAAAuS,EAAAvS,SAIAkU,EAGA,SAAA6B,EAAAL,EAAAM,GACA,OAAAL,EAAA,CAAAD,EAAAM,EAAA,OASA,SAAAC,EAAAvE,EAAAgE,GACA7C,EAAA0B,QAAA,SAAAvU,GACA0R,EAAA1R,GAAAkW,GAAAH,EAAAL,EAAAlD,EAAAxS,GAAAkW,MAj2BA5D,EAAA,CACA6D,EAAA,QACAjW,EAAA,SACAM,EAAA,SACAsD,EAAA,UACA5E,EAAA,SACAS,EAAA,OACA+I,EAAA,QACA0N,GAAA,aACA3X,EAAA,WACAM,EAAA,OACAsX,EAAA,WACA3X,EAAA,UAGA6T,EAAA,GACAC,EAAA,GAEA,CACA,CAAKtS,EAAA,QAAAmW,EAoFL,SAAAhD,EAAAC,GACA,OAAAD,IAAAC,GArFK9S,EAAA,KACL,CAAKN,EAAA,YAAAmW,EA4FL,SAAAlT,GACA,YAAAlB,IAAAkB,GA7FK3C,EAAA,KACL,CAAKN,EAAA,OAAAmW,EAoGL,SAAAlT,GACA,cAAAA,GArGK3C,EAAA,KACL,CAAKN,EAAA,WAAAmW,EAAApD,EAAAzS,EAAA,KACL,CAAKN,EAAA,YAAAmW,EAoHL,SAAAlT,GACA,IAAAD,EAEA,OAAAC,GACA,UACA,UAAAlB,EACA,OACA,OACA,SAIA,iBADAiB,SAAAC,IACA,WAAAD,GAAA8P,GAAA,WAAA9P,GAhIK1C,EAAA,KACL,CAAKN,EAAA,WAAAmW,EAycL,SAAAlT,EAAAzD,GACA,IAAA4W,EAAAC,EAAAjC,EAAApT,EAAAzC,EAEA,IAAAwU,EAAA9P,GACA,SAGA,GAAA6P,GAAA7P,EAAA3D,OAAA8W,WAAAtC,EAAA7Q,EAAAqT,QAAA,CACAF,EAAAnT,EAAAqT,SAEA,GAGA,IAFAD,EAAAD,EAAAG,QAEA/W,UACA,gBAEO6W,EAAAG,MAEP,SAKA,IAFApC,EAAAnV,OAAAmV,KAAAnR,GACAjC,EAAAoT,EAAApT,OACAzC,EAAA,EAAeA,EAAAyC,IAAYzC,EAC3B,GAAA0E,EAAAmR,EAAA7V,MAAAiB,EACA,SAIA,UAteKc,EAAA,KACL,CAAKN,EAAA,OAAAmW,EAsIL,SAAAlT,GACA,WAAAA,IAtIA,CAAKjD,EAAA,WAAAmW,EA8IL,SAAAlT,GACA,OAAAA,IAAA2P,GAAA3P,IAAA4P,IA9IA,CAAK7S,EAAA,SAAAmW,EAAAnD,GACL,CAAKhT,EAAA,UAAAmW,EAAAlD,GACL,CAAKjT,EAAA,OAAAmW,EAsKL,SAAAlT,GACA,uBAAAA,KAAA,OAtKA,CAAKjD,EAAA,MAAAmW,EA8KL,SAAAlT,GACA,OAAAgQ,EAAAhQ,MAAA,OA9KA,CAAKjD,EAAA,UAAAmW,EAAAjD,GACL,CAAKlT,EAAA,OAAAmW,EAAA9C,GACL,CAAKrT,EAAA,UAAAmW,EAsML,SAAAlT,EAAAwF,EAAAC,GACA,GAAAD,EAAAC,EACA,OAAAwK,EAAAjQ,EAAAwF,IAAAxF,EAAAyF,EAGA,OAAA2K,EAAApQ,EAAAwF,IAAAxF,EAAAyF,IA1MA,CAAK1I,EAAA,iBAAAmW,EAAA7C,GACL,CAAKtT,EAAA,cAAAmW,EAAA5C,GACL,CAAKvT,EAAA,UAAAmW,EAoOL,SAAAlT,EAAAwF,EAAAC,GACA,GAAAD,EAAAC,EACA,OAAA4K,EAAArQ,EAAAwF,IAAAxF,GAAAyF,EAGA,OAAA6K,EAAAtQ,EAAAwF,IAAAxF,GAAAyF,IAxOA,CAAK1I,EAAA,WAAAmW,EAgPL,SAAAlT,GACA,OAAAiQ,EAAAjQ,EAAA,KAhPA,CAAKjD,EAAA,WAAAmW,EAwPL,SAAAlT,GACA,OAAAoQ,EAAApQ,EAAA,KAxPA,CAAKjD,EAAA,SAAAmW,EAAAjU,EAAA5B,EAAA,KACL,CAAKN,EAAA,cAAAmW,EAwQL,SAAAlT,GACA,WAAAA,GAzQK3C,EAAA,KACL,CAAKN,EAAA,iBAAAmW,EAAA3C,EAAAlT,EAAA,KACL,CAAKN,EAAA,WAAAmW,EAyRL,SAAAlT,EAAAwT,GACA,OAAAvU,EAAAe,KAAA,IAAAA,EAAAgB,QAAAwS,IA1RKnW,EAAA,KACL,CAAKN,EAAA,QAAAmW,EAiSL,SAAAlT,EAAAyT,GACA,OAAAxU,EAAAe,QAAAwG,MAAAiN,IAlSKpW,EAAA,KACL,CAAKN,EAAA,UAAAmW,EAySL,SAAAlT,GACA,WAAAA,IAAA,IAAAA,GA1SK3C,EAAA,KACL,CAAKN,EAAA,SAAAmW,EAAAlW,EAAAK,EAAA,KACL,CAAKN,EAAA,cAAAmW,EAyTL,SAAAlT,GACA,OAAAhD,EAAAgD,IAAA,IAAAhE,OAAAmV,KAAAnR,GAAAjC,QA1TKV,EAAA,KACL,CAAKN,EAAA,iBAAAmW,EAiUL,SAAAlT,GACA,OAAAhD,EAAAgD,IAAAhE,OAAAmV,KAAAnR,GAAAjC,OAAA,GAlUKV,EAAA,KACL,CAAKN,EAAA,iBAAAmW,EAAA1C,EAAAnT,EAAA,KACL,CAAKN,EAAA,WAAAmW,EAuVL,SAAAlT,EAAA9C,GACA,IACA,OAAAsT,EAAAxQ,EAAA9C,IACA8C,EAAA0T,YAAA7X,OAAAqB,EAAArB,MACAG,OAAAkB,UAAAkD,SAAA3E,KAAAuE,KAAA,WAAA9C,EAAArB,KAAA,IACK,MAAA4U,GACL,WA7VKpT,EAAA,KACL,CAAKN,EAAA,OAAAmW,EAAAxC,EAAArT,EAAA,KACL,CAAKN,EAAA,QAAAmW,EAAAvU,EAAAtB,EAAA,KACL,CAAKN,EAAA,aAAAmW,EAoYL,SAAAlT,GACA,OAAArB,EAAAqB,IAAA,IAAAA,EAAAjC,QArYKV,EAAA,KACL,CAAKN,EAAA,gBAAAmW,EA4YL,SAAAlT,GACA,OAAArB,EAAAqB,IAAAiQ,EAAAjQ,EAAAjC,OAAA,IA7YKV,EAAA,KACL,CAAKN,EAAA,YAAAmW,EAAAtC,EAAAvT,EAAA,MACL,CAAKN,EAAA,WAAAmW,EA4ZL,SAAAlT,GACA,IAAA6P,EAEA,OAAAe,EAAA5Q,GAGA,OAAA8P,EAAA9P,IAAA6Q,EAAA7Q,EAAA3D,OAAA8W,YAlaK9V,EAAA,KACL,CAAKN,EAAA,OAAAmW,EAwdL,SAAAlT,GACA,OAAAwQ,EAAAxQ,EAAA2T,OAAA3D,EAAAhQ,EAAA4T,YAzdKvW,EAAA,KACL,CAAKN,EAAA,WAAAmW,EAAArC,EAAAxT,EAAA,KACL,CAAKN,EAAA,YAAAmW,EA6cL,SAAAlT,EAAAjC,GACA,OAAA+R,EAAA9P,MAAAjC,YA9cKV,EAAA,MACL6U,IAAA,SAAAlS,GACA,IAAAjD,EAAAiD,EAAAjD,EACAqS,EAAArS,GAAA,WAAAoS,EAAAnP,EAAA3C,GAAA,KACAgS,EAAAtS,GAAAiD,EAAAkT,IAGA5D,EAAA,CACAhL,MAmeA,SAAAtE,EAAAqP,GAGA,GAFAE,EAAA5Q,MAAAqB,GAEA6Q,EAAAxB,GACA,OAAArP,EAAAkS,IAAA,SAAA3V,GACA,OAAA8S,EAAA9S,KAOA,OAHAgT,EAAA5Q,MAAA0Q,GACAE,EAAAsE,UAAA7T,EAAAqP,EAAAtR,QAEAiC,EAAAkS,IAAA,SAAA3V,EAAAyS,GACA,OAAAK,EAAAL,GAAAzS,MA/eA2V,IA4fA,SAAAlS,EAAAqP,GAGA,GAFAE,EAAAvS,OAAAgD,GAEA6Q,EAAAxB,GACA,OAQA,SAAArP,EAAAsR,GACA,IAAAP,EAAA,GAMA,OAJA/U,OAAAmV,KAAAnR,GAAAoR,QAAA,SAAAvU,GACAkU,EAAAlU,GAAAyU,EAAAtR,EAAAnD,MAGAkU,EAfA+C,CAAA9T,EAAAqP,GAKA,OAFAE,EAAAvS,OAAAqS,GAeA,SAAA0E,EAAA/T,EAAAqP,GACA,IAAA0B,EAAA,GAgBA,OAdA/U,OAAAmV,KAAA9B,GAAA+B,QAAA,SAAAvU,GACA,IAAAyU,EAAAjC,EAAAxS,GAEAgU,EAAAS,GACA9B,EAAAM,SAAA9P,GACA+Q,EAAAlU,KAAAyU,EAAA5V,EAEAqV,EAAAlU,GAAAyU,EAAAtR,EAAAnD,IAEOG,EAAAsU,KACPP,EAAAlU,GAAAkX,EAAA/T,EAAAnD,GAAAyU,MAIAP,EA9BAgD,CAAA/T,EAAAqP,IApgBA2E,IA6iBA,SAAAhU,GACA,GAAArB,EAAAqB,GACA,OAAA8Q,EAAA9Q,GAAA,GAKA,OAFAuP,EAAAvS,OAAAgD,GAEAgR,EAAAhR,GAAA,IAnjBAiU,IA8lBA,SAAAjU,GACA,GAAArB,EAAAqB,GACA,OAAA8Q,EAAA9Q,GAAA,GAKA,OAFAuP,EAAAvS,OAAAgD,GAEAgR,EAAAhR,GAAA,KAlmBA0P,EAAA,0CACApQ,EAAA4H,MAAAhK,UAAAoC,MACAqQ,EAAA5N,OAAAmS,kBACAtE,EAAA7N,OAAAoS,kBACA1W,EAAAyJ,MAAAzJ,QACAoS,EAAA,mBAAAxT,OAEAiT,EAAA2B,EAAA3B,EAAAD,GACAE,EAAA+C,EAAAjB,EAAAM,GACAnC,EAAA8C,EAAAT,EAAAE,GACAtC,EAAA6C,EAwpBA,SAAAhB,GACA,IAAAQ,EAAA,WACA,QAAAtC,EAAAM,SAAA9J,UAAA,KAIAsL,EAAAhN,MAAA,KAAA0B,YAUA,OARA8L,EAAAvW,EAAA+V,EAAAvT,OAMA+T,EAAApW,GAAA,EAEAoW,GAGA,SAAAvV,GACA,QAAAuT,EAAAvT,GACA,SAGA,OAAAA,IA/qBAgT,EAAAC,IAAAoD,EAAAvB,EAAA7B,GACAD,EAAAE,MAAAmD,EAAAvB,EAAA5B,GAEAC,EAAA0B,QAmwBA,SAAAvU,GACAwS,EAAAxS,GAAAkW,GAAAP,EACA,CAAAR,EAAAlV,KAAA,WAAAuS,EAAAxS,GAAAwS,EAAA,SApwBAyD,EAAAvD,EAAA8B,GACAyB,EAAAtD,EAAAqC,GACAnC,EAAA0B,QA4wBA,SAAAvU,GACA4S,EAAA5S,GAAAkW,GAAAP,EACA,CAAAR,EAAAlV,KAAA,cAAAuS,EAAAxS,GAAAwS,EAAA,OAEAE,EAAAE,MAAA5S,GAAAkW,GAAAH,EAAAvB,EAAA5B,EAAA5S,GAAAkW,IACAxD,EAAAC,IAAA3S,GAAAkW,GAAAH,EAAAvB,EAAA7B,EAAA3S,GAAAkW,MAGA,SAAAzD,QAIOxQ,KAFDuP,EAAA,WACN,OAAAiB,GACO7T,KAAAX,EAAAM,EAAAN,EAAAC,QAAAD,QAAAuT,GAtxBP+F,CAAAnD,EAAA3B,EAAA,CACAC,SACAC,MACAC,WApGA,oBCHA,MAAA4E,EAAcjZ,EAAQ,GACtBkZ,EAAmBlZ,EAAQ,IAC3BmZ,eAAOA,GAAoBnZ,EAAQ,KACnCgS,QAAOA,GAAahS,EAAQ,IAmB5BN,EAAAyZ,eAAA,IACAA,EACAC,+DAE0DpH,uBAC1DqH,6FAAgG,iBAAAC,YAAA,gBAGhG5Z,EAAA6Z,YAAA,EAAAC,GAAkCJ,iBAClC,IAAAK,EACA,GAAA3Z,OAAA4Z,MAAA5Z,OAAA6Z,IAAA,CACA,MAAAC,EAAA,IAAAF,KAAA,mBAA6CR,EAAAE,UAC7CK,EAAA,IAAAI,OAAA/Z,OAAA6Z,IAAAG,gBAAAF,SAEAH,EAAA,IAAAI,OAAAT,GAOA,OAJAK,EAAAM,UAAA,GAAuBnV,WACvB4U,EAAAQ,KAAApV,KAGA6U,IAGA/Z,EAAAua,gBAAA,CAAAT,IACAA,EAAAC,OAAAS,cAGAxa,EAAAya,WAAA,EAAAX,EAAAY,KACA,MAAAC,EAAA,IAAkBD,GA9ClB,CAAAE,GACArB,EAAApV,OAAAyW,GACAC,MAAArB,EAAAoB,IACAE,KAAAC,KAAAC,eAEAzB,EAAAO,SAAAc,EAAAK,MACA,IAAAC,QAAArS,IACA,MAAAsS,EAAA,IAAAC,WACAD,EAAAE,OAAA,MACAxS,EAAAsS,EAAAlF,UAEAkF,EAAAG,kBAAAV,KAGAM,QAAAK,SAiCAC,CAAAb,EAAAc,QAAAb,OACAE,KAAApU,GAAA,IAAAvD,WAAAuD,IACAoU,KAAAY,IACAf,EAAAc,QAAAb,MAAAxO,MAAA1I,KAAAgY,GACA5B,EAAAC,OAAA4B,YAAAhB,wBC/CA,MAAAiB,EAActb,EAAQ,GACtBub,EAAwBvb,EAAQ,IAEhCL,EAAAD,QAAA,CAEA6b,kBAEAD,0BChBA,MAAAE,EAAcxb,EAAQ,GAEtBL,EAAAD,QAAA,CACA+b,SAAYzb,EAAQ,EAARA,CAAoB,CAChCua,MAAWva,EAAQ,IACnB0b,OAAY1b,EAAQ,IACpBkZ,WAAgBlZ,EAAQ,MACxBwb,IAEAG,UAAa3b,EAAQ,IACrBwb,0BCVA,MAAA/L,IAAOA,EAAA1O,MAAA6a,OAAmB5b,EAAQ,GAElCL,EAAAD,QAAA,CACAmc,UAAA9a,EACA+a,WAAArM,EACAsM,YAAAH,EACAI,WAAAC,GACAlb,EAAAkb,GACAzB,KAAA5C,QAAA,IAAAA,kCCRA5X,EAAAgB,EAAAkb,GAAAlc,EAAAQ,EAAA0b,EAAA,0BAAAC,IAAAnc,EAAAQ,EAAA0b,EAAA,wBAAAnb,IAAAf,EAAAQ,EAAA0b,EAAA,wBAAAzM,IAAAzP,EAAAQ,EAAA0b,EAAA,wBAAAN,IAAA5b,EAAAQ,EAAA0b,EAAA,0BAAAE,IAAApc,EAAAQ,EAAA0b,EAAA,yBAAAnG,IAAA,MAAAoG,EACAE,YAAAC,EAAA,eAAAC,EAAA,UACAtZ,KAAAsZ,YACAtZ,KAAAuZ,KAAA,IAAA5B,QAAA,CAAA6B,EAAAxB,KACA,MAAAyB,EAAAC,UAAAC,KAAAN,EAAA,GACAI,EAAAG,QAAA,KAAA5B,EAAAyB,EAAArH,QACAqH,EAAAI,UAAA,KAAAL,EAAAC,EAAA/G,SAEA+G,EAAAK,gBAAA,MACAL,EAAA/G,OAAAqH,kBAAAT,OAIAF,cAAA1X,EAAAsY,GACA,OAAAha,KAAAuZ,KAAAhC,KAAA0C,GAAA,IAAAtC,QAAA,CAAA6B,EAAAxB,KACA,MAAAkC,EAAAD,EAAAC,YAAAla,KAAAsZ,UAAA5X,GACAwY,EAAAC,WAAA,KAAAX,KACAU,EAAAE,QAAAF,EAAAN,QAAA,KAAA5B,EAAAkC,EAAA9H,QACA4H,EAAAE,EAAAG,YAAAra,KAAAsZ,gBAIA,IAAAgB,EACA,SAAAC,IAGA,OAFAD,IACAA,EAAA,IAAApB,GACAoB,EAEA,SAAAxc,EAAAU,EAAA8b,EAAAC,KACA,IAAAC,EACA,OAAAF,EAAAG,cAAA,WAAAH,IACAE,EAAAF,EAAAxc,IAAAU,KACK+Y,KAAA,IAAAiD,EAAA9H,QAEL,SAAAlG,EAAAhO,EAAAN,EAAAoc,EAAAC,KACA,OAAAD,EAAAG,cAAA,YAAAH,IACAA,EAAAI,IAAAxc,EAAAM,KAGA,SAAAma,EAAAna,EAAA8b,EAAAC,KACA,OAAAD,EAAAG,cAAA,YAAAH,IACAA,EAAAK,OAAAnc,KAGA,SAAA2a,EAAAmB,EAAAC,KACA,OAAAD,EAAAG,cAAA,YAAAH,IACAA,EAAAnB,UAGA,SAAArG,EAAAwH,EAAAC,KACA,MAAAzH,EAAA,GACA,OAAAwH,EAAAG,cAAA,WAAAH,KAGAA,EAAAM,eAAAN,EAAAO,YAAAzd,KAAAkd,GAAAT,UAAA,WACA7Z,KAAA0S,SAEAI,EAAAzO,KAAArE,KAAA0S,OAAAlU,KACAwB,KAAA0S,OAAAoI,eAEKvD,KAAA,IAAAzE,sBC5DL,SAAAxF,GAAA,MAAAyN,EAAche,EAAQ,IAEtBie,EAAA7d,GAAA,EACA8d,aACAC,WACAC,YACAC,cACAC,UACC1Z,IACD,GAAAsZ,EAAA,CACA,GAAAC,EACA,IACAD,EAAAK,GAAAC,MAAAL,GACO,MAAAM,IAIPP,EAAAK,GAAAG,aAA+BP,GAAA,OAAmBG,gBAAK1Z,GAEvD,8BAAAlB,GAAAiI,SAAA0S,GACAje,EAAA0b,cAAiCsC,GAAA,OAAoBE,gBAAK1Z,GAC1D4V,KAAA,IAAA5V,GAGAA,GAsEAjF,EAAAD,QAAAU,IAAA,EACAke,KAAAK,KACAC,KAEAhE,QACAhC,IAAA+F,EAAAE,MAAA,KAAA/H,IAxEA1W,IAAA,EACA0e,WACAV,YACAC,iBACAO,KACCN,IACD,IAAAzC,UAAOA,GAAYzb,EAKnB,MAJA,mBAAAuL,SAAA0S,KACAxC,EAAA,KAAAjB,QAAA6B,YAGAZ,KAAsBuC,GAAA,OAAoBE,iBAC1C9D,KAAA5V,QACA,IAAAA,EACAgW,QAAAK,SAEAgD,EAAA7d,EAAA6d,CAAA,CACAG,YAAAC,cAAAC,UAAAM,GADAX,CAEOrZ,IAEPma,MAAA,KACA,MAAAC,EAAAC,GACA7e,EAAAma,SAAyB0E,KAAaX,oBACtC9D,KAAAC,KAAAC,eACAF,KAAApU,GAAAhG,EAAAsb,OAAA,IAAA7Y,WAAAuD,KACAoU,KAAAyD,EAAA7d,EAAA6d,CAAA,CACAG,YAAAC,cAAAC,UAAAM,KAKA,OAAAZ,EAAAc,GACAE,EAAAF,GAIAvO,EAAAsB,QACAmN,EAAA5e,EAAA8Y,WAAA4F,IAIA1e,EAAAyb,aAAkCiD,KAAYR,oBAC9C9D,KAAApU,GAAAhG,EAAAsb,OAAA,IAAA7Y,WAAAuD,KACAoU,KAAAyD,EAAA7d,EAAA6d,CAAA,CACAG,YAAAC,cAAAC,UAAAM,QA4BAM,CAAA9e,EAAA8e,CAAAN,uCC9FAjf,EAAAD,QAoBA,SAAAmE,GACA,oBAAAA,EACA,SAGA,IAAAuH,EAAAvH,EAAAuH,MAAA+T,GACA,IAAA/T,EACA,SAGA,IAAAgU,EAAAhU,EAAA,GACA,IAAAgU,EACA,SAGA,GAAAC,EAAAC,KAAAF,IACAG,EAAAD,KAAAF,GACA,SAGA,UAhCA,IAAAD,EAAA,uBAEAE,EAAA,sCACAE,EAAA,sCChBA,MAAAhF,MAAOA,GAAWva,EAAQ,IAE1BL,EAAAD,QAAA6a,gCCFAva,EAAAgB,EAAAkb,GAAAlc,EAAAQ,EAAA0b,EAAA,4BAAAsD,IAAAxf,EAAAQ,EAAA0b,EAAA,4BAAAuD,IAAAzf,EAAAQ,EAAA0b,EAAA,6BAAAwD,IAAA1f,EAAAQ,EAAA0b,EAAA,iCAAAyD,IAAA3f,EAAAQ,EAAA0b,EAAA,0BAAA3B,IAAA,IAAAqF,EAAA,CACAC,aAAA,oBAAAC,KACAC,SAAA,WAAAD,MAAA,aAAA7e,OACA2Y,KACA,eAAAkG,MACA,SAAAA,MACA,WACA,IAEA,OADA,IAAApG,MACA,EACO,MAAAjQ,GACP,UALA,GAQAuW,SAAA,aAAAF,KACApF,YAAA,gBAAAoF,MAOA,GAAAF,EAAAlF,YACA,IAAAuF,EAAA,CACA,qBACA,sBACA,6BACA,sBACA,uBACA,sBACA,uBACA,wBACA,yBAGAC,EACA5c,YAAA2B,QACA,SAAAb,GACA,OAAAA,GAAA6b,EAAAra,QAAAhF,OAAAkB,UAAAkD,SAAA3E,KAAA+D,KAAA,GAIA,SAAA+b,EAAA1f,GAIA,GAHA,iBAAAA,IACAA,EAAAyF,OAAAzF,IAEA,4BAAA6e,KAAA7e,GACA,UAAA4C,UAAA,0CAEA,OAAA5C,EAAA4E,cAGA,SAAA+a,EAAAjf,GAIA,MAHA,iBAAAA,IACAA,EAAA+E,OAAA/E,IAEAA,EAIA,SAAAkf,EAAAC,GACA,IAAAvI,EAAA,CACAG,KAAA,WACA,IAAA/W,EAAAmf,EAAAjJ,QACA,OAAcc,UAAAzU,IAAAvC,aAUd,OANAye,EAAAG,WACAhI,EAAA9W,OAAA8W,UAAA,WACA,OAAAA,IAIAA,EAGO,SAAAyH,EAAAe,GACPtd,KAAA6T,IAAA,GAEAyJ,aAAAf,EACAe,EAAAvK,QAAA,SAAA7U,EAAAV,GACAwC,KAAAud,OAAA/f,EAAAU,IACK8B,MACF6I,MAAAzJ,QAAAke,GACHA,EAAAvK,QAAA,SAAAyK,GACAxd,KAAAud,OAAAC,EAAA,GAAAA,EAAA,KACKxd,MACFsd,GACH3f,OAAA8f,oBAAAH,GAAAvK,QAAA,SAAAvV,GACAwC,KAAAud,OAAA/f,EAAA8f,EAAA9f,KACKwC,MAgEL,SAAA0d,EAAAC,GACA,GAAAA,EAAAC,SACA,OAAAjG,QAAAK,OAAA,IAAA5X,UAAA,iBAEAud,EAAAC,UAAA,EAGA,SAAAC,EAAAC,GACA,WAAAnG,QAAA,SAAA6B,EAAAxB,GACA8F,EAAAhG,OAAA,WACA0B,EAAAsE,EAAApL,SAEAoL,EAAAlE,QAAA,WACA5B,EAAA8F,EAAA1L,UAKA,SAAA2L,EAAApH,GACA,IAAAmH,EAAA,IAAAjG,WACAmG,EAAAH,EAAAC,GAEA,OADAA,EAAA/F,kBAAApB,GACAqH,EAoBA,SAAAC,EAAA9a,GACA,GAAAA,EAAAlC,MACA,OAAAkC,EAAAlC,MAAA,GAEA,IAAAid,EAAA,IAAAte,WAAAuD,EAAA3C,YAEA,OADA0d,EAAA1R,IAAA,IAAA5M,WAAAuD,IACA+a,EAAA1c,OAIA,SAAA2c,IA0FA,OAzFAne,KAAA4d,UAAA,EAEA5d,KAAAoe,UAAA,SAAAT,GAhMA,IAAAxc,EAiMAnB,KAAAqe,UAAAV,EACAA,EAEK,iBAAAA,EACL3d,KAAAse,UAAAX,EACKhB,EAAAhG,MAAAF,KAAA5X,UAAA0f,cAAAZ,GACL3d,KAAAwe,UAAAb,EACKhB,EAAAI,UAAA0B,SAAA5f,UAAA0f,cAAAZ,GACL3d,KAAA0e,cAAAf,EACKhB,EAAAC,cAAA+B,gBAAA9f,UAAA0f,cAAAZ,GACL3d,KAAAse,UAAAX,EAAA5b,WACK4a,EAAAlF,aAAAkF,EAAAhG,QA5MLxV,EA4MKwc,IA3MLiB,SAAA/f,UAAA0f,cAAApd,KA4MAnB,KAAA6e,iBAAAZ,EAAAN,EAAAnc,QAEAxB,KAAAqe,UAAA,IAAA5H,KAAA,CAAAzW,KAAA6e,oBACKlC,EAAAlF,cAAApX,YAAAxB,UAAA0f,cAAAZ,IAAAV,EAAAU,IACL3d,KAAA6e,iBAAAZ,EAAAN,GAEA3d,KAAAse,UAAAX,EAAAhgB,OAAAkB,UAAAkD,SAAA3E,KAAAugB,GAhBA3d,KAAAse,UAAA,GAmBAte,KAAAsd,QAAAxf,IAAA,kBACA,iBAAA6f,EACA3d,KAAAsd,QAAA9Q,IAAA,2CACOxM,KAAAwe,WAAAxe,KAAAwe,UAAA9c,KACP1B,KAAAsd,QAAA9Q,IAAA,eAAAxM,KAAAwe,UAAA9c,MACOib,EAAAC,cAAA+B,gBAAA9f,UAAA0f,cAAAZ,IACP3d,KAAAsd,QAAA9Q,IAAA,oEAKAmQ,EAAAhG,OACA3W,KAAA2W,KAAA,WACA,IAAAmI,EAAApB,EAAA1d,MACA,GAAA8e,EACA,OAAAA,EAGA,GAAA9e,KAAAwe,UACA,OAAA7G,QAAA6B,QAAAxZ,KAAAwe,WACO,GAAAxe,KAAA6e,iBACP,OAAAlH,QAAA6B,QAAA,IAAA/C,KAAA,CAAAzW,KAAA6e,oBACO,GAAA7e,KAAA0e,cACP,UAAAze,MAAA,wCAEA,OAAA0X,QAAA6B,QAAA,IAAA/C,KAAA,CAAAzW,KAAAse,cAIAte,KAAAyX,YAAA,WACA,OAAAzX,KAAA6e,iBACAnB,EAAA1d,OAAA2X,QAAA6B,QAAAxZ,KAAA6e,kBAEA7e,KAAA2W,OAAAY,KAAAwG,KAKA/d,KAAA+e,KAAA,WACA,IA3FApI,EACAmH,EACAE,EAyFAc,EAAApB,EAAA1d,MACA,GAAA8e,EACA,OAAAA,EAGA,GAAA9e,KAAAwe,UACA,OAjGA7H,EAiGA3W,KAAAwe,UAhGAV,EAAA,IAAAjG,WACAmG,EAAAH,EAAAC,GACAA,EAAAkB,WAAArI,GACAqH,EA8FK,GAAAhe,KAAA6e,iBACL,OAAAlH,QAAA6B,QA5FA,SAAArW,GAIA,IAHA,IAAA+a,EAAA,IAAAte,WAAAuD,GACA8b,EAAA,IAAApW,MAAAqV,EAAAxe,QAEAzC,EAAA,EAAiBA,EAAAihB,EAAAxe,OAAiBzC,IAClCgiB,EAAAhiB,GAAAgG,OAAA+C,aAAAkY,EAAAjhB,IAEA,OAAAgiB,EAAA7W,KAAA,IAqFA8W,CAAAlf,KAAA6e,mBACK,GAAA7e,KAAA0e,cACL,UAAAze,MAAA,wCAEA,OAAA0X,QAAA6B,QAAAxZ,KAAAse,YAIA3B,EAAAI,WACA/c,KAAA+c,SAAA,WACA,OAAA/c,KAAA+e,OAAAxH,KAAA4H,KAIAnf,KAAAof,KAAA,WACA,OAAApf,KAAA+e,OAAAxH,KAAA8H,KAAAC,QAGAtf,KA1MAuc,EAAA1d,UAAA0e,OAAA,SAAA/f,EAAAU,GACAV,EAAA0f,EAAA1f,GACAU,EAAAif,EAAAjf,GACA,IAAAqhB,EAAAvf,KAAA6T,IAAArW,GACAwC,KAAA6T,IAAArW,GAAA+hB,IAAA,KAAArhB,KAGAqe,EAAA1d,UAAA,gBAAArB,UACAwC,KAAA6T,IAAAqJ,EAAA1f,KAGA+e,EAAA1d,UAAAf,IAAA,SAAAN,GAEA,OADAA,EAAA0f,EAAA1f,GACAwC,KAAAwf,IAAAhiB,GAAAwC,KAAA6T,IAAArW,GAAA,MAGA+e,EAAA1d,UAAA2gB,IAAA,SAAAhiB,GACA,OAAAwC,KAAA6T,IAAA/U,eAAAoe,EAAA1f,KAGA+e,EAAA1d,UAAA2N,IAAA,SAAAhP,EAAAU,GACA8B,KAAA6T,IAAAqJ,EAAA1f,IAAA2f,EAAAjf,IAGAqe,EAAA1d,UAAAkU,QAAA,SAAAiH,EAAAyF,GACA,QAAAjiB,KAAAwC,KAAA6T,IACA7T,KAAA6T,IAAA/U,eAAAtB,IACAwc,EAAA5c,KAAAqiB,EAAAzf,KAAA6T,IAAArW,KAAAwC,OAKAuc,EAAA1d,UAAAiU,KAAA,WACA,IAAAuK,EAAA,GAIA,OAHArd,KAAA+S,QAAA,SAAA7U,EAAAV,GACA6f,EAAAhZ,KAAA7G,KAEA4f,EAAAC,IAGAd,EAAA1d,UAAAmW,OAAA,WACA,IAAAqI,EAAA,GAIA,OAHArd,KAAA+S,QAAA,SAAA7U,GACAmf,EAAAhZ,KAAAnG,KAEAkf,EAAAC,IAGAd,EAAA1d,UAAA6gB,QAAA,WACA,IAAArC,EAAA,GAIA,OAHArd,KAAA+S,QAAA,SAAA7U,EAAAV,GACA6f,EAAAhZ,KAAA,CAAA7G,EAAAU,MAEAkf,EAAAC,IAGAV,EAAAG,WACAP,EAAA1d,UAAAb,OAAA8W,UAAAyH,EAAA1d,UAAA6gB,SAqJA,IAAAC,EAAA,+CAOO,SAAAnD,EAAAoD,EAAAjE,GAEP,IAPAkE,EACAC,EAMAnC,GADAhC,KAAA,IACAgC,KAEA,GAAAiC,aAAApD,EAAA,CACA,GAAAoD,EAAAhC,SACA,UAAAxd,UAAA,gBAEAJ,KAAA+f,IAAAH,EAAAG,IACA/f,KAAAggB,YAAAJ,EAAAI,YACArE,EAAA2B,UACAtd,KAAAsd,QAAA,IAAAf,EAAAqD,EAAAtC,UAEAtd,KAAA6f,OAAAD,EAAAC,OACA7f,KAAA5B,KAAAwhB,EAAAxhB,KACA4B,KAAAigB,OAAAL,EAAAK,OACAtC,GAAA,MAAAiC,EAAAvB,YACAV,EAAAiC,EAAAvB,UACAuB,EAAAhC,UAAA,QAGA5d,KAAA+f,IAAA9c,OAAA2c,GAYA,GATA5f,KAAAggB,YAAArE,EAAAqE,aAAAhgB,KAAAggB,aAAA,eACArE,EAAA2B,SAAAtd,KAAAsd,UACAtd,KAAAsd,QAAA,IAAAf,EAAAZ,EAAA2B,UAEAtd,KAAA6f,QAjCAA,EAiCAlE,EAAAkE,QAAA7f,KAAA6f,QAAA,MAhCAC,EAAAD,EAAAK,cACAP,EAAAhd,QAAAmd,IAAA,EAAAA,EAAAD,GAgCA7f,KAAA5B,KAAAud,EAAAvd,MAAA4B,KAAA5B,MAAA,KACA4B,KAAAigB,OAAAtE,EAAAsE,QAAAjgB,KAAAigB,OACAjgB,KAAAmgB,SAAA,MAEA,QAAAngB,KAAA6f,QAAA,SAAA7f,KAAA6f,SAAAlC,EACA,UAAAvd,UAAA,6CAEAJ,KAAAoe,UAAAT,GAOA,SAAAwB,EAAAxB,GACA,IAAAyC,EAAA,IAAA3B,SAYA,OAXAd,EACA7Q,OACA8O,MAAA,KACA7I,QAAA,SAAA7J,GACA,GAAAA,EAAA,CACA,IAAA0S,EAAA1S,EAAA0S,MAAA,KACApe,EAAAoe,EAAAxH,QAAArH,QAAA,WACA7O,EAAA0d,EAAAxT,KAAA,KAAA2E,QAAA,WACAqT,EAAA7C,OAAA8C,mBAAA7iB,GAAA6iB,mBAAAniB,OAGAkiB,EAqBO,SAAA3D,EAAA6D,EAAA3E,GACPA,IACAA,EAAA,IAGA3b,KAAA0B,KAAA,UACA1B,KAAAugB,YAAA9f,IAAAkb,EAAA4E,OAAA,IAAA5E,EAAA4E,OACAvgB,KAAAwgB,GAAAxgB,KAAAugB,QAAA,KAAAvgB,KAAAugB,OAAA,IACAvgB,KAAAygB,WAAA,eAAA9E,IAAA8E,WAAA,KACAzgB,KAAAsd,QAAA,IAAAf,EAAAZ,EAAA2B,SACAtd,KAAA+f,IAAApE,EAAAoE,KAAA,GACA/f,KAAAoe,UAAAkC,GAjDA9D,EAAA3d,UAAA6hB,MAAA,WACA,WAAAlE,EAAAxc,KAAA,CAA4B2d,KAAA3d,KAAAqe,aAmC5BF,EAAA/gB,KAAAof,EAAA3d,WAgBAsf,EAAA/gB,KAAAqf,EAAA5d,WAEA4d,EAAA5d,UAAA6hB,MAAA,WACA,WAAAjE,EAAAzc,KAAAqe,UAAA,CACAkC,OAAAvgB,KAAAugB,OACAE,WAAAzgB,KAAAygB,WACAnD,QAAA,IAAAf,EAAAvc,KAAAsd,SACAyC,IAAA/f,KAAA+f,OAIAtD,EAAArK,MAAA,WACA,IAAAuO,EAAA,IAAAlE,EAAA,MAAqC8D,OAAA,EAAAE,WAAA,KAErC,OADAE,EAAAjf,KAAA,QACAif,GAGA,IAAAC,EAAA,sBAEAnE,EAAAoE,SAAA,SAAAd,EAAAQ,GACA,QAAAK,EAAAje,QAAA4d,GACA,UAAA5gB,WAAA,uBAGA,WAAA8c,EAAA,MAA6B8D,SAAAjD,QAAA,CAA0BwD,SAAAf,MAGhD,IAAArD,EAAAG,KAAAH,aACP,IACA,IAAAA,EACC,MAAAlB,IACDkB,EAAA,SAAAtJ,EAAA5V,GACAwC,KAAAoT,UACApT,KAAAxC,OACA,IAAA4U,EAAAnS,MAAAmT,GACApT,KAAA+gB,MAAA3O,EAAA2O,QAEAliB,UAAAlB,OAAAY,OAAA0B,MAAApB,WACA6d,EAAA7d,UAAAwW,YAAAqH,EAGO,SAAApF,EAAAsI,EAAAoB,GACP,WAAArJ,QAAA,SAAA6B,EAAAxB,GACA,IAAAiJ,EAAA,IAAAzE,EAAAoD,EAAAoB,GAEA,GAAAC,EAAAhB,QAAAgB,EAAAhB,OAAAiB,QACA,OAAAlJ,EAAA,IAAA0E,EAAA,yBAGA,IAAAyE,EAAA,IAAAC,eAEA,SAAAC,IACAF,EAAAG,QAGAH,EAAArJ,OAAA,WACA,IAxFAyJ,EACAjE,EAuFA3B,EAAA,CACA4E,OAAAY,EAAAZ,OACAE,WAAAU,EAAAV,WACAnD,SA3FAiE,EA2FAJ,EAAAK,yBAAA,GA1FAlE,EAAA,IAAAf,EAGAgF,EAAAxU,QAAA,oBACA6O,MAAA,SAAA7I,QAAA,SAAA0O,GACA,IAAAC,EAAAD,EAAA7F,MAAA,KACApd,EAAAkjB,EAAAtN,QAAAtH,OACA,GAAAtO,EAAA,CACA,IAAAN,EAAAwjB,EAAAtZ,KAAA,KAAA0E,OACAwQ,EAAAC,OAAA/e,EAAAN,MAGAof,IAgFA3B,EAAAoE,IAAA,gBAAAoB,IAAAQ,YAAAhG,EAAA2B,QAAAxf,IAAA,iBACA,IAAA6f,EAAA,aAAAwD,IAAAR,SAAAQ,EAAAS,aACApI,EAAA,IAAAiD,EAAAkB,EAAAhC,KAGAwF,EAAAvH,QAAA,WACA5B,EAAA,IAAA5X,UAAA,4BAGA+gB,EAAAU,UAAA,WACA7J,EAAA,IAAA5X,UAAA,4BAGA+gB,EAAA/G,QAAA,WACApC,EAAA,IAAA0E,EAAA,0BAGAyE,EAAAxH,KAAAsH,EAAApB,OAAAoB,EAAAlB,KAAA,GAEA,YAAAkB,EAAAjB,YACAmB,EAAAW,iBAAA,EACK,SAAAb,EAAAjB,cACLmB,EAAAW,iBAAA,GAGA,iBAAAX,GAAAxE,EAAAhG,OACAwK,EAAAY,aAAA,QAGAd,EAAA3D,QAAAvK,QAAA,SAAA7U,EAAAV,GACA2jB,EAAAa,iBAAAxkB,EAAAU,KAGA+iB,EAAAhB,SACAgB,EAAAhB,OAAAgC,iBAAA,QAAAZ,GAEAF,EAAAe,mBAAA,WAEA,IAAAf,EAAAgB,YACAlB,EAAAhB,OAAAmC,oBAAA,QAAAf,KAKAF,EAAAkB,UAAA,IAAApB,EAAA5C,UAAA,KAAA4C,EAAA5C,aAIA/G,EAAAgL,UAAA,EAEAzF,KAAAvF,QACAuF,KAAAvF,QACAuF,KAAAN,UACAM,KAAAL,UACAK,KAAAJ,6BClgBA/f,EAAAD,QAAiBM,EAAQ,IAAQwlB,6BCAjC,SAAAjV,EAAAhO,6FAAA,WAAsG,aAAa,SAAAkjB,EAAAlgB,GAAc,MAAAA,EAAS,IAAAnE,OAAA,EAAAwW,GAAA,EAAkB8N,EAAA,oBAAA7iB,YAAA,oBAAA8iB,aAAA,oBAAAC,aAAA,oBAAA/D,SAAyI,SAAAgE,EAAAtgB,EAAA4E,GAAgBlH,KAAA2Q,MAAA,iBAAAzJ,IAAA,EAAmClH,KAAA3C,EAAA,EAAS2C,KAAAwB,OAAAc,aAAAmgB,EAAA7iB,WAAAiJ,OAAAvG,EAAA,IAAAmgB,EAAA7iB,WAAAiJ,OAAA,OAA+E,EAAA7I,KAAAwB,OAAA9B,QAAAM,KAAA2Q,OAAA6R,EAAAviB,MAAA,kBAA4DD,KAAAwB,OAAA9B,QAAAM,KAAA2Q,OAAA3Q,KAAA6U,IAAyC+N,EAAA/jB,UAAAgW,EAAA,WAAyB,IAAA3N,EAAA5E,EAAAtC,KAAAwB,OAAAlE,EAAAgF,EAAA5C,OAAAnC,EAAA,IAAAklB,EAAA7iB,WAAAiJ,OAAAvL,GAAA,GAAgE,GAAAmlB,EAAAllB,EAAAiP,IAAAlK,QAAc,IAAA4E,EAAA,EAAaA,EAAA5J,IAAI4J,EAAA3J,EAAA2J,GAAA5E,EAAA4E,GAAc,OAAAlH,KAAAwB,OAAAjE,GAC3pBqlB,EAAA/jB,UAAAtB,EAAA,SAAA+E,EAAA4E,EAAA5J,GAA8B,IAAAulB,EAAAtlB,EAAAyC,KAAAwB,OAAAgF,EAAAxG,KAAA2Q,MAAAkE,EAAA7U,KAAA3C,EAAAylB,EAAAvlB,EAAAiJ,GAAgJ,GAA/FlJ,GAAA,EAAA4J,IAAA5E,EAAA,EAAA4E,GAAA6b,EAAA,IAAAzgB,IAAA,GAAAygB,EAAAzgB,IAAA,WAAAygB,EAAAzgB,IAAA,WAAAygB,EAAAzgB,IAAA,aAAA4E,EAAA6b,EAAAzgB,IAAA,EAAA4E,GAA+F,EAAAA,EAAA2N,EAAAiO,KAAA5b,EAAA5E,EAAAuS,GAAA3N,OAAuB,IAAA2b,EAAA,EAAaA,EAAA3b,IAAI2b,EAAAC,KAAA,EAAAxgB,GAAA4E,EAAA2b,EAAA,SAAAhO,MAAA,EAAAtX,EAAAiJ,KAAAuc,EAAAD,KAAA,EAAAtc,IAAAjJ,EAAAmC,SAAAnC,EAAAyC,KAAA6U,MAAgFtX,EAAAiJ,GAAAsc,EAAO9iB,KAAAwB,OAAAjE,EAAcyC,KAAA3C,EAAAwX,EAAS7U,KAAA2Q,MAAAnK,GAAcoc,EAAA/jB,UAAAmkB,OAAA,WAA8B,IAAA1lB,EAAAgF,EAAAtC,KAAAwB,OAAA0F,EAAAlH,KAAA2Q,MAAmH,OAAlF,EAAA3Q,KAAA3C,IAAAiF,EAAA4E,KAAA,EAAAlH,KAAA3C,EAAAiF,EAAA4E,GAAA6b,EAAAzgB,EAAA4E,SAA6Cub,EAAAnlB,EAAAgF,EAAAiE,SAAA,EAAAW,IAAA5E,EAAA5C,OAAAwH,EAAA5J,EAAAgF,GAAqChF,GACne,IAAA2lB,EAAAC,EAAA,IAAAT,EAAA7iB,WAAAiJ,OAAA,KAAuC,IAAAoa,EAAA,EAAQ,IAAAA,IAAMA,EAAA,CAAK,QAAAE,EAAAC,EAAAH,EAAAI,EAAA,EAAAD,MAAA,EAA8BA,EAAEA,KAAA,EAAAD,IAAA,EAAAA,GAAA,EAAAC,IAAAC,EAA2BH,EAAAD,IAAAE,GAAAE,EAAA,SAAuB,IAAAN,EAAAG,EAAS,SAAAI,EAAAhhB,EAAA4E,EAAA5J,GAAmB,IAAAC,EAAAiJ,EAAA,iBAAAU,MAAA,EAAA2N,EAAA,iBAAAvX,IAAAgF,EAAA5C,OAAwE,IAALnC,GAAA,EAAKiJ,EAAA,EAAAqO,EAAUrO,MAAIU,EAAA3J,MAAA,EAAAgmB,EAAA,KAAAhmB,EAAA+E,EAAA4E,KAA4B,IAAAV,EAAAqO,GAAA,EAAWrO,IAAIU,GAAA,EAAA3J,2BAAA,EAAAgmB,EAAA,KAAAhmB,EAAA+E,EAAA4E,QAAA,EAAAqc,EAAA,KAAAhmB,EAAA+E,EAAA4E,EAAA,UAAAqc,EAAA,KAAAhmB,EAAA+E,EAAA4E,EAAA,UAAAqc,EAAA,KAAAhmB,EAAA+E,EAAA4E,EAAA,UAAAqc,EAAA,KAAAhmB,EAAA+E,EAAA4E,EAAA,UAAAqc,EAAA,KAAAhmB,EAAA+E,EAAA4E,EAAA,UAAAqc,EAAA,KAAAhmB,EAAA+E,EAAA4E,EAAA,UAAAqc,EAAA,KAAAhmB,EAAA+E,EAAA4E,EAAA,KAAmN,kBAAA3J,KAAA,EAC5f,IAAAimB,EAAA,mfACA,wfACA,yfACA,0fACA,yfACA,iOAAAD,EAAAd,EAAA,IAAAE,YAAAa,KAA4P,SAAAC,KAAgB,SAAAC,EAAAphB,GAAetC,KAAAwB,OAAA,IAAAihB,EAAAC,YAAA7Z,OAAA,EAAAvG,GAA2CtC,KAAAN,OAAA,EACS,SAAAikB,EAAArhB,GAAc,IAAAkE,EAAAqO,EAAAiO,EAAAD,EAAAe,EAAAvmB,EAAAU,EAAAgB,EAAA7B,EAAAwB,EAAAwI,EAAA5E,EAAA5C,OAAApC,EAAA,EAAAC,EAAAmG,OAAAoS,kBAAkE,IAAA/W,EAAA,EAAQA,EAAAmI,IAAInI,EAAAuD,EAAAvD,GAAAzB,MAAAgF,EAAAvD,IAAAuD,EAAAvD,GAAAxB,MAAA+E,EAAAvD,IAAoF,IAA9CyH,EAAA,GAAAlJ,EAAOuX,EAAA,IAAA4N,EAAAE,YAAA9Z,OAAArC,GAA+Bsc,EAAA,EAAID,EAAA,EAAIe,EAAA,EAAQd,GAAAxlB,GAAK,CAAE,IAAAyB,EAAA,EAAQA,EAAAmI,IAAInI,EAAA,GAAAuD,EAAAvD,KAAA+jB,EAAA,CAAyB,IAARzlB,EAAA,EAAIU,EAAA8kB,EAAI3lB,EAAA,EAAQA,EAAA4lB,IAAI5lB,EAAAG,KAAA,IAAAU,MAAA,EAA+B,IAAVW,EAAAokB,GAAA,GAAA/jB,EAAU7B,EAAAG,EAAQH,EAAAsJ,EAAItJ,GAAA0mB,EAAA/O,EAAA3X,GAAAwB,IAAYmkB,IAAIC,EAAID,IAAA,EAAMe,IAAA,EAAM,OAAA/O,EAAAvX,EAAAC,GAAe,SAAAsmB,EAAAvhB,EAAA4E,GAAiBlH,KAAA6iB,EAAAiB,EAAU9jB,KAAA+jB,EAAA,EAAS/jB,KAAA4f,MAAA6C,GAAAngB,aAAAuG,MAAA,IAAAjJ,WAAA0C,KAAqDtC,KAAAsC,EAAA,EAAS4E,MAAA8c,OAAAhkB,KAAA+jB,EAAA7c,EAAA8c,MAAA,iBAAA9c,EAAA+c,kBAAAjkB,KAAA6iB,EAAA3b,EAAA+c,iBAAA/c,EAAAgd,eAAAlkB,KAAAkH,EAAAub,GAAAvb,EAAAgd,wBAAArb,MAAA,IAAAjJ,WAAAsH,EAAAgd,cAAAhd,EAAAgd,cAAA,iBAAAhd,EAAAid,cAAAnkB,KAAAsC,EAAA4E,EAAAid,cAA+PnkB,KAAAkH,IAAAlH,KAAAkH,EAAA,IAAAub,EAAA7iB,WAAAiJ,OAAA,QADtqB6a,EAAA7kB,UAAAulB,UAAA,SAAA9hB,GAAmC,WAAAA,EAAA,SAAsBohB,EAAA7kB,UAAAwF,KAAA,SAAA/B,EAAA4E,GAAgC,IAAA5J,EAAAC,EAAAsX,EAAArO,EAAAxG,KAAAwB,OAAyD,IAAjClE,EAAA0C,KAAAN,OAAc8G,EAAAxG,KAAAN,UAAAwH,EAAmBV,EAAAxG,KAAAN,UAAA4C,EAAuB,EAAAhF,IAAIC,EAAAyC,KAAAokB,UAAA9mB,GAAAkJ,EAAAlJ,GAAAkJ,EAAAjJ,KAAAsX,EAAArO,EAAAlJ,GAAAkJ,EAAAlJ,GAAAkJ,EAAAjJ,GAAAiJ,EAAAjJ,GAAAsX,IAAArO,EAAAlJ,EAAA,GAAAkJ,EAAAlJ,EAAA,GAAAkJ,EAAAjJ,EAAA,GAAAiJ,EAAAjJ,EAAA,GAAAsX,EAAAvX,EAAAC,EAAyG,OAAAyC,KAAAN,QAC1mBgkB,EAAA7kB,UAAAwV,IAAA,WAA4B,IAAA/R,EAAA4E,EAAA3J,EAAAiJ,EAAAqO,EAAAvX,EAAA0C,KAAAwB,OAAmG,IAAvE0F,EAAA5J,EAAA,GAAOgF,EAAAhF,EAAA,GAAO0C,KAAAN,QAAA,EAAepC,EAAA,GAAAA,EAAA0C,KAAAN,QAAoBpC,EAAA,GAAAA,EAAA0C,KAAAN,OAAA,GAAsBmV,EAAA,KAAWrO,EAAA,EAAAqO,EAAA,IAAQ7U,KAAAN,UAAwB8G,EAAA,EAAAxG,KAAAN,QAAApC,EAAAkJ,EAAA,GAAAlJ,EAAAkJ,QAAA,GAAqClJ,EAAAkJ,GAAAlJ,EAAAuX,KAAAtX,EAAAD,EAAAuX,GAAAvX,EAAAuX,GAAAvX,EAAAkJ,GAAAlJ,EAAAkJ,GAAAjJ,IAAAD,EAAAuX,EAAA,GAAAvX,EAAAuX,EAAA,GAAAvX,EAAAkJ,EAAA,GAAAlJ,EAAAkJ,EAAA,GAAAjJ,EAAgFsX,EAAArO,EAAI,OAAOmK,MAAArO,EAAApE,MAAAgJ,EAAAxH,OAAAM,KAAAN,SAAiwB,IAAiC2kB,EAAjCP,EAAA,EAAAQ,EAAA,CAAaC,KAAA,EAAAtB,EAAA,EAAA9kB,EAAA2lB,EAAAU,EAAA,GAAoBC,EAAA,GAC5kC,IAAAJ,EAAA,EAAQ,IAAAA,EAAMA,IAAA,OAAA1P,GAAc,UAAA0P,EAAAI,EAAApgB,KAAA,CAAAggB,EAAA,OAA8B,MAAM,UAAAA,EAAAI,EAAApgB,KAAA,CAAAggB,EAAA,YAAmC,MAAM,UAAAA,EAAAI,EAAApgB,KAAA,CAAAggB,EAAA,UAAiC,MAAM,UAAAA,EAAAI,EAAApgB,KAAA,CAAAggB,EAAA,YAAmC,MAAM,QAAA7B,EAAA,oBAAA6B,GAMzL,SAAAK,EAAApiB,EAAA4E,GAAiBlH,KAAAN,OAAA4C,EAActC,KAAA2kB,EAAAzd,EAL/B2c,EAAAhlB,UAAA+kB,EAAA,WAA0B,IAAAthB,EAAA4E,EAAA5J,EAAAC,EAAAiJ,EAAAxG,KAAA4f,MAAyB,OAAA5f,KAAA6iB,GAAe,OAAW,IAAXvlB,EAAA,EAAWC,EAAAiJ,EAAA9G,OAAepC,EAAAC,GAAI,CAA2D,IAAAslB,EAAAe,EAAAvmB,EAAAwX,EAAzD3N,EAAAub,EAAAjc,EAAAD,SAAAjJ,IAAA,OAAAkJ,EAAAvF,MAAA3D,IAAA,OAAyDwlB,GAAZxlB,GAAA4J,EAAAxH,UAAYnC,EAAAQ,EAAAI,EAAAY,EAAAZ,EAAAjB,EAAA8C,KAAAkH,EAAAxI,EAAAsB,KAAAsC,EAAsD,GAAAmgB,EAAA,CAAM,IAAAvlB,EAAA,IAAA0C,WAAAI,KAAAkH,EAAA1F,QAAoCtE,EAAAwC,QAAAhB,EAAAmW,EAAAnV,OAAA,GAAuBxC,EAAA,IAAA0C,WAAA1C,EAAAwC,QAAA,GAA+BxC,EAAAsP,IAAAxM,KAAAkH,GAAyH,GAA3G2b,EAAAC,EAAA,IAAQ5lB,EAAAwB,KAAA,EAAAmkB,EAAsBxlB,EAAA,QAAXumB,EAAA/O,EAAAnV,QAAW,MAAiBxC,EAAAwB,KAAA,IAAAklB,EAAa1mB,EAAAwB,KAAAklB,IAAA,MAAiB1mB,EAAAwB,KAAA,IAAArB,EAAaH,EAAAwB,KAAArB,IAAA,MAAiBolB,EAAAvlB,EAAAsP,IAAAqI,EAAAnW,MAAAmW,EAAAnV,OAAAxC,IAAAqJ,SAAA,EAAA7H,OAA8C,CAAS,IAAJX,EAAA,EAAIgB,EAAA8V,EAAAnV,OAAe3B,EAAAgB,IAAIhB,EAAAb,EAAAwB,KACpfmW,EAAA9W,GAAKb,EAAAwC,OAAAhB,EAAWsB,KAAAsC,EAAA5D,EAASsB,KAAAkH,EAAAhK,EAAS,MAAM,WAAA8B,EAAA,IAAA4jB,EAAAH,EAAA,IAAA7iB,WAAAI,KAAAkH,EAAA1F,QAAAxB,KAAAkH,EAAAlH,KAAAsC,GAAkEtD,EAAAzB,EAAA,IAAAoX,GAAW3V,EAAAzB,EAAA,IAAAoX,GAAW,IAAAiQ,EAAAC,EAAA1d,EAAA2d,EAAAC,EAAA/kB,KAAAwG,GAA2B,IAAJoe,EAAA,EAAIC,EAAAC,EAAAplB,OAAeklB,EAAAC,EAAID,IAAA,GAAAzd,EAAA2d,EAAAF,GAAAhC,EAAA/jB,UAAAtB,EAAA0I,MAAAjH,EAAAylB,EAAAtd,IAAA,IAAAA,EAAAnI,EAAAzB,EAAAunB,IAAAF,GAAAE,IAAAF,GAAAjQ,GAAA3V,EAAAzB,EAAAunB,IAAAF,GAAA,GAAA5lB,EAAAzB,EAAAunB,IAAAF,GAAAE,IAAAF,GAAAjQ,QAAyG,SAAAxN,EAAA,MAAsBnH,KAAAkH,EAAAlI,EAAAgkB,SAAkBhjB,KAAAsC,EAAAtC,KAAAkH,EAAAxH,OAAqB,MAAM,KAAAokB,EAAA,IAAAkB,EAAAC,EAAAN,EAAAH,EAAAU,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC1VC,EAAAC,EAAAC,EAAAC,EAAAC,EAD0VC,EAAA,IAAAjD,EAAAH,EAAA,IAAA7iB,WAAAI,KAAAkH,EAAA1F,QAAAxB,KAAAkH,EAAAlH,KAAAsC,GAAAwjB,EAAA,iDAAAC,EAAAld,MAAA,IAChP,IAA7Fmc,EAAAlB,EAAK+B,EAAAtoB,EAAA,IAAAoX,GAAWkR,EAAAtoB,EAAAynB,EAAA,EAAArQ,GAAWsQ,EAAAF,EAAA/kB,KAAAwG,GAA8B4e,EAAAY,EAAjBb,EAAAc,EAAAjmB,KAAAqkB,EAAA,KAA2CiB,EAAAU,EAAhBX,EAAAY,EAAAjmB,KAAA2jB,EAAA,IAA0BgB,EAAA,IAAU,IAAAA,GAAA,IAAAQ,EAAAR,EAAA,GAAmBA,KAAK,IAAAH,EAAA,GAAS,EAAAA,GAAA,IAAAa,EAAAb,EAAA,GAAiBA,KAAK,IAAApd,EAAA8e,EAAAC,EAAAC,EAAAC,EAAAtC,EAAAuC,EAAA3B,EAAA4B,GAAA/B,EAAAgC,GAAA,IAAA/D,EAAAE,YAAA9Z,OAAAyd,EAAAC,IAAAE,GAAA,IAAAhE,EAAAE,YAAA9Z,OAAA,KAAA6d,GAAA,IAAAjE,EAAA7iB,WAAAiJ,OAAA,IAA8H,IAAAzB,EAAA8e,EAAA,EAAU9e,EAAAkf,EAAKlf,IAAAof,GAAAN,KAAAf,EAAA/d,GAAiB,IAAAA,EAAA,EAAQA,EAAAmf,GAAKnf,IAAAof,GAAAN,KAAAb,EAAAje,GAAiB,IAAAqb,EAAW,IAAJrb,EAAA,EAAIgf,EAAAM,GAAAhnB,OAAgB0H,EAAAgf,IAAKhf,EAAAsf,GAAAtf,GAAA,EAAiB,IAANA,EAAAif,EAAA,EAAMD,EAAAI,GAAA9mB,OAAgB0H,EAAAgf,EAAKhf,GAAA8e,EAAA,CAAM,IAAAA,EAAA,EAAQ9e,EAAA8e,EAAAE,GAAAI,GAAApf,EAAA8e,KAAAM,GAAApf,KAAsB8e,GAAS,GAAJC,EAAAD,EAAI,IAAAM,GAAApf,GAAA,KAAA+e,EAAA,KAAwB,EAAAA,KAAMM,GAAAJ,KACxf,EAAAK,GAAA,UAAS,KAAU,EAAAP,IAAIpC,EAAA,IAAAoC,IAAA,KAAAA,EAAA,GAAApC,EAAAoC,IAAApC,EAAAoC,EAAA,OAAApC,GAAA0C,GAAAJ,KAAA,GAAAI,GAAAJ,KAAAtC,EAAA,EAAA2C,GAAA,QAAAD,GAAAJ,KAAA,GAAAI,GAAAJ,KAAAtC,EAAA,GAAA2C,GAAA,OAAAP,GAAApC,OAA6G,GAAA0C,GAAAJ,KAAAG,GAAApf,GAAAsf,GAAAF,GAAApf,MAAA,IAAA+e,EAAA,KAA2C,EAAAA,KAAMM,GAAAJ,KAAAG,GAAApf,GAAAsf,GAAAF,GAAApf,WAAuB,KAAU,EAAA+e,IAAIpC,EAAA,EAAAoC,IAAA,GAAAA,EAAA,GAAApC,EAAAoC,IAAApC,EAAAoC,EAAA,GAAAM,GAAAJ,KAAA,GAAAI,GAAAJ,KAAAtC,EAAA,EAAA2C,GAAA,MAAAP,GAAApC,EAA6G,IAA5CzhB,EAAAmgB,EAAAgE,GAAAlgB,SAAA,EAAA8f,GAAAI,GAAAxlB,MAAA,EAAAolB,GAAiCd,EAAAU,EAAAS,GAAA,GAAWf,EAAA,EAAQ,GAAAA,EAAKA,IAAAI,EAAAJ,GAAAJ,EAAAO,EAAAH,IAAoB,IAAAT,EAAA,GAAS,EAAAA,GAAA,IAAAa,EAAAb,EAAA,GAAiBA,KAAwD,IAAnDM,EAAAQ,EAAAT,GAAUM,EAAAtoB,EAAAonB,EAAA,MAAAhQ,GAAekR,EAAAtoB,EAAAinB,EAAA,IAAA7P,GAAakR,EAAAtoB,EAAA2nB,EAAA,IAAAvQ,GAAagR,EAAA,EAAQA,EAAAT,EAAIS,IAAAE,EAAAtoB,EAAAwoB,EAAAJ,GAAA,EAAAhR,GAAuB,IAAJgR,EAAA,EAAIC,EAAAtjB,EAAA5C,OAAgBimB,EAAAC,EAAKD,IAAA,GAAAF,EAClfnjB,EAAAqjB,GAAAE,EAAAtoB,EAAAioB,EAAAC,GAAAF,EAAAE,GAAA9Q,GAAA,IAAA8Q,EAAA,CAAmC,OAAJE,IAAIF,GAAU,QAAAC,EAAA,EAAa,MAAM,QAAAA,EAAA,EAAa,MAAM,QAAAA,EAAA,EAAa,MAAM,QAAAlD,EAAA,iBAAAiD,GAA8BI,EAAAtoB,EAAA+E,EAAAqjB,GAAAD,EAAA/Q,GAAe,IAAAgS,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA,CAAA/B,EAAAD,GAAAiC,GAAA,CAAA9B,EAAAD,GAAyF,IAAxC0B,GAAAI,GAAA,GAASH,GAAAG,GAAA,GAASF,GAAAG,GAAA,GAASF,GAAAE,GAAA,GAAST,GAAA,EAAIC,GAAA3B,EAAAvlB,OAAgBinB,GAAAC,KAAKD,GAAA,GAAAE,GAAA5B,EAAA0B,IAAAd,EAAAtoB,EAAAwpB,GAAAF,IAAAG,GAAAH,IAAAlS,GAAA,IAAAkS,GAAAhB,EAAAtoB,EAAA0nB,IAAA0B,IAAA1B,IAAA0B,IAAAhS,GAAAmS,GAAA7B,IAAA0B,IAAAd,EAAAtoB,EAAA0pB,GAAAH,IAAAI,GAAAJ,IAAAnS,GAAAkR,EAAAtoB,EAAA0nB,IAAA0B,IAAA1B,IAAA0B,IAAAhS,QAAoH,SAAAkS,GAAA,MAAuB7mB,KAAAkH,EAAA2e,EAAA7C,SAAkBhjB,KAAAsC,EAAAtC,KAAAkH,EAAAxH,OAAqB,MAAM,QAAA8iB,EAAA,4BAAsC,OAAAxiB,KAAAkH,GAE/d,IAAAmgB,EAAA,WAAkB,SAAA/kB,EAAA4E,GAAc,OAAAyN,GAAU,SAAAzN,EAAA,WAAAA,EAAA,KAA6B,SAAAA,EAAA,WAAAA,EAAA,KAA6B,SAAAA,EAAA,WAAAA,EAAA,KAA6B,SAAAA,EAAA,WAAAA,EAAA,KAA6B,SAAAA,EAAA,WAAAA,EAAA,KAA6B,SAAAA,EAAA,WAAAA,EAAA,KAA6B,SAAAA,EAAA,WAAAA,EAAA,KAA6B,UAAAA,EAAA,WAAAA,EAAA,MAA+B,SAAAA,EAAA,WAAAA,EAAA,MAA8B,SAAAA,EAAA,WAAAA,EAAA,MAA8B,SAAAA,EAAA,WAAAA,EAAA,MAA8B,SAAAA,EAAA,WAAAA,EAAA,MAA8B,SAAAA,EAAA,WAAAA,EAAA,MAA8B,SAAAA,EAAA,WAAAA,EAAA,MAA8B,SAAAA,EAAA,WAAAA,EAAA,MAA8B,SAAAA,EAAA,WACteA,EAAA,MAAQ,SAAAA,EAAA,WAAAA,EAAA,MAA8B,SAAAA,EAAA,WAAAA,EAAA,MAA8B,SAAAA,EAAA,WAAAA,EAAA,MAA8B,SAAAA,EAAA,WAAAA,EAAA,MAA8B,SAAAA,EAAA,WAAAA,EAAA,MAA8B,SAAAA,EAAA,WAAAA,EAAA,MAA8B,UAAAA,EAAA,WAAAA,EAAA,MAA+B,UAAAA,EAAA,WAAAA,EAAA,OAAgC,UAAAA,EAAA,WAAAA,EAAA,OAAgC,UAAAA,EAAA,WAAAA,EAAA,OAAgC,UAAAA,EAAA,WAAAA,EAAA,OAAgC,UAAAA,EAAA,WAAAA,EAAA,OAAgC,WAAAA,EAAA,WAAAA,EAAA,OAAiC,QAAAsb,EAAA,mBAAAtb,IAAiC,IAAA5J,EAAAC,EAAA2J,EAAA,GAAa,IAAA5J,EAAA,EAAQ,KAAAA,EAAOA,IAAAC,EAAA+E,EAAAhF,GAAA4J,EAAA5J,GAAAC,EAAA,OAAAA,EAAA,IACzd,GAAAA,EAAA,GAAQ,OAAA2J,EAFR,GAEiBogB,EAAA7E,EAAA,IAAAE,YAAA0E,KACjB,SAAAtC,EAAAziB,EAAA4E,GAAiB,SAAA5J,EAAA4J,EAAA5J,GAAgB,IAAAkJ,EAAiFsc,EAE0Dc,EAAAf,EAF3IvgB,EAAA4E,EAAAyd,EAAApnB,EAAA,GAAAsX,EAAA,EAAuF,OAAlErO,EAAA8gB,EAAApgB,EAAAxH,QAAenC,EAAAsX,KAAA,MAAArO,EAAejJ,EAAAsX,KAAArO,GAAA,OAAiBjJ,EAAAsX,KAAArO,GAAA,GAAmBmO,GAAU,SAAArS,EAAAwgB,EAAA,GAAAxgB,EAAA,KAAuB,MAAM,SAAAA,EAAAwgB,EAAA,GAAAxgB,EAAA,KAAuB,MAAM,SAAAA,EAAAwgB,EAAA,GAAAxgB,EAAA,KAAuB,MAAM,SAAAA,EAAAwgB,EAAA,GAAAxgB,EAAA,KAAuB,MAAM,QAAAA,EAAAwgB,EAAA,GAAAxgB,EAAA,KAAsB,MAAM,QAAAA,EAAAwgB,EAAA,GAAAxgB,EAAA,KAAsB,MAAM,SAAAA,EAAAwgB,EAAA,GAAAxgB,EAAA,KAAuB,MAAM,SAAAA,EAAAwgB,EAAA,GAAAxgB,EAAA,MAAwB,MAAM,SAAAA,EAAAwgB,EAAA,GAAAxgB,EAAA,MAAwB,MAAM,SAAAA,EAAAwgB,EAAA,GAAAxgB,EAAA,MAAwB,MAAM,SAAAA,EAAAwgB,EAAA,IAAAxgB,EAAA,MAAyB,MAAM,SAAAA,EAAAwgB,EAAA,IAAAxgB,EAAA,MAAyB,MAAM,SAAAA,EAAAwgB,EAAA,IAAAxgB,EACne,MAAM,MAAM,UAAAA,EAAAwgB,EAAA,IAAAxgB,EAAA,MAA0B,MAAM,UAAAA,EAAAwgB,EAAA,IAAAxgB,EAAA,OAA2B,MAAM,UAAAA,EAAAwgB,EAAA,IAAAxgB,EAAA,OAA2B,MAAM,UAAAA,EAAAwgB,EAAA,IAAAxgB,EAAA,OAA2B,MAAM,UAAAA,EAAAwgB,EAAA,IAAAxgB,EAAA,OAA2B,MAAM,UAAAA,EAAAwgB,EAAA,IAAAxgB,EAAA,OAA2B,MAAM,WAAAA,EAAAwgB,EAAA,IAAAxgB,EAAA,OAA4B,MAAM,WAAAA,EAAAwgB,EAAA,IAAAxgB,EAAA,QAA6B,MAAM,WAAAA,EAAAwgB,EAAA,IAAAxgB,EAAA,QAA6B,MAAM,WAAAA,EAAAwgB,EAAA,IAAAxgB,EAAA,SAA8B,MAAM,WAAAA,EAAAwgB,EAAA,IAAAxgB,EAAA,SAA8B,MAAM,WAAAA,EAAAwgB,EAAA,IAAAxgB,EAAA,SAA8B,MAAM,WAAAA,EAAAwgB,EAAA,IAAAxgB,EAAA,SAA8B,MAAM,YAAAA,EAAAwgB,EAAA,IAAAxgB,EAAA,SAA+B,MAAM,YAC9eA,EAAAwgB,EAAA,IAAAxgB,EAAA,UAAoB,MAAM,YAAAA,EAAAwgB,EAAA,IAAAxgB,EAAA,UAAgC,MAAM,YAAAA,EAAAwgB,EAAA,IAAAxgB,EAAA,UAAgC,MAAM,QAAAkgB,EAAA,oBAAkF,IAApDhc,EAAAsc,EAAIvlB,EAAAsX,KAAArO,EAAA,GAAYjJ,EAAAsX,KAAArO,EAAA,GAAYjJ,EAAAsX,KAAArO,EAAA,GAAoBod,EAAA,EAAIf,EAAAtlB,EAAAmC,OAAekkB,EAAAf,IAAIe,EAAA1mB,EAAAwB,KAAAnB,EAAAqmB,GAAgBkB,EAAAvnB,EAAA,MAAUqnB,EAAArnB,EAAA,MAAUyB,EAAAkI,EAAAxH,OAAApC,EAAA,EAAeyB,EAAA,KAAO,IAAAxB,EAAAiJ,EAAAqO,EAAAiO,EAAAD,EAAkBxlB,EAAAU,EAAAgB,EAAAoI,EAAlByc,EAAA,GAAkB1mB,EAAAulB,EAAA,IAAAC,YAAA,EAAAxb,EAAAxH,QAAA,GAAAhB,EAAA,EAAAM,EAAA,EAAA8lB,EAAA,IAAArC,EAAAE,YAAA9Z,OAAA,KAAA+b,EAAA,IAAAnC,EAAAE,YAAA9Z,OAAA,IAAAgc,EAAAviB,EAAAyhB,EAA2H,IAAAtB,EAAA,CAAO,IAAA5N,EAAA,EAAQ,KAAAA,GAAOiQ,EAAAjQ,KAAA,EAAU,IAAAA,EAAA,EAAQ,IAAAA,GAAM+P,EAAA/P,KAAA,EAAuB,IAAbiQ,EAAA,OAASvnB,EAAA,EAAIiJ,EAAAU,EAAAxH,OAAenC,EAAAiJ,IAAIjJ,EAAA,CAC1e,IAD+esX,EAAAgO,EAAA,EAC/eC,EAAA,EAAQjO,EAAAiO,GAAAvlB,EAAAsX,IAAArO,IAAaqO,EAAAgO,KAAA,EAAA3b,EAAA3J,EAAAsX,GAA6C,GAA3B+O,EAAAf,KAAA1kB,IAAAylB,EAAAf,GAAA,IAAoBxlB,EAAAumB,EAAAf,KAAO,EAAA7jB,KAAA,CAAa,KAAK,EAAA3B,EAAAqC,QAAA,MAAAnC,EAAAF,EAAA,IAAyBA,EAAA+W,QAAW,GAAA7W,EAAA,GAAAiJ,EAAA,CAA0B,IAAfzH,GAAAzB,EAAAyB,GAAA,GAAW8V,EAAA,EAAIiO,EAAAtc,EAAAjJ,EAAUsX,EAAAiO,IAAIjO,EAAA1N,EAAAD,EAAA3J,EAAAsX,GAAA3X,EAAAwB,KAAAyI,IAAA2d,EAAA3d,GAA6B,MAAM,EAAA9J,EAAAqC,QAAA3B,EAAAwpB,EAAArgB,EAAA3J,EAAAF,GAAA0B,IAAAW,OAAA3B,EAAA2B,QAAAyH,EAAAD,EAAA3J,EAAA,GAAAL,EAAAwB,KAAAyI,IAAA2d,EAAA3d,GAAA7J,EAAAS,EAAA,IAAAT,EAAAyB,GAAA,GAAAhB,EAAA2B,OAAAmlB,EAAA9lB,EAAAhB,EAAAT,EAAAS,EAAA,IAAAgB,EAAAzB,EAAAyB,GAAA,IAAAoI,EAAAD,EAAA3J,GAAAL,EAAAwB,KAAAyI,IAAA2d,EAAA3d,IAAgJ9J,EAAAgH,KAAA9G,GAA0C,OAAhCL,EAAAwB,KAAA,IAAWomB,EAAA,OAASxiB,EAAA+hB,EAAAS,EAAMxiB,EAAAqhB,EAAAiB,EAAMnC,EAAAvlB,EAAAqJ,SAAA,EAAA7H,GAAAxB,EAC7X,SAAAqqB,EAAAjlB,EAAA4E,EAAA5J,GAAmB,IAAAC,EAAAiJ,EAAAsc,EAAAD,EAAAe,EAAAvmB,EAAAwX,EAAA,EAAA9W,EAAAuE,EAAA5C,OAA+BmjB,EAAA,EAAIxlB,EAAAC,EAAAoC,OAAWwH,EAAA,KAAO2b,EAAAxlB,EAAIwlB,IAAA,CAAoB,GAAftlB,EAAAD,EAAAD,EAAAwlB,EAAA,GAAWC,EAAA,EAAI,EAAAjO,EAAA,CAAQ,IAAA+O,EAAA/O,EAAQ,EAAA+O,EAAIA,IAAA,GAAAthB,EAAA/E,EAAAqmB,EAAA,KAAAthB,EAAA4E,EAAA0c,EAAA,YAAA1c,EAAsC4b,EAAAjO,EAAI,KAAK,IAAAiO,GAAA5b,EAAA4b,EAAA/kB,GAAAuE,EAAA/E,EAAAulB,KAAAxgB,EAAA4E,EAAA4b,MAA8BA,EAAoB,GAAfA,EAAAjO,IAAArO,EAAAjJ,EAAAsX,EAAAiO,GAAe,MAAAA,EAAA,MAAiB,WAAA4B,EAAA7P,EAAA3N,EAAAV,GACtO,SAAAyf,EAAA3jB,EAAA4E,GAAiB,IAAA2N,EAAAiO,EAAAD,EAAAe,EAAAvmB,EAAAC,EAAAgF,EAAA5C,OAAAnC,EAAA,IAAAmmB,EAAA,KAAAld,EAAA,IAAAic,EAAA7iB,WAAAiJ,OAAAvL,GAAqE,IAAAmlB,EAAA,IAAAmB,EAAA,EAAcA,EAAAtmB,EAAIsmB,IAAApd,EAAAod,GAAA,EAAW,IAAAA,EAAA,EAAQA,EAAAtmB,IAAIsmB,EAAA,EAAAthB,EAAAshB,IAAArmB,EAAA8G,KAAAuf,EAAAthB,EAAAshB,IAAuF,GAA5D/O,EAAAhM,MAAAtL,EAAAmC,OAAA,GAAoBojB,EAAA,IAAAL,EAAAE,YAAA9Z,OAAAtL,EAAAmC,OAAA,GAAwC,IAAAmV,EAAAnV,OAAA,OAAA8G,EAAAjJ,EAAA8W,MAAA1D,OAAA,EAAAnK,EAAgD,IAAJod,EAAA,EAAIvmB,EAAAE,EAAAmC,OAAA,EAAiBkkB,EAAAvmB,IAAIumB,EAAA/O,EAAA+O,GAAArmB,EAAA8W,MAAAyO,EAAAc,GAAA/O,EAAA+O,GAAA1lB,MAAwD,IAAvB2kB,EAC5T,SAAAvgB,EAAA4E,EAAA5J,GAAmB,SAAAC,EAAA+E,GAAc,IAAAhF,EAAAsmB,EAAAthB,GAAAjF,EAAAiF,IAAiBhF,IAAA4J,GAAA3J,EAAA+E,EAAA,GAAA/E,EAAA+E,EAAA,MAAAwgB,EAAAxlB,KAA6BD,EAAAiF,GAAO,IAAApF,EAAAwB,EAAAM,EAAA8lB,EAAAF,EAAApe,EAAA,IAAAic,EAAAC,YAAA7Z,OAAAvL,GAAAuX,EAAA,IAAA4N,EAAA7iB,WAAAiJ,OAAAvL,GAAAwlB,EAAA,IAAAL,EAAA7iB,WAAAiJ,OAAA3B,GAAA2b,EAAAha,MAAAvL,GAAAsmB,EAAA/a,MAAAvL,GAAAD,EAAAwL,MAAAvL,GAAAS,GAAA,GAAAT,GAAA4J,EAAAnI,EAAA,GAAAzB,EAAA,EAAuK,IAATkJ,EAAAlJ,EAAA,GAAA4J,EAASxI,EAAA,EAAQA,EAAApB,IAAIoB,EAAAX,EAAAgB,EAAA8V,EAAAnW,GAAA,GAAAmW,EAAAnW,GAAA,EAAAX,GAAAgB,GAAAhB,IAAA,EAAAyI,EAAAlJ,EAAA,EAAAoB,IAAA8H,EAAAlJ,EAAA,EAAAoB,GAAA,KAAAwI,EAAyG,IAA5CV,EAAA,GAAAqO,EAAA,GAAUgO,EAAA,GAAAha,MAAArC,EAAA,IAAiBod,EAAA,GAAA/a,MAAArC,EAAA,IAAiB9H,EAAA,EAAQA,EAAApB,IAAIoB,EAAA8H,EAAA9H,GAAA,EAAA8H,EAAA9H,EAAA,GAAAmW,EAAAnW,KAAA8H,EAAA9H,GAAA,EAAA8H,EAAA9H,EAAA,GAAAmW,EAAAnW,IAAAmkB,EAAAnkB,GAAAmK,MAAArC,EAAA9H,IAAAklB,EAAAllB,GAAAmK,MAAArC,EAAA9H,IAA+E,IAAAxB,EAAA,EAAQA,EAAAgK,IAAIhK,EAAA4lB,EAAA5lB,GAAAI,EAAW,IAAA0B,EAAA,EAAQA,EAAAwH,EAAAlJ,EAAA,KAAS0B,EAAA6jB,EAAAvlB,EACrf,GAAA0B,GAAAsD,EAAAtD,GAAA4kB,EAAAtmB,EAAA,GAAA0B,KAAuB,IAAA9B,EAAA,EAAQA,EAAAI,IAAIJ,EAAAG,EAAAH,GAAA,EAAyC,IAA9B,IAAA2X,EAAAvX,EAAA,OAAAwlB,EAAA,KAAAzlB,EAAAC,EAAA,IAA8BoB,EAAApB,EAAA,EAAU,GAAAoB,IAAKA,EAAA,CAAoB,IAAfomB,EAAA5nB,EAAA,EAAM0nB,EAAAvnB,EAAAqB,EAAA,GAASM,EAAA,EAAQA,EAAAwH,EAAA9H,GAAOM,KAAA8lB,EAAAjC,EAAAnkB,EAAA,GAAAkmB,GAAA/B,EAAAnkB,EAAA,GAAAkmB,EAAA,IAAAtiB,EAAApF,IAAA2lB,EAAAnkB,GAAAM,GAAA8lB,EAAAlB,EAAAllB,GAAAM,GAAAkI,EAAA0d,GAAA,IAAA/B,EAAAnkB,GAAAM,GAAAsD,EAAApF,GAAA0mB,EAAAllB,GAAAM,GAAA9B,OAA2FG,EAAAqB,GAAA,EAAO,IAAAmW,EAAAnW,IAAAnB,EAAAmB,GAAe,OAAAokB,EAF6E0E,CAAA1E,IAAApjB,OAAAwH,GAAmB0c,EAAA,EAAIvmB,EAAAwX,EAAAnV,OAAekkB,EAAAvmB,IAAIumB,EAAApd,EAAAqO,EAAA+O,GAAAjT,OAAAkS,EAAAe,GAAuB,OAAApd,EAG7X,SAAAwf,EAAA1jB,GAAe,IAAAuS,EAAAiO,EAAAD,EAAAe,EAAA1c,EAAA,IAAAub,EAAAC,YAAA7Z,OAAAvG,EAAA5C,QAAApC,EAAA,GAAAC,EAAA,GAAAiJ,EAAA,EAAoE,IAAJqO,EAAA,EAAIiO,EAAAxgB,EAAA5C,OAAemV,EAAAiO,EAAIjO,IAAAvX,EAAAgF,EAAAuS,IAAA,KAAAvX,EAAAgF,EAAAuS,KAA8B,IAAJA,EAAA,EAAIiO,EAAA,GAASjO,GAAAiO,EAAKjO,IAAAtX,EAAAsX,GAAArO,KAAA,EAAAlJ,EAAAuX,GAAArO,IAAA,EAA+B,IAAJqO,EAAA,EAAIiO,EAAAxgB,EAAA5C,OAAemV,EAAAiO,EAAIjO,IAAmC,IAA9BrO,EAAAjJ,EAAA+E,EAAAuS,IAAUtX,EAAA+E,EAAAuS,KAAA,EAAWgO,EAAA3b,EAAA2N,GAAA,EAAS+O,EAAAthB,EAAAuS,GAAWgO,EAAAe,EAAIf,IAAA3b,EAAA2N,GAAA3N,EAAA2N,IAAA,IAAArO,OAAA,EAA4B,OAAAU,EAAU,SAAAugB,EAAAnlB,EAAA4E,GAAiBlH,KAAA4f,MAAAtd,EAAatC,KAAAsC,EAAAtC,KAAA1C,EAAA,EAAgB0C,KAAA8iB,EAAA,GAAU5b,MAAAwgB,QAAA1nB,KAAA8iB,EAAA5b,EAAAwgB,OAAA,iBAAAxgB,EAAAygB,WAAA3nB,KAAA2nB,SAAAzgB,EAAAygB,UAAA,iBAAAzgB,EAAA0gB,UAAA5nB,KAAA4kB,EAAA1d,EAAA0gB,SAAA1gB,EAAA2gB,iBAAA7nB,KAAA9C,EAAAgK,EAAA2gB,iBAAoL7nB,KAAA9C,IAAA8C,KAAA9C,EAAA,IACxgBuqB,EAAA5oB,UAAA+kB,EAAA,WAA0B,IAAAthB,EAAA4E,EAAA5J,EAAAC,EAAAiJ,EAAAqO,EAAAiO,EAAAD,EAAAe,EAAA,IAAAnB,EAAA7iB,WAAAiJ,OAAA,OAAAxL,EAAA,EAAAU,EAAAiC,KAAA4f,MAAA7gB,EAAAiB,KAAA1C,EAAAJ,EAAA8C,KAAA2nB,SAAAjpB,EAAAsB,KAAA4kB,EAAsV,GAA7OhB,EAAAvmB,KAAA,GAAUumB,EAAAvmB,KAAA,IAAWumB,EAAAvmB,KAAA,EAASiF,EAAA,EAAItC,KAAA8iB,EAAAgF,QAAAxlB,GAAAylB,GAAsB/nB,KAAA8iB,EAAAkF,WAAA1lB,GAAA2lB,GAAyBjoB,KAAA8iB,EAAAoF,QAAA5lB,GAAA6lB,GAAsBvE,EAAAvmB,KAAAiF,EAAS4E,GAAAoO,KAAA8S,IAAA9S,KAAA8S,OAAA,IAAA9S,MAAA,MAAwCsO,EAAAvmB,KAAA,IAAA6J,EAAa0c,EAAAvmB,KAAA6J,IAAA,MAAiB0c,EAAAvmB,KAAA6J,IAAA,OAAkB0c,EAAAvmB,KAAA6J,IAAA,OAAkB0c,EAAAvmB,KAAA,EAASumB,EAAAvmB,KAAAgrB,EAAUroB,KAAA8iB,EAAAgF,QAAA3pB,EAAA,CAAyB,IAAJ2kB,EAAA,EAAID,EAAA3lB,EAAAwC,OAAeojB,EAAAD,IAAIC,EAAA,KAAAjO,EAAA3X,EAAAoH,WAAAwe,MAAAc,EAAAvmB,KAAAwX,IAAA,OAAA+O,EAAAvmB,KAAA,IAAAwX,EAA6D+O,EAAAvmB,KAAA,EAAS,GAAA2C,KAAA8iB,EAAA8E,QAAA,CAChe,IADmf9E,EACrf,EAAED,EAAAnkB,EAAAgB,OAAeojB,EAAAD,IAAIC,EAAA,KAAAjO,EAAAnW,EAAA4F,WAAAwe,MAAAc,EAAAvmB,KAAAwX,IAAA,OAAA+O,EAAAvmB,KAAA,IAAAwX,EAA6D+O,EAAAvmB,KAAA,EACpB,OAD6B2C,KAAA8iB,EAAAoF,QAAA5qB,EAAA,MAAAgmB,EAAAM,EAAA,EAAAvmB,GAAAumB,EAAAvmB,KAAA,IAAAC,EAAAsmB,EAAAvmB,KAAAC,IAAA,OAAgE0C,KAAA9C,EAAAgnB,aAAAN,EAAsB5jB,KAAA9C,EAAAinB,YAAA9mB,EAAwCumB,GAAnBpd,EAAA,IAAAqd,EAAA9lB,EAAAiC,KAAA9C,IAAmB0mB,IAAQvmB,EAAAmJ,EAAAlE,EAAMmgB,IAAAplB,EAAA,EAAAumB,EAAApiB,OAAAhB,YAAAR,KAAAkH,EAAA,IAAAtH,WAAAvC,EAAA,GAAA2C,KAAAkH,EAAAsF,IAAA,IAAA5M,WAAAgkB,EAAApiB,SAAAoiB,EAAA5jB,KAAAkH,GAAA0c,EAAA,IAAAhkB,WAAAgkB,EAAApiB,SAAmIjE,EAAA+lB,EAAAvlB,EAAAI,KAAYylB,EAAAvmB,KAAA,IAAAE,EAAaqmB,EAAAvmB,KAAAE,IAAA,MAAiBqmB,EAAAvmB,KAAAE,IAAA,OAAkBqmB,EAAAvmB,KAAAE,IAAA,OAAkBslB,EAAA9kB,EAAA2B,OAAWkkB,EAAAvmB,KAAA,IAAAwlB,EAAae,EAAAvmB,KAAAwlB,IAAA,MAAiBe,EAAAvmB,KAAAwlB,IAAA,OAAkBe,EAAAvmB,KACnfwlB,IAAA,OAAW7iB,KAAA1C,EAAAyB,EAAS0jB,GAAAplB,EAAAumB,EAAAlkB,SAAAM,KAAAkH,EAAA0c,IAAArd,SAAA,EAAAlJ,IAA0CumB,GAAU,IAAAyE,EAAA,IAAAF,EAAA,EAAAJ,EAAA,EAAAE,EAAA,GAA2B,SAAAK,EAAAhmB,EAAA4E,GAAgR,OAAhQlH,KAAAtC,EAAA,GAAUsC,KAAAjB,EAAA,MAAaiB,KAAAwG,EAAAxG,KAAAuD,EAAAvD,KAAA1C,EAAA0C,KAAAhB,EAAA,EAA8BgB,KAAA4f,MAAA6C,EAAA,IAAA7iB,WAAA0C,KAAiCtC,KAAA8kB,GAAA,EAAU9kB,KAAAwiB,EAAA+F,EAAUvoB,KAAAwmB,GAAA,GAAUtf,MAAA,MAAYA,EAAAyJ,QAAA3Q,KAAA1C,EAAA4J,EAAAyJ,OAAAzJ,EAAAshB,aAAAxoB,KAAAjB,EAAAmI,EAAAshB,YAAAthB,EAAAuhB,aAAAzoB,KAAAwiB,EAAAtb,EAAAuhB,YAAAvhB,EAAAwhB,SAAA1oB,KAAAwmB,EAAAtf,EAAAwhB,SAAgI1oB,KAAAwiB,GAAe,KAAAmG,EAAA3oB,KAAAsC,EAAA,MAAqBtC,KAAAkH,EAAA,IAAAub,EAAA7iB,WAAAiJ,OAAA,MAAA7I,KAAAjB,EAAA,KAAkD,MAAM,KAAAwpB,EAAAvoB,KAAAsC,EAAA,EAAiBtC,KAAAkH,EAAA,IAAAub,EAAA7iB,WAAAiJ,OAAA7I,KAAAjB,GAAwCiB,KAAA6U,EAAA7U,KAAAujB,EAAcvjB,KAAAilB,EAAAjlB,KAAAkmB,EAAclmB,KAAAjC,EAAAiC,KAAA2mB,EAAc,MAAM,QAAAnE,EAAAviB,MAAA,0BACxjB,IAAA0oB,EAAA,EAAAJ,EAAA,EACAD,EAAAzpB,UAAA5B,EAAA,WAAyB,MAAK+C,KAAA8kB,GAAQ,CAAE,IAAAxiB,EAAAsmB,GAAA5oB,KAAA,GAAuC,OAAvB,EAAAsC,IAAAtC,KAAA8kB,EAAAnQ,GAAgBrS,KAAA,GAAiB,WAAA4E,EAAAlH,KAAA4f,MAAAtiB,EAAA0C,KAAA1C,EAAAC,EAAAyC,KAAAkH,EAAAV,EAAAxG,KAAAsC,EAAAuS,EAAA3N,EAAAxH,OAAAojB,EAAA3kB,EAAAylB,EAAArmB,EAAAmC,OAAArC,EAAAc,EAAwX,OAAnS6B,KAAAwG,EAAAxG,KAAAuD,EAAA,EAAgBjG,EAAA,GAAAuX,GAAA2N,EAAAviB,MAAA,2CAA2D6iB,EAAA5b,EAAA5J,KAAA4J,EAAA5J,MAAA,EAAmBA,EAAA,GAAAuX,GAAA2N,EAAAviB,MAAA,4CAA+E6iB,MAAnB5b,EAAA5J,KAAA4J,EAAA5J,MAAA,IAAmBklB,EAAAviB,MAAA,qDAAqE3C,EAAAwlB,EAAA5b,EAAAxH,QAAA8iB,EAAAviB,MAAA,2BAAiDD,KAAAwiB,GAAe,KAAAmG,EAAA,KAAaniB,EAAAsc,EAAAvlB,EAAAmC,QAAa,CACjf,GAALojB,GADwfzlB,EAC5fumB,EAAApd,EAASic,EAAAllB,EAAAiP,IAAAtF,EAAAX,SAAAjJ,IAAAD,GAAAmJ,MAAAnJ,EAAAC,GAAAD,OAA0C,KAAUA,KAAIE,EAAAiJ,KAAAU,EAAA5J,KAAe0C,KAAAsC,EAAAkE,EAASjJ,EAAAyC,KAAA6U,IAAWrO,EAAAxG,KAAAsC,EAAS,MAAM,KAAAimB,EAAA,KAAa/hB,EAAAsc,EAAAvlB,EAAAmC,QAAanC,EAAAyC,KAAA6U,EAAA,CAAW4N,EAAA,IAAM,MAAM,QAAAD,EAAAviB,MAAA,yBAAyC,GAAAwiB,EAAAllB,EAAAiP,IAAAtF,EAAAX,SAAAjJ,IAAAwlB,GAAAtc,MAAAsc,EAAAxlB,GAAAwlB,OAA0C,KAAUA,KAAIvlB,EAAAiJ,KAAAU,EAAA5J,KAAe0C,KAAA1C,IAAS0C,KAAAsC,EAAAkE,EAASxG,KAAAkH,EAAA3J,EAAS,MAAM,OAAAyC,KAAAjC,EAAA8qB,GAAAC,IAAqB,MAAM,WAAA9pB,EAAA8lB,EAAAF,EAAAD,EAAA5mB,EAAA6qB,GAAA5oB,KAAA,OAAAjB,EAAA6pB,GAAA5oB,KAAA,KAAA9C,EAAA0rB,GAAA5oB,KAAA,KAAAtB,EAAA,IAAA+jB,EAAA7iB,WAAAiJ,OAAAkgB,EAAArpB,QAAAmlB,EAAA1mB,EAAAgJ,EAAAhJ,EAAA0nB,EAAA1nB,EAAA6mB,EAAA7mB,EAAA8mB,EAAA9mB,EAAA,IAAA8mB,EAAA,EAAyIA,EAAA/nB,IAAI+nB,EAAAvmB,EAAAqqB,EAAA9D,IAAA2D,GAAA5oB,KAAA,GAAuB,IAAAyiB,EAClf,IADyfwC,EAC3f/nB,EAAEA,EAAAwB,EAAAgB,OAAeulB,EAAA/nB,IAAI+nB,EAAAvmB,EAAAqqB,EAAA9D,IAAA,EAA0D,IAA3CjmB,EAAA2kB,EAAAjlB,GAAOmmB,EAAA,IAAApC,EAAA7iB,WAAAiJ,OAAA9K,EAAAgB,GAAgCkmB,EAAA,EAAIN,EAAA5mB,EAAAgB,EAAUkmB,EAAAN,GAAI,OAAAxd,EAAA6hB,GAAAhpB,KAAAhB,GAAAmI,GAAwB,YAAA6d,EAAA,EAAA4D,GAAA5oB,KAAA,GAA0BglB,KAAIH,EAAAI,KAAAY,EAAU,MAAM,YAAAb,EAAA,EAAA4D,GAAA5oB,KAAA,GAA0BglB,KAAIH,EAAAI,KAAA,EAAUY,EAAA,EAAI,MAAM,YAAAb,EAAA,GAAA4D,GAAA5oB,KAAA,GAA2BglB,KAAIH,EAAAI,KAAA,EAAUY,EAAA,EAAI,MAAM,QAAAA,EAAAhB,EAAAI,KAAA9d,EAAmB2d,EAAAnB,EAAAlB,EAAAoC,EAAAte,SAAA,EAAAxI,GAAA8mB,EAAA5jB,MAAA,EAAAlD,IAAuC6mB,EAAAjB,EAAAlB,EAAAoC,EAAAte,SAAAxI,GAAA8mB,EAAA5jB,MAAAlD,IAAmCiC,KAAAjC,EAAA+mB,EAAAF,GAAY,MAAM,QAAApC,EAAAviB,MAAA,kBAAAqC,KAAuC,OAAAtC,KAAAilB,KAC9Z,IACAgE,EAAAC,EADAC,EAAA,iDAAAJ,EAAAtG,EAAA,IAAAC,YAAAyG,KAAAC,EAAA,gGAAAC,EAAA5G,EAAA,IAAAC,YAAA0G,KAAAE,EAAA,gEAAAC,EAAA9G,EAAA,IAAA7iB,WAAA0pB,KAAArP,EAAA,kHAAAuP,EAAA/G,EAAA,IAAAC,YAAAzI,KAAAwP,EAAA,gDACA,sBAAAC,EAAAjH,EAAA,IAAA7iB,WAAA6pB,KAAAE,EAAA,IAAAlH,EAAA7iB,WAAAiJ,OAAA,KAA2F,IAAJogB,EAAA,EAAIC,EAAAS,EAAAjqB,OAAiBupB,EAAAC,IAAKD,EAAAU,EAAAV,GAAA,KAAAA,EAAA,OAAAA,EAAA,OAAAA,EAAA,IAAuC,IAAAW,EAAAC,GAAAhB,GAAAlF,EAAAgG,GAAAG,GAAA,IAAArH,EAAA7iB,WAAAiJ,OAAA,IAAwD,IAAL+gB,EAAA,EAAKC,GAAAC,GAAApqB,OAAiBkqB,EAAAC,KAAMD,EAAAE,GAAAF,GAAA,EAAc,IAAAd,GAAAnF,EAAAmG,IAAa,SAAAlB,GAAAtmB,EAAA4E,GAAgB,QAAA2b,EAAAvlB,EAAAgF,EAAAiB,EAAAhG,EAAA+E,EAAAkE,IAAAlE,EAAAsd,MAAA/K,EAAAvS,EAAAhF,EAAAwlB,EAAAtc,EAAA9G,OAAiDnC,EAAA2J,GAAI2N,GAAAiO,GAAAN,EAAAviB,MAAA,2BAAA3C,GAAAkJ,EAAAqO,MAAAtX,KAAA,EAAiG,OAArCslB,EAAAvlB,GAAA,GAAA4J,GAAA,EAAa5E,EAAAiB,EAAAjG,IAAA4J,EAAU5E,EAAAkE,EAAAjJ,EAAA2J,EAAQ5E,EAAAhF,EAAAuX,EAAMgO,EACxa,SAAAmG,GAAA1mB,EAAA4E,GAAiB,QAAA7J,EAAAU,EAAAT,EAAAgF,EAAAiB,EAAAhG,EAAA+E,EAAAkE,IAAAlE,EAAAsd,MAAA/K,EAAAvS,EAAAhF,EAAAwlB,EAAAtc,EAAA9G,OAAAmjB,EAAA3b,EAAA,GAAA0c,EAAA1c,EAAA,GAAiE3J,EAAAqmB,KAAA/O,GAAAiO,IAAaxlB,GAAAkJ,EAAAqO,MAAAtX,KAAA,EAA4G,OAAzEQ,GAAhBV,EAAAwlB,EAAAvlB,GAAA,GAAAsmB,GAAA,MAAgB,IAASrmB,GAAAilB,EAAAviB,MAAA,wBAAAlC,IAAyCuE,EAAAiB,EAAAjG,GAAAS,EAASuE,EAAAkE,EAAAjJ,EAAAQ,EAAQuE,EAAAhF,EAAAuX,EAAM,MAAAxX,EAMb,SAAA0sB,GAAAznB,GAAetC,KAAA4f,MAAAtd,EAAatC,KAAA1C,EAAA,EAAS0C,KAAA4iB,EAAA,GAAU5iB,KAAAojB,GAAA,EAGqM,SAAA4G,GAAA1nB,GAAe,oBAAAA,EAAA,CAAwB,IAAAhF,EAAAC,EAAA2J,EAAA5E,EAAAsZ,MAAA,IAA0B,IAAJte,EAAA,EAAIC,EAAA2J,EAAAxH,OAAepC,EAAAC,EAAID,IAAA4J,EAAA5J,IAAA,IAAA4J,EAAA5J,GAAAgH,WAAA,QAAsChC,EAAA4E,EAAI,QAAA2b,EAAArc,EAAA,EAAAqO,EAAA,EAAAiO,EAAAxgB,EAAA5C,OAAAkkB,EAAA,EAAiC,EAAAd,GAAI,CAAkBA,GAAhBD,EAAA,KAAAC,EAAA,KAAAA,EAAqB,GAAAjO,GAAArO,GAAAlE,EAAAshB,aAAkBf,GAAWrc,GAAA,MAASqO,GAAA,MAAS,OAAAA,GAAA,GAAArO,KAAA,EAAqB,SAAAyjB,GAAA3nB,EAAA4E,GAAiB,IAAA5J,EAAAC,EAA8H,OAAtHyC,KAAA4f,MAAAtd,EAAatC,KAAA1C,EAAA,GAAS4J,MAAA,MAAYA,EAAAyJ,QAAA3Q,KAAA1C,EAAA4J,EAAAyJ,OAAAzJ,EAAAgjB,SAAAlqB,KAAAsoB,EAAAphB,EAAAgjB,SAAwD5sB,EAAAgF,EAAAtC,KAAA1C,KAAcC,EAAA+E,EAAAtC,KAAA1C,KAAc,GAAAA,GAAa,KAAA6sB,GAAAnqB,KAAA6f,OAAAsK,GAAuB,MAAM,QAAA3H,EAAAviB,MAAA,mCAAmD,KAAA3C,GAAA,GAAAC,GAAA,IAAAilB,EAAAviB,MAAA,yBAAA3C,GAAA,GAAAC,GAAA,KAAkE,GAAAA,GAAAilB,EAAAviB,MAAA,gCAA8CD,KAAAymB,EAAA,IAAA6B,EAAAhmB,EAAA,CAAgBqO,MAAA3Q,KAAA1C,EAAAkrB,WAAAthB,EAAAshB,WAAAC,WAAAvhB,EAAAuhB,WAAAC,OAAAxhB,EAAAwhB,SAR5hCJ,EAAAzpB,UAAAd,EAAA,SAAAuE,EAAA4E,GAA4B,IAAA5J,EAAA0C,KAAAkH,EAAA3J,EAAAyC,KAAAsC,EAAsBtC,KAAAmmB,EAAA7jB,EAAS,QAAAuS,EAAAiO,EAAAD,EAAAe,EAAApd,EAAAlJ,EAAAoC,OAAA,IAA+B,OAAAmV,EAAAmU,GAAAhpB,KAAAsC,KAAqB,OAAAuS,EAAAtX,GAAAiJ,IAAAxG,KAAAsC,EAAA/E,EAAAD,EAAA0C,KAAA6U,IAAAtX,EAAAyC,KAAAsC,GAAAhF,EAAAC,KAAAsX,OAA+L,IAA1H+O,EAAAyF,EAARvG,EAAAjO,EAAA,KAAgB,EAAA0U,EAAAzG,KAAAc,GAAAgF,GAAA5oB,KAAAupB,EAAAzG,KAA4BjO,EAAAmU,GAAAhpB,KAAAkH,GAAa2b,EAAA2G,EAAA3U,GAAQ,EAAA6U,EAAA7U,KAAAgO,GAAA+F,GAAA5oB,KAAA0pB,EAAA7U,KAA4BtX,GAAAiJ,IAAAxG,KAAAsC,EAAA/E,EAAAD,EAAA0C,KAAA6U,IAAAtX,EAAAyC,KAAAsC,GAA0CshB,KAAItmB,EAAAC,GAAAD,EAAAC,IAAAslB,GAAe,KAAK,GAAA7iB,KAAAwG,GAAUxG,KAAAwG,GAAA,EAAAxG,KAAA1C,IAAoB0C,KAAAsC,EAAA/E,GACzW+qB,EAAAzpB,UAAA8nB,EAAA,SAAArkB,EAAA4E,GAA4B,IAAA5J,EAAA0C,KAAAkH,EAAA3J,EAAAyC,KAAAsC,EAAsBtC,KAAAmmB,EAAA7jB,EAAS,QAAAuS,EAAAiO,EAAAD,EAAAe,EAAApd,EAAAlJ,EAAAoC,OAA2B,OAAAmV,EAAAmU,GAAAhpB,KAAAsC,KAAqB,OAAAuS,EAAAtX,GAAAiJ,OAAAlJ,EAAA0C,KAAA6U,KAAAnV,QAAApC,EAAAC,KAAAsX,OAAkL,IAApH+O,EAAAyF,EAARvG,EAAAjO,EAAA,KAAgB,EAAA0U,EAAAzG,KAAAc,GAAAgF,GAAA5oB,KAAAupB,EAAAzG,KAA4BjO,EAAAmU,GAAAhpB,KAAAkH,GAAa2b,EAAA2G,EAAA3U,GAAQ,EAAA6U,EAAA7U,KAAAgO,GAAA+F,GAAA5oB,KAAA0pB,EAAA7U,KAA4BtX,EAAAqmB,EAAApd,OAAAlJ,EAAA0C,KAAA6U,KAAAnV,QAAoCkkB,KAAItmB,EAAAC,GAAAD,EAAAC,IAAAslB,GAAe,KAAK,GAAA7iB,KAAAwG,GAAUxG,KAAAwG,GAAA,EAAAxG,KAAA1C,IAAoB0C,KAAAsC,EAAA/E,GACxV+qB,EAAAzpB,UAAAgW,EAAA,WAAyB,IAAAvX,EAAAC,EAAA+E,EAAA,IAAAmgB,EAAA7iB,WAAAiJ,OAAA7I,KAAAsC,EAAA,OAAA4E,EAAAlH,KAAAsC,EAAA,MAAAkE,EAAAxG,KAAAkH,EAAyE,GAAAub,EAAAngB,EAAAkK,IAAAhG,EAAAD,SAAA,MAAAjE,EAAA5C,cAAgD,IAAJpC,EAAA,EAAIC,EAAA+E,EAAA5C,OAAepC,EAAAC,IAAID,EAAAgF,EAAAhF,GAAAkJ,EAAAlJ,EAAA,OAAoD,GAAhC0C,KAAAtC,EAAA2G,KAAA/B,GAAetC,KAAAhB,GAAAsD,EAAA5C,OAAiB+iB,EAAAjc,EAAAgG,IAAAhG,EAAAD,SAAAW,IAAA,aAAkC,IAAA5J,EAAA,EAAa,MAAAA,IAAQA,EAAAkJ,EAAAlJ,GAAAkJ,EAAAU,EAAA5J,GAA6B,OAAb0C,KAAAsC,EAAA,MAAakE,GAC7S8hB,EAAAzpB,UAAA0kB,EAAA,SAAAjhB,GAA0B,IAAA4E,EAAAV,EAAAqO,EAAAvX,EAAA0C,KAAA4f,MAAAlgB,OAAAM,KAAA1C,EAAA,IAAAwlB,EAAA9iB,KAAA4f,MAAAiD,EAAA7iB,KAAAkH,EAA6Q,OAA5M5E,IAAA,iBAAAA,EAAAmgB,IAAAnlB,EAAAgF,EAAAmgB,GAAA,iBAAAngB,EAAA0iB,IAAA1nB,GAAAgF,EAAA0iB,IAAoE,EAAA1nB,EAAAkJ,GAAAqO,GAAAiO,EAAApjB,OAAAM,KAAA1C,GAAA0C,KAAAmmB,EAAA,YAAAtD,EAAAnjB,OAAAmjB,EAAAnjB,OAAAmV,EAAAgO,EAAAnjB,QAAA,EAAA8G,EAAAqc,EAAAnjB,OAAApC,EAAmGmlB,GAAAvb,EAAA,IAAAtH,WAAA4G,IAAAgG,IAAAqW,GAAA3b,EAAA2b,EAAqC7iB,KAAAkH,KACvSohB,EAAAzpB,UAAAomB,EAAA,WAAyB,IAAA1nB,EAAAsX,EAAAiO,EAAAD,EAAAe,EAAAthB,EAAA,EAAA4E,EAAAlH,KAAAkH,EAAA5J,EAAA0C,KAAAtC,EAAA8I,EAAA,IAAAic,EAAA7iB,WAAAiJ,OAAA7I,KAAAhB,GAAAgB,KAAAsC,EAAA,QAAsF,OAAAhF,EAAAoC,OAAA,OAAA+iB,EAAAziB,KAAAkH,EAAAX,SAAA,MAAAvG,KAAAsC,GAAAtC,KAAAkH,EAAAjG,MAAA,MAAAjB,KAAAsC,GAAsF,IAAJuS,EAAA,EAAIiO,EAAAxlB,EAAAoC,OAAemV,EAAAiO,IAAIjO,EAAgB,IAAJgO,EAAA,EAAIe,GAAXrmB,EAAAD,EAAAuX,IAAWnV,OAAemjB,EAAAe,IAAIf,EAAArc,EAAAlE,KAAA/E,EAAAslB,GAAwB,IAARhO,EAAA,MAAQiO,EAAA9iB,KAAAsC,EAAauS,EAAAiO,IAAIjO,EAAArO,EAAAlE,KAAA4E,EAAA2N,GAA0B,OAAV7U,KAAAtC,EAAA,GAAUsC,KAAAwB,OAAAgF,GAC9T8hB,EAAAzpB,UAAAqnB,EAAA,WAAyB,IAAA5jB,EAAA4E,EAAAlH,KAAAsC,EAA+I,OAAhImgB,EAAAziB,KAAAwmB,GAAAlkB,EAAA,IAAA1C,WAAAsH,IAAAsF,IAAAxM,KAAAkH,EAAAX,SAAA,EAAAW,IAAA5E,EAAAtC,KAAAkH,EAAAX,SAAA,EAAAW,IAAAlH,KAAAkH,EAAAxH,OAAAwH,IAAAlH,KAAAkH,EAAAxH,OAAAwH,GAAA5E,EAAAtC,KAAAkH,GAAgIlH,KAAAwB,OAAAc,GACxKynB,GAAAlrB,UAAA5B,EAAA,WAA0B,QAAAqF,EAAAtC,KAAA4f,MAAAlgB,OAA4BM,KAAA1C,EAAAgF,GAAS,CAAE,IAAAkE,EAAAnJ,EAAA6J,EAAA,IAAAuc,EAAAnmB,EAAAa,EAAAZ,EAAAY,EAAA0W,EAAA1W,EAAA2kB,EAAA3kB,EAAA0kB,EAAA1kB,EAAAylB,EAAAzlB,EAAAJ,EAAAI,EAAAY,EAAAiB,KAAA4f,MAAA1iB,EAAA8C,KAAA1C,EAA+K,OAAxG4J,EAAA2d,EAAA9lB,EAAA7B,KAAWgK,EAAA2e,EAAA9mB,EAAA7B,MAAW,KAAAgK,EAAA2d,GAAA,MAAA3d,EAAA2e,IAAArD,EAAAviB,MAAA,0BAAAiH,EAAA2d,EAAA,IAAA3d,EAAA2e,IAAuE3e,EAAAyN,EAAA5V,EAAA7B,KAAWgK,EAAAyN,GAAY,aAAa,QAAA6N,EAAAviB,MAAA,+BAAAiH,EAAAyN,IAA8L,GAAzIzN,EAAAxI,EAAAK,EAAA7B,KAAWG,EAAA0B,EAAA7B,KAAA6B,EAAA7B,MAAA,EAAA6B,EAAA7B,MAAA,GAAA6B,EAAA7B,MAAA,GAAyCgK,EAAA+hB,EAAA,IAAA3T,KAAA,IAAAjY,GAAoB6J,EAAAic,GAAApkB,EAAA7B,KAAYgK,EAAAgc,GAAAnkB,EAAA7B,KAAY,KAAAgK,EAAAxI,KAAAwI,EAAA0hB,EAAA7pB,EAAA7B,KAAA6B,EAAA7B,MAAA,EAAAA,GAAAgK,EAAA0hB,GAAyC,GAAA1hB,EAAAxI,EAAAqpB,GAAA,CAAoB,IAALnE,EAAA,GAAKf,EAAA,EAAQ,GAAAC,EAAA/jB,EAAA7B,OAAa0mB,EAAAf,KAChf5f,OAAA+C,aAAA8c,GAAuB5b,EAAA1J,KAAAomB,EAAAxb,KAAA,IAAkB,MAAAlB,EAAAxI,EAAAupB,GAAA,CAAoB,IAALrE,EAAA,GAAKf,EAAA,EAAQ,GAAAC,EAAA/jB,EAAA7B,OAAa0mB,EAAAf,KAAA5f,OAAA+C,aAAA8c,GAA+B5b,EAAA0d,EAAAhB,EAAAxb,KAAA,IAAe,GAAAlB,EAAAxI,EAAAypB,KAAAjhB,EAAAwf,EAAA,MAAApD,EAAAvkB,EAAA,EAAA7B,GAAAgK,EAAAwf,KAAA3nB,EAAA7B,KAAA6B,EAAA7B,MAAA,IAAAslB,EAAAviB,MAAA,0BAA6F3C,EAAAyB,IAAAW,OAAA,GAAAX,IAAAW,OAAA,MAAAX,IAAAW,OAAA,OAAAX,IAAAW,OAAA,OAAqEX,EAAAW,OAAAxC,EAAA,QAAAI,IAAAuX,EAAAvX,GAA4BC,EAAA,IAAA+qB,EAAAvpB,EAAA,CAAW4R,MAAAzT,EAAAsrB,WAAA3T,IAAuB3N,EAAAvF,KAAA6E,EAAAjJ,EAAAN,IAAeC,EAAAK,EAAAD,EAAM4J,EAAAge,EAAAnnB,GAAAgB,EAAA7B,KAAA6B,EAAA7B,MAAA,EAAA6B,EAAA7B,MAAA,GAAA6B,EAAA7B,MAAA,QAAmDomB,EAAA9c,EAAArI,OAAAJ,GAAAykB,EAAAviB,MAAA,8BAAAqjB,EAAA9c,EAAArI,KAAA4D,SAAA,YACxahE,EAAAgE,SAAA,MAAiBmF,EAAAue,EAAAnoB,GAAAyB,EAAA7B,KAAA6B,EAAA7B,MAAA,EAAA6B,EAAA7B,MAAA,GAAA6B,EAAA7B,MAAA,SAAmD,WAAAsJ,EAAA9G,UAAApC,GAAAklB,EAAAviB,MAAA,mCAAAuG,EAAA9G,QAAA,MAAApC,IAA0F0C,KAAA4iB,EAAAve,KAAA6C,GAAelH,KAAA1C,EAAAJ,EAAS8C,KAAAojB,EAAAzO,EAAS,IAAA3V,EAAA8lB,EAAA3d,EAAAzI,EAAAsB,KAAA4iB,EAAAgC,EAAA,EAAAC,EAAA,EAA+B,IAAJ7lB,EAAA,EAAI8lB,EAAApmB,EAAAgB,OAAeV,EAAA8lB,IAAI9lB,EAAA6lB,GAAAnmB,EAAAM,GAAA2C,KAAAjC,OAAwB,GAAA+iB,EAA0B,IAApBtb,EAAA,IAAAvH,WAAAilB,GAAoB7lB,EAAA,EAAQA,EAAA8lB,IAAI9lB,EAAAmI,EAAAqF,IAAA9N,EAAAM,GAAA2C,KAAAijB,MAAAlmB,EAAAM,GAAA2C,KAAAjC,WAA2C,CAAU,IAALyH,EAAA,GAAKnI,EAAA,EAAQA,EAAA8lB,IAAI9lB,EAAAmI,EAAAnI,GAAAN,EAAAM,GAAA2C,KAAmBwF,EAAA0B,MAAAhK,UAAAwI,OAAApB,MAAA,GAAAkB,GAAqC,OAAAA,GACxa8iB,GAAAprB,UAAA5B,EAAA,WAA0B,IAAAiK,EAAA5E,EAAAtC,KAAA4f,MAAgL,OAA3J1Y,EAAAlH,KAAAymB,EAAAxpB,IAAa+C,KAAA1C,EAAA0C,KAAAymB,EAAAnpB,EAAgB0C,KAAAsoB,KAAAhmB,EAAAtC,KAAA1C,MAAA,GAAAgF,EAAAtC,KAAA1C,MAAA,GAAAgF,EAAAtC,KAAA1C,MAAA,EAAAgF,EAAAtC,KAAA1C,QAAA,IAAA0sB,GAAA9iB,IAAAsb,EAAAviB,MAAA,+BAA8HiH,GAAU,IAAAijB,GAAA,EAAS,SAAAC,GAAA9nB,EAAA4E,GAAiBlH,KAAA4f,MAAAtd,EAAatC,KAAAkH,EAAA,IAAAub,EAAA7iB,WAAAiJ,OAAA,OAAuC7I,KAAA6iB,EAAAwH,GAAAlsB,EAAY,IAAQZ,EAARD,EAAA,GAAyF,IAAAC,KAA9E2J,MAAA,KAAa,iBAAAA,EAAA+c,kBAAAjkB,KAAA6iB,EAAA3b,EAAA+c,iBAAiE/c,EAAA5J,EAAAC,GAAA2J,EAAA3J,GAAqBD,EAAA4mB,aAAAlkB,KAAAkH,EAAsBlH,KAAA+iB,EAAA,IAAAc,EAAA7jB,KAAA4f,MAAAtiB,GAA4B,IAAA+sB,GAAA/F,EAErD,SAAAgG,GAAAhoB,EAAA4E,GAAiB,IAAA5J,EAAkC,OAA5BA,EAAA,IAAA8sB,GAAA9nB,GAAAshB,IAAkB1c,MAAA,IAAUA,EAAAmf,EAAA/oB,EAAAitB,GAAAjtB,GAC5c,SAAAktB,GAAAloB,EAAA4E,GAAiB,IAAA5J,EAAqD,OAA/CgF,EAAAiE,SAAAjE,EAAArB,MAAmB3D,EAAA,IAAA2sB,GAAA3nB,GAAArF,IAAkBiK,MAAA,IAAUA,EAAAujB,SAAAntB,EAAAitB,GAAAjtB,GAAqH,SAAAotB,GAAApoB,EAAA4E,GAAiB,IAAA5J,EAAqD,OAA/CgF,EAAAiE,SAAAjE,EAAArB,MAAmB3D,EAAA,IAAAmqB,EAAAnlB,GAAAshB,IAAkB1c,MAAA,IAAUA,EAAAmf,EAAA/oB,EAAAitB,GAAAjtB,GAA8G,SAAAqtB,GAAAroB,EAAA4E,GAAiB,IAAA5J,EAAqD,OAA/CgF,EAAAiE,SAAAjE,EAAArB,MAAmB3D,EAAA,IAAAysB,GAAAznB,GAAArF,IAAkBiK,MAAA,IAAUA,EAAAmf,EAAA/oB,EAAAitB,GAAAjtB,GACrb,SAAAitB,GAAAjoB,GAAe,IAAAhF,EAAAC,EAAA2J,EAAA,IAAA5H,EAAAgD,EAAA5C,QAAmC,IAAJpC,EAAA,EAAIC,EAAA+E,EAAA5C,OAAepC,EAAAC,IAAID,EAAA4J,EAAA5J,GAAAgF,EAAAhF,GAAc,OAAA4J,EAHnFkjB,GAAAvrB,UAAA+kB,EAAA,WAA0B,IAAAthB,EAAA4E,EAAA5J,EAAAC,EAAAiJ,EAAAqO,EAAAiO,EAAAD,EAAA,EAAoC,OAAdC,EAAA9iB,KAAAkH,EAAS5E,EAAA6nB,IAAe,KAAAA,GAAAjjB,EAAA9B,KAAAwlB,MAAAxlB,KAAAylB,IAAA,SAAuC,MAAM,QAAArI,EAAAviB,MAAA,+BAAiE,OAAlB3C,EAAA4J,GAAA,EAAA5E,EAASwgB,EAAAD,KAAAvlB,EAASgF,GAAU,KAAA6nB,GAAA,OAAAnqB,KAAA6iB,GAAuB,KAAAwH,GAAA9F,KAAA/d,EAAA,EAAiB,MAAM,KAAA6jB,GAAApH,EAAAzc,EAAA,EAAc,MAAM,KAAA6jB,GAAAlsB,EAAAqI,EAAA,EAAc,MAAM,QAAAgc,EAAAviB,MAAA,iCAAiD,MAAM,QAAAuiB,EAAAviB,MAAA,+BACzL,OADwO1C,EAAAiJ,GAAA,IAASsc,EAAAD,KAAAtlB,EAAA,QAAAD,EAAAC,GAAA,GAAyBsX,EAAAmV,GAAAhqB,KAAA4f,OAAiB5f,KAAA+iB,EAAAzgB,EAAAugB,EAAwBA,GAAbC,EAAA9iB,KAAA+iB,EAAAa,KAAalkB,OAAW+iB,KAAAK,EAAA,IAAAljB,WAAAkjB,EAAAthB,SAAA9B,QACldmjB,EAAA,IAAA7iB,KAAAkH,EAAA,IAAAtH,WAAAkjB,EAAApjB,OAAA,GAAAM,KAAAkH,EAAAsF,IAAAsW,KAAA9iB,KAAAkH,GAAA4b,IAAAvc,SAAA,EAAAsc,EAAA,IAAqFC,EAAAD,KAAAhO,GAAA,OAAiBiO,EAAAD,KAAAhO,GAAA,OAAiBiO,EAAAD,KAAAhO,GAAA,MAAgBiO,EAAAD,KAAA,IAAAhO,EAAaiO,GAAUrmB,EAAAquB,QAAgK,SAAAxoB,EAAA4E,EAAA5J,GAAmBgQ,EAAAmB,SAAA,WAA4B,IAAAlR,EAAAiJ,EAAQ,IAAIA,EAAA8jB,GAAAhoB,EAAAhF,GAAU,MAAAuX,GAAStX,EAAAsX,EAAI3N,EAAA3J,EAAAiJ,MAA/N/J,EAAAsuB,YAAAT,GAAuB7tB,EAAAuuB,QAAuR,SAAA1oB,EAAA4E,EAAA5J,GAAmBgQ,EAAAmB,SAAA,WAA4B,IAAAlR,EAAAiJ,EAAQ,IAAIA,EAAAgkB,GAAAloB,EAAAhF,GAAU,MAAAuX,GAAStX,EAAAsX,EAAI3N,EAAA3J,EAAAiJ,MAAtV/J,EAAAwuB,YAAAT,GAAuB/tB,EAAAyuB,KAClJ,SAAA5oB,EAAA4E,EAAA5J,GAAmBgQ,EAAAmB,SAAA,WAA4B,IAAAlR,EAAAiJ,EAAQ,IAAIA,EAAAkkB,GAAApoB,EAAAhF,GAAU,MAAAuX,GAAStX,EAAAsX,EAAI3N,EAAA3J,EAAAiJ,MADgF/J,EAAA0uB,SAAAT,GAAoBjuB,EAAAgc,OACF,SAAAnW,EAAA4E,EAAA5J,GAAmBgQ,EAAAmB,SAAA,WAA4B,IAAAlR,EAAAiJ,EAAQ,IAAIA,EAAAmkB,GAAAroB,EAAAhF,GAAU,MAAAuX,GAAStX,EAAAsX,EAAI3N,EAAA3J,EAAAiJ,MAD9D/J,EAAA8lB,WAAAoI,KAE1MvtB,KAAA4C,mDCpD9F,IAAA8iB,EAGAA,EAAA,WACA,OAAA9iB,KADA,GAIA,IAEA8iB,KAAAsI,SAAA,cAAAA,KAAA,EAAAC,MAAA,QACC,MAAA7kB,GAED,iBAAA3J,SAAAimB,EAAAjmB,QAOAH,EAAAD,QAAAqmB,gCCjBArmB,EAAA+D,WA+BA,SAAA8qB,GAEA,SAAAA,EAAA5rB,OAAA,EAAA6rB,EAAAD,IAhCA7uB,EAAAoQ,YAmCA,SAAAye,GACA,IAAAruB,EAAAC,EAAAsuB,EAAAC,EAAA5oB,EACAxB,EAAAiqB,EAAA5rB,OACA+rB,EAAAF,EAAAD,GAEAzoB,EAAA,IAAA6oB,EAAA,EAAArqB,EAAA,EAAAoqB,GAGAvuB,EAAAuuB,EAAA,EAAApqB,EAAA,EAAAA,EAEA,IAAA4hB,EAAA,EAEA,IAAAhmB,EAAA,EAAaA,EAAAC,EAAOD,GAAA,EACpBuuB,EAAAG,EAAAL,EAAAhnB,WAAArH,KAAA,GAAA0uB,EAAAL,EAAAhnB,WAAArH,EAAA,QAAA0uB,EAAAL,EAAAhnB,WAAArH,EAAA,OAAA0uB,EAAAL,EAAAhnB,WAAArH,EAAA,IACA4F,EAAAogB,KAAAuI,GAAA,OACA3oB,EAAAogB,KAAAuI,GAAA,MACA3oB,EAAAogB,KAAA,IAAAuI,EAGA,IAAAC,GACAD,EAAAG,EAAAL,EAAAhnB,WAAArH,KAAA,EAAA0uB,EAAAL,EAAAhnB,WAAArH,EAAA,OACA4F,EAAAogB,KAAA,IAAAuI,GACG,IAAAC,IACHD,EAAAG,EAAAL,EAAAhnB,WAAArH,KAAA,GAAA0uB,EAAAL,EAAAhnB,WAAArH,EAAA,OAAA0uB,EAAAL,EAAAhnB,WAAArH,EAAA,OACA4F,EAAAogB,KAAAuI,GAAA,MACA3oB,EAAAogB,KAAA,IAAAuI,GAGA,OAAA3oB,GA9DApG,EAAAyI,cA+EA,SAAA0mB,GASA,IARA,IAAAJ,EACAnqB,EAAAuqB,EAAAlsB,OACAmsB,EAAAxqB,EAAA,EACAyqB,EAAA,GACApK,EAAA,GAIAzkB,EAAA,EAAA8uB,EAAA1qB,EAAAwqB,EAA0C5uB,EAAA8uB,EAAU9uB,GAHpD,MAIAykB,EAAArd,KAAA2nB,EAAAJ,EAAA3uB,IAJA,MAIA8uB,IAAA9uB,EAJA,QAQA,IAAA4uB,GACAL,EAAAI,EAAAvqB,EAAA,GACAyqB,GAAAG,EAAAT,GAAA,GACAM,GAAAG,EAAAT,GAAA,MACAM,GAAA,MACG,IAAAD,IACHL,GAAAI,EAAAvqB,EAAA,OAAAuqB,EAAAvqB,EAAA,GACAyqB,GAAAG,EAAAT,GAAA,IACAM,GAAAG,EAAAT,GAAA,MACAM,GAAAG,EAAAT,GAAA,MACAM,GAAA,KAKA,OAFApK,EAAArd,KAAAynB,GAEApK,EAAAtZ,KAAA,KArGA,IALA,IAAA6jB,EAAA,GACAN,EAAA,GACAD,EAAA,oBAAA9rB,sBAAAiJ,MAEA4D,EAAA,mEACAxP,EAAA,EAAAoE,EAAAoL,EAAA/M,OAAkCzC,EAAAoE,IAASpE,EAC3CgvB,EAAAhvB,GAAAwP,EAAAxP,GACA0uB,EAAAlf,EAAAnI,WAAArH,MAMA,SAAAsuB,EAAAD,GACA,IAAAjqB,EAAAiqB,EAAA5rB,OACA,GAAA2B,EAAA,IACA,UAAApB,MAAA,kDAQA,YAAAqrB,EAAAjqB,EAAA,WAAAiqB,EAAAjqB,EAAA,OA2CA,SAAA2qB,EAAAJ,EAAA5mB,EAAAC,GAGA,IAFA,IAAAumB,EALAU,EAMAJ,EAAA,GACA7uB,EAAA+H,EAAqB/H,EAAAgI,EAAShI,GAAA,EAC9BuuB,GAAAI,EAAA3uB,IAAA,KAAA2uB,EAAA3uB,EAAA,OAAA2uB,EAAA3uB,EAAA,GACA6uB,EAAAznB,KARA4nB,GADAC,EASAV,IARA,OAAAS,EAAAC,GAAA,OAAAD,EAAAC,GAAA,MAAAD,EAAA,GAAAC,IAUA,OAAAJ,EAAA1jB,KAAA,IAhEAujB,EAAA,IAAArnB,WAAA,OACAqnB,EAAA,IAAArnB,WAAA,sBCjBA7H,EAAAyG,KAAA,SAAA1B,EAAAiC,EAAA0oB,EAAAC,EAAAC,GACA,IAAA7lB,EAAAnJ,EACAivB,EAAA,EAAAD,EAAAD,EAAA,EACAG,GAAA,GAAAD,GAAA,EACAE,EAAAD,GAAA,EACAE,GAAA,EACAxvB,EAAAkvB,EAAAE,EAAA,IACA9uB,EAAA4uB,GAAA,IACAntB,EAAAwC,EAAAiC,EAAAxG,GAOA,IALAA,GAAAM,EAEAiJ,EAAAxH,GAAA,IAAAytB,GAAA,EACAztB,KAAAytB,EACAA,GAAAH,EACQG,EAAA,EAAWjmB,EAAA,IAAAA,EAAAhF,EAAAiC,EAAAxG,MAAAM,EAAAkvB,GAAA,GAKnB,IAHApvB,EAAAmJ,GAAA,IAAAimB,GAAA,EACAjmB,KAAAimB,EACAA,GAAAL,EACQK,EAAA,EAAWpvB,EAAA,IAAAA,EAAAmE,EAAAiC,EAAAxG,MAAAM,EAAAkvB,GAAA,GAEnB,OAAAjmB,EACAA,EAAA,EAAAgmB,MACG,IAAAhmB,IAAA+lB,EACH,OAAAlvB,EAAAqvB,IAAA/f,KAAA3N,GAAA,KAEA3B,GAAA+H,KAAAmF,IAAA,EAAA6hB,GACA5lB,GAAAgmB,EAEA,OAAAxtB,GAAA,KAAA3B,EAAA+H,KAAAmF,IAAA,EAAA/D,EAAA4lB,IAGA3vB,EAAAuE,MAAA,SAAAQ,EAAAtD,EAAAuF,EAAA0oB,EAAAC,EAAAC,GACA,IAAA7lB,EAAAnJ,EAAAC,EACAgvB,EAAA,EAAAD,EAAAD,EAAA,EACAG,GAAA,GAAAD,GAAA,EACAE,EAAAD,GAAA,EACAI,EAAA,KAAAP,EAAAhnB,KAAAmF,IAAA,OAAAnF,KAAAmF,IAAA,SACAtN,EAAAkvB,EAAA,EAAAE,EAAA,EACA9uB,EAAA4uB,EAAA,KACAntB,EAAAd,EAAA,OAAAA,GAAA,EAAAA,EAAA,MAmCA,IAjCAA,EAAAkH,KAAAwnB,IAAA1uB,GAEAuE,MAAAvE,QAAAyO,KACAtP,EAAAoF,MAAAvE,GAAA,IACAsI,EAAA+lB,IAEA/lB,EAAApB,KAAAiG,MAAAjG,KAAAylB,IAAA3sB,GAAAkH,KAAAynB,KACA3uB,GAAAZ,EAAA8H,KAAAmF,IAAA,GAAA/D,IAAA,IACAA,IACAlJ,GAAA,IAGAY,GADAsI,EAAAgmB,GAAA,EACAG,EAAArvB,EAEAqvB,EAAAvnB,KAAAmF,IAAA,IAAAiiB,IAEAlvB,GAAA,IACAkJ,IACAlJ,GAAA,GAGAkJ,EAAAgmB,GAAAD,GACAlvB,EAAA,EACAmJ,EAAA+lB,GACK/lB,EAAAgmB,GAAA,GACLnvB,GAAAa,EAAAZ,EAAA,GAAA8H,KAAAmF,IAAA,EAAA6hB,GACA5lB,GAAAgmB,IAEAnvB,EAAAa,EAAAkH,KAAAmF,IAAA,EAAAiiB,EAAA,GAAApnB,KAAAmF,IAAA,EAAA6hB,GACA5lB,EAAA,IAIQ4lB,GAAA,EAAW5qB,EAAAiC,EAAAxG,GAAA,IAAAI,EAAAJ,GAAAM,EAAAF,GAAA,IAAA+uB,GAAA,GAInB,IAFA5lB,KAAA4lB,EAAA/uB,EACAivB,GAAAF,EACQE,EAAA,EAAU9qB,EAAAiC,EAAAxG,GAAA,IAAAuJ,EAAAvJ,GAAAM,EAAAiJ,GAAA,IAAA8lB,GAAA,GAElB9qB,EAAAiC,EAAAxG,EAAAM,IAAA,IAAAyB,kBClFA,IAAA+C,EAAA,GAAiBA,SAEjBrF,EAAAD,QAAAoM,MAAAzJ,SAAA,SAAAyD,GACA,wBAAAd,EAAA3E,KAAAyF,sBCHA,SAAAvD,GAAA,MAAAwtB,EAAY/vB,EAAQ,IACpBgwB,EAAiBhwB,EAAQ,IAEzBL,EAAAD,QAAA,EAAAwe,EAAA+R,KACA,MAAA7pB,EAAA7D,EAAAa,KAAA6sB,GACAtrB,EAAAqrB,EAAA5pB,GACA,IAAA8pB,EAAA,EACAtrB,EAAA,KACAurB,EAAA,KACAtI,EAAA,EACAhB,EAAA,EAOA,GAAAliB,GAAA,cAAAA,EAAAyrB,KAAA,CACA,MAAAC,EAAAN,EAAA3N,OAAAhc,GACAxB,EAAAsZ,EAAAoS,QAAAD,EAAAzrB,KAAAjC,OAAAE,WAAA0tB,mBACArS,EAAAsS,OAAA/gB,IAAA4gB,EAAAzrB,QACAijB,EAAAwI,EAAAI,MACA5J,EAAAwJ,EAAAK,OACAR,EAAA,MACG,CACH,MAAAS,EAAAzS,EAAAoS,QAAAlqB,EAAAzD,OAAAE,WAAA0tB,mBACArS,EAAAsS,OAAA/gB,IAAArJ,EAAAuqB,GACAR,EAAAjS,EAAA0S,YAAAD,EAAAvqB,EAAAzD,QACA,IAAAub,EAAA2S,SAAAV,EAAA,WAKAjS,EAAA4S,SAAAX,EAAA,cAEAtI,EAAAhB,GAAA/a,MAAA,GAAA/B,KAAA,GACA+M,IAAA,CAAAc,EAAAmZ,IACA7S,EAAA2S,SAAAV,EAAA,EAAAY,EAAA,QAIA,OACAlJ,IACAhB,IACAqJ,gBACAtrB,OACAurB,mDCtCA,IAAAa,EAAahxB,EAAQ,IACrBoiB,EAAapiB,EAAQ,IAErBL,EAAAD,QAAA,CACAsxB,SACA5O,4BCbA,SAAA7f,GAQA,SAAA0uB,EAAAC,GACAjuB,KAAAwB,OAAAysB,EAAAtsB,KACA3B,KAAAwtB,MAAAS,EAAAT,MACAxtB,KAAAytB,OAAAQ,EAAAR,OACAztB,KAAA6rB,WAAA7rB,KAAAwtB,MAAA,EACAxtB,KAAAkuB,QAAAluB,KAAAytB,QAAA,EAAAztB,KAAAwtB,MAAAxtB,KAAA6rB,YACA7rB,KAAAmuB,eAAA,GAEAnuB,KAAA2B,KAAA,GAEA3B,KAAAouB,KAAA,KACApuB,KAAAquB,SAAA,EACAruB,KAAAyD,OAAA,GACAzD,KAAAsuB,SAAAtuB,KAAAkuB,QAAAluB,KAAAyD,OACAzD,KAAAuuB,OAAA,EACAvuB,KAAAwuB,MAAA,GACAxuB,KAAAyuB,SAAA,EACAzuB,KAAA0uB,GAAA,EACA1uB,KAAA2uB,GAAA,EACA3uB,KAAA4uB,OAAA,EACA5uB,KAAA6uB,gBAAA,EAGAb,EAAAnvB,UAAAkvB,OAAA,WACA,IAAAe,EAAA,IAAAxvB,EAAAU,KAAAyD,OAAAzD,KAAAkuB,SACAluB,KAAAuH,IAAA,EACAunB,EAAA9tB,MAAAhB,KAAAouB,KAAApuB,KAAAuH,IAAA,GAAwCvH,KAAAuH,KAAA,EACxCunB,EAAAtjB,cAAAxL,KAAAsuB,SAAAtuB,KAAAuH,KAAkDvH,KAAAuH,KAAA,EAClDunB,EAAAtjB,cAAAxL,KAAAquB,SAAAruB,KAAAuH,KAAkDvH,KAAAuH,KAAA,EAClDunB,EAAAtjB,cAAAxL,KAAAyD,OAAAzD,KAAAuH,KAAgDvH,KAAAuH,KAAA,EAEhDunB,EAAAtjB,cAAAxL,KAAAmuB,eAAAnuB,KAAAuH,KAAwDvH,KAAAuH,KAAA,EACxDunB,EAAAtjB,cAAAxL,KAAAwtB,MAAAxtB,KAAAuH,KAA+CvH,KAAAuH,KAAA,EAC/CunB,EAAA7iB,cAAAjM,KAAAytB,OAAAztB,KAAAuH,KAAgDvH,KAAAuH,KAAA,EAChDunB,EAAAxjB,cAAAtL,KAAAuuB,OAAAvuB,KAAAuH,KAAgDvH,KAAAuH,KAAA,EAChDunB,EAAAxjB,cAAAtL,KAAAwuB,MAAAxuB,KAAAuH,KAA+CvH,KAAAuH,KAAA,EAC/CunB,EAAAtjB,cAAAxL,KAAAyuB,SAAAzuB,KAAAuH,KAAkDvH,KAAAuH,KAAA,EAClDunB,EAAAtjB,cAAAxL,KAAAkuB,QAAAluB,KAAAuH,KAAiDvH,KAAAuH,KAAA,EACjDunB,EAAAtjB,cAAAxL,KAAA0uB,GAAA1uB,KAAAuH,KAA4CvH,KAAAuH,KAAA,EAC5CunB,EAAAtjB,cAAAxL,KAAA2uB,GAAA3uB,KAAAuH,KAA4CvH,KAAAuH,KAAA,EAC5CunB,EAAAtjB,cAAAxL,KAAA4uB,OAAA5uB,KAAAuH,KAAgDvH,KAAAuH,KAAA,EAChDunB,EAAAtjB,cAAAxL,KAAA6uB,gBAAA7uB,KAAAuH,KAAyDvH,KAAAuH,KAAA,EAKzD,IAHA,IAAAtK,EAAA,EACA8xB,EAAA,EAAA/uB,KAAAwtB,MAAAxtB,KAAA6rB,WAEAzkB,EAAA,EAAgBA,EAAApH,KAAAytB,OAAgBrmB,IAAA,CAChC,QAAAD,EAAA,EAAiBA,EAAAnH,KAAAwtB,MAAgBrmB,IAAA,CACjC,IAAApI,EAAAiB,KAAAuH,IAAAH,EAAA2nB,EAAA,EAAA5nB,EACAlK,IACA6xB,EAAA/vB,GAAAiB,KAAAwB,OAAAvE,KACA6xB,EAAA/vB,EAAA,GAAAiB,KAAAwB,OAAAvE,KACA6xB,EAAA/vB,EAAA,GAAAiB,KAAAwB,OAAAvE,KAEA,GAAA+C,KAAA6rB,WAAA,GACA,IAAAmD,EAAAhvB,KAAAuH,IAAAH,EAAA2nB,EAAA,EAAA/uB,KAAAwtB,MACAsB,EAAAhoB,KAAA,EAAAkoB,IAAAhvB,KAAA6rB,aAIA,OAAAiD,GAGApyB,EAAAD,QAAA,SAAAwxB,EAAAgB,GAIA,YAHA,IAAAA,MAAA,KAGA,CACAttB,KAHA,IAAAqsB,EAAAC,GACAF,SAGAP,MAAAS,EAAAT,MACAC,OAAAQ,EAAAR,oDC9EA,SAAAnuB,GAOA,SAAA4vB,EAAA1tB,EAAA2tB,GAMA,GALAnvB,KAAAuH,IAAA,EACAvH,KAAAwB,SACAxB,KAAAmvB,kBACAnvB,KAAAovB,WAAA,EACApvB,KAAAouB,KAAApuB,KAAAwB,OAAAO,SAAA,UAAA/B,KAAAuH,KAAA,GACA,MAAAvH,KAAAouB,KAAA,UAAAnuB,MAAA,oBACAD,KAAAqvB,cACArvB,KAAAsvB,YAGAJ,EAAArwB,UAAAwwB,YAAA,WAiCA,GAhCArvB,KAAAsuB,SAAAtuB,KAAAwB,OAAA4I,aAAApK,KAAAuH,KACAvH,KAAAuH,KAAA,EACAvH,KAAAquB,SAAAruB,KAAAwB,OAAA4I,aAAApK,KAAAuH,KACAvH,KAAAuH,KAAA,EACAvH,KAAAyD,OAAAzD,KAAAwB,OAAA4I,aAAApK,KAAAuH,KACAvH,KAAAuH,KAAA,EACAvH,KAAAuvB,WAAAvvB,KAAAwB,OAAA4I,aAAApK,KAAAuH,KACAvH,KAAAuH,KAAA,EACAvH,KAAAwtB,MAAAxtB,KAAAwB,OAAA4I,aAAApK,KAAAuH,KACAvH,KAAAuH,KAAA,EACAvH,KAAAytB,OAAAztB,KAAAwB,OAAAoJ,YAAA5K,KAAAuH,KACAvH,KAAAuH,KAAA,EACAvH,KAAAuuB,OAAAvuB,KAAAwB,OAAA2I,aAAAnK,KAAAuH,KACAvH,KAAAuH,KAAA,EACAvH,KAAAwuB,MAAAxuB,KAAAwB,OAAA2I,aAAAnK,KAAAuH,KACAvH,KAAAuH,KAAA,EACAvH,KAAAyuB,SAAAzuB,KAAAwB,OAAA4I,aAAApK,KAAAuH,KACAvH,KAAAuH,KAAA,EACAvH,KAAAwvB,QAAAxvB,KAAAwB,OAAA4I,aAAApK,KAAAuH,KACAvH,KAAAuH,KAAA,EACAvH,KAAA0uB,GAAA1uB,KAAAwB,OAAA4I,aAAApK,KAAAuH,KACAvH,KAAAuH,KAAA,EACAvH,KAAA2uB,GAAA3uB,KAAAwB,OAAA4I,aAAApK,KAAAuH,KACAvH,KAAAuH,KAAA,EACAvH,KAAA4uB,OAAA5uB,KAAAwB,OAAA4I,aAAApK,KAAAuH,KACAvH,KAAAuH,KAAA,EACAvH,KAAA6uB,gBAAA7uB,KAAAwB,OAAA4I,aAAApK,KAAAuH,KACAvH,KAAAuH,KAAA,EAEA,KAAAvH,KAAAwuB,OAAAxuB,KAAAmvB,gBACAnvB,KAAAwuB,MAAA,IAEAxuB,KAAAwuB,MAAA,IACA,IAAAntB,EAAA,IAAArB,KAAA4uB,OAAA,GAAA5uB,KAAAwuB,MAAAxuB,KAAA4uB,OACA5uB,KAAAyvB,QAAA,IAAA5mB,MAAAxH,GACA,QAAApE,EAAA,EAAmBA,EAAAoE,EAASpE,IAAA,CAC5B,IAAAyyB,EAAA1vB,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAooB,EAAA3vB,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAqoB,EAAA5vB,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAsoB,EAAA7vB,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAvH,KAAAyvB,QAAAxyB,GAAA,CACA2yB,MACAD,QACAD,OACAG,SAIA7vB,KAAAytB,OAAA,IACAztB,KAAAytB,SAAA,EACAztB,KAAAovB,WAAA,IAKAF,EAAArwB,UAAAywB,UAAA,WACA,IAAAQ,EAAA,MAAA9vB,KAAAwuB,MACAntB,EAAArB,KAAAwtB,MAAAxtB,KAAAytB,OAAA,EACAztB,KAAA2B,KAAA,IAAArC,EAAA+B,GACArB,KAAA8vB,MAGAZ,EAAArwB,UAAAkxB,KAAA,WACA,IAAAC,EAAA5qB,KAAA6qB,KAAAjwB,KAAAwtB,MAAA,GACApvB,EAAA4xB,EAAA,EACA5oB,EAAApH,KAAAytB,QAAA,EAAAztB,KAAAytB,OAAA,GAAAztB,KAAAytB,OACA,IAAArmB,EAAApH,KAAAytB,OAAA,EAA+BrmB,GAAA,EAAQA,IAAA,CAEvC,IADA,IAAAqa,EAAAzhB,KAAAovB,UAAAhoB,EAAApH,KAAAytB,OAAA,EAAArmB,EACAD,EAAA,EAAmBA,EAAA6oB,EAAU7oB,IAG7B,IAFA,IAAA7E,EAAAtC,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAuZ,EAAAW,EAAAzhB,KAAAwtB,MAAA,IAAArmB,EAAA,EACAlK,EAAA,EAAqBA,EAAA,GACrB,EAAAkK,EAAAlK,EAAA+C,KAAAwtB,MAD4BvwB,IAAA,CAE5B,IAAAizB,EAAAlwB,KAAAyvB,QAAAntB,GAAA,EAAArF,EAAA,GAEA+C,KAAA2B,KAAAmf,EAAA,EAAA7jB,GAAA,EACA+C,KAAA2B,KAAAmf,EAAA,EAAA7jB,EAAA,GAAAizB,EAAAR,KACA1vB,KAAA2B,KAAAmf,EAAA,EAAA7jB,EAAA,GAAAizB,EAAAP,MACA3vB,KAAA2B,KAAAmf,EAAA,EAAA7jB,EAAA,GAAAizB,EAAAN,IAQA,GAAAxxB,IACA4B,KAAAuH,KAAA,EAAAnJ,KAKA8wB,EAAArwB,UAAAsxB,KAAA,WAEA,MAAAnwB,KAAAyuB,SAAA,CACAzuB,KAAA2B,KAAAmF,KAAA,KAMA,IAJA,IAAAga,EAAA,EACAsP,EAAApwB,KAAAovB,UAAApvB,KAAAytB,OAAA,IACA4C,GAAA,EAEAvP,EAAA9gB,KAAA2B,KAAAjC,QAAA,CACA,IAAAwH,EAAAlH,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAjF,EAAAtC,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OAEA,MAAAL,EAAA,CACA,MAAA5E,EAAA,CACAtC,KAAAovB,UACAgB,IAEAA,IAEAtP,EAAAsP,EAAApwB,KAAAwtB,MAAA,EACA6C,GAAA,EACA,SACiB,MAAA/tB,EACjB,MACiB,MAAAA,EAAA,CAEjB,IAAA6E,EAAAnH,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAH,EAAApH,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAvH,KAAAovB,UACAgB,GAAAhpB,EAEAgpB,GAAAhpB,EAGA0Z,GAAA1Z,EAAApH,KAAAwtB,MAAA,IAAArmB,MACiB,CAEjB,IADA,IAAA7J,EAAA0C,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAtK,EAAA,EAAgCA,EAAAqF,EAAIrF,IACpCozB,EACAC,EAAAlzB,KAAA4C,KAAA,GAAA1C,GAEAgzB,EAAAlzB,KAAA4C,MAAA,IAAA1C,IAAA,GAGA,EAAAL,KAAA,EAAAqF,IACAhF,EAAA0C,KAAAwB,OAAA0I,UAAAlK,KAAAuH,QAGA8oB,KAGA,IAAA/tB,EAAA,SACAtC,KAAAuH,YAKA,IAAAtK,EAAA,EAA+BA,EAAAiK,EAAOjK,IACtCozB,EACAC,EAAAlzB,KAAA4C,KAAA,GAAAsC,GAEAguB,EAAAlzB,KAAA4C,MAAA,IAAAsC,IAAA,GAEA+tB,KASA,SAAAC,EAAAC,GACA,IAAAL,EAAAlwB,KAAAyvB,QAAAc,GACAvwB,KAAA2B,KAAAmf,GAAA,EACA9gB,KAAA2B,KAAAmf,EAAA,GAAAoP,EAAAR,KACA1vB,KAAA2B,KAAAmf,EAAA,GAAAoP,EAAAP,MACA3vB,KAAA2B,KAAAmf,EAAA,GAAAoP,EAAAN,IACA9O,GAAA,OAIA,KAAAkP,EAAA5qB,KAAA6qB,KAAAjwB,KAAAwtB,MAAA,GACApvB,EAAA4xB,EAAA,EACA,IAAA5oB,EAAApH,KAAAytB,OAAA,EAAmCrmB,GAAA,EAAQA,IAAA,CAC3C,IAAAqa,EAAAzhB,KAAAovB,UAAAhoB,EAAApH,KAAAytB,OAAA,EAAArmB,EACA,IAAAD,EAAA,EAAuBA,EAAA6oB,EAAU7oB,IAAA,CACjC7E,EAAAtC,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAuZ,EAAAW,EAAAzhB,KAAAwtB,MAAA,IAAArmB,EAAA,EADA,IAGAqpB,EAAAluB,GAAA,EACAmuB,EAAA,GAAAnuB,EAEA4tB,EAAAlwB,KAAAyvB,QAAAe,GAOA,GANAxwB,KAAA2B,KAAAmf,GAAA,EACA9gB,KAAA2B,KAAAmf,EAAA,GAAAoP,EAAAR,KACA1vB,KAAA2B,KAAAmf,EAAA,GAAAoP,EAAAP,MACA3vB,KAAA2B,KAAAmf,EAAA,GAAAoP,EAAAN,IAGA,EAAAzoB,EAAA,GAAAnH,KAAAwtB,MAAA,MAEA0C,EAAAlwB,KAAAyvB,QAAAgB,GAEAzwB,KAAA2B,KAAAmf,EAAA,KACA9gB,KAAA2B,KAAAmf,EAAA,KAAAoP,EAAAR,KACA1vB,KAAA2B,KAAAmf,EAAA,KAAAoP,EAAAP,MACA3vB,KAAA2B,KAAAmf,EAAA,KAAAoP,EAAAN,IAIA,GAAAxxB,IACA4B,KAAAuH,KAAA,EAAAnJ,MAQA8wB,EAAArwB,UAAA6xB,KAAA,WAEA,MAAA1wB,KAAAyuB,SAAA,CACAzuB,KAAA2B,KAAAmF,KAAA,KAKA,IAHA,IAAAga,EAAA,EACAsP,EAAApwB,KAAAovB,UAAApvB,KAAAytB,OAAA,IAEA3M,EAAA9gB,KAAA2B,KAAAjC,QAAA,CACA,IAAAwH,EAAAlH,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAjF,EAAAtC,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OAEA,MAAAL,EAAA,CACA,MAAA5E,EAAA,CACAtC,KAAAovB,UACAgB,IAEAA,IAEAtP,EAAAsP,EAAApwB,KAAAwtB,MAAA,EACA,SACiB,MAAAlrB,EACjB,MACiB,MAAAA,EAAA,CAEjB,IAAA6E,EAAAnH,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAH,EAAApH,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAvH,KAAAovB,UACAgB,GAAAhpB,EAEAgpB,GAAAhpB,EAGA0Z,GAAA1Z,EAAApH,KAAAwtB,MAAA,IAAArmB,MACiB,CACjB,QAAAlK,EAAA,EAAgCA,EAAAqF,EAAIrF,IAAA,CACpC,IAAAK,EAAA0C,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACA+oB,EAAAlzB,KAAA4C,KAAA1C,IAEA,EAAAgF,GACAtC,KAAAuH,YAMA,IAAAtK,EAAA,EAA+BA,EAAAiK,EAAOjK,IACtCqzB,EAAAlzB,KAAA4C,KAAAsC,GASA,SAAAguB,EAAAC,GACA,IAAAL,EAAAlwB,KAAAyvB,QAAAc,GACAvwB,KAAA2B,KAAAmf,GAAA,EACA9gB,KAAA2B,KAAAmf,EAAA,GAAAoP,EAAAR,KACA1vB,KAAA2B,KAAAmf,EAAA,GAAAoP,EAAAP,MACA3vB,KAAA2B,KAAAmf,EAAA,GAAAoP,EAAAN,IACA9O,GAAA,OAGA,KAAA1iB,EAAA4B,KAAAwtB,MAAA,EACA,IAAApmB,EAAApH,KAAAytB,OAAA,EAAqCrmB,GAAA,EAAQA,IAAA,CAC7C,IAAAqa,EAAAzhB,KAAAovB,UAAAhoB,EAAApH,KAAAytB,OAAA,EAAArmB,EACA,IAAAD,EAAA,EAA2BA,EAAAnH,KAAAwtB,MAAgBrmB,IAAA,CAC3C7E,EAAAtC,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAuZ,EAAAW,EAAAzhB,KAAAwtB,MAAA,IAAArmB,EACA,GAAA7E,EAAAtC,KAAAyvB,QAAA/vB,OAAA,CACA,IAAAwwB,EAAAlwB,KAAAyvB,QAAAntB,GAEAtC,KAAA2B,KAAAmf,GAAA,EACA9gB,KAAA2B,KAAAmf,EAAA,GAAAoP,EAAAR,KACA1vB,KAAA2B,KAAAmf,EAAA,GAAAoP,EAAAP,MACA3vB,KAAA2B,KAAAmf,EAAA,GAAAoP,EAAAN,SAGA5vB,KAAA2B,KAAAmf,GAAA,EACA9gB,KAAA2B,KAAAmf,EAAA,OACA9gB,KAAA2B,KAAAmf,EAAA,OACA9gB,KAAA2B,KAAAmf,EAAA,OAGA,GAAA1iB,IACA4B,KAAAuH,KAAA,EAAAnJ,MAMA8wB,EAAArwB,UAAA8xB,MAAA,WAGA,IAFA,IAAAC,EAAA5wB,KAAAwtB,MAAA,EACAqD,EAAA/sB,SAAA,WACAsD,EAAApH,KAAAytB,OAAA,EAA+BrmB,GAAA,EAAQA,IAAA,CAEvC,IADA,IAAAqa,EAAAzhB,KAAAovB,UAAAhoB,EAAApH,KAAAytB,OAAA,EAAArmB,EACAD,EAAA,EAAmBA,EAAAnH,KAAAwtB,MAAgBrmB,IAAA,CAEnC,IAAAsb,EAAAziB,KAAAwB,OAAA2I,aAAAnK,KAAAuH,KACAvH,KAAAuH,KAAA,EACA,IAAAmoB,GAAAjN,EAAAoO,KAAA,MACAlB,GAAAlN,GAAA,EAAAoO,KAAA,MACAjB,GAAAnN,GAAA,GAAAoO,KAAA,MACAC,EAAArO,GAAA,SAEA3B,EAAAW,EAAAzhB,KAAAwtB,MAAA,IAAArmB,EAEAnH,KAAA2B,KAAAmf,GAAAgQ,EACA9wB,KAAA2B,KAAAmf,EAAA,GAAA4O,EACA1vB,KAAA2B,KAAAmf,EAAA,GAAA6O,EACA3vB,KAAA2B,KAAAmf,EAAA,GAAA8O,EAGA5vB,KAAAuH,KAAAqpB,IAIA1B,EAAArwB,UAAAkyB,MAAA,WACA,IAAAH,EAAA5wB,KAAAwtB,MAAA,IAEAxtB,KAAAgxB,QAAA,MACAhxB,KAAAixB,UAAA,IACAjxB,KAAAkxB,SAAA,GACAlxB,KAAAmxB,MAAA,EAEA,GAAAnxB,KAAAyuB,WACAzuB,KAAAgxB,QAAAhxB,KAAAwB,OAAA4I,aAAApK,KAAAuH,KACAvH,KAAAuH,KAAA,EACAvH,KAAAixB,UAAAjxB,KAAAwB,OAAA4I,aAAApK,KAAAuH,KACAvH,KAAAuH,KAAA,EACAvH,KAAAkxB,SAAAlxB,KAAAwB,OAAA4I,aAAApK,KAAAuH,KACAvH,KAAAuH,KAAA,EACAvH,KAAAmxB,MAAAnxB,KAAAwB,OAAA4I,aAAApK,KAAAuH,KACAvH,KAAAuH,KAAA,GAKA,IADA,IAAAjJ,EAAA,QACArB,EAAA,EAAeA,EAAA,GAAKA,IACpB+C,KAAAgxB,SAAA/zB,EAAA,GAAAqB,EAAA,KACA0B,KAAAixB,WAAAh0B,EAAA,GAAAqB,EAAA,KACA0B,KAAAkxB,UAAAj0B,EAAA,GAAAqB,EAAA,KAEAA,EAAA,IAAAA,EAAA,GAAeA,EAAA,IAAAA,EAAA,GAAcA,EAAA,KAAAA,EAAA,GAAeA,EAAA,MAAUA,EAAA,MAEtD,QAAA8I,EAAApH,KAAAytB,OAAA,EAA+BrmB,GAAA,EAAQA,IAAA,CAEvC,IADA,IAAAqa,EAAAzhB,KAAAovB,UAAAhoB,EAAApH,KAAAytB,OAAA,EAAArmB,EACAD,EAAA,EAAmBA,EAAAnH,KAAAwtB,MAAgBrmB,IAAA,CAEnC,IAAAsb,EAAAziB,KAAAwB,OAAA2I,aAAAnK,KAAAuH,KACAvH,KAAAuH,KAAA,EAEA,IAAAmoB,GAAAjN,EAAAziB,KAAAkxB,WAAA5yB,EAAA,GACAqxB,GAAAlN,EAAAziB,KAAAixB,YAAA3yB,EAAA,GACAsxB,GAAAnN,EAAAziB,KAAAgxB,UAAA1yB,EAAA,GAEAwiB,EAAAW,EAAAzhB,KAAAwtB,MAAA,IAAArmB,EAEAnH,KAAA2B,KAAAmf,GAAA,EACA9gB,KAAA2B,KAAAmf,EAAA,GAAA4O,EACA1vB,KAAA2B,KAAAmf,EAAA,GAAA6O,EACA3vB,KAAA2B,KAAAmf,EAAA,GAAA8O,EAGA5vB,KAAAuH,KAAAqpB,IAIA1B,EAAArwB,UAAAuyB,MAAA,WACA,QAAAhqB,EAAApH,KAAAytB,OAAA,EAA+BrmB,GAAA,EAAQA,IAAA,CAEvC,IADA,IAAAqa,EAAAzhB,KAAAovB,UAAAhoB,EAAApH,KAAAytB,OAAA,EAAArmB,EACAD,EAAA,EAAmBA,EAAAnH,KAAAwtB,MAAgBrmB,IAAA,CAEnC,IAAAuoB,EAAA1vB,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAooB,EAAA3vB,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAqoB,EAAA5vB,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAuZ,EAAAW,EAAAzhB,KAAAwtB,MAAA,IAAArmB,EACAnH,KAAA2B,KAAAmf,GAAA,EACA9gB,KAAA2B,KAAAmf,EAAA,GAAA4O,EACA1vB,KAAA2B,KAAAmf,EAAA,GAAA6O,EACA3vB,KAAA2B,KAAAmf,EAAA,GAAA8O,EAGA5vB,KAAAuH,KAAAvH,KAAAwtB,MAAA,IASA0B,EAAArwB,UAAAwyB,MAAA,WAEA,MAAArxB,KAAAyuB,SAAA,CACAzuB,KAAAgxB,QAAAhxB,KAAAwB,OAAA4I,aAAApK,KAAAuH,KACAvH,KAAAuH,KAAA,EACAvH,KAAAixB,UAAAjxB,KAAAwB,OAAA4I,aAAApK,KAAAuH,KACAvH,KAAAuH,KAAA,EACAvH,KAAAkxB,SAAAlxB,KAAAwB,OAAA4I,aAAApK,KAAAuH,KACAvH,KAAAuH,KAAA,EACAvH,KAAAmxB,MAAAnxB,KAAAwB,OAAA4I,aAAApK,KAAAuH,KACAvH,KAAAuH,KAAA,EACA,QAAAH,EAAApH,KAAAytB,OAAA,EAAmCrmB,GAAA,EAAQA,IAE3C,IADA,IAAAqa,EAAAzhB,KAAAovB,UAAAhoB,EAAApH,KAAAytB,OAAA,EAAArmB,EACAD,EAAA,EAAyBA,EAAAnH,KAAAwtB,MAAgBrmB,IAAA,CAEzC,IAAA2pB,EAAA9wB,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAmoB,EAAA1vB,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAooB,EAAA3vB,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAqoB,EAAA5vB,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAuZ,EAAAW,EAAAzhB,KAAAwtB,MAAA,IAAArmB,EACAnH,KAAA2B,KAAAmf,GAAAgQ,EACA9wB,KAAA2B,KAAAmf,EAAA,GAAA4O,EACA1vB,KAAA2B,KAAAmf,EAAA,GAAA6O,EACA3vB,KAAA2B,KAAAmf,EAAA,GAAA8O,QAKA,IAAAxoB,EAAApH,KAAAytB,OAAA,EAAmCrmB,GAAA,EAAQA,IAE3C,IADAqa,EAAAzhB,KAAAovB,UAAAhoB,EAAApH,KAAAytB,OAAA,EAAArmB,EACAD,EAAA,EAAyBA,EAAAnH,KAAAwtB,MAAgBrmB,IAAA,CAEzCuoB,EAAA1vB,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAooB,EAAA3vB,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAqoB,EAAA5vB,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAupB,EAAA9wB,KAAAwB,OAAA0I,UAAAlK,KAAAuH,OACAuZ,EAAAW,EAAAzhB,KAAAwtB,MAAA,IAAArmB,EACAnH,KAAA2B,KAAAmf,GAAAgQ,EACA9wB,KAAA2B,KAAAmf,EAAA,GAAA4O,EACA1vB,KAAA2B,KAAAmf,EAAA,GAAA6O,EACA3vB,KAAA2B,KAAAmf,EAAA,GAAA8O,IAWAV,EAAArwB,UAAAyyB,QAAA,WACA,OAAAtxB,KAAA2B,MAGAjF,EAAAD,QAAA,SAAA80B,GAEA,OADA,IAAArC,EAAAqC,4DCleA,SAAAjyB,GACA,MAAAkyB,EAAAxyB,GAAA,IAAAA,GAAA6U,IAAAvW,KAAAgH,WAAA,IACAmtB,EAAAD,EAAA,wBACAE,EAAAF,EAAA,uBACAG,EAAAH,EAAA,eAEA,SAAAI,EAAAzuB,EAAAM,EAAA,GACA,IAAA/E,EAAAyE,EAAAM,GACAuG,EAAA,EACA/M,EAAA,EACA,OAAAA,EAAA,GACA+M,GAAA,IACAtL,GAAAyE,EAAAM,EAAAxG,GAAA+M,EAEA,OAAAtL,EAGAhC,EAAAD,QAAAmjB,KACA,KAAAA,aAAAhgB,YAAAN,EAAA8B,SAAAwe,IACA,UAAAxf,sGAA2Gwf,OAG3G,MAAAzc,EAAAyc,aAAAhgB,WAAAggB,EAAA,IAAAhgB,WAAAggB,GAEA,KAAAzc,KAAAzD,OAAA,GACA,YAGA,MAAAsW,EAAA,CAAAwH,EAAA7B,KACAA,EAAAhe,OAAAk0B,OAAA,CACApuB,OAAA,GACGkY,GAEH,QAAA1e,EAAA,EAAiBA,EAAAugB,EAAA9d,OAAmBzC,IAEpC,GAAA0e,EAAAmW,MAEA,GAAAtU,EAAAvgB,MAAA0e,EAAAmW,KAAA70B,GAAAkG,EAAAlG,EAAA0e,EAAAlY,SACA,cAEI,GAAA+Z,EAAAvgB,KAAAkG,EAAAlG,EAAA0e,EAAAlY,QACJ,SAIA,UAGAsuB,EAAA,CAAAvU,EAAA7B,IAAA3F,EAAAwb,EAAAhU,GAAA7B,GAEA,GAAA3F,EAAA,eACA,OACA5M,IAAA,MACA+jB,KAAA,cAIA,GAAAnX,EAAA,4BACA,OACA5M,IAAA,MACA+jB,KAAA,aAIA,GAAAnX,EAAA,YACA,OACA5M,IAAA,MACA+jB,KAAA,aAIA,GAAAnX,EAAA,eAAsCvS,OAAA,IACtC,OACA2F,IAAA,OACA+jB,KAAA,cAIA,GAAAnX,EAAA,eACA,OACA5M,IAAA,OACA+jB,KAAA,cAKA,IACAnX,EAAA,eAAAA,EAAA,gBACAA,EAAA,SAAuBvS,OAAA,IAEvB,OACA2F,IAAA,MACA+jB,KAAA,qBAIA,GACAnX,EAAA,eACAA,EAAA,cAEA,OACA5M,IAAA,MACA+jB,KAAA,cAIA,GAAAnX,EAAA,SACA,OACA5M,IAAA,MACA+jB,KAAA,aAIA,GAAAnX,EAAA,aACA,OACA5M,IAAA,MACA+jB,KAAA,sBAIA,GAAAnX,EAAA,eACA,OACA5M,IAAA,MACA+jB,KAAA,6BAMA,GAAAnX,EAAA,cACA,GACAA,EAAA,6GAAoLvS,OAAA,KAEpL,OACA2F,IAAA,OACA+jB,KAAA,wBAKA,GAAAnX,EAAAyb,EAAA,CAA6BhuB,OAAA,KAC7B,OACA2F,IAAA,MACA+jB,KAAA,2BAIA,GAAA4E,EAAA,mDAAsEtuB,OAAA,KACtE,OACA2F,IAAA,MACA+jB,KAAA,2CAIA,GAAA4E,EAAA,0DAA6EtuB,OAAA,KAC7E,OACA2F,IAAA,MACA+jB,KAAA,kDAIA,GAAA4E,EAAA,2DAA8EtuB,OAAA,KAC9E,OACA2F,IAAA,MACA+jB,KAAA,mDAUA,MAAA6E,EAAA,CAAAnvB,EAAAovB,EAAA,IAAApvB,EAAAqvB,UAAA,CAAAC,EAAAl1B,EAAA4F,IAAA5F,GAAAg1B,GAAA,KAAApvB,EAAA5F,IAAA,KAAA4F,EAAA5F,EAAA,QAAA4F,EAAA5F,EAAA,QAAA4F,EAAA5F,EAAA,IAEA,IAAAm1B,EAAA,EACAC,GAAA,EACA3wB,EAAA,KAEA,GACA,MAAA+B,EAAA2uB,EAAA,GAyBA,GAvBAC,IACAA,EAAArc,EAAA0b,EAAA,CAA0CjuB,YAAOuS,EAAA2b,EAAA,CAAsBluB,YAGvE/B,IACAqwB,EAAA,SAA8BtuB,WAC9B/B,EAAA,CACA0H,IAAA,OACA+jB,KAAA,2EAEK4E,EAAA,QAA+BtuB,WACpC/B,EAAA,CACA0H,IAAA,OACA+jB,KAAA,6EAEK4E,EAAA,OAA8BtuB,aACnC/B,EAAA,CACA0H,IAAA,OACA+jB,KAAA,uEAKAkF,GAAA3wB,EACA,OAAAA,EAGA0wB,EAAAJ,EAAA7uB,EAAAM,SACG2uB,GAAA,GAGH,GAAA1wB,EACA,OAAAA,EAIA,GACAsU,EAAA,WACA,IAAA7S,EAAA,QAAAA,EAAA,QAAAA,EAAA,MACA,IAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,IAEA,OACAiG,IAAA,MACA+jB,KAAA,mBAIA,GAAAnX,EAAA,sBAA4CvS,OAAA,MAC5C,OACA2F,IAAA,MACA+jB,KAAA,qBAIA,GACAnX,EAAA,uBACA,IAAA7S,EAAA,QAAAA,EAAA,IAEA,OACAiG,IAAA,MACA+jB,KAAA,gCAIA,GAAAnX,EAAA,YACA,OACA5M,IAAA,KACA+jB,KAAA,oBAIA,GAAAnX,EAAA,aACA,OACA5M,IAAA,MACA+jB,KAAA,uBAIA,GAAAnX,EAAA,wBACA,OACA5M,IAAA,KACA+jB,KAAA,+BAIA,GAAAnX,EAAA,SACA,OACA5M,IAAA,MACA+jB,KAAA,iCAIA,GAAAnX,EAAA,kBAEAA,EAAA,UAAAA,EAAA,mBAA8DvS,OAAA,MAE9DuS,EAAA,iBAAsCvS,OAAA,KACtCuS,EAAA,iBAAsCvS,OAAA,KACtCuS,EAAA,mBAAsCvS,OAAA,KACtCuS,EAAA,kBAAsCvS,OAAA,KACtCuS,EAAA,kBAAsCvS,OAAA,KACtCuS,EAAA,YAAgCvS,OAAA,KAChCuS,EAAA,kBAAsCvS,OAAA,KAGtC,OACA2F,IAAA,MACA+jB,KAAA,aAIA,GAAAnX,EAAA,iBACA,OACA5M,IAAA,MACA+jB,KAAA,cAKA,GAAAnX,EAAA,kBACA,MAAAsc,EAAAnvB,EAAAoD,SAAA,QACAgsB,EAAAD,EAAAJ,UAAA,CAAAC,EAAAl1B,EAAA4F,IAAA,KAAAA,EAAA5F,IAAA,MAAA4F,EAAA5F,EAAA,IAEA,QAAAs1B,EAAA,CACA,MAAAC,EAAAD,EAAA,EACAE,EAAA/wB,GAAA,IAAAA,GAAAgxB,MAAA,CAAAp1B,EAAAL,IAAAq1B,EAAAE,EAAAv1B,KAAAK,EAAAgH,WAAA,IAEA,GAAAmuB,EAAA,YACA,OACArpB,IAAA,MACA+jB,KAAA,oBAIA,GAAAsF,EAAA,QACA,OACArpB,IAAA,OACA+jB,KAAA,eAMA,GAAAnX,EAAA,2CACAA,EAAA,mBAAmCvS,OAAA,KACnCuS,EAAA,iCAA2DvS,OAAA,KAC3DuS,EAAA,kBAAmCvS,OAAA,KACnCuS,EAAA,mBAAmCvS,OAAA,KACnCuS,EAAA,mBAAmCvS,OAAA,IACnC,OACA2F,IAAA,MACA+jB,KAAA,mBAKA,GAAAnX,EAAA,gBACA,GAAAA,EAAA,YAAiCvS,OAAA,IACjC,OACA2F,IAAA,MACA+jB,KAAA,iBAGA,GAAAnX,EAAA,eAAuCvS,OAAA,IACvC,OACA2F,IAAA,MACA+jB,KAAA,kBAIA,GAAAnX,EAAA,eAAuCvS,OAAA,IACvC,OACA2F,IAAA,MACA+jB,KAAA,eAMA,GAAAnX,EAAA,yCAGA,IAAAvS,EAAA,GACA,GACA,MAAAkvB,EAAAf,EAAAzuB,EAAAM,EAAA,IACA,GAAAuS,EAAA,2DAAgHvS,WAAO,CAEvH,GAAAuS,EAAA,yDAAiHvS,SAAA,KAEjH,OACA2F,IAAA,MACA+jB,KAAA,kBAIA,GAAAnX,EAAA,yDAAiHvS,SAAA,KAEjH,OACA2F,IAAA,MACA+jB,KAAA,kBAIA,MAEA1pB,GAAAkvB,QACGlvB,EAAA,IAAAN,EAAAzD,QAGH,OACA0J,IAAA,MACA+jB,KAAA,0BAIA,GACAnX,EAAA,cACAA,EAAA,aAEA,OACA5M,IAAA,MACA+jB,KAAA,cAIA,GAAAnX,EAAA,0BAAkDvS,OAAA,IAClD,OACA2F,IAAA,MACA+jB,KAAA,cAKA,QAAAnoB,EAAA,EAAoBA,EAAA,GAAAA,EAAA7B,EAAAzD,OAAA,GAAwCsF,IAAA,CAC5D,GACAgR,EAAA,YAA8BvS,OAAAuB,KAC9BgR,EAAA,WAAwBvS,OAAAuB,EAAA8sB,KAAA,YAExB,OACA1oB,IAAA,MACA+jB,KAAA,cAIA,GACAnX,EAAA,WAAwBvS,OAAAuB,EAAA8sB,KAAA,YAExB,OACA1oB,IAAA,MACA+jB,KAAA,cAIA,GACAnX,EAAA,WAAwBvS,OAAAuB,EAAA8sB,KAAA,YAExB,OACA1oB,IAAA,MACA+jB,KAAA,cAIA,GACAnX,EAAA,WAAwBvS,OAAAuB,EAAA8sB,KAAA,YAExB,OACA1oB,IAAA,MACA+jB,KAAA,cAKA,GACAnX,EAAA,4BAAqDvS,OAAA,KACrDuS,EAAA,eAEA,OACA5M,IAAA,MACA+jB,KAAA,aAKA,GAAAnX,EAAA,gCAA8DvS,OAAA,KAC9D,OACA2F,IAAA,OACA+jB,KAAA,cAKA,GAAAnX,EAAA,iBAIA,OAAAA,EAAA,8BAAyDvS,OAAA,KACzD,CACA2F,IAAA,MACA+jB,KAAA,aAIAnX,EAAA,2BAAyDvS,OAAA,KACzD,CACA2F,IAAA,MACA+jB,KAAA,aAIAnX,EAAA,mBAA6CvS,OAAA,KAC7C,CACA2F,IAAA,MACA+jB,KAAA,aAKAnX,EAAA,4BAAyDvS,OAAA,KACzD,CACA2F,IAAA,MACA+jB,KAAA,aAKAnX,EAAA,4BAAyDvS,OAAA,KACzD,CACA2F,IAAA,MACA+jB,KAAA,aAKA,CACA/jB,IAAA,MACA+jB,KAAA,mBAIA,GAAAnX,EAAA,gBACA,OACA5M,IAAA,OACA+jB,KAAA,gBAIA,GAAAnX,EAAA,eACA,OACA5M,IAAA,MACA+jB,KAAA,aAIA,GAAAnX,EAAA,mBACA,OACA5M,IAAA,KACA+jB,KAAA,iBAIA,GAAAnX,EAAA,qBACA,OACA5M,IAAA,MACA+jB,KAAA,aAIA,GAAAnX,EAAA,eACA,OACA5M,IAAA,MACA+jB,KAAA,mBAIA,GAAAnX,EAAA,SACA,OACA5M,IAAA,MACA+jB,KAAA,4BAIA,IACA,KAAAhqB,EAAA,SAAAA,EAAA,KACA6S,EAAA,SAAuBvS,OAAA,IAEvB,OACA2F,IAAA,MACA+jB,KAAA,iCAIA,GAAAnX,EAAA,sBACA,OACA5M,IAAA,MACA+jB,KAAA,mBAIA,GAAAnX,EAAA,gBACA,OACA5M,IAAA,OACA+jB,KAAA,oBAIA,GACAnX,EAAA,kBAEAA,EAAA,WAAoCvS,OAAA,KACpCuS,EAAA,eAAoCvS,OAAA,KAGpC,OACA2F,IAAA,OACA+jB,KAAA,aAIA,GACAnX,EAAA,kBAEAA,EAAA,WAAoCvS,OAAA,KACpCuS,EAAA,eAAoCvS,OAAA,KAGpC,OACA2F,IAAA,QACA+jB,KAAA,cAIA,GACAnX,EAAA,SAAuBvS,OAAA,OAEvBuS,EAAA,SAA8BvS,OAAA,KAC9BuS,EAAA,SAA8BvS,OAAA,KAC9BuS,EAAA,SAA8BvS,OAAA,KAG9B,OACA2F,IAAA,MACA+jB,KAAA,iCAIA,GAAAnX,EAAA,aACA,OACA5M,IAAA,MACA+jB,KAAA,YAIA,GAAAnX,EAAA,iBACA,OACA5M,IAAA,MACA+jB,KAAA,YAIA,GAAAnX,EAAA,WACA,OACA5M,IAAA,MACA+jB,KAAA,gBAIA,GAAAnX,EAAA,WACA,OACA5M,IAAA,MACA+jB,KAAA,gBAIA,GAAAnX,EAAA,cACA,OACA5M,IAAA,MACA+jB,KAAA,eAIA,GAAAnX,EAAA,SACA,OACA5M,IAAA,KACA+jB,KAAA,0BAIA,GAAAnX,EAAA,sBACA,OACA5M,IAAA,KACA+jB,KAAA,oBAIA,GAAAnX,EAAA,gBACA,OACA5M,IAAA,SACA+jB,KAAA,yBAIA,GAAAnX,EAAA,eACA,OACA5M,IAAA,MACA+jB,KAAA,kCAIA,GAAAnX,EAAA,gBACA,OACA5M,IAAA,MACA+jB,KAAA,yCAIA,GACAnX,EAAA,gBACAA,EAAA,eAEA,OACA5M,IAAA,MACA+jB,KAAA,qCAKA,GAAAnX,EAAA,4EACA,OACA5M,IAAA,MACA+jB,KAAA,qBAIA,GAAAnX,EAAA,0BACA,OACA5M,IAAA,KACA+jB,KAAA,8BAIA,GAAAnX,EAAA,mBACA,OACA5M,IAAA,MACA+jB,KAAA,qBAIA,GACAnX,EAAA,WACAA,EAAA,UAEA,OACA5M,IAAA,IACA+jB,KAAA,0BAIA,GAAAnX,EAAA,eACA,OACA5M,IAAA,KACA+jB,KAAA,sBAIA,GAAAnX,EAAA,iCACA,OACA5M,IAAA,MACA+jB,KAAA,qBAIA,GAAAnX,EAAA,mCACA,OACA5M,IAAA,MACA+jB,KAAA,mBAIA,GAAAnX,EAAA,MAAoBvS,OAAA,MAAUuS,EAAA,MAAqBvS,OAAA,OAAYuS,EAAA,MAAoBvS,OAAA,OACnF,OACA2F,IAAA,MACA+jB,KAAA,cAIA,GAAAnX,EAAA,wBACA,OACA5M,IAAA,QACA+jB,KAAA,yBAIA,GAAAnX,EAAA,gBACA,OACA5M,IAAA,MACA+jB,KAAA,aAIA,GAAAnX,EAAA,uCAGA,GAAAA,EAAA,iBAAuCvS,OAAA,KACvC,OACA2F,IAAA,MACA+jB,KAAA,aAIA,GAAAnX,EAAA,kBAAuCvS,OAAA,KACvC,OACA2F,IAAA,MACA+jB,KAAA,aAIA,GAAAnX,EAAA,kBAAuCvS,OAAA,KACvC,OACA2F,IAAA,MACA+jB,KAAA,aAIA,GAAAnX,EAAA,kBAAuCvS,OAAA,KACvC,OACA2F,IAAA,MACA+jB,KAAA,aAKA,GAAAnX,EAAA,iBACA,OACA5M,IAAA,MACA+jB,KAAA,cAIA,GAAA4E,EAAA,UACA,OACA3oB,IAAA,MACA+jB,KAAA,mBAIA,GAAAnX,EAAA,2BAA8DvS,OAAA,KAC9D,OACA2F,IAAA,OACA+jB,KAAA,kCAKA,GAAAnX,EAAA,mBAAsCvS,OAAA,IAAU,CAChD,GAAAuS,EAAA,kBAAuCvS,OAAA,IACvC,OACA2F,IAAA,OACA+jB,KAAA,cAIA,GAAAnX,EAAA,kBAAuCvS,OAAA,IACvC,OACA2F,IAAA,OACA+jB,KAAA,uBAIA,GAAAnX,EAAA,kBAAuCvS,OAAA,KAAUuS,EAAA,mBAAsCvS,OAAA,IACvF,OACA2F,IAAA,OACA+jB,KAAA,cAIA,GAAAnX,EAAA,kBAAuCvS,OAAA,KAAUuS,EAAA,mBAAsCvS,OAAA,IACvF,OACA2F,IAAA,OACA+jB,KAAA,uBAKA,OAAAnX,EAAA,yCACA,CACA5M,IAAA,MACA+jB,KAAA,aAIAnX,EAAA,eAAsCvS,OAAA,MACtC,CACA2F,IAAA,MACA+jB,KAAA,qBAKAnX,EAAA,YACA,CACA5M,IAAA,MACA+jB,KAAA,oBAKAnX,EAAA,eACA,CACA5M,IAAA,MACA+jB,KAAA,oBAIA,OAGAxvB,OAAAC,eAAAlB,EAAAD,QAAA,gBAAuDyB,MAAA,iDC13BvD,MAAA8X,EAAcjZ,EAAQ,GACtB61B,EAAgB71B,EAAQ,GACxB81B,EAAoB91B,EAAQ,IAC5B+1B,EAAqB/1B,EAAQ,IAgL7BL,EAAAD,QAxKA,MA0BA2c,YAAAuC,EAAA,IACA3b,KAAAwW,OAAA,KACAxW,KAAA2b,QAAA,IACAiX,EAAA1c,kBACAyF,GAEA3b,KAAA+yB,YAAA,KACA/yB,KAAAgzB,OAAA,GAcA5Z,UAAA/B,EAAAgE,EAAA,MAAA4X,EAAA,IACA,OAAAjzB,KAAAkzB,SAAA,YAAA7b,EAAAgE,EAAA4X,GAaA7Z,OAAA/B,EAAA4b,EAAA,IACA,OAAAjzB,KAAAkzB,SAAA,SAAA7b,EAAA,MAAA4b,GAWA7Z,KAAAhC,GACApX,KAAA+yB,YAAAI,KAAA/b,EAAAgc,MACApzB,KAAA+yB,YAAAM,OAAA,IACAjc,EACAzV,KAAA,YAAAyV,EAAAmJ,QAAA,cAAAnJ,EAAAkc,OACAT,EAAAzb,EAAAzV,MACAyV,EAAAzV,OAGA4xB,QAAAC,eAA6Bpc,EAAAgc,oBAY7Bha,YACApZ,KAAAwW,QACAoc,EAAA5b,gBAAAhX,MAEAA,KAAAwW,OAAA,KACAxW,KAAA+yB,YAAA,KACA/yB,KAAAgzB,OAAA,GAcA5Z,SAAA1X,EAAA2V,EAAAgE,EAAA4X,GACA,OAAAjzB,KAAAyzB,OAAAC,IACAA,EAAArR,KACA3gB,EACA,CACA2V,QACAgE,OACA4X,SACAtX,QAAA3b,KAAA2b,YAcAvC,OAAAua,GACA3d,EAAA4d,KAAA5zB,KAAAwW,UACAxW,KAAAwW,OAAAoc,EAAAtc,YAAAtW,UAAA2b,UAGA,MAAA+X,EAAA,IAAAZ,EAAA9yB,MASA,OARAA,KAAAgzB,OAAA3uB,KAAA,KACArE,KAAAgzB,OAAA5e,QACApU,KAAA+yB,YAAAW,EACAC,EAAAD,KAEA1d,EAAA4d,KAAA5zB,KAAA+yB,cACA/yB,KAAA6zB,WAEAH,EAUAta,WACApZ,KAAA+yB,YAAA,KACA/yB,KAAAgzB,OAAAtzB,QACAM,KAAAgzB,OAAA,sBCvLAt2B,EAAAD,QAAA,CACAyZ,eAAA,CACA2F,SAAA,orCCKAnf,EAAAD,QAAA,CAAAq3B,IACA,MAAAC,EAAA,IACAD,EACAE,WAAA,GACA5D,MAAA,GACA6D,MAAA,GACAC,QAAA,IAgEA,OA7DAH,EAAAI,OAAAphB,QAAAqhB,IACA,MAAAC,EAAA,IACAD,EACAL,OACA3D,MAAA,GACA6D,MAAA,GACAC,QAAA,IAGAG,EAAAL,WAAAjhB,QAAAuhB,IACA,MAAAC,EAAA,IACAD,EACAD,QACAN,OACAE,MAAA,GACAC,QAAA,IAGAK,EAAAnE,MAAArd,QAAAyhB,IACA,MAAA/S,EAAA,IACA+S,EACAC,UAAAF,EACAF,QACAN,OACAG,QAAA,IAGAzS,EAAAwS,MAAAlhB,QAAA2hB,IACA,MAAAC,EAAA,IACAD,EACAjT,OACAgT,UAAAF,EACAF,QACAN,QAGAY,EAAAT,QAAAnhB,QAAA6hB,IACA,MAAAC,EAAA,IACAD,EACAD,OACAlT,OACAgT,UAAAF,EACAF,QACAN,QAGAc,EAAApT,KAAAyS,QAAA7vB,KAAAwwB,GACAA,EAAAJ,UAAAP,QAAA7vB,KAAAwwB,GACAA,EAAAR,MAAAH,QAAA7vB,KAAAwwB,GACAA,EAAAd,KAAAG,QAAA7vB,KAAAwwB,KAEAF,EAAAF,UAAAR,MAAA5vB,KAAAswB,GACAA,EAAAN,MAAAJ,MAAA5vB,KAAAswB,GACAA,EAAAZ,KAAAE,MAAA5vB,KAAAswB,KAEAlT,EAAA4S,MAAAjE,MAAA/rB,KAAAod,GACAA,EAAAsS,KAAA3D,MAAA/rB,KAAAod,KAEA8S,EAAAR,KAAAC,WAAA3vB,KAAAkwB,OAGAR,qBCpEA,MAAAnB,EAAgB71B,EAAQ,GAGxB,IAAA+3B,EAAA,EAqFAp4B,EAAAD,QAnFA,MACA2c,YAAA7C,GACAue,GAAA,EACA90B,KAAAmzB,UAAqB2B,KAAc1vB,KAAA2vB,SAAAhzB,SAAA,IAAAd,MAAA,OAEnCjB,KAAAg1B,UAAAze,EACAvW,KAAAi1B,SAAA,GACAj1B,KAAAk1B,QAAA,GACAl1B,KAAAm1B,UAAA,GACAn1B,KAAAo1B,SAAA,GAGAhc,KAAAI,EAAAxB,GAQA,OAPAhY,KAAAi1B,SAAA5wB,KACArE,KAAAi1B,SAAA5wB,KAAAmV,GAEAA,EAAAxZ,KAAAi1B,UAGAjd,GAAAhY,KAAA8b,MAAA9D,GACAhY,KAGAoZ,MAAApB,GAMA,OALAhY,KAAAk1B,QAAA7wB,KACArE,KAAAk1B,QAAA7wB,KAAA2T,GAEAA,EAAAhY,KAAAk1B,SAEAl1B,KAGAoZ,SAAAua,GAEA,OADA3zB,KAAAm1B,UAAA9wB,KAAAsvB,GACA3zB,KAGAoZ,QAAAua,GAEA,OADA3zB,KAAAo1B,SAAA/wB,KAAAsvB,GACA3zB,KAGAoZ,KAAAka,EAAApb,GACA0a,EAAA1b,WAAAlX,KAAAg1B,UAAA,CACA5B,MAAApzB,KAAAmzB,GACAG,SACApb,YAIAkB,OAAAhC,GACA,MAAAzV,KAAWA,GAAOyV,EAClB,IAAAie,GAAA,EAEA,YAAAje,EAAAmJ,QACA,IAAAvgB,KAAAi1B,SAAAv1B,QAAA6zB,QAAA1I,IAAAlpB,GACA3B,KAAAi1B,SAAAliB,QAAA4gB,IACA,MAAA5qB,EAAA4qB,EAAAhyB,GACAoH,GAAA,mBAAAA,EAAAwO,MACAgc,QAAAC,KAAA,oHAGAxzB,KAAAi1B,SAAAtzB,EACA3B,KAAAg1B,UAAAnB,WACAwB,GAAA,GACK,WAAAje,EAAAmJ,QACL,IAAAvgB,KAAAk1B,QAAAx1B,QAAA6zB,QAAAnhB,MAAAzQ,GACA3B,KAAAk1B,QAAAniB,QAAA4gB,KAAAhyB,IACA3B,KAAAk1B,QAAAvzB,EACA3B,KAAAg1B,UAAAnB,WACAwB,GAAA,GACK,aAAAje,EAAAmJ,OACLvgB,KAAAm1B,UAAApiB,QAAA4gB,KAAAhyB,IAEA4xB,QAAAC,KAAA,uBAAApc,EAAAmJ,QAGA8U,GACAr1B,KAAAo1B,SAAAriB,QAAA4gB,KAAAhyB","file":"tesseract.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Tesseract\"] = factory();\n\telse\n\t\troot[\"Tesseract\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 5);\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// Copyright 2014 Simon Lydell\r\n// X11 (“MIT”) Licensed. (See LICENSE.)\r\n\r\nvoid (function(root, factory) {\r\n if (typeof define === \"function\" && define.amd) {\r\n define(factory)\r\n } else if (typeof exports === \"object\") {\r\n module.exports = factory()\r\n } else {\r\n root.resolveUrl = factory()\r\n }\r\n}(this, function() {\r\n\r\n function resolveUrl(/* ...urls */) {\r\n var numUrls = arguments.length\r\n\r\n if (numUrls === 0) {\r\n throw new Error(\"resolveUrl requires at least one argument; got none.\")\r\n }\r\n\r\n var base = document.createElement(\"base\")\r\n base.href = arguments[0]\r\n\r\n if (numUrls === 1) {\r\n return base.href\r\n }\r\n\r\n var head = document.getElementsByTagName(\"head\")[0]\r\n head.insertBefore(base, head.firstChild)\r\n\r\n var a = document.createElement(\"a\")\r\n var resolved\r\n\r\n for (var index = 1; index < numUrls; index++) {\r\n a.href = arguments[index]\r\n resolved = a.href\r\n base.href = resolved\r\n }\r\n\r\n head.removeChild(base)\r\n\r\n return resolved\r\n }\r\n\r\n return resolveUrl\r\n\r\n}));\r\n","/*globals define, module, Symbol */\n/*jshint -W056 */\n\n(function (globals) {\n 'use strict';\n\n var strings, messages, predicates, functions, assert, not, maybe,\n collections, slice, neginf, posinf, isArray, haveSymbols;\n\n strings = {\n v: 'value',\n n: 'number',\n s: 'string',\n b: 'boolean',\n o: 'object',\n t: 'type',\n a: 'array',\n al: 'array-like',\n i: 'iterable',\n d: 'date',\n f: 'function',\n l: 'length'\n };\n\n messages = {};\n predicates = {};\n\n [\n { n: 'equal', f: equal, s: 'v' },\n { n: 'undefined', f: isUndefined, s: 'v' },\n { n: 'null', f: isNull, s: 'v' },\n { n: 'assigned', f: assigned, s: 'v' },\n { n: 'primitive', f: primitive, s: 'v' },\n { n: 'includes', f: includes, s: 'v' },\n { n: 'zero', f: zero },\n { n: 'infinity', f: infinity },\n { n: 'number', f: number },\n { n: 'integer', f: integer },\n { n: 'even', f: even },\n { n: 'odd', f: odd },\n { n: 'greater', f: greater },\n { n: 'less', f: less },\n { n: 'between', f: between },\n { n: 'greaterOrEqual', f: greaterOrEqual },\n { n: 'lessOrEqual', f: lessOrEqual },\n { n: 'inRange', f: inRange },\n { n: 'positive', f: positive },\n { n: 'negative', f: negative },\n { n: 'string', f: string, s: 's' },\n { n: 'emptyString', f: emptyString, s: 's' },\n { n: 'nonEmptyString', f: nonEmptyString, s: 's' },\n { n: 'contains', f: contains, s: 's' },\n { n: 'match', f: match, s: 's' },\n { n: 'boolean', f: boolean, s: 'b' },\n { n: 'object', f: object, s: 'o' },\n { n: 'emptyObject', f: emptyObject, s: 'o' },\n { n: 'nonEmptyObject', f: nonEmptyObject, s: 'o' },\n { n: 'instanceStrict', f: instanceStrict, s: 't' },\n { n: 'instance', f: instance, s: 't' },\n { n: 'like', f: like, s: 't' },\n { n: 'array', f: array, s: 'a' },\n { n: 'emptyArray', f: emptyArray, s: 'a' },\n { n: 'nonEmptyArray', f: nonEmptyArray, s: 'a' },\n { n: 'arrayLike', f: arrayLike, s: 'al' },\n { n: 'iterable', f: iterable, s: 'i' },\n { n: 'date', f: date, s: 'd' },\n { n: 'function', f: isFunction, s: 'f' },\n { n: 'hasLength', f: hasLength, s: 'l' },\n ].map(function (data) {\n var n = data.n;\n messages[n] = 'Invalid ' + strings[data.s || 'n'];\n predicates[n] = data.f;\n });\n\n functions = {\n apply: apply,\n map: map,\n all: all,\n any: any\n };\n\n collections = [ 'array', 'arrayLike', 'iterable', 'object' ];\n slice = Array.prototype.slice;\n neginf = Number.NEGATIVE_INFINITY;\n posinf = Number.POSITIVE_INFINITY;\n isArray = Array.isArray;\n haveSymbols = typeof Symbol === 'function';\n\n functions = mixin(functions, predicates);\n assert = createModifiedPredicates(assertModifier, assertImpl);\n not = createModifiedPredicates(notModifier, notImpl);\n maybe = createModifiedPredicates(maybeModifier, maybeImpl);\n assert.not = createModifiedModifier(assertModifier, not);\n assert.maybe = createModifiedModifier(assertModifier, maybe);\n\n collections.forEach(createOfPredicates);\n createOfModifiers(assert, assertModifier);\n createOfModifiers(not, notModifier);\n collections.forEach(createMaybeOfModifiers);\n\n exportFunctions(mixin(functions, {\n assert: assert,\n not: not,\n maybe: maybe\n }));\n\n /**\n * Public function `equal`.\n *\n * Returns true if `lhs` and `rhs` are strictly equal, without coercion.\n * Returns false otherwise.\n */\n function equal (lhs, rhs) {\n return lhs === rhs;\n }\n\n /**\n * Public function `undefined`.\n *\n * Returns true if `data` is undefined, false otherwise.\n */\n function isUndefined (data) {\n return data === undefined;\n }\n\n /**\n * Public function `null`.\n *\n * Returns true if `data` is null, false otherwise.\n */\n function isNull (data) {\n return data === null;\n }\n\n /**\n * Public function `assigned`.\n *\n * Returns true if `data` is not null or undefined, false otherwise.\n */\n function assigned (data) {\n return data !== undefined && data !== null;\n }\n\n /**\n * Public function `primitive`.\n *\n * Returns true if `data` is a primitive type, false otherwise.\n */\n function primitive (data) {\n var type;\n\n switch (data) {\n case null:\n case undefined:\n case false:\n case true:\n return true;\n }\n\n type = typeof data;\n return type === 'string' || type === 'number' || (haveSymbols && type === 'symbol');\n }\n\n /**\n * Public function `zero`.\n *\n * Returns true if `data` is zero, false otherwise.\n */\n function zero (data) {\n return data === 0;\n }\n\n /**\n * Public function `infinity`.\n *\n * Returns true if `data` is positive or negative infinity, false otherwise.\n */\n function infinity (data) {\n return data === neginf || data === posinf;\n }\n\n /**\n * Public function `number`.\n *\n * Returns true if `data` is a number, false otherwise.\n */\n function number (data) {\n return typeof data === 'number' && data > neginf && data < posinf;\n }\n\n /**\n * Public function `integer`.\n *\n * Returns true if `data` is an integer, false otherwise.\n */\n function integer (data) {\n return typeof data === 'number' && data % 1 === 0;\n }\n\n /**\n * Public function `even`.\n *\n * Returns true if `data` is an even number, false otherwise.\n */\n function even (data) {\n return typeof data === 'number' && data % 2 === 0;\n }\n\n /**\n * Public function `odd`.\n *\n * Returns true if `data` is an odd number, false otherwise.\n */\n function odd (data) {\n return integer(data) && data % 2 !== 0;\n }\n\n /**\n * Public function `greater`.\n *\n * Returns true if `lhs` is a number greater than `rhs`, false otherwise.\n */\n function greater (lhs, rhs) {\n return number(lhs) && lhs > rhs;\n }\n\n /**\n * Public function `less`.\n *\n * Returns true if `lhs` is a number less than `rhs`, false otherwise.\n */\n function less (lhs, rhs) {\n return number(lhs) && lhs < rhs;\n }\n\n /**\n * Public function `between`.\n *\n * Returns true if `data` is a number between `x` and `y`, false otherwise.\n */\n function between (data, x, y) {\n if (x < y) {\n return greater(data, x) && data < y;\n }\n\n return less(data, x) && data > y;\n }\n\n /**\n * Public function `greaterOrEqual`.\n *\n * Returns true if `lhs` is a number greater than or equal to `rhs`, false\n * otherwise.\n */\n function greaterOrEqual (lhs, rhs) {\n return number(lhs) && lhs >= rhs;\n }\n\n /**\n * Public function `lessOrEqual`.\n *\n * Returns true if `lhs` is a number less than or equal to `rhs`, false\n * otherwise.\n */\n function lessOrEqual (lhs, rhs) {\n return number(lhs) && lhs <= rhs;\n }\n\n /**\n * Public function `inRange`.\n *\n * Returns true if `data` is a number in the range `x..y`, false otherwise.\n */\n function inRange (data, x, y) {\n if (x < y) {\n return greaterOrEqual(data, x) && data <= y;\n }\n\n return lessOrEqual(data, x) && data >= y;\n }\n\n /**\n * Public function `positive`.\n *\n * Returns true if `data` is a positive number, false otherwise.\n */\n function positive (data) {\n return greater(data, 0);\n }\n\n /**\n * Public function `negative`.\n *\n * Returns true if `data` is a negative number, false otherwise.\n */\n function negative (data) {\n return less(data, 0);\n }\n\n /**\n * Public function `string`.\n *\n * Returns true if `data` is a string, false otherwise.\n */\n function string (data) {\n return typeof data === 'string';\n }\n\n /**\n * Public function `emptyString`.\n *\n * Returns true if `data` is the empty string, false otherwise.\n */\n function emptyString (data) {\n return data === '';\n }\n\n /**\n * Public function `nonEmptyString`.\n *\n * Returns true if `data` is a non-empty string, false otherwise.\n */\n function nonEmptyString (data) {\n return string(data) && data !== '';\n }\n\n /**\n * Public function `contains`.\n *\n * Returns true if `data` is a string that contains `substring`, false\n * otherwise.\n */\n function contains (data, substring) {\n return string(data) && data.indexOf(substring) !== -1;\n }\n\n /**\n * Public function `match`.\n *\n * Returns true if `data` is a string that matches `regex`, false otherwise.\n */\n function match (data, regex) {\n return string(data) && !! data.match(regex);\n }\n\n /**\n * Public function `boolean`.\n *\n * Returns true if `data` is a boolean value, false otherwise.\n */\n function boolean (data) {\n return data === false || data === true;\n }\n\n /**\n * Public function `object`.\n *\n * Returns true if `data` is a plain-old JS object, false otherwise.\n */\n function object (data) {\n return Object.prototype.toString.call(data) === '[object Object]';\n }\n\n /**\n * Public function `emptyObject`.\n *\n * Returns true if `data` is an empty object, false otherwise.\n */\n function emptyObject (data) {\n return object(data) && Object.keys(data).length === 0;\n }\n\n /**\n * Public function `nonEmptyObject`.\n *\n * Returns true if `data` is a non-empty object, false otherwise.\n */\n function nonEmptyObject (data) {\n return object(data) && Object.keys(data).length > 0;\n }\n\n /**\n * Public function `instanceStrict`.\n *\n * Returns true if `data` is an instance of `prototype`, false otherwise.\n */\n function instanceStrict (data, prototype) {\n try {\n return data instanceof prototype;\n } catch (error) {\n return false;\n }\n }\n\n /**\n * Public function `instance`.\n *\n * Returns true if `data` is an instance of `prototype`, false otherwise.\n * Falls back to testing constructor.name and Object.prototype.toString\n * if the initial instanceof test fails.\n */\n function instance (data, prototype) {\n try {\n return instanceStrict(data, prototype) ||\n data.constructor.name === prototype.name ||\n Object.prototype.toString.call(data) === '[object ' + prototype.name + ']';\n } catch (error) {\n return false;\n }\n }\n\n /**\n * Public function `like`.\n *\n * Tests whether `data` 'quacks like a duck'. Returns true if `data` has all\n * of the properties of `archetype` (the 'duck'), false otherwise.\n */\n function like (data, archetype) {\n var name;\n\n for (name in archetype) {\n if (archetype.hasOwnProperty(name)) {\n if (data.hasOwnProperty(name) === false || typeof data[name] !== typeof archetype[name]) {\n return false;\n }\n\n if (object(data[name]) && like(data[name], archetype[name]) === false) {\n return false;\n }\n }\n }\n\n return true;\n }\n\n /**\n * Public function `array`.\n *\n * Returns true if `data` is an array, false otherwise.\n */\n function array (data) {\n return isArray(data);\n }\n\n /**\n * Public function `emptyArray`.\n *\n * Returns true if `data` is an empty array, false otherwise.\n */\n function emptyArray (data) {\n return array(data) && data.length === 0;\n }\n\n /**\n * Public function `nonEmptyArray`.\n *\n * Returns true if `data` is a non-empty array, false otherwise.\n */\n function nonEmptyArray (data) {\n return array(data) && greater(data.length, 0);\n }\n\n /**\n * Public function `arrayLike`.\n *\n * Returns true if `data` is an array-like object, false otherwise.\n */\n function arrayLike (data) {\n return assigned(data) && greaterOrEqual(data.length, 0);\n }\n\n /**\n * Public function `iterable`.\n *\n * Returns true if `data` is an iterable, false otherwise.\n */\n function iterable (data) {\n if (! haveSymbols) {\n // Fall back to `arrayLike` predicate in pre-ES6 environments.\n return arrayLike(data);\n }\n\n return assigned(data) && isFunction(data[Symbol.iterator]);\n }\n\n /**\n * Public function `includes`.\n *\n * Returns true if `data` contains `value`, false otherwise.\n */\n function includes (data, value) {\n var iterator, iteration, keys, length, i;\n\n if (! assigned(data)) {\n return false;\n }\n\n if (haveSymbols && data[Symbol.iterator] && isFunction(data.values)) {\n iterator = data.values();\n\n do {\n iteration = iterator.next();\n\n if (iteration.value === value) {\n return true;\n }\n } while (! iteration.done);\n\n return false;\n }\n\n keys = Object.keys(data);\n length = keys.length;\n for (i = 0; i < length; ++i) {\n if (data[keys[i]] === value) {\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * Public function `hasLength`.\n *\n * Returns true if `data` has a length property that equals `length`, false\n * otherwise.\n */\n function hasLength (data, length) {\n return assigned(data) && data.length === length;\n }\n\n /**\n * Public function `date`.\n *\n * Returns true if `data` is a valid date, false otherwise.\n */\n function date (data) {\n return instanceStrict(data, Date) && integer(data.getTime());\n }\n\n /**\n * Public function `function`.\n *\n * Returns true if `data` is a function, false otherwise.\n */\n function isFunction (data) {\n return typeof data === 'function';\n }\n\n /**\n * Public function `apply`.\n *\n * Maps each value from the `data` to the corresponding predicate and returns\n * the result array. If the same function is to be applied across all of the\n * data, a single predicate function may be passed in.\n *\n */\n function apply (data, predicates) {\n assert.array(data);\n\n if (isFunction(predicates)) {\n return data.map(function (value) {\n return predicates(value);\n });\n }\n\n assert.array(predicates);\n assert.hasLength(data, predicates.length);\n\n return data.map(function (value, index) {\n return predicates[index](value);\n });\n }\n\n /**\n * Public function `map`.\n *\n * Maps each value from the `data` to the corresponding predicate and returns\n * the result object. Supports nested objects. If the `data` is not nested and\n * the same function is to be applied across all of it, a single predicate\n * function may be passed in.\n *\n */\n function map (data, predicates) {\n assert.object(data);\n\n if (isFunction(predicates)) {\n return mapSimple(data, predicates);\n }\n\n assert.object(predicates);\n\n return mapComplex(data, predicates);\n }\n\n function mapSimple (data, predicate) {\n var result = {};\n\n Object.keys(data).forEach(function (key) {\n result[key] = predicate(data[key]);\n });\n\n return result;\n }\n\n function mapComplex (data, predicates) {\n var result = {};\n\n Object.keys(predicates).forEach(function (key) {\n var predicate = predicates[key];\n\n if (isFunction(predicate)) {\n if (not.assigned(data)) {\n result[key] = !!predicate.m;\n } else {\n result[key] = predicate(data[key]);\n }\n } else if (object(predicate)) {\n result[key] = mapComplex(data[key], predicate);\n }\n });\n\n return result;\n }\n\n /**\n * Public function `all`\n *\n * Check that all boolean values are true\n * in an array (returned from `apply`)\n * or object (returned from `map`).\n *\n */\n function all (data) {\n if (array(data)) {\n return testArray(data, false);\n }\n\n assert.object(data);\n\n return testObject(data, false);\n }\n\n function testArray (data, result) {\n var i;\n\n for (i = 0; i < data.length; i += 1) {\n if (data[i] === result) {\n return result;\n }\n }\n\n return !result;\n }\n\n function testObject (data, result) {\n var key, value;\n\n for (key in data) {\n if (data.hasOwnProperty(key)) {\n value = data[key];\n\n if (object(value) && testObject(value, result) === result) {\n return result;\n }\n\n if (value === result) {\n return result;\n }\n }\n }\n\n return !result;\n }\n\n /**\n * Public function `any`\n *\n * Check that at least one boolean value is true\n * in an array (returned from `apply`)\n * or object (returned from `map`).\n *\n */\n function any (data) {\n if (array(data)) {\n return testArray(data, true);\n }\n\n assert.object(data);\n\n return testObject(data, true);\n }\n\n function mixin (target, source) {\n Object.keys(source).forEach(function (key) {\n target[key] = source[key];\n });\n\n return target;\n }\n\n /**\n * Public modifier `assert`.\n *\n * Throws if `predicate` returns false.\n */\n function assertModifier (predicate, defaultMessage) {\n return function () {\n return assertPredicate(predicate, arguments, defaultMessage);\n };\n }\n\n function assertPredicate (predicate, args, defaultMessage) {\n var argCount = predicate.l || predicate.length;\n var message = args[argCount];\n var ErrorType = args[argCount + 1];\n assertImpl(\n predicate.apply(null, args),\n nonEmptyString(message) ? message : defaultMessage,\n isFunction(ErrorType) ? ErrorType : TypeError\n );\n return args[0];\n }\n\n function assertImpl (value, message, ErrorType) {\n if (value) {\n return value;\n }\n throw new (ErrorType || Error)(message || 'Assertion failed');\n }\n\n /**\n * Public modifier `not`.\n *\n * Negates `predicate`.\n */\n function notModifier (predicate) {\n var modifiedPredicate = function () {\n return notImpl(predicate.apply(null, arguments));\n };\n modifiedPredicate.l = predicate.length;\n return modifiedPredicate;\n }\n\n function notImpl (value) {\n return !value;\n }\n\n /**\n * Public modifier `maybe`.\n *\n * Returns true if predicate argument is null or undefined,\n * otherwise propagates the return value from `predicate`.\n */\n function maybeModifier (predicate) {\n var modifiedPredicate = function () {\n if (not.assigned(arguments[0])) {\n return true;\n }\n\n return predicate.apply(null, arguments);\n };\n modifiedPredicate.l = predicate.length;\n\n // Hackishly indicate that this is a maybe.xxx predicate.\n // Without this flag, the alternative would be to iterate\n // through the maybe predicates or use indexOf to check,\n // which would be time-consuming.\n modifiedPredicate.m = true;\n\n return modifiedPredicate;\n }\n\n function maybeImpl (value) {\n if (assigned(value) === false) {\n return true;\n }\n\n return value;\n }\n\n /**\n * Public modifier `of`.\n *\n * Applies the chained predicate to members of the collection.\n */\n function ofModifier (target, type, predicate) {\n var modifiedPredicate = function () {\n var collection, args;\n\n collection = arguments[0];\n\n if (target === 'maybe' && not.assigned(collection)) {\n return true;\n }\n\n if (!type(collection)) {\n return false;\n }\n\n collection = coerceCollection(type, collection);\n args = slice.call(arguments, 1);\n\n try {\n collection.forEach(function (item) {\n if (\n (target !== 'maybe' || assigned(item)) &&\n !predicate.apply(null, [ item ].concat(args))\n ) {\n // TODO: Replace with for...of when ES6 is required.\n throw 0;\n }\n });\n } catch (ignore) {\n return false;\n }\n\n return true;\n };\n modifiedPredicate.l = predicate.length;\n return modifiedPredicate;\n }\n\n function coerceCollection (type, collection) {\n switch (type) {\n case arrayLike:\n return slice.call(collection);\n case object:\n return Object.keys(collection).map(function (key) {\n return collection[key];\n });\n default:\n return collection;\n }\n }\n\n function createModifiedPredicates (modifier, object) {\n return createModifiedFunctions([ modifier, predicates, object ]);\n }\n\n function createModifiedFunctions (args) {\n var modifier, object, functions, result;\n\n modifier = args.shift();\n object = args.pop();\n functions = args.pop();\n\n result = object || {};\n\n Object.keys(functions).forEach(function (key) {\n Object.defineProperty(result, key, {\n configurable: false,\n enumerable: true,\n writable: false,\n value: modifier.apply(null, args.concat(functions[key], messages[key]))\n });\n });\n\n return result;\n }\n\n function createModifiedModifier (modifier, modified) {\n return createModifiedFunctions([ modifier, modified, null ]);\n }\n\n function createOfPredicates (key) {\n predicates[key].of = createModifiedFunctions(\n [ ofModifier.bind(null, null), predicates[key], predicates, null ]\n );\n }\n\n function createOfModifiers (base, modifier) {\n collections.forEach(function (key) {\n base[key].of = createModifiedModifier(modifier, predicates[key].of);\n });\n }\n\n function createMaybeOfModifiers (key) {\n maybe[key].of = createModifiedFunctions(\n [ ofModifier.bind(null, 'maybe'), predicates[key], predicates, null ]\n );\n assert.maybe[key].of = createModifiedModifier(assertModifier, maybe[key].of);\n assert.not[key].of = createModifiedModifier(assertModifier, not[key].of);\n }\n\n function exportFunctions (functions) {\n if (typeof define === 'function' && define.amd) {\n define(function () {\n return functions;\n });\n } else if (typeof module !== 'undefined' && module !== null && module.exports) {\n module.exports = functions;\n } else {\n globals.check = functions;\n }\n }\n}(this));\n","const check = require('check-types');\nconst resolveURL = require('resolve-url');\nconst { defaultOptions } = require('../common/options');\nconst { version } = require('../../package.json');\n\nconst loadImage = (image) => {\n if (check.string(image)) {\n return fetch(resolveURL(image))\n .then(resp => resp.arrayBuffer());\n }\n if (check.instance(image, File)) {\n return new Promise((res) => {\n const fileReader = new FileReader();\n fileReader.onload = () => {\n res(fileReader.result);\n };\n fileReader.readAsArrayBuffer(image);\n });\n }\n return Promise.reject();\n};\n\nexports.defaultOptions = {\n ...defaultOptions,\n workerPath: process.env.NODE_ENV === 'development'\n ? resolveURL(`/dist/worker.dev.js?nocache=${Math.random().toString(36).slice(3)}`)\n : `https://cdn.jsdelivr.net/gh/naptha/tesseract.js@v${version}/dist/worker.min.js`,\n corePath: `https://cdn.jsdelivr.net/gh/naptha/tesseract.js-core@v2.0.0-beta.5/tesseract-core${typeof WebAssembly === 'object' ? '' : '.asm'}.js`,\n};\n\nexports.spawnWorker = (instance, { workerPath }) => {\n let worker;\n if (window.Blob && window.URL) {\n const blob = new Blob([`importScripts(\"${resolveURL(workerPath)}\");`]);\n worker = new Worker(window.URL.createObjectURL(blob));\n } else {\n worker = new Worker(workerPath);\n }\n\n worker.onmessage = ({ data }) => {\n instance.recv(data);\n };\n\n return worker;\n};\n\nexports.terminateWorker = (instance) => {\n instance.worker.terminate();\n};\n\nexports.sendPacket = (instance, iPacket) => {\n const packet = { ...iPacket };\n loadImage(packet.payload.image)\n .then(buf => new Uint8Array(buf))\n .then((img) => {\n packet.payload.image = Array.from(img);\n instance.worker.postMessage(packet);\n });\n};\n","/**\n *\n * Entry point for tesseract.js, should be the entry when bundling.\n *\n * @fileoverview entry point for tesseract.js\n * @author Kevin Kwok <antimatter15@gmail.com>\n * @author Guillermo Webster <gui@mit.edu>\n * @author Jerome Wu <jeromewus@gmail.com>\n */\nconst utils = require('tesseract.js-utils');\nconst TesseractWorker = require('./common/TesseractWorker');\n\nmodule.exports = {\n /** Worker for OCR, @see common/TesseractWorker.js */\n TesseractWorker,\n /** Utilities for tesseract.js, @see {@link https://www.npmjs.com/package/tesseract.js-utils} */\n utils,\n};\n","const cache = require('./common/browser/cache');\n\nmodule.exports = {\n loadLang: require('./loadLang')({\n fetch: require('./common/browser/fetch'),\n gunzip: require('./common/browser/gunzip'),\n resolveURL: require('resolve-url'),\n ...cache,\n }),\n readImage: require('./readImage'),\n cache,\n};\n","const { set, get, del } = require('idb-keyval');\n\nmodule.exports = {\n readCache: get,\n writeCache: set,\n deleteCache: del,\n checkCache: path => (\n get(path)\n .then(v => typeof v !== 'undefined')\n ),\n};\n","class Store {\r\n constructor(dbName = 'keyval-store', storeName = 'keyval') {\r\n this.storeName = storeName;\r\n this._dbp = new Promise((resolve, reject) => {\r\n const openreq = indexedDB.open(dbName, 1);\r\n openreq.onerror = () => reject(openreq.error);\r\n openreq.onsuccess = () => resolve(openreq.result);\r\n // First time setup: create an empty object store\r\n openreq.onupgradeneeded = () => {\r\n openreq.result.createObjectStore(storeName);\r\n };\r\n });\r\n }\r\n _withIDBStore(type, callback) {\r\n return this._dbp.then(db => new Promise((resolve, reject) => {\r\n const transaction = db.transaction(this.storeName, type);\r\n transaction.oncomplete = () => resolve();\r\n transaction.onabort = transaction.onerror = () => reject(transaction.error);\r\n callback(transaction.objectStore(this.storeName));\r\n }));\r\n }\r\n}\r\nlet store;\r\nfunction getDefaultStore() {\r\n if (!store)\r\n store = new Store();\r\n return store;\r\n}\r\nfunction get(key, store = getDefaultStore()) {\r\n let req;\r\n return store._withIDBStore('readonly', store => {\r\n req = store.get(key);\r\n }).then(() => req.result);\r\n}\r\nfunction set(key, value, store = getDefaultStore()) {\r\n return store._withIDBStore('readwrite', store => {\r\n store.put(value, key);\r\n });\r\n}\r\nfunction del(key, store = getDefaultStore()) {\r\n return store._withIDBStore('readwrite', store => {\r\n store.delete(key);\r\n });\r\n}\r\nfunction clear(store = getDefaultStore()) {\r\n return store._withIDBStore('readwrite', store => {\r\n store.clear();\r\n });\r\n}\r\nfunction keys(store = getDefaultStore()) {\r\n const keys = [];\r\n return store._withIDBStore('readonly', store => {\r\n // This would be store.getAllKeys(), but it isn't supported by Edge or Safari.\r\n // And openKeyCursor isn't supported by Safari.\r\n (store.openKeyCursor || store.openCursor).call(store).onsuccess = function () {\r\n if (!this.result)\r\n return;\r\n keys.push(this.result.key);\r\n this.result.continue();\r\n };\r\n }).then(() => keys);\r\n}\n\nexport { Store, get, set, del, clear, keys };\n","const isURL = require('is-url');\n\nconst handleLang = modules => ({\n TessModule,\n dataPath,\n cachePath,\n cacheMethod,\n lang,\n}) => (data) => {\n if (TessModule) {\n if (dataPath) {\n try {\n TessModule.FS.mkdir(dataPath);\n } catch (err) {\n // TODO: Do some error handling here.\n }\n }\n TessModule.FS.writeFile(`${dataPath || '.'}/${lang}.traineddata`, data);\n }\n if (['write', 'refresh', undefined].includes(cacheMethod)) {\n return modules.writeCache(`${cachePath || '.'}/${lang}.traineddata`, data)\n .then(() => data);\n }\n\n return data;\n};\n\nconst loadAndGunzipFile = modules => ({\n langPath,\n cachePath,\n cacheMethod,\n ...options\n}) => (lang) => {\n let { readCache } = modules;\n if (['refresh', 'none'].includes(cacheMethod)) {\n readCache = () => Promise.resolve();\n }\n\n return readCache(`${cachePath || '.'}/${lang}.traineddata`)\n .then((data) => {\n if (typeof data === 'undefined') {\n return Promise.reject();\n }\n return handleLang(modules)({\n cachePath, cacheMethod, lang, ...options,\n })(data);\n })\n .catch(() => {\n const fetchTrainedData = iLangPath => (\n modules.fetch(`${iLangPath}/${lang}.traineddata.gz`)\n .then(resp => resp.arrayBuffer())\n .then(buf => modules.gunzip(new Uint8Array(buf)))\n .then(handleLang(modules)({\n cachePath, cacheMethod, lang, ...options,\n }))\n );\n\n /** When langPath is an URL, just do the fetch */\n if (isURL(langPath)) {\n return fetchTrainedData(langPath);\n }\n\n /** When langPath is not an URL in browser environment */\n if (process.browser) {\n return fetchTrainedData(modules.resolveURL(langPath));\n }\n\n /** When langPath is not an URL in Node.js environment */\n return modules.readCache(`${langPath}/${lang}.traineddata.gz`)\n .then(buf => modules.gunzip(new Uint8Array(buf)))\n .then(handleLang(modules)({\n cachePath, cacheMethod, lang, ...options,\n }));\n });\n};\n\n/**\n *\n * @name loadLang\n * @function load language(s) from local cache, download from remote if not in cache.\n * @param {object} options\n * @param {string} options.lang - langs to load, use '+' for multiple languages, ex: eng+chi_tra\n * @param {object} options.TessModule - TesseractModule\n * @param {string} options.langPath - prefix path for downloading lang file\n * @param {string} options.cachePath - path to find cache\n * @param {string} options.dataPath - path to store data in mem\n * @param {string} options.cacheMethod -\n * method of cache invaliation, should one of following options:\n * write: read cache and write back (default method)\n * readOnly: read cache and not to write back\n * refresh: not to read cache and write back\n * none: not to read cache and not to write back\n *\n */\nmodule.exports = modules => ({\n lang: langs,\n ...options\n}) => (\n Promise\n .all(langs.split('+').map(loadAndGunzipFile(modules)(options)))\n);\n","\n/**\n * Expose `isUrl`.\n */\n\nmodule.exports = isUrl;\n\n/**\n * RegExps.\n * A URL must match #1 and then at least one of #2/#3.\n * Use two levels of REs to avoid REDOS.\n */\n\nvar protocolAndDomainRE = /^(?:\\w+:)?\\/\\/(\\S+)$/;\n\nvar localhostDomainRE = /^localhost[\\:?\\d]*(?:[^\\:?\\d]\\S*)?$/\nvar nonLocalhostDomainRE = /^[^\\s\\.]+\\.\\S{2,}$/;\n\n/**\n * Loosely validate a URL `string`.\n *\n * @param {String} string\n * @return {Boolean}\n */\n\nfunction isUrl(string){\n if (typeof string !== 'string') {\n return false;\n }\n\n var match = string.match(protocolAndDomainRE);\n if (!match) {\n return false;\n }\n\n var everythingAfterProtocol = match[1];\n if (!everythingAfterProtocol) {\n return false;\n }\n\n if (localhostDomainRE.test(everythingAfterProtocol) ||\n nonLocalhostDomainRE.test(everythingAfterProtocol)) {\n return true;\n }\n\n return false;\n}\n","const { fetch } = require('whatwg-fetch');\n\nmodule.exports = fetch;\n","var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = self.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.onabort = function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!self.fetch) {\n self.fetch = fetch\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n}\n","module.exports = require('zlibjs').gunzipSync;\n","/** @license zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License */(function() {'use strict';function q(b){throw b;}var t=void 0,v=!0;var B=\"undefined\"!==typeof Uint8Array&&\"undefined\"!==typeof Uint16Array&&\"undefined\"!==typeof Uint32Array&&\"undefined\"!==typeof DataView;function G(b,a){this.index=\"number\"===typeof a?a:0;this.m=0;this.buffer=b instanceof(B?Uint8Array:Array)?b:new (B?Uint8Array:Array)(32768);2*this.buffer.length<=this.index&&q(Error(\"invalid index\"));this.buffer.length<=this.index&&this.f()}G.prototype.f=function(){var b=this.buffer,a,c=b.length,d=new (B?Uint8Array:Array)(c<<1);if(B)d.set(b);else for(a=0;a<c;++a)d[a]=b[a];return this.buffer=d};\nG.prototype.d=function(b,a,c){var d=this.buffer,e=this.index,f=this.m,g=d[e],k;c&&1<a&&(b=8<a?(I[b&255]<<24|I[b>>>8&255]<<16|I[b>>>16&255]<<8|I[b>>>24&255])>>32-a:I[b]>>8-a);if(8>a+f)g=g<<a|b,f+=a;else for(k=0;k<a;++k)g=g<<1|b>>a-k-1&1,8===++f&&(f=0,d[e++]=I[g],g=0,e===d.length&&(d=this.f()));d[e]=g;this.buffer=d;this.m=f;this.index=e};G.prototype.finish=function(){var b=this.buffer,a=this.index,c;0<this.m&&(b[a]<<=8-this.m,b[a]=I[b[a]],a++);B?c=b.subarray(0,a):(b.length=a,c=b);return c};\nvar aa=new (B?Uint8Array:Array)(256),L;for(L=0;256>L;++L){for(var R=L,ba=R,ca=7,R=R>>>1;R;R>>>=1)ba<<=1,ba|=R&1,--ca;aa[L]=(ba<<ca&255)>>>0}var I=aa;function ha(b,a,c){var d,e=\"number\"===typeof a?a:a=0,f=\"number\"===typeof c?c:b.length;d=-1;for(e=f&7;e--;++a)d=d>>>8^S[(d^b[a])&255];for(e=f>>3;e--;a+=8)d=d>>>8^S[(d^b[a])&255],d=d>>>8^S[(d^b[a+1])&255],d=d>>>8^S[(d^b[a+2])&255],d=d>>>8^S[(d^b[a+3])&255],d=d>>>8^S[(d^b[a+4])&255],d=d>>>8^S[(d^b[a+5])&255],d=d>>>8^S[(d^b[a+6])&255],d=d>>>8^S[(d^b[a+7])&255];return(d^4294967295)>>>0}\nvar ia=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,\n2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,\n2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,\n2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,\n3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,\n936918E3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],S=B?new Uint32Array(ia):ia;function ja(){};function ka(b){this.buffer=new (B?Uint16Array:Array)(2*b);this.length=0}ka.prototype.getParent=function(b){return 2*((b-2)/4|0)};ka.prototype.push=function(b,a){var c,d,e=this.buffer,f;c=this.length;e[this.length++]=a;for(e[this.length++]=b;0<c;)if(d=this.getParent(c),e[c]>e[d])f=e[c],e[c]=e[d],e[d]=f,f=e[c+1],e[c+1]=e[d+1],e[d+1]=f,c=d;else break;return this.length};\nka.prototype.pop=function(){var b,a,c=this.buffer,d,e,f;a=c[0];b=c[1];this.length-=2;c[0]=c[this.length];c[1]=c[this.length+1];for(f=0;;){e=2*f+2;if(e>=this.length)break;e+2<this.length&&c[e+2]>c[e]&&(e+=2);if(c[e]>c[f])d=c[f],c[f]=c[e],c[e]=d,d=c[f+1],c[f+1]=c[e+1],c[e+1]=d;else break;f=e}return{index:b,value:a,length:this.length}};function T(b){var a=b.length,c=0,d=Number.POSITIVE_INFINITY,e,f,g,k,h,m,r,p,l,n;for(p=0;p<a;++p)b[p]>c&&(c=b[p]),b[p]<d&&(d=b[p]);e=1<<c;f=new (B?Uint32Array:Array)(e);g=1;k=0;for(h=2;g<=c;){for(p=0;p<a;++p)if(b[p]===g){m=0;r=k;for(l=0;l<g;++l)m=m<<1|r&1,r>>=1;n=g<<16|p;for(l=m;l<e;l+=h)f[l]=n;++k}++g;k<<=1;h<<=1}return[f,c,d]};function na(b,a){this.k=oa;this.F=0;this.input=B&&b instanceof Array?new Uint8Array(b):b;this.b=0;a&&(a.lazy&&(this.F=a.lazy),\"number\"===typeof a.compressionType&&(this.k=a.compressionType),a.outputBuffer&&(this.a=B&&a.outputBuffer instanceof Array?new Uint8Array(a.outputBuffer):a.outputBuffer),\"number\"===typeof a.outputIndex&&(this.b=a.outputIndex));this.a||(this.a=new (B?Uint8Array:Array)(32768))}var oa=2,pa={NONE:0,L:1,t:oa,X:3},qa=[],U;\nfor(U=0;288>U;U++)switch(v){case 143>=U:qa.push([U+48,8]);break;case 255>=U:qa.push([U-144+400,9]);break;case 279>=U:qa.push([U-256+0,7]);break;case 287>=U:qa.push([U-280+192,8]);break;default:q(\"invalid literal: \"+U)}\nna.prototype.h=function(){var b,a,c,d,e=this.input;switch(this.k){case 0:c=0;for(d=e.length;c<d;){a=B?e.subarray(c,c+65535):e.slice(c,c+65535);c+=a.length;var f=a,g=c===d,k=t,h=t,m=t,r=t,p=t,l=this.a,n=this.b;if(B){for(l=new Uint8Array(this.a.buffer);l.length<=n+f.length+5;)l=new Uint8Array(l.length<<1);l.set(this.a)}k=g?1:0;l[n++]=k|0;h=f.length;m=~h+65536&65535;l[n++]=h&255;l[n++]=h>>>8&255;l[n++]=m&255;l[n++]=m>>>8&255;if(B)l.set(f,n),n+=f.length,l=l.subarray(0,n);else{r=0;for(p=f.length;r<p;++r)l[n++]=\nf[r];l.length=n}this.b=n;this.a=l}break;case 1:var s=new G(B?new Uint8Array(this.a.buffer):this.a,this.b);s.d(1,1,v);s.d(1,2,v);var u=ra(this,e),w,C,x;w=0;for(C=u.length;w<C;w++)if(x=u[w],G.prototype.d.apply(s,qa[x]),256<x)s.d(u[++w],u[++w],v),s.d(u[++w],5),s.d(u[++w],u[++w],v);else if(256===x)break;this.a=s.finish();this.b=this.a.length;break;case oa:var D=new G(B?new Uint8Array(this.a.buffer):this.a,this.b),M,z,N,X,Y,qb=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],da,Fa,ea,Ga,la,ta=Array(19),\nHa,Z,ma,E,Ia;M=oa;D.d(1,1,v);D.d(M,2,v);z=ra(this,e);da=sa(this.U,15);Fa=ua(da);ea=sa(this.T,7);Ga=ua(ea);for(N=286;257<N&&0===da[N-1];N--);for(X=30;1<X&&0===ea[X-1];X--);var Ja=N,Ka=X,K=new (B?Uint32Array:Array)(Ja+Ka),y,O,A,fa,J=new (B?Uint32Array:Array)(316),H,F,P=new (B?Uint8Array:Array)(19);for(y=O=0;y<Ja;y++)K[O++]=da[y];for(y=0;y<Ka;y++)K[O++]=ea[y];if(!B){y=0;for(fa=P.length;y<fa;++y)P[y]=0}y=H=0;for(fa=K.length;y<fa;y+=O){for(O=1;y+O<fa&&K[y+O]===K[y];++O);A=O;if(0===K[y])if(3>A)for(;0<A--;)J[H++]=\n0,P[0]++;else for(;0<A;)F=138>A?A:138,F>A-3&&F<A&&(F=A-3),10>=F?(J[H++]=17,J[H++]=F-3,P[17]++):(J[H++]=18,J[H++]=F-11,P[18]++),A-=F;else if(J[H++]=K[y],P[K[y]]++,A--,3>A)for(;0<A--;)J[H++]=K[y],P[K[y]]++;else for(;0<A;)F=6>A?A:6,F>A-3&&F<A&&(F=A-3),J[H++]=16,J[H++]=F-3,P[16]++,A-=F}b=B?J.subarray(0,H):J.slice(0,H);la=sa(P,7);for(E=0;19>E;E++)ta[E]=la[qb[E]];for(Y=19;4<Y&&0===ta[Y-1];Y--);Ha=ua(la);D.d(N-257,5,v);D.d(X-1,5,v);D.d(Y-4,4,v);for(E=0;E<Y;E++)D.d(ta[E],3,v);E=0;for(Ia=b.length;E<Ia;E++)if(Z=\nb[E],D.d(Ha[Z],la[Z],v),16<=Z){E++;switch(Z){case 16:ma=2;break;case 17:ma=3;break;case 18:ma=7;break;default:q(\"invalid code: \"+Z)}D.d(b[E],ma,v)}var La=[Fa,da],Ma=[Ga,ea],Q,Na,ga,wa,Oa,Pa,Qa,Ra;Oa=La[0];Pa=La[1];Qa=Ma[0];Ra=Ma[1];Q=0;for(Na=z.length;Q<Na;++Q)if(ga=z[Q],D.d(Oa[ga],Pa[ga],v),256<ga)D.d(z[++Q],z[++Q],v),wa=z[++Q],D.d(Qa[wa],Ra[wa],v),D.d(z[++Q],z[++Q],v);else if(256===ga)break;this.a=D.finish();this.b=this.a.length;break;default:q(\"invalid compression type\")}return this.a};\nfunction va(b,a){this.length=b;this.N=a}\nvar xa=function(){function b(a){switch(v){case 3===a:return[257,a-3,0];case 4===a:return[258,a-4,0];case 5===a:return[259,a-5,0];case 6===a:return[260,a-6,0];case 7===a:return[261,a-7,0];case 8===a:return[262,a-8,0];case 9===a:return[263,a-9,0];case 10===a:return[264,a-10,0];case 12>=a:return[265,a-11,1];case 14>=a:return[266,a-13,1];case 16>=a:return[267,a-15,1];case 18>=a:return[268,a-17,1];case 22>=a:return[269,a-19,2];case 26>=a:return[270,a-23,2];case 30>=a:return[271,a-27,2];case 34>=a:return[272,\na-31,2];case 42>=a:return[273,a-35,3];case 50>=a:return[274,a-43,3];case 58>=a:return[275,a-51,3];case 66>=a:return[276,a-59,3];case 82>=a:return[277,a-67,4];case 98>=a:return[278,a-83,4];case 114>=a:return[279,a-99,4];case 130>=a:return[280,a-115,4];case 162>=a:return[281,a-131,5];case 194>=a:return[282,a-163,5];case 226>=a:return[283,a-195,5];case 257>=a:return[284,a-227,5];case 258===a:return[285,a-258,0];default:q(\"invalid length: \"+a)}}var a=[],c,d;for(c=3;258>=c;c++)d=b(c),a[c]=d[2]<<24|d[1]<<\n16|d[0];return a}(),ya=B?new Uint32Array(xa):xa;\nfunction ra(b,a){function c(a,c){var b=a.N,d=[],f=0,e;e=ya[a.length];d[f++]=e&65535;d[f++]=e>>16&255;d[f++]=e>>24;var g;switch(v){case 1===b:g=[0,b-1,0];break;case 2===b:g=[1,b-2,0];break;case 3===b:g=[2,b-3,0];break;case 4===b:g=[3,b-4,0];break;case 6>=b:g=[4,b-5,1];break;case 8>=b:g=[5,b-7,1];break;case 12>=b:g=[6,b-9,2];break;case 16>=b:g=[7,b-13,2];break;case 24>=b:g=[8,b-17,3];break;case 32>=b:g=[9,b-25,3];break;case 48>=b:g=[10,b-33,4];break;case 64>=b:g=[11,b-49,4];break;case 96>=b:g=[12,b-\n65,5];break;case 128>=b:g=[13,b-97,5];break;case 192>=b:g=[14,b-129,6];break;case 256>=b:g=[15,b-193,6];break;case 384>=b:g=[16,b-257,7];break;case 512>=b:g=[17,b-385,7];break;case 768>=b:g=[18,b-513,8];break;case 1024>=b:g=[19,b-769,8];break;case 1536>=b:g=[20,b-1025,9];break;case 2048>=b:g=[21,b-1537,9];break;case 3072>=b:g=[22,b-2049,10];break;case 4096>=b:g=[23,b-3073,10];break;case 6144>=b:g=[24,b-4097,11];break;case 8192>=b:g=[25,b-6145,11];break;case 12288>=b:g=[26,b-8193,12];break;case 16384>=\nb:g=[27,b-12289,12];break;case 24576>=b:g=[28,b-16385,13];break;case 32768>=b:g=[29,b-24577,13];break;default:q(\"invalid distance\")}e=g;d[f++]=e[0];d[f++]=e[1];d[f++]=e[2];var h,k;h=0;for(k=d.length;h<k;++h)l[n++]=d[h];u[d[0]]++;w[d[3]]++;s=a.length+c-1;p=null}var d,e,f,g,k,h={},m,r,p,l=B?new Uint16Array(2*a.length):[],n=0,s=0,u=new (B?Uint32Array:Array)(286),w=new (B?Uint32Array:Array)(30),C=b.F,x;if(!B){for(f=0;285>=f;)u[f++]=0;for(f=0;29>=f;)w[f++]=0}u[256]=1;d=0;for(e=a.length;d<e;++d){f=k=0;\nfor(g=3;f<g&&d+f!==e;++f)k=k<<8|a[d+f];h[k]===t&&(h[k]=[]);m=h[k];if(!(0<s--)){for(;0<m.length&&32768<d-m[0];)m.shift();if(d+3>=e){p&&c(p,-1);f=0;for(g=e-d;f<g;++f)x=a[d+f],l[n++]=x,++u[x];break}0<m.length?(r=za(a,d,m),p?p.length<r.length?(x=a[d-1],l[n++]=x,++u[x],c(r,0)):c(p,-1):r.length<C?p=r:c(r,0)):p?c(p,-1):(x=a[d],l[n++]=x,++u[x])}m.push(d)}l[n++]=256;u[256]++;b.U=u;b.T=w;return B?l.subarray(0,n):l}\nfunction za(b,a,c){var d,e,f=0,g,k,h,m,r=b.length;k=0;m=c.length;a:for(;k<m;k++){d=c[m-k-1];g=3;if(3<f){for(h=f;3<h;h--)if(b[d+h-1]!==b[a+h-1])continue a;g=f}for(;258>g&&a+g<r&&b[d+g]===b[a+g];)++g;g>f&&(e=d,f=g);if(258===g)break}return new va(f,a-e)}\nfunction sa(b,a){var c=b.length,d=new ka(572),e=new (B?Uint8Array:Array)(c),f,g,k,h,m;if(!B)for(h=0;h<c;h++)e[h]=0;for(h=0;h<c;++h)0<b[h]&&d.push(h,b[h]);f=Array(d.length/2);g=new (B?Uint32Array:Array)(d.length/2);if(1===f.length)return e[d.pop().index]=1,e;h=0;for(m=d.length/2;h<m;++h)f[h]=d.pop(),g[h]=f[h].value;k=Aa(g,g.length,a);h=0;for(m=f.length;h<m;++h)e[f[h].index]=k[h];return e}\nfunction Aa(b,a,c){function d(b){var c=h[b][m[b]];c===a?(d(b+1),d(b+1)):--g[c];++m[b]}var e=new (B?Uint16Array:Array)(c),f=new (B?Uint8Array:Array)(c),g=new (B?Uint8Array:Array)(a),k=Array(c),h=Array(c),m=Array(c),r=(1<<c)-a,p=1<<c-1,l,n,s,u,w;e[c-1]=a;for(n=0;n<c;++n)r<p?f[n]=0:(f[n]=1,r-=p),r<<=1,e[c-2-n]=(e[c-1-n]/2|0)+a;e[0]=f[0];k[0]=Array(e[0]);h[0]=Array(e[0]);for(n=1;n<c;++n)e[n]>2*e[n-1]+f[n]&&(e[n]=2*e[n-1]+f[n]),k[n]=Array(e[n]),h[n]=Array(e[n]);for(l=0;l<a;++l)g[l]=c;for(s=0;s<e[c-1];++s)k[c-\n1][s]=b[s],h[c-1][s]=s;for(l=0;l<c;++l)m[l]=0;1===f[c-1]&&(--g[0],++m[c-1]);for(n=c-2;0<=n;--n){u=l=0;w=m[n+1];for(s=0;s<e[n];s++)u=k[n+1][w]+k[n+1][w+1],u>b[l]?(k[n][s]=u,h[n][s]=a,w+=2):(k[n][s]=b[l],h[n][s]=l,++l);m[n]=0;1===f[n]&&d(n)}return g}\nfunction ua(b){var a=new (B?Uint16Array:Array)(b.length),c=[],d=[],e=0,f,g,k,h;f=0;for(g=b.length;f<g;f++)c[b[f]]=(c[b[f]]|0)+1;f=1;for(g=16;f<=g;f++)d[f]=e,e+=c[f]|0,e<<=1;f=0;for(g=b.length;f<g;f++){e=d[b[f]];d[b[f]]+=1;k=a[f]=0;for(h=b[f];k<h;k++)a[f]=a[f]<<1|e&1,e>>>=1}return a};function Ba(b,a){this.input=b;this.b=this.c=0;this.g={};a&&(a.flags&&(this.g=a.flags),\"string\"===typeof a.filename&&(this.filename=a.filename),\"string\"===typeof a.comment&&(this.w=a.comment),a.deflateOptions&&(this.l=a.deflateOptions));this.l||(this.l={})}\nBa.prototype.h=function(){var b,a,c,d,e,f,g,k,h=new (B?Uint8Array:Array)(32768),m=0,r=this.input,p=this.c,l=this.filename,n=this.w;h[m++]=31;h[m++]=139;h[m++]=8;b=0;this.g.fname&&(b|=Ca);this.g.fcomment&&(b|=Da);this.g.fhcrc&&(b|=Ea);h[m++]=b;a=(Date.now?Date.now():+new Date)/1E3|0;h[m++]=a&255;h[m++]=a>>>8&255;h[m++]=a>>>16&255;h[m++]=a>>>24&255;h[m++]=0;h[m++]=Sa;if(this.g.fname!==t){g=0;for(k=l.length;g<k;++g)f=l.charCodeAt(g),255<f&&(h[m++]=f>>>8&255),h[m++]=f&255;h[m++]=0}if(this.g.comment){g=\n0;for(k=n.length;g<k;++g)f=n.charCodeAt(g),255<f&&(h[m++]=f>>>8&255),h[m++]=f&255;h[m++]=0}this.g.fhcrc&&(c=ha(h,0,m)&65535,h[m++]=c&255,h[m++]=c>>>8&255);this.l.outputBuffer=h;this.l.outputIndex=m;e=new na(r,this.l);h=e.h();m=e.b;B&&(m+8>h.buffer.byteLength?(this.a=new Uint8Array(m+8),this.a.set(new Uint8Array(h.buffer)),h=this.a):h=new Uint8Array(h.buffer));d=ha(r,t,t);h[m++]=d&255;h[m++]=d>>>8&255;h[m++]=d>>>16&255;h[m++]=d>>>24&255;k=r.length;h[m++]=k&255;h[m++]=k>>>8&255;h[m++]=k>>>16&255;h[m++]=\nk>>>24&255;this.c=p;B&&m<h.length&&(this.a=h=h.subarray(0,m));return h};var Sa=255,Ea=2,Ca=8,Da=16;function V(b,a){this.o=[];this.p=32768;this.e=this.j=this.c=this.s=0;this.input=B?new Uint8Array(b):b;this.u=!1;this.q=Ta;this.K=!1;if(a||!(a={}))a.index&&(this.c=a.index),a.bufferSize&&(this.p=a.bufferSize),a.bufferType&&(this.q=a.bufferType),a.resize&&(this.K=a.resize);switch(this.q){case Ua:this.b=32768;this.a=new (B?Uint8Array:Array)(32768+this.p+258);break;case Ta:this.b=0;this.a=new (B?Uint8Array:Array)(this.p);this.f=this.S;this.z=this.O;this.r=this.Q;break;default:q(Error(\"invalid inflate mode\"))}}\nvar Ua=0,Ta=1;\nV.prototype.i=function(){for(;!this.u;){var b=W(this,3);b&1&&(this.u=v);b>>>=1;switch(b){case 0:var a=this.input,c=this.c,d=this.a,e=this.b,f=a.length,g=t,k=t,h=d.length,m=t;this.e=this.j=0;c+1>=f&&q(Error(\"invalid uncompressed block header: LEN\"));g=a[c++]|a[c++]<<8;c+1>=f&&q(Error(\"invalid uncompressed block header: NLEN\"));k=a[c++]|a[c++]<<8;g===~k&&q(Error(\"invalid uncompressed block header: length verify\"));c+g>a.length&&q(Error(\"input buffer is broken\"));switch(this.q){case Ua:for(;e+g>d.length;){m=\nh-e;g-=m;if(B)d.set(a.subarray(c,c+m),e),e+=m,c+=m;else for(;m--;)d[e++]=a[c++];this.b=e;d=this.f();e=this.b}break;case Ta:for(;e+g>d.length;)d=this.f({B:2});break;default:q(Error(\"invalid inflate mode\"))}if(B)d.set(a.subarray(c,c+g),e),e+=g,c+=g;else for(;g--;)d[e++]=a[c++];this.c=c;this.b=e;this.a=d;break;case 1:this.r(Va,Wa);break;case 2:for(var r=W(this,5)+257,p=W(this,5)+1,l=W(this,4)+4,n=new (B?Uint8Array:Array)(Xa.length),s=t,u=t,w=t,C=t,x=t,D=t,M=t,z=t,N=t,z=0;z<l;++z)n[Xa[z]]=W(this,3);if(!B){z=\nl;for(l=n.length;z<l;++z)n[Xa[z]]=0}s=T(n);C=new (B?Uint8Array:Array)(r+p);z=0;for(N=r+p;z<N;)switch(x=Ya(this,s),x){case 16:for(M=3+W(this,2);M--;)C[z++]=D;break;case 17:for(M=3+W(this,3);M--;)C[z++]=0;D=0;break;case 18:for(M=11+W(this,7);M--;)C[z++]=0;D=0;break;default:D=C[z++]=x}u=B?T(C.subarray(0,r)):T(C.slice(0,r));w=B?T(C.subarray(r)):T(C.slice(r));this.r(u,w);break;default:q(Error(\"unknown BTYPE: \"+b))}}return this.z()};\nvar Za=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Xa=B?new Uint16Array(Za):Za,$a=[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,258,258],ab=B?new Uint16Array($a):$a,bb=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0],cb=B?new Uint8Array(bb):bb,db=[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],eb=B?new Uint16Array(db):db,fb=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,\n10,11,11,12,12,13,13],gb=B?new Uint8Array(fb):fb,hb=new (B?Uint8Array:Array)(288),$,ib;$=0;for(ib=hb.length;$<ib;++$)hb[$]=143>=$?8:255>=$?9:279>=$?7:8;var Va=T(hb),jb=new (B?Uint8Array:Array)(30),kb,lb;kb=0;for(lb=jb.length;kb<lb;++kb)jb[kb]=5;var Wa=T(jb);function W(b,a){for(var c=b.j,d=b.e,e=b.input,f=b.c,g=e.length,k;d<a;)f>=g&&q(Error(\"input buffer is broken\")),c|=e[f++]<<d,d+=8;k=c&(1<<a)-1;b.j=c>>>a;b.e=d-a;b.c=f;return k}\nfunction Ya(b,a){for(var c=b.j,d=b.e,e=b.input,f=b.c,g=e.length,k=a[0],h=a[1],m,r;d<h&&!(f>=g);)c|=e[f++]<<d,d+=8;m=k[c&(1<<h)-1];r=m>>>16;r>d&&q(Error(\"invalid code length: \"+r));b.j=c>>r;b.e=d-r;b.c=f;return m&65535}\nV.prototype.r=function(b,a){var c=this.a,d=this.b;this.A=b;for(var e=c.length-258,f,g,k,h;256!==(f=Ya(this,b));)if(256>f)d>=e&&(this.b=d,c=this.f(),d=this.b),c[d++]=f;else{g=f-257;h=ab[g];0<cb[g]&&(h+=W(this,cb[g]));f=Ya(this,a);k=eb[f];0<gb[f]&&(k+=W(this,gb[f]));d>=e&&(this.b=d,c=this.f(),d=this.b);for(;h--;)c[d]=c[d++-k]}for(;8<=this.e;)this.e-=8,this.c--;this.b=d};\nV.prototype.Q=function(b,a){var c=this.a,d=this.b;this.A=b;for(var e=c.length,f,g,k,h;256!==(f=Ya(this,b));)if(256>f)d>=e&&(c=this.f(),e=c.length),c[d++]=f;else{g=f-257;h=ab[g];0<cb[g]&&(h+=W(this,cb[g]));f=Ya(this,a);k=eb[f];0<gb[f]&&(k+=W(this,gb[f]));d+h>e&&(c=this.f(),e=c.length);for(;h--;)c[d]=c[d++-k]}for(;8<=this.e;)this.e-=8,this.c--;this.b=d};\nV.prototype.f=function(){var b=new (B?Uint8Array:Array)(this.b-32768),a=this.b-32768,c,d,e=this.a;if(B)b.set(e.subarray(32768,b.length));else{c=0;for(d=b.length;c<d;++c)b[c]=e[c+32768]}this.o.push(b);this.s+=b.length;if(B)e.set(e.subarray(a,a+32768));else for(c=0;32768>c;++c)e[c]=e[a+c];this.b=32768;return e};\nV.prototype.S=function(b){var a,c=this.input.length/this.c+1|0,d,e,f,g=this.input,k=this.a;b&&(\"number\"===typeof b.B&&(c=b.B),\"number\"===typeof b.M&&(c+=b.M));2>c?(d=(g.length-this.c)/this.A[2],f=258*(d/2)|0,e=f<k.length?k.length+f:k.length<<1):e=k.length*c;B?(a=new Uint8Array(e),a.set(k)):a=k;return this.a=a};\nV.prototype.z=function(){var b=0,a=this.a,c=this.o,d,e=new (B?Uint8Array:Array)(this.s+(this.b-32768)),f,g,k,h;if(0===c.length)return B?this.a.subarray(32768,this.b):this.a.slice(32768,this.b);f=0;for(g=c.length;f<g;++f){d=c[f];k=0;for(h=d.length;k<h;++k)e[b++]=d[k]}f=32768;for(g=this.b;f<g;++f)e[b++]=a[f];this.o=[];return this.buffer=e};\nV.prototype.O=function(){var b,a=this.b;B?this.K?(b=new Uint8Array(a),b.set(this.a.subarray(0,a))):b=this.a.subarray(0,a):(this.a.length>a&&(this.a.length=a),b=this.a);return this.buffer=b};function mb(b){this.input=b;this.c=0;this.G=[];this.R=!1}\nmb.prototype.i=function(){for(var b=this.input.length;this.c<b;){var a=new ja,c=t,d=t,e=t,f=t,g=t,k=t,h=t,m=t,r=t,p=this.input,l=this.c;a.C=p[l++];a.D=p[l++];(31!==a.C||139!==a.D)&&q(Error(\"invalid file signature:\"+a.C+\",\"+a.D));a.v=p[l++];switch(a.v){case 8:break;default:q(Error(\"unknown compression method: \"+a.v))}a.n=p[l++];m=p[l++]|p[l++]<<8|p[l++]<<16|p[l++]<<24;a.$=new Date(1E3*m);a.ba=p[l++];a.aa=p[l++];0<(a.n&4)&&(a.W=p[l++]|p[l++]<<8,l+=a.W);if(0<(a.n&Ca)){h=[];for(k=0;0<(g=p[l++]);)h[k++]=\nString.fromCharCode(g);a.name=h.join(\"\")}if(0<(a.n&Da)){h=[];for(k=0;0<(g=p[l++]);)h[k++]=String.fromCharCode(g);a.w=h.join(\"\")}0<(a.n&Ea)&&(a.P=ha(p,0,l)&65535,a.P!==(p[l++]|p[l++]<<8)&&q(Error(\"invalid header crc16\")));c=p[p.length-4]|p[p.length-3]<<8|p[p.length-2]<<16|p[p.length-1]<<24;p.length-l-4-4<512*c&&(f=c);d=new V(p,{index:l,bufferSize:f});a.data=e=d.i();l=d.c;a.Y=r=(p[l++]|p[l++]<<8|p[l++]<<16|p[l++]<<24)>>>0;ha(e,t,t)!==r&&q(Error(\"invalid CRC-32 checksum: 0x\"+ha(e,t,t).toString(16)+\" / 0x\"+\nr.toString(16)));a.Z=c=(p[l++]|p[l++]<<8|p[l++]<<16|p[l++]<<24)>>>0;(e.length&4294967295)!==c&&q(Error(\"invalid input size: \"+(e.length&4294967295)+\" / \"+c));this.G.push(a);this.c=l}this.R=v;var n=this.G,s,u,w=0,C=0,x;s=0;for(u=n.length;s<u;++s)C+=n[s].data.length;if(B){x=new Uint8Array(C);for(s=0;s<u;++s)x.set(n[s].data,w),w+=n[s].data.length}else{x=[];for(s=0;s<u;++s)x[s]=n[s].data;x=Array.prototype.concat.apply([],x)}return x};function nb(b){if(\"string\"===typeof b){var a=b.split(\"\"),c,d;c=0;for(d=a.length;c<d;c++)a[c]=(a[c].charCodeAt(0)&255)>>>0;b=a}for(var e=1,f=0,g=b.length,k,h=0;0<g;){k=1024<g?1024:g;g-=k;do e+=b[h++],f+=e;while(--k);e%=65521;f%=65521}return(f<<16|e)>>>0};function ob(b,a){var c,d;this.input=b;this.c=0;if(a||!(a={}))a.index&&(this.c=a.index),a.verify&&(this.V=a.verify);c=b[this.c++];d=b[this.c++];switch(c&15){case pb:this.method=pb;break;default:q(Error(\"unsupported compression method\"))}0!==((c<<8)+d)%31&&q(Error(\"invalid fcheck flag:\"+((c<<8)+d)%31));d&32&&q(Error(\"fdict flag is not supported\"));this.J=new V(b,{index:this.c,bufferSize:a.bufferSize,bufferType:a.bufferType,resize:a.resize})}\nob.prototype.i=function(){var b=this.input,a,c;a=this.J.i();this.c=this.J.c;this.V&&(c=(b[this.c++]<<24|b[this.c++]<<16|b[this.c++]<<8|b[this.c++])>>>0,c!==nb(a)&&q(Error(\"invalid adler-32 checksum\")));return a};var pb=8;function rb(b,a){this.input=b;this.a=new (B?Uint8Array:Array)(32768);this.k=sb.t;var c={},d;if((a||!(a={}))&&\"number\"===typeof a.compressionType)this.k=a.compressionType;for(d in a)c[d]=a[d];c.outputBuffer=this.a;this.I=new na(this.input,c)}var sb=pa;\nrb.prototype.h=function(){var b,a,c,d,e,f,g,k=0;g=this.a;b=pb;switch(b){case pb:a=Math.LOG2E*Math.log(32768)-8;break;default:q(Error(\"invalid compression method\"))}c=a<<4|b;g[k++]=c;switch(b){case pb:switch(this.k){case sb.NONE:e=0;break;case sb.L:e=1;break;case sb.t:e=2;break;default:q(Error(\"unsupported compression type\"))}break;default:q(Error(\"invalid compression method\"))}d=e<<6|0;g[k++]=d|31-(256*c+d)%31;f=nb(this.input);this.I.b=k;g=this.I.h();k=g.length;B&&(g=new Uint8Array(g.buffer),g.length<=\nk+4&&(this.a=new Uint8Array(g.length+4),this.a.set(g),g=this.a),g=g.subarray(0,k+4));g[k++]=f>>24&255;g[k++]=f>>16&255;g[k++]=f>>8&255;g[k++]=f&255;return g};exports.deflate=tb;exports.deflateSync=ub;exports.inflate=vb;exports.inflateSync=wb;exports.gzip=xb;exports.gzipSync=yb;exports.gunzip=zb;exports.gunzipSync=Ab;function tb(b,a,c){process.nextTick(function(){var d,e;try{e=ub(b,c)}catch(f){d=f}a(d,e)})}function ub(b,a){var c;c=(new rb(b)).h();a||(a={});return a.H?c:Bb(c)}function vb(b,a,c){process.nextTick(function(){var d,e;try{e=wb(b,c)}catch(f){d=f}a(d,e)})}\nfunction wb(b,a){var c;b.subarray=b.slice;c=(new ob(b)).i();a||(a={});return a.noBuffer?c:Bb(c)}function xb(b,a,c){process.nextTick(function(){var d,e;try{e=yb(b,c)}catch(f){d=f}a(d,e)})}function yb(b,a){var c;b.subarray=b.slice;c=(new Ba(b)).h();a||(a={});return a.H?c:Bb(c)}function zb(b,a,c){process.nextTick(function(){var d,e;try{e=Ab(b,c)}catch(f){d=f}a(d,e)})}function Ab(b,a){var c;b.subarray=b.slice;c=(new mb(b)).i();a||(a={});return a.H?c:Bb(c)}\nfunction Bb(b){var a=new Buffer(b.length),c,d;c=0;for(d=b.length;c<d;++c)a[c]=b[c];return a};}).call(this);\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction placeHoldersCount (b64) {\n var len = b64.length\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n}\n\nfunction byteLength (b64) {\n // base64 is 4/3 + up to two characters of the original data\n return (b64.length * 3 / 4) - placeHoldersCount(b64)\n}\n\nfunction toByteArray (b64) {\n var i, l, tmp, placeHolders, arr\n var len = b64.length\n placeHolders = placeHoldersCount(b64)\n\n arr = new Arr((len * 3 / 4) - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0; i < l; i += 4) {\n tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xFF\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n if (placeHolders === 2) {\n tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xFF\n } else if (placeHolders === 1) {\n tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3F]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + (uint8[len - 1])\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3F]\n output += lookup[(tmp << 2) & 0x3F]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","const bmp = require('bmp-js');\nconst fileType = require('file-type');\n\nmodule.exports = (TessModule, iBuf) => {\n const buf = Buffer.from(iBuf);\n const type = fileType(buf);\n let bytesPerPixel = 0;\n let data = null;\n let pix = null;\n let w = 0;\n let h = 0;\n\n /*\n * Although leptonica should support reading bmp, there is a bug of \"compressed BMP files\".\n * As there is no solution, we need to use bmp-js for now.\n * @see https://groups.google.com/forum/#!topic/tesseract-ocr/4mPD9zTxdxE\n */\n if (type && type.mime === 'image/bmp') {\n const bmpBuf = bmp.decode(buf);\n data = TessModule._malloc(bmpBuf.data.length * Uint8Array.BYTES_PER_ELEMENT);\n TessModule.HEAPU8.set(bmpBuf.data, data);\n w = bmpBuf.width;\n h = bmpBuf.height;\n bytesPerPixel = 4;\n } else {\n const ptr = TessModule._malloc(buf.length * Uint8Array.BYTES_PER_ELEMENT);\n TessModule.HEAPU8.set(buf, ptr);\n pix = TessModule._pixReadMem(ptr, buf.length);\n if (TessModule.getValue(pix + (7 * 4), 'i32') === 0) {\n /*\n * Set a yres default value to prevent warning from tesseract\n * See kMinCredibleResolution in tesseract/src/ccstruct/publictypes.h\n */\n TessModule.setValue(pix + (7 * 4), 70, 'i32');\n }\n [w, h] = Array(2).fill(0)\n .map((v, idx) => (\n TessModule.getValue(pix + (idx * 4), 'i32')\n ));\n }\n\n return {\n w,\n h,\n bytesPerPixel,\n data,\n pix,\n };\n};\n","/**\n * @author shaozilee\n *\n * support 1bit 4bit 8bit 24bit decode\n * encode with 24bit\n * \n */\n\nvar encode = require('./lib/encoder'),\n decode = require('./lib/decoder');\n\nmodule.exports = {\n encode: encode,\n decode: decode\n};\n","/**\n * @author shaozilee\n *\n * BMP format encoder,encode 24bit BMP\n * Not support quality compression\n *\n */\n\nfunction BmpEncoder(imgData){\n\tthis.buffer = imgData.data;\n\tthis.width = imgData.width;\n\tthis.height = imgData.height;\n\tthis.extraBytes = this.width%4;\n\tthis.rgbSize = this.height*(3*this.width+this.extraBytes);\n\tthis.headerInfoSize = 40;\n\n\tthis.data = [];\n\t/******************header***********************/\n\tthis.flag = \"BM\";\n\tthis.reserved = 0;\n\tthis.offset = 54;\n\tthis.fileSize = this.rgbSize+this.offset;\n\tthis.planes = 1;\n\tthis.bitPP = 24;\n\tthis.compress = 0;\n\tthis.hr = 0;\n\tthis.vr = 0;\n\tthis.colors = 0;\n\tthis.importantColors = 0;\n}\n\nBmpEncoder.prototype.encode = function() {\n\tvar tempBuffer = new Buffer(this.offset+this.rgbSize);\n\tthis.pos = 0;\n\ttempBuffer.write(this.flag,this.pos,2);this.pos+=2;\n\ttempBuffer.writeUInt32LE(this.fileSize,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.reserved,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.offset,this.pos);this.pos+=4;\n\n\ttempBuffer.writeUInt32LE(this.headerInfoSize,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.width,this.pos);this.pos+=4;\n\ttempBuffer.writeInt32LE(-this.height,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt16LE(this.planes,this.pos);this.pos+=2;\n\ttempBuffer.writeUInt16LE(this.bitPP,this.pos);this.pos+=2;\n\ttempBuffer.writeUInt32LE(this.compress,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.rgbSize,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.hr,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.vr,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.colors,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.importantColors,this.pos);this.pos+=4;\n\n\tvar i=0;\n\tvar rowBytes = 3*this.width+this.extraBytes;\n\n\tfor (var y = 0; y <this.height; y++){\n\t\tfor (var x = 0; x < this.width; x++){\n\t\t\tvar p = this.pos+y*rowBytes+x*3;\n\t\t\ti++;//a\n\t\t\ttempBuffer[p]= this.buffer[i++];//b\n\t\t\ttempBuffer[p+1] = this.buffer[i++];//g\n\t\t\ttempBuffer[p+2] = this.buffer[i++];//r\n\t\t}\n\t\tif(this.extraBytes>0){\n\t\t\tvar fillOffset = this.pos+y*rowBytes+this.width*3;\n\t\t\ttempBuffer.fill(0,fillOffset,fillOffset+this.extraBytes);\n\t\t}\n\t}\n\n\treturn tempBuffer;\n};\n\nmodule.exports = function(imgData, quality) {\n if (typeof quality === 'undefined') quality = 100;\n \tvar encoder = new BmpEncoder(imgData);\n\tvar data = encoder.encode();\n return {\n data: data,\n width: imgData.width,\n height: imgData.height\n };\n};\n","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\n *\n */\n\nfunction BmpDecoder(buffer,is_with_alpha) {\n this.pos = 0;\n this.buffer = buffer;\n this.is_with_alpha = !!is_with_alpha;\n this.bottom_up = true;\n this.flag = this.buffer.toString(\"utf-8\", 0, this.pos += 2);\n if (this.flag != \"BM\") throw new Error(\"Invalid BMP File\");\n this.parseHeader();\n this.parseRGBA();\n}\n\nBmpDecoder.prototype.parseHeader = function() {\n this.fileSize = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.reserved = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.offset = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.headerSize = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.width = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.height = this.buffer.readInt32LE(this.pos);\n this.pos += 4;\n this.planes = this.buffer.readUInt16LE(this.pos);\n this.pos += 2;\n this.bitPP = this.buffer.readUInt16LE(this.pos);\n this.pos += 2;\n this.compress = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.rawSize = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.hr = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.vr = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.colors = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.importantColors = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n\n if(this.bitPP === 16 && this.is_with_alpha){\n this.bitPP = 15\n }\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n for (var i = 0; i < len; i++) {\n var blue = this.buffer.readUInt8(this.pos++);\n var green = this.buffer.readUInt8(this.pos++);\n var red = this.buffer.readUInt8(this.pos++);\n var quad = this.buffer.readUInt8(this.pos++);\n this.palette[i] = {\n red: red,\n green: green,\n blue: blue,\n quad: quad\n };\n }\n }\n if(this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\n }\n\n}\n\nBmpDecoder.prototype.parseRGBA = function() {\n var bitn = \"bit\" + this.bitPP;\n var len = this.width * this.height * 4;\n this.data = new Buffer(len);\n this[bitn]();\n};\n\nBmpDecoder.prototype.bit1 = function() {\n var xlen = Math.ceil(this.width / 8);\n var mode = xlen%4;\n var y = this.height >= 0 ? this.height - 1 : -this.height\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y\n for (var x = 0; x < xlen; x++) {\n var b = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x*8*4;\n for (var i = 0; i < 8; i++) {\n if(x*8+i<this.width){\n var rgb = this.palette[((b>>(7-i))&0x1)];\n\n this.data[location+i*4] = 0;\n this.data[location+i*4 + 1] = rgb.blue;\n this.data[location+i*4 + 2] = rgb.green;\n this.data[location+i*4 + 3] = rgb.red;\n\n }else{\n break;\n }\n }\n }\n\n if (mode != 0){\n this.pos+=(4 - mode);\n }\n }\n};\n\nBmpDecoder.prototype.bit4 = function() {\n //RLE-4\n if(this.compress == 2){\n this.data.fill(0xff);\n\n var location = 0;\n var lines = this.bottom_up?this.height-1:0;\n var low_nibble = false;//for all count of pixel\n\n while(location<this.data.length){\n var a = this.buffer.readUInt8(this.pos++);\n var b = this.buffer.readUInt8(this.pos++);\n //absolute mode\n if(a == 0){\n if(b == 0){//line end\n if(this.bottom_up){\n lines--;\n }else{\n lines++;\n }\n location = lines*this.width*4;\n low_nibble = false;\n continue;\n }else if(b == 1){//image end\n break;\n }else if(b ==2){\n //offset x,y\n var x = this.buffer.readUInt8(this.pos++);\n var y = this.buffer.readUInt8(this.pos++);\n if(this.bottom_up){\n lines-=y;\n }else{\n lines+=y;\n }\n\n location +=(y*this.width*4+x*4);\n }else{\n var c = this.buffer.readUInt8(this.pos++);\n for(var i=0;i<b;i++){\n if (low_nibble) {\n setPixelData.call(this, (c & 0x0f));\n } else {\n setPixelData.call(this, (c & 0xf0)>>4);\n }\n\n if ((i & 1) && (i+1 < b)){\n c = this.buffer.readUInt8(this.pos++);\n }\n\n low_nibble = !low_nibble;\n }\n\n if ((((b+1) >> 1) & 1 ) == 1){\n this.pos++\n }\n }\n\n }else{//encoded mode\n for (var i = 0; i < a; i++) {\n if (low_nibble) {\n setPixelData.call(this, (b & 0x0f));\n } else {\n setPixelData.call(this, (b & 0xf0)>>4);\n }\n low_nibble = !low_nibble;\n }\n }\n\n }\n\n\n\n\n function setPixelData(rgbIndex){\n var rgb = this.palette[rgbIndex];\n this.data[location] = 0;\n this.data[location + 1] = rgb.blue;\n this.data[location + 2] = rgb.green;\n this.data[location + 3] = rgb.red;\n location+=4;\n }\n }else{\n\n var xlen = Math.ceil(this.width/2);\n var mode = xlen%4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y\n for (var x = 0; x < xlen; x++) {\n var b = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x*2*4;\n\n var before = b>>4;\n var after = b&0x0F;\n\n var rgb = this.palette[before];\n this.data[location] = 0;\n this.data[location + 1] = rgb.blue;\n this.data[location + 2] = rgb.green;\n this.data[location + 3] = rgb.red;\n\n\n if(x*2+1>=this.width)break;\n\n rgb = this.palette[after];\n\n this.data[location+4] = 0;\n this.data[location+4 + 1] = rgb.blue;\n this.data[location+4 + 2] = rgb.green;\n this.data[location+4 + 3] = rgb.red;\n\n }\n\n if (mode != 0){\n this.pos+=(4 - mode);\n }\n }\n\n }\n\n};\n\nBmpDecoder.prototype.bit8 = function() {\n //RLE-8\n if(this.compress == 1){\n this.data.fill(0xff);\n\n var location = 0;\n var lines = this.bottom_up?this.height-1:0;\n\n while(location<this.data.length){\n var a = this.buffer.readUInt8(this.pos++);\n var b = this.buffer.readUInt8(this.pos++);\n //absolute mode\n if(a == 0){\n if(b == 0){//line end\n if(this.bottom_up){\n lines--;\n }else{\n lines++;\n }\n location = lines*this.width*4;\n continue;\n }else if(b == 1){//image end\n break;\n }else if(b ==2){\n //offset x,y\n var x = this.buffer.readUInt8(this.pos++);\n var y = this.buffer.readUInt8(this.pos++);\n if(this.bottom_up){\n lines-=y;\n }else{\n lines+=y;\n }\n\n location +=(y*this.width*4+x*4);\n }else{\n for(var i=0;i<b;i++){\n var c = this.buffer.readUInt8(this.pos++);\n setPixelData.call(this, c);\n }\n if(b&1 == 1){\n this.pos++;\n }\n\n }\n\n }else{//encoded mode\n for (var i = 0; i < a; i++) {\n setPixelData.call(this, b);\n }\n }\n\n }\n\n\n\n\n function setPixelData(rgbIndex){\n var rgb = this.palette[rgbIndex];\n this.data[location] = 0;\n this.data[location + 1] = rgb.blue;\n this.data[location + 2] = rgb.green;\n this.data[location + 3] = rgb.red;\n location+=4;\n }\n }else {\n var mode = this.width % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y\n for (var x = 0; x < this.width; x++) {\n var b = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x * 4;\n if (b < this.palette.length) {\n var rgb = this.palette[b];\n\n this.data[location] = 0;\n this.data[location + 1] = rgb.blue;\n this.data[location + 2] = rgb.green;\n this.data[location + 3] = rgb.red;\n\n } else {\n this.data[location] = 0;\n this.data[location + 1] = 0xFF;\n this.data[location + 2] = 0xFF;\n this.data[location + 3] = 0xFF;\n }\n }\n if (mode != 0) {\n this.pos += (4 - mode);\n }\n }\n }\n};\n\nBmpDecoder.prototype.bit15 = function() {\n var dif_w =this.width % 3;\n var _11111 = parseInt(\"11111\", 2),_1_5 = _11111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y\n for (var x = 0; x < this.width; x++) {\n\n var B = this.buffer.readUInt16LE(this.pos);\n this.pos+=2;\n var blue = (B & _1_5) / _1_5 * 255 | 0;\n var green = (B >> 5 & _1_5 ) / _1_5 * 255 | 0;\n var red = (B >> 10 & _1_5) / _1_5 * 255 | 0;\n var alpha = (B>>15)?0xFF:0x00;\n\n var location = line * this.width * 4 + x * 4;\n\n this.data[location] = alpha;\n this.data[location + 1] = blue;\n this.data[location + 2] = green;\n this.data[location + 3] = red;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function() {\n var dif_w =(this.width % 2)*2;\n //default xrgb555\n this.maskRed = 0x7C00;\n this.maskGreen = 0x3E0;\n this.maskBlue =0x1F;\n this.mask0 = 0;\n\n if(this.compress == 3){\n this.maskRed = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n this.maskGreen = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n this.maskBlue = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n this.mask0 = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n }\n\n\n var ns=[0,0,0];\n for (var i=0;i<16;i++){\n if ((this.maskRed>>i)&0x01) ns[0]++;\n if ((this.maskGreen>>i)&0x01) ns[1]++;\n if ((this.maskBlue>>i)&0x01) ns[2]++;\n }\n ns[1]+=ns[0]; ns[2]+=ns[1];\tns[0]=8-ns[0]; ns[1]-=8; ns[2]-=8;\n\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n\n var B = this.buffer.readUInt16LE(this.pos);\n this.pos+=2;\n\n var blue = (B&this.maskBlue)<<ns[0];\n var green = (B&this.maskGreen)>>ns[1];\n var red = (B&this.maskRed)>>ns[2];\n\n var location = line * this.width * 4 + x * 4;\n\n this.data[location] = 0;\n this.data[location + 1] = blue;\n this.data[location + 2] = green;\n this.data[location + 3] = red;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit24 = function() {\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y\n for (var x = 0; x < this.width; x++) {\n //Little Endian rgb\n var blue = this.buffer.readUInt8(this.pos++);\n var green = this.buffer.readUInt8(this.pos++);\n var red = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = 0;\n this.data[location + 1] = blue;\n this.data[location + 2] = green;\n this.data[location + 3] = red;\n }\n //skip extra bytes\n this.pos += (this.width % 4);\n }\n\n};\n\n/**\n * add 32bit decode func\n * @author soubok\n */\nBmpDecoder.prototype.bit32 = function() {\n //BI_BITFIELDS\n if(this.compress == 3){\n this.maskRed = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n this.maskGreen = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n this.maskBlue = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n this.mask0 = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n //Little Endian rgba\n var alpha = this.buffer.readUInt8(this.pos++);\n var blue = this.buffer.readUInt8(this.pos++);\n var green = this.buffer.readUInt8(this.pos++);\n var red = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = alpha;\n this.data[location + 1] = blue;\n this.data[location + 2] = green;\n this.data[location + 3] = red;\n }\n }\n\n }else{\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n //Little Endian argb\n var blue = this.buffer.readUInt8(this.pos++);\n var green = this.buffer.readUInt8(this.pos++);\n var red = this.buffer.readUInt8(this.pos++);\n var alpha = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = alpha;\n this.data[location + 1] = blue;\n this.data[location + 2] = green;\n this.data[location + 3] = red;\n }\n }\n\n }\n\n\n\n\n};\n\nBmpDecoder.prototype.getData = function() {\n return this.data;\n};\n\nmodule.exports = function(bmpData) {\n var decoder = new BmpDecoder(bmpData);\n return decoder;\n};\n","'use strict';\nconst toBytes = s => [...s].map(c => c.charCodeAt(0));\nconst xpiZipFilename = toBytes('META-INF/mozilla.rsa');\nconst oxmlContentTypes = toBytes('[Content_Types].xml');\nconst oxmlRels = toBytes('_rels/.rels');\n\nfunction readUInt64LE(buf, offset = 0) {\n\tlet n = buf[offset];\n\tlet mul = 1;\n\tlet i = 0;\n\twhile (++i < 8) {\n\t\tmul *= 0x100;\n\t\tn += buf[offset + i] * mul;\n\t}\n\treturn n;\n}\n\nmodule.exports = input => {\n\tif (!(input instanceof Uint8Array || Buffer.isBuffer(input))) {\n\t\tthrow new TypeError(`Expected the \\`input\\` argument to be of type \\`Uint8Array\\` or \\`Buffer\\`, got \\`${typeof input}\\``);\n\t}\n\n\tconst buf = input instanceof Uint8Array ? input : new Uint8Array(input);\n\n\tif (!(buf && buf.length > 1)) {\n\t\treturn null;\n\t}\n\n\tconst check = (header, options) => {\n\t\toptions = Object.assign({\n\t\t\toffset: 0\n\t\t}, options);\n\n\t\tfor (let i = 0; i < header.length; i++) {\n\t\t\t// If a bitmask is set\n\t\t\tif (options.mask) {\n\t\t\t\t// If header doesn't equal `buf` with bits masked off\n\t\t\t\tif (header[i] !== (options.mask[i] & buf[i + options.offset])) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else if (header[i] !== buf[i + options.offset]) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t};\n\n\tconst checkString = (header, options) => check(toBytes(header), options);\n\n\tif (check([0xFF, 0xD8, 0xFF])) {\n\t\treturn {\n\t\t\text: 'jpg',\n\t\t\tmime: 'image/jpeg'\n\t\t};\n\t}\n\n\tif (check([0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A])) {\n\t\treturn {\n\t\t\text: 'png',\n\t\t\tmime: 'image/png'\n\t\t};\n\t}\n\n\tif (check([0x47, 0x49, 0x46])) {\n\t\treturn {\n\t\t\text: 'gif',\n\t\t\tmime: 'image/gif'\n\t\t};\n\t}\n\n\tif (check([0x57, 0x45, 0x42, 0x50], {offset: 8})) {\n\t\treturn {\n\t\t\text: 'webp',\n\t\t\tmime: 'image/webp'\n\t\t};\n\t}\n\n\tif (check([0x46, 0x4C, 0x49, 0x46])) {\n\t\treturn {\n\t\t\text: 'flif',\n\t\t\tmime: 'image/flif'\n\t\t};\n\t}\n\n\t// Needs to be before `tif` check\n\tif (\n\t\t(check([0x49, 0x49, 0x2A, 0x0]) || check([0x4D, 0x4D, 0x0, 0x2A])) &&\n\t\tcheck([0x43, 0x52], {offset: 8})\n\t) {\n\t\treturn {\n\t\t\text: 'cr2',\n\t\t\tmime: 'image/x-canon-cr2'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x49, 0x49, 0x2A, 0x0]) ||\n\t\tcheck([0x4D, 0x4D, 0x0, 0x2A])\n\t) {\n\t\treturn {\n\t\t\text: 'tif',\n\t\t\tmime: 'image/tiff'\n\t\t};\n\t}\n\n\tif (check([0x42, 0x4D])) {\n\t\treturn {\n\t\t\text: 'bmp',\n\t\t\tmime: 'image/bmp'\n\t\t};\n\t}\n\n\tif (check([0x49, 0x49, 0xBC])) {\n\t\treturn {\n\t\t\text: 'jxr',\n\t\t\tmime: 'image/vnd.ms-photo'\n\t\t};\n\t}\n\n\tif (check([0x38, 0x42, 0x50, 0x53])) {\n\t\treturn {\n\t\t\text: 'psd',\n\t\t\tmime: 'image/vnd.adobe.photoshop'\n\t\t};\n\t}\n\n\t// Zip-based file formats\n\t// Need to be before the `zip` check\n\tif (check([0x50, 0x4B, 0x3, 0x4])) {\n\t\tif (\n\t\t\tcheck([0x6D, 0x69, 0x6D, 0x65, 0x74, 0x79, 0x70, 0x65, 0x61, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2F, 0x65, 0x70, 0x75, 0x62, 0x2B, 0x7A, 0x69, 0x70], {offset: 30})\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'epub',\n\t\t\t\tmime: 'application/epub+zip'\n\t\t\t};\n\t\t}\n\n\t\t// Assumes signed `.xpi` from addons.mozilla.org\n\t\tif (check(xpiZipFilename, {offset: 30})) {\n\t\t\treturn {\n\t\t\t\text: 'xpi',\n\t\t\t\tmime: 'application/x-xpinstall'\n\t\t\t};\n\t\t}\n\n\t\tif (checkString('mimetypeapplication/vnd.oasis.opendocument.text', {offset: 30})) {\n\t\t\treturn {\n\t\t\t\text: 'odt',\n\t\t\t\tmime: 'application/vnd.oasis.opendocument.text'\n\t\t\t};\n\t\t}\n\n\t\tif (checkString('mimetypeapplication/vnd.oasis.opendocument.spreadsheet', {offset: 30})) {\n\t\t\treturn {\n\t\t\t\text: 'ods',\n\t\t\t\tmime: 'application/vnd.oasis.opendocument.spreadsheet'\n\t\t\t};\n\t\t}\n\n\t\tif (checkString('mimetypeapplication/vnd.oasis.opendocument.presentation', {offset: 30})) {\n\t\t\treturn {\n\t\t\t\text: 'odp',\n\t\t\t\tmime: 'application/vnd.oasis.opendocument.presentation'\n\t\t\t};\n\t\t}\n\n\t\t// The docx, xlsx and pptx file types extend the Office Open XML file format:\n\t\t// https://en.wikipedia.org/wiki/Office_Open_XML_file_formats\n\t\t// We look for:\n\t\t// - one entry named '[Content_Types].xml' or '_rels/.rels',\n\t\t// - one entry indicating specific type of file.\n\t\t// MS Office, OpenOffice and LibreOffice may put the parts in different order, so the check should not rely on it.\n\t\tconst findNextZipHeaderIndex = (arr, startAt = 0) => arr.findIndex((el, i, arr) => i >= startAt && arr[i] === 0x50 && arr[i + 1] === 0x4B && arr[i + 2] === 0x3 && arr[i + 3] === 0x4);\n\n\t\tlet zipHeaderIndex = 0; // The first zip header was already found at index 0\n\t\tlet oxmlFound = false;\n\t\tlet type = null;\n\n\t\tdo {\n\t\t\tconst offset = zipHeaderIndex + 30;\n\n\t\t\tif (!oxmlFound) {\n\t\t\t\toxmlFound = (check(oxmlContentTypes, {offset}) || check(oxmlRels, {offset}));\n\t\t\t}\n\n\t\t\tif (!type) {\n\t\t\t\tif (checkString('word/', {offset})) {\n\t\t\t\t\ttype = {\n\t\t\t\t\t\text: 'docx',\n\t\t\t\t\t\tmime: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n\t\t\t\t\t};\n\t\t\t\t} else if (checkString('ppt/', {offset})) {\n\t\t\t\t\ttype = {\n\t\t\t\t\t\text: 'pptx',\n\t\t\t\t\t\tmime: 'application/vnd.openxmlformats-officedocument.presentationml.presentation'\n\t\t\t\t\t};\n\t\t\t\t} else if (checkString('xl/', {offset})) {\n\t\t\t\t\ttype = {\n\t\t\t\t\t\text: 'xlsx',\n\t\t\t\t\t\tmime: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (oxmlFound && type) {\n\t\t\t\treturn type;\n\t\t\t}\n\n\t\t\tzipHeaderIndex = findNextZipHeaderIndex(buf, offset);\n\t\t} while (zipHeaderIndex >= 0);\n\n\t\t// No more zip parts available in the buffer, but maybe we are almost certain about the type?\n\t\tif (type) {\n\t\t\treturn type;\n\t\t}\n\t}\n\n\tif (\n\t\tcheck([0x50, 0x4B]) &&\n\t\t(buf[2] === 0x3 || buf[2] === 0x5 || buf[2] === 0x7) &&\n\t\t(buf[3] === 0x4 || buf[3] === 0x6 || buf[3] === 0x8)\n\t) {\n\t\treturn {\n\t\t\text: 'zip',\n\t\t\tmime: 'application/zip'\n\t\t};\n\t}\n\n\tif (check([0x75, 0x73, 0x74, 0x61, 0x72], {offset: 257})) {\n\t\treturn {\n\t\t\text: 'tar',\n\t\t\tmime: 'application/x-tar'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x52, 0x61, 0x72, 0x21, 0x1A, 0x7]) &&\n\t\t(buf[6] === 0x0 || buf[6] === 0x1)\n\t) {\n\t\treturn {\n\t\t\text: 'rar',\n\t\t\tmime: 'application/x-rar-compressed'\n\t\t};\n\t}\n\n\tif (check([0x1F, 0x8B, 0x8])) {\n\t\treturn {\n\t\t\text: 'gz',\n\t\t\tmime: 'application/gzip'\n\t\t};\n\t}\n\n\tif (check([0x42, 0x5A, 0x68])) {\n\t\treturn {\n\t\t\text: 'bz2',\n\t\t\tmime: 'application/x-bzip2'\n\t\t};\n\t}\n\n\tif (check([0x37, 0x7A, 0xBC, 0xAF, 0x27, 0x1C])) {\n\t\treturn {\n\t\t\text: '7z',\n\t\t\tmime: 'application/x-7z-compressed'\n\t\t};\n\t}\n\n\tif (check([0x78, 0x01])) {\n\t\treturn {\n\t\t\text: 'dmg',\n\t\t\tmime: 'application/x-apple-diskimage'\n\t\t};\n\t}\n\n\tif (check([0x33, 0x67, 0x70, 0x35]) || // 3gp5\n\t\t(\n\t\t\tcheck([0x0, 0x0, 0x0]) && check([0x66, 0x74, 0x79, 0x70], {offset: 4}) &&\n\t\t\t\t(\n\t\t\t\t\tcheck([0x6D, 0x70, 0x34, 0x31], {offset: 8}) || // MP41\n\t\t\t\t\tcheck([0x6D, 0x70, 0x34, 0x32], {offset: 8}) || // MP42\n\t\t\t\t\tcheck([0x69, 0x73, 0x6F, 0x6D], {offset: 8}) || // ISOM\n\t\t\t\t\tcheck([0x69, 0x73, 0x6F, 0x32], {offset: 8}) || // ISO2\n\t\t\t\t\tcheck([0x6D, 0x6D, 0x70, 0x34], {offset: 8}) || // MMP4\n\t\t\t\t\tcheck([0x4D, 0x34, 0x56], {offset: 8}) || // M4V\n\t\t\t\t\tcheck([0x64, 0x61, 0x73, 0x68], {offset: 8}) // DASH\n\t\t\t\t)\n\t\t)) {\n\t\treturn {\n\t\t\text: 'mp4',\n\t\t\tmime: 'video/mp4'\n\t\t};\n\t}\n\n\tif (check([0x4D, 0x54, 0x68, 0x64])) {\n\t\treturn {\n\t\t\text: 'mid',\n\t\t\tmime: 'audio/midi'\n\t\t};\n\t}\n\n\t// https://github.com/threatstack/libmagic/blob/master/magic/Magdir/matroska\n\tif (check([0x1A, 0x45, 0xDF, 0xA3])) {\n\t\tconst sliced = buf.subarray(4, 4 + 4096);\n\t\tconst idPos = sliced.findIndex((el, i, arr) => arr[i] === 0x42 && arr[i + 1] === 0x82);\n\n\t\tif (idPos !== -1) {\n\t\t\tconst docTypePos = idPos + 3;\n\t\t\tconst findDocType = type => [...type].every((c, i) => sliced[docTypePos + i] === c.charCodeAt(0));\n\n\t\t\tif (findDocType('matroska')) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'mkv',\n\t\t\t\t\tmime: 'video/x-matroska'\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (findDocType('webm')) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'webm',\n\t\t\t\t\tmime: 'video/webm'\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\n\tif (check([0x0, 0x0, 0x0, 0x14, 0x66, 0x74, 0x79, 0x70, 0x71, 0x74, 0x20, 0x20]) ||\n\t\tcheck([0x66, 0x72, 0x65, 0x65], {offset: 4}) || // Type: `free`\n\t\tcheck([0x66, 0x74, 0x79, 0x70, 0x71, 0x74, 0x20, 0x20], {offset: 4}) ||\n\t\tcheck([0x6D, 0x64, 0x61, 0x74], {offset: 4}) || // MJPEG\n\t\tcheck([0x6D, 0x6F, 0x6F, 0x76], {offset: 4}) || // Type: `moov`\n\t\tcheck([0x77, 0x69, 0x64, 0x65], {offset: 4})) {\n\t\treturn {\n\t\t\text: 'mov',\n\t\t\tmime: 'video/quicktime'\n\t\t};\n\t}\n\n\t// RIFF file format which might be AVI, WAV, QCP, etc\n\tif (check([0x52, 0x49, 0x46, 0x46])) {\n\t\tif (check([0x41, 0x56, 0x49], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'avi',\n\t\t\t\tmime: 'video/vnd.avi'\n\t\t\t};\n\t\t}\n\t\tif (check([0x57, 0x41, 0x56, 0x45], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'wav',\n\t\t\t\tmime: 'audio/vnd.wave'\n\t\t\t};\n\t\t}\n\t\t// QLCM, QCP file\n\t\tif (check([0x51, 0x4C, 0x43, 0x4D], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'qcp',\n\t\t\t\tmime: 'audio/qcelp'\n\t\t\t};\n\t\t}\n\t}\n\n\t// ASF_Header_Object first 80 bytes\n\tif (check([0x30, 0x26, 0xB2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xA6, 0xD9])) {\n\t\t// Search for header should be in first 1KB of file.\n\n\t\tlet offset = 30;\n\t\tdo {\n\t\t\tconst objectSize = readUInt64LE(buf, offset + 16);\n\t\t\tif (check([0x91, 0x07, 0xDC, 0xB7, 0xB7, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65], {offset})) {\n\t\t\t\t// Sync on Stream-Properties-Object (B7DC0791-A9B7-11CF-8EE6-00C00C205365)\n\t\t\t\tif (check([0x40, 0x9E, 0x69, 0xF8, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B], {offset: offset + 24})) {\n\t\t\t\t\t// Found audio:\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'wma',\n\t\t\t\t\t\tmime: 'audio/x-ms-wma'\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif (check([0xC0, 0xEF, 0x19, 0xBC, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B], {offset: offset + 24})) {\n\t\t\t\t\t// Found video:\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'wmv',\n\t\t\t\t\t\tmime: 'video/x-ms-asf'\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\toffset += objectSize;\n\t\t} while (offset + 24 <= buf.length);\n\n\t\t// Default to ASF generic extension\n\t\treturn {\n\t\t\text: 'asf',\n\t\t\tmime: 'application/vnd.ms-asf'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x0, 0x0, 0x1, 0xBA]) ||\n\t\tcheck([0x0, 0x0, 0x1, 0xB3])\n\t) {\n\t\treturn {\n\t\t\text: 'mpg',\n\t\t\tmime: 'video/mpeg'\n\t\t};\n\t}\n\n\tif (check([0x66, 0x74, 0x79, 0x70, 0x33, 0x67], {offset: 4})) {\n\t\treturn {\n\t\t\text: '3gp',\n\t\t\tmime: 'video/3gpp'\n\t\t};\n\t}\n\n\t// Check for MPEG header at different starting offsets\n\tfor (let start = 0; start < 2 && start < (buf.length - 16); start++) {\n\t\tif (\n\t\t\tcheck([0x49, 0x44, 0x33], {offset: start}) || // ID3 header\n\t\t\tcheck([0xFF, 0xE2], {offset: start, mask: [0xFF, 0xE2]}) // MPEG 1 or 2 Layer 3 header\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'mp3',\n\t\t\t\tmime: 'audio/mpeg'\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tcheck([0xFF, 0xE4], {offset: start, mask: [0xFF, 0xE4]}) // MPEG 1 or 2 Layer 2 header\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'mp2',\n\t\t\t\tmime: 'audio/mpeg'\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tcheck([0xFF, 0xF8], {offset: start, mask: [0xFF, 0xFC]}) // MPEG 2 layer 0 using ADTS\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'mp2',\n\t\t\t\tmime: 'audio/mpeg'\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tcheck([0xFF, 0xF0], {offset: start, mask: [0xFF, 0xFC]}) // MPEG 4 layer 0 using ADTS\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'mp4',\n\t\t\t\tmime: 'audio/mpeg'\n\t\t\t};\n\t\t}\n\t}\n\n\tif (\n\t\tcheck([0x66, 0x74, 0x79, 0x70, 0x4D, 0x34, 0x41], {offset: 4}) ||\n\t\tcheck([0x4D, 0x34, 0x41, 0x20])\n\t) {\n\t\treturn { // MPEG-4 layer 3 (audio)\n\t\t\text: 'm4a',\n\t\t\tmime: 'audio/mp4' // RFC 4337\n\t\t};\n\t}\n\n\t// Needs to be before `ogg` check\n\tif (check([0x4F, 0x70, 0x75, 0x73, 0x48, 0x65, 0x61, 0x64], {offset: 28})) {\n\t\treturn {\n\t\t\text: 'opus',\n\t\t\tmime: 'audio/opus'\n\t\t};\n\t}\n\n\t// If 'OggS' in first bytes, then OGG container\n\tif (check([0x4F, 0x67, 0x67, 0x53])) {\n\t\t// This is a OGG container\n\n\t\t// If ' theora' in header.\n\t\tif (check([0x80, 0x74, 0x68, 0x65, 0x6F, 0x72, 0x61], {offset: 28})) {\n\t\t\treturn {\n\t\t\t\text: 'ogv',\n\t\t\t\tmime: 'video/ogg'\n\t\t\t};\n\t\t}\n\t\t// If '\\x01video' in header.\n\t\tif (check([0x01, 0x76, 0x69, 0x64, 0x65, 0x6F, 0x00], {offset: 28})) {\n\t\t\treturn {\n\t\t\t\text: 'ogm',\n\t\t\t\tmime: 'video/ogg'\n\t\t\t};\n\t\t}\n\t\t// If ' FLAC' in header https://xiph.org/flac/faq.html\n\t\tif (check([0x7F, 0x46, 0x4C, 0x41, 0x43], {offset: 28})) {\n\t\t\treturn {\n\t\t\t\text: 'oga',\n\t\t\t\tmime: 'audio/ogg'\n\t\t\t};\n\t\t}\n\n\t\t// 'Speex ' in header https://en.wikipedia.org/wiki/Speex\n\t\tif (check([0x53, 0x70, 0x65, 0x65, 0x78, 0x20, 0x20], {offset: 28})) {\n\t\t\treturn {\n\t\t\t\text: 'spx',\n\t\t\t\tmime: 'audio/ogg'\n\t\t\t};\n\t\t}\n\n\t\t// If '\\x01vorbis' in header\n\t\tif (check([0x01, 0x76, 0x6F, 0x72, 0x62, 0x69, 0x73], {offset: 28})) {\n\t\t\treturn {\n\t\t\t\text: 'ogg',\n\t\t\t\tmime: 'audio/ogg'\n\t\t\t};\n\t\t}\n\n\t\t// Default OGG container https://www.iana.org/assignments/media-types/application/ogg\n\t\treturn {\n\t\t\text: 'ogx',\n\t\t\tmime: 'application/ogg'\n\t\t};\n\t}\n\n\tif (check([0x66, 0x4C, 0x61, 0x43])) {\n\t\treturn {\n\t\t\text: 'flac',\n\t\t\tmime: 'audio/x-flac'\n\t\t};\n\t}\n\n\tif (check([0x4D, 0x41, 0x43, 0x20])) { // 'MAC '\n\t\treturn {\n\t\t\text: 'ape',\n\t\t\tmime: 'audio/ape'\n\t\t};\n\t}\n\n\tif (check([0x77, 0x76, 0x70, 0x6B])) { // 'wvpk'\n\t\treturn {\n\t\t\text: 'wv',\n\t\t\tmime: 'audio/wavpack'\n\t\t};\n\t}\n\n\tif (check([0x23, 0x21, 0x41, 0x4D, 0x52, 0x0A])) {\n\t\treturn {\n\t\t\text: 'amr',\n\t\t\tmime: 'audio/amr'\n\t\t};\n\t}\n\n\tif (check([0x25, 0x50, 0x44, 0x46])) {\n\t\treturn {\n\t\t\text: 'pdf',\n\t\t\tmime: 'application/pdf'\n\t\t};\n\t}\n\n\tif (check([0x4D, 0x5A])) {\n\t\treturn {\n\t\t\text: 'exe',\n\t\t\tmime: 'application/x-msdownload'\n\t\t};\n\t}\n\n\tif (\n\t\t(buf[0] === 0x43 || buf[0] === 0x46) &&\n\t\tcheck([0x57, 0x53], {offset: 1})\n\t) {\n\t\treturn {\n\t\t\text: 'swf',\n\t\t\tmime: 'application/x-shockwave-flash'\n\t\t};\n\t}\n\n\tif (check([0x7B, 0x5C, 0x72, 0x74, 0x66])) {\n\t\treturn {\n\t\t\text: 'rtf',\n\t\t\tmime: 'application/rtf'\n\t\t};\n\t}\n\n\tif (check([0x00, 0x61, 0x73, 0x6D])) {\n\t\treturn {\n\t\t\text: 'wasm',\n\t\t\tmime: 'application/wasm'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x77, 0x4F, 0x46, 0x46]) &&\n\t\t(\n\t\t\tcheck([0x00, 0x01, 0x00, 0x00], {offset: 4}) ||\n\t\t\tcheck([0x4F, 0x54, 0x54, 0x4F], {offset: 4})\n\t\t)\n\t) {\n\t\treturn {\n\t\t\text: 'woff',\n\t\t\tmime: 'font/woff'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x77, 0x4F, 0x46, 0x32]) &&\n\t\t(\n\t\t\tcheck([0x00, 0x01, 0x00, 0x00], {offset: 4}) ||\n\t\t\tcheck([0x4F, 0x54, 0x54, 0x4F], {offset: 4})\n\t\t)\n\t) {\n\t\treturn {\n\t\t\text: 'woff2',\n\t\t\tmime: 'font/woff2'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x4C, 0x50], {offset: 34}) &&\n\t\t(\n\t\t\tcheck([0x00, 0x00, 0x01], {offset: 8}) ||\n\t\t\tcheck([0x01, 0x00, 0x02], {offset: 8}) ||\n\t\t\tcheck([0x02, 0x00, 0x02], {offset: 8})\n\t\t)\n\t) {\n\t\treturn {\n\t\t\text: 'eot',\n\t\t\tmime: 'application/vnd.ms-fontobject'\n\t\t};\n\t}\n\n\tif (check([0x00, 0x01, 0x00, 0x00, 0x00])) {\n\t\treturn {\n\t\t\text: 'ttf',\n\t\t\tmime: 'font/ttf'\n\t\t};\n\t}\n\n\tif (check([0x4F, 0x54, 0x54, 0x4F, 0x00])) {\n\t\treturn {\n\t\t\text: 'otf',\n\t\t\tmime: 'font/otf'\n\t\t};\n\t}\n\n\tif (check([0x00, 0x00, 0x01, 0x00])) {\n\t\treturn {\n\t\t\text: 'ico',\n\t\t\tmime: 'image/x-icon'\n\t\t};\n\t}\n\n\tif (check([0x00, 0x00, 0x02, 0x00])) {\n\t\treturn {\n\t\t\text: 'cur',\n\t\t\tmime: 'image/x-icon'\n\t\t};\n\t}\n\n\tif (check([0x46, 0x4C, 0x56, 0x01])) {\n\t\treturn {\n\t\t\text: 'flv',\n\t\t\tmime: 'video/x-flv'\n\t\t};\n\t}\n\n\tif (check([0x25, 0x21])) {\n\t\treturn {\n\t\t\text: 'ps',\n\t\t\tmime: 'application/postscript'\n\t\t};\n\t}\n\n\tif (check([0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00])) {\n\t\treturn {\n\t\t\text: 'xz',\n\t\t\tmime: 'application/x-xz'\n\t\t};\n\t}\n\n\tif (check([0x53, 0x51, 0x4C, 0x69])) {\n\t\treturn {\n\t\t\text: 'sqlite',\n\t\t\tmime: 'application/x-sqlite3'\n\t\t};\n\t}\n\n\tif (check([0x4E, 0x45, 0x53, 0x1A])) {\n\t\treturn {\n\t\t\text: 'nes',\n\t\t\tmime: 'application/x-nintendo-nes-rom'\n\t\t};\n\t}\n\n\tif (check([0x43, 0x72, 0x32, 0x34])) {\n\t\treturn {\n\t\t\text: 'crx',\n\t\t\tmime: 'application/x-google-chrome-extension'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x4D, 0x53, 0x43, 0x46]) ||\n\t\tcheck([0x49, 0x53, 0x63, 0x28])\n\t) {\n\t\treturn {\n\t\t\text: 'cab',\n\t\t\tmime: 'application/vnd.ms-cab-compressed'\n\t\t};\n\t}\n\n\t// Needs to be before `ar` check\n\tif (check([0x21, 0x3C, 0x61, 0x72, 0x63, 0x68, 0x3E, 0x0A, 0x64, 0x65, 0x62, 0x69, 0x61, 0x6E, 0x2D, 0x62, 0x69, 0x6E, 0x61, 0x72, 0x79])) {\n\t\treturn {\n\t\t\text: 'deb',\n\t\t\tmime: 'application/x-deb'\n\t\t};\n\t}\n\n\tif (check([0x21, 0x3C, 0x61, 0x72, 0x63, 0x68, 0x3E])) {\n\t\treturn {\n\t\t\text: 'ar',\n\t\t\tmime: 'application/x-unix-archive'\n\t\t};\n\t}\n\n\tif (check([0xED, 0xAB, 0xEE, 0xDB])) {\n\t\treturn {\n\t\t\text: 'rpm',\n\t\t\tmime: 'application/x-rpm'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x1F, 0xA0]) ||\n\t\tcheck([0x1F, 0x9D])\n\t) {\n\t\treturn {\n\t\t\text: 'Z',\n\t\t\tmime: 'application/x-compress'\n\t\t};\n\t}\n\n\tif (check([0x4C, 0x5A, 0x49, 0x50])) {\n\t\treturn {\n\t\t\text: 'lz',\n\t\t\tmime: 'application/x-lzip'\n\t\t};\n\t}\n\n\tif (check([0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1])) {\n\t\treturn {\n\t\t\text: 'msi',\n\t\t\tmime: 'application/x-msi'\n\t\t};\n\t}\n\n\tif (check([0x06, 0x0E, 0x2B, 0x34, 0x02, 0x05, 0x01, 0x01, 0x0D, 0x01, 0x02, 0x01, 0x01, 0x02])) {\n\t\treturn {\n\t\t\text: 'mxf',\n\t\t\tmime: 'application/mxf'\n\t\t};\n\t}\n\n\tif (check([0x47], {offset: 4}) && (check([0x47], {offset: 192}) || check([0x47], {offset: 196}))) {\n\t\treturn {\n\t\t\text: 'mts',\n\t\t\tmime: 'video/mp2t'\n\t\t};\n\t}\n\n\tif (check([0x42, 0x4C, 0x45, 0x4E, 0x44, 0x45, 0x52])) {\n\t\treturn {\n\t\t\text: 'blend',\n\t\t\tmime: 'application/x-blender'\n\t\t};\n\t}\n\n\tif (check([0x42, 0x50, 0x47, 0xFB])) {\n\t\treturn {\n\t\t\text: 'bpg',\n\t\t\tmime: 'image/bpg'\n\t\t};\n\t}\n\n\tif (check([0x00, 0x00, 0x00, 0x0C, 0x6A, 0x50, 0x20, 0x20, 0x0D, 0x0A, 0x87, 0x0A])) {\n\t\t// JPEG-2000 family\n\n\t\tif (check([0x6A, 0x70, 0x32, 0x20], {offset: 20})) {\n\t\t\treturn {\n\t\t\t\text: 'jp2',\n\t\t\t\tmime: 'image/jp2'\n\t\t\t};\n\t\t}\n\n\t\tif (check([0x6A, 0x70, 0x78, 0x20], {offset: 20})) {\n\t\t\treturn {\n\t\t\t\text: 'jpx',\n\t\t\t\tmime: 'image/jpx'\n\t\t\t};\n\t\t}\n\n\t\tif (check([0x6A, 0x70, 0x6D, 0x20], {offset: 20})) {\n\t\t\treturn {\n\t\t\t\text: 'jpm',\n\t\t\t\tmime: 'image/jpm'\n\t\t\t};\n\t\t}\n\n\t\tif (check([0x6D, 0x6A, 0x70, 0x32], {offset: 20})) {\n\t\t\treturn {\n\t\t\t\text: 'mj2',\n\t\t\t\tmime: 'image/mj2'\n\t\t\t};\n\t\t}\n\t}\n\n\tif (check([0x46, 0x4F, 0x52, 0x4D, 0x00])) {\n\t\treturn {\n\t\t\text: 'aif',\n\t\t\tmime: 'audio/aiff'\n\t\t};\n\t}\n\n\tif (checkString('<?xml ')) {\n\t\treturn {\n\t\t\text: 'xml',\n\t\t\tmime: 'application/xml'\n\t\t};\n\t}\n\n\tif (check([0x42, 0x4F, 0x4F, 0x4B, 0x4D, 0x4F, 0x42, 0x49], {offset: 60})) {\n\t\treturn {\n\t\t\text: 'mobi',\n\t\t\tmime: 'application/x-mobipocket-ebook'\n\t\t};\n\t}\n\n\t// File Type Box (https://en.wikipedia.org/wiki/ISO_base_media_file_format)\n\tif (check([0x66, 0x74, 0x79, 0x70], {offset: 4})) {\n\t\tif (check([0x6D, 0x69, 0x66, 0x31], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'heic',\n\t\t\t\tmime: 'image/heif'\n\t\t\t};\n\t\t}\n\n\t\tif (check([0x6D, 0x73, 0x66, 0x31], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'heic',\n\t\t\t\tmime: 'image/heif-sequence'\n\t\t\t};\n\t\t}\n\n\t\tif (check([0x68, 0x65, 0x69, 0x63], {offset: 8}) || check([0x68, 0x65, 0x69, 0x78], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'heic',\n\t\t\t\tmime: 'image/heic'\n\t\t\t};\n\t\t}\n\n\t\tif (check([0x68, 0x65, 0x76, 0x63], {offset: 8}) || check([0x68, 0x65, 0x76, 0x78], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'heic',\n\t\t\t\tmime: 'image/heic-sequence'\n\t\t\t};\n\t\t}\n\t}\n\n\tif (check([0xAB, 0x4B, 0x54, 0x58, 0x20, 0x31, 0x31, 0xBB, 0x0D, 0x0A, 0x1A, 0x0A])) {\n\t\treturn {\n\t\t\text: 'ktx',\n\t\t\tmime: 'image/ktx'\n\t\t};\n\t}\n\n\tif (check([0x44, 0x49, 0x43, 0x4D], {offset: 128})) {\n\t\treturn {\n\t\t\text: 'dcm',\n\t\t\tmime: 'application/dicom'\n\t\t};\n\t}\n\n\t// Musepack, SV7\n\tif (check([0x4D, 0x50, 0x2B])) {\n\t\treturn {\n\t\t\text: 'mpc',\n\t\t\tmime: 'audio/x-musepack'\n\t\t};\n\t}\n\n\t// Musepack, SV8\n\tif (check([0x4D, 0x50, 0x43, 0x4B])) {\n\t\treturn {\n\t\t\text: 'mpc',\n\t\t\tmime: 'audio/x-musepack'\n\t\t};\n\t}\n\n\treturn null;\n};\n\nObject.defineProperty(module.exports, 'minimumBytes', {value: 4100});\n","/**\n *\n * The core part of tesseract.js to execute the OCR jobs.\n *\n * @fileoverview Worker for OCR jobs\n * @author Kevin Kwok <antimatter15@gmail.com>\n * @author Guillermo Webster <gui@mit.edu>\n * @author Jerome Wu <jeromewus@gmail.com>\n */\nconst check = require('check-types');\nconst adapter = require('../node');\nconst circularize = require('./circularize');\nconst TesseractJob = require('./TesseractJob');\n\n/**\n * TesseractWorker\n * @name TesseractWorker\n * @function execute TesseractJob with a queue mechanism\n * @access public\n */\nclass TesseractWorker {\n /**\n * constructor\n *\n * @name constructor\n * @function initialize the worker\n * @access public\n * @param {object} options - worker configurations\n * @param {string} options.workerPath -\n * A remote path to load worker script.\n * In browser-like environment, it is downloaded from a CDN service.\n * Please update this option if you self-host the worker script.\n * In Node.js environment, this option is not used as the worker script is in local.\n * @param {string} options.corePath -\n * A remote path to load tesseract.js-core script.\n * In browser-like environment, it is downloaded from a CDN service.\n * Please update this option if you self-host the core script.\n * In Node.js environment, this option is not used as the core script is in local.\n * @param {string} options.langPath -\n * A remote path to load *.traineddata.gz, it is download from a CDN service.\n * Please update this option if you self-host the worker script.\n * @param {string} [options.cachePath=.] - @see {@link https://github.com/jeromewu/tesseract.js-utils/blob/master/src/loadLang.js}\n * @param {string} [options.cacheMethod=write] - @see {@link https://github.com/jeromewu/tesseract.js-utils/blob/master/src/loadLang.js}\n * @param {string} [options.dataPath=.] - @see {@link https://github.com/jeromewu/tesseract.js-utils/blob/master/src/loadLang.js}\n *\n */\n constructor(options = {}) {\n this.worker = null;\n this.options = {\n ...adapter.defaultOptions,\n ...options,\n };\n this._currentJob = null;\n this._queue = [];\n }\n\n /**\n * recognize\n *\n * @name recognize\n * @function recognize text in given image\n * @access public\n * @param {Buffer, string} image - image to be recognized\n * @param {string} [lang=eng] - language to recognize\n * @param {object} params - tesseract parameters\n *\n */\n recognize(image, lang = 'eng', params = {}) {\n return this._sendJob('recognize', image, lang, params);\n }\n\n /**\n * detect\n *\n * @name detect\n * @function detect language of the text in the image\n * @access public\n * @param {Buffer, string} image - image to be recognized\n * @param {object} params - tesseract parameters\n *\n */\n detect(image, params = {}) {\n return this._sendJob('detect', image, 'osd', params);\n }\n\n /**\n * recv\n *\n * @name recv\n * @function handle completed job\n * @access public\n * @param {object} packet job data\n */\n recv(packet) {\n if (this._currentJob.id === packet.jobId) {\n this._currentJob.handle({\n ...packet,\n data: packet.status === 'resolve' && packet.action === 'recognize'\n ? circularize(packet.data)\n : packet.data,\n });\n } else {\n console.warn(`Job ID ${packet.jobId} not known.`);\n }\n }\n\n /**\n * terminate\n *\n * @name terminate\n * @function terminate the worker\n * @access public\n *\n */\n terminate() {\n if (this.worker) {\n adapter.terminateWorker(this);\n }\n this.worker = null;\n this._currentJob = null;\n this._queue = [];\n }\n\n /**\n * _sendJob\n *\n * @name _sendJob\n * @function append a new job to the job queue\n * @access private\n * @param {string} type job type, should be recognize or detect\n * @param {Buffer, string} image image to recognize\n * @param {string} lang language to recognize\n * @param {object} params tesseract parameters\n */\n _sendJob(type, image, lang, params) {\n return this._delay((job) => {\n job.send(\n type,\n {\n image,\n lang,\n params,\n options: this.options,\n },\n );\n });\n }\n\n /**\n * _delay\n *\n * @name _delay\n * @function delays the fn to execute until it is on the rear of the queue\n * @access private\n * @param {function} fn A handler function for the job\n */\n _delay(fn) {\n if (check.null(this.worker)) {\n this.worker = adapter.spawnWorker(this, this.options);\n }\n\n const job = new TesseractJob(this);\n this._queue.push(() => {\n this._queue.shift();\n this._currentJob = job;\n fn(job);\n });\n if (check.null(this._currentJob)) {\n this._dequeue();\n }\n return job;\n }\n\n /**\n * _dequeue\n *\n * @name _dequeue\n * @function dequeue and execute the rear job\n * @access private\n */\n _dequeue() {\n this._currentJob = null;\n if (this._queue.length) {\n this._queue[0]();\n }\n }\n}\n\nmodule.exports = TesseractWorker;\n","module.exports = {\n defaultOptions: {\n langPath: 'https://tessdata.projectnaptha.com/4.0.0',\n },\n};\n","// The result of dump.js is a big JSON tree\n// which can be easily serialized (for instance\n// to be sent from a webworker to the main app\n// or through Node's IPC), but we want\n// a (circular) DOM-like interface for walking\n// through the data.\n\nmodule.exports = (iPage) => {\n const page = {\n ...iPage,\n paragraphs: [],\n lines: [],\n words: [],\n symbols: [],\n };\n\n page.blocks.forEach((iBlock) => {\n const block = {\n ...iBlock,\n page,\n lines: [],\n words: [],\n symbols: [],\n };\n\n block.paragraphs.forEach((iPara) => {\n const para = {\n ...iPara,\n block,\n page,\n words: [],\n symbols: [],\n };\n\n para.lines.forEach((iLine) => {\n const line = {\n ...iLine,\n paragraph: para,\n block,\n page,\n symbols: [],\n };\n\n line.words.forEach((iWord) => {\n const word = {\n ...iWord,\n line,\n paragraph: para,\n block,\n page,\n };\n\n word.symbols.forEach((iSym) => {\n const sym = {\n ...iSym,\n word,\n line,\n paragraph: para,\n block,\n page,\n };\n\n sym.line.symbols.push(sym);\n sym.paragraph.symbols.push(sym);\n sym.block.symbols.push(sym);\n sym.page.symbols.push(sym);\n });\n word.paragraph.words.push(word);\n word.block.words.push(word);\n word.page.words.push(word);\n });\n line.block.lines.push(line);\n line.page.lines.push(line);\n });\n para.page.paragraphs.push(para);\n });\n });\n return page;\n};\n","/**\n *\n * The job exectued by worker, each job is basically a recognition of an image.\n *\n * @fileoverview Job excuted by Worker\n * @author Kevin Kwok <antimatter15@gmail.com>\n * @author Guillermo Webster <gui@mit.edu>\n * @author Jerome Wu <jeromewus@gmail.com>\n */\nconst adapter = require('../node/');\n\n/** A global job counter as part of job id */\nlet jobCounter = 0;\n\nclass TesseractJob {\n constructor(instance) {\n jobCounter += 1;\n this.id = `Job-${jobCounter}-${Math.random().toString(16).slice(3, 8)}`;\n\n this._instance = instance;\n this._resolve = [];\n this._reject = [];\n this._progress = [];\n this._finally = [];\n }\n\n then(resolve, reject) {\n if (this._resolve.push) {\n this._resolve.push(resolve);\n } else {\n resolve(this._resolve);\n }\n\n if (reject) this.catch(reject);\n return this;\n }\n\n catch(reject) {\n if (this._reject.push) {\n this._reject.push(reject);\n } else {\n reject(this._reject);\n }\n return this;\n }\n\n progress(fn) {\n this._progress.push(fn);\n return this;\n }\n\n finally(fn) {\n this._finally.push(fn);\n return this;\n }\n\n send(action, payload) {\n adapter.sendPacket(this._instance, {\n jobId: this.id,\n action,\n payload,\n });\n }\n\n handle(packet) {\n const { data } = packet;\n let runFinallyCbs = false;\n\n if (packet.status === 'resolve') {\n if (this._resolve.length === 0) console.log(data);\n this._resolve.forEach((fn) => {\n const ret = fn(data);\n if (ret && typeof ret.then === 'function') {\n console.warn('TesseractJob instances do not chain like ES6 Promises. To convert it into a real promise, use Promise.resolve.');\n }\n });\n this._resolve = data;\n this._instance._dequeue();\n runFinallyCbs = true;\n } else if (packet.status === 'reject') {\n if (this._reject.length === 0) console.error(data);\n this._reject.forEach(fn => fn(data));\n this._reject = data;\n this._instance._dequeue();\n runFinallyCbs = true;\n } else if (packet.status === 'progress') {\n this._progress.forEach(fn => fn(data));\n } else {\n console.warn('Message type unknown', packet.status);\n }\n\n if (runFinallyCbs) {\n this._finally.forEach(fn => fn(data));\n }\n }\n}\n\nmodule.exports = TesseractJob;\n"],"sourceRoot":""}