{"version":3,"sources":["webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/node-libs-browser/node_modules/buffer/index.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/timers-browserify/main.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/readable-stream/duplex.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/ieee754/index.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/node-libs-browser/node_modules/string_decoder/lib/string_decoder.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/readable-stream/writable.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/readable-stream/node_modules/isarray/index.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/stream-browserify/index.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/readable-stream/lib/_stream_transform.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/safe-buffer/index.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/node-libs-browser/node_modules/isarray/index.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/util-deprecate/browser.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/readable-stream/passthrough.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/process-nextick-args/index.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/core-util-is/lib/util.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/base64-js/index.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/setimmediate/setImmediate.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/readable-stream/readable.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/path-browserify/index.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/readable-stream/transform.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/inherits/inherits_browser.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/readable-stream/lib/_stream_readable.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/readable-stream/lib/_stream_passthrough.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/readable-stream/lib/_stream_writable.js","webpack:////home/jenkins/agent/workspace/donate-gro-release/node_modules/readable-stream/lib/_stream_duplex.js"],"names":["base64","ieee754","isArray","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","length","RangeError","Uint8Array","__proto__","prototype","arg","encodingOrOffset","this","Error","allocUnsafe","from","value","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","i","toString","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","b","n","m","bidirectionalIndexOf","dir","isNaN","arrayIndexOf","indexOf","call","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","c","hi","lo","utf16leToBytes","fromByteArray","Math","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","fromCharCode","apply","decodeCodePointsArray","exports","SlowBuffer","alloc","INSPECT_MAX_BYTES","global","foo","subarray","e","typedArraySupport","poolSize","_augment","Symbol","species","Object","defineProperty","configurable","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","swap16","swap32","swap64","arguments","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","self","window","Function","Timeout","id","clearFn","_id","_clearFn","setTimeout","scope","clearTimeout","setInterval","clearInterval","timeout","close","unref","ref","enroll","item","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","setImmediate","clearImmediate","module","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","NaN","rt","abs","log","LN2","StringDecoder","nb","enc","nenc","retried","_normalizeEncoding","normalizeEncoding","text","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","byte","p","r","utf8CheckExtraBytes","total","utf8CheckIncomplete","Stream","EE","EventEmitter","inherits","Readable","Writable","Duplex","Transform","PassThrough","pipe","dest","options","source","ondata","chunk","writable","pause","ondrain","readable","resume","on","_isStdio","onend","onclose","didOnEnd","destroy","onerror","er","cleanup","listenerCount","removeListener","emit","util","TransformState","stream","afterTransform","ts","_transformState","transforming","cb","writecb","writechunk","rs","_readableState","reading","needReadable","highWaterMark","_read","needTransform","writeencoding","sync","transform","_transform","flush","_flush","once","done","ws","_writableState","_write","copyProps","key","SafeBuffer","create","config","name","localStorage","_","fn","msg","warned","console","trace","warn","process","version","arg1","arg2","arg3","args","nextTick","objectToString","o","isBoolean","isNull","isNullOrUndefined","isNumber","isString","isSymbol","isUndefined","isRegExp","re","isObject","isDate","isError","isFunction","isPrimitive","b64","lens","getLens","validLen","placeHoldersLen","tmp","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","parts","len2","encodeChunk","lookup","num","output","registerImmediate","html","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","document","attachTo","getPrototypeOf","handle","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","event","port2","createElement","documentElement","script","onreadystatechange","removeChild","appendChild","random","addEventListener","attachEvent","callback","task","run","normalizeArray","allowAboveRoot","up","last","splice","unshift","filter","xs","f","resolve","resolvedPath","resolvedAbsolute","path","cwd","charAt","split","normalize","isAbsolute","trailingSlash","paths","index","relative","to","fromParts","toParts","samePartsLength","outputParts","sep","delimiter","dirname","hasRoot","matchedSlash","basename","extname","startDot","startPart","preDotState","ctor","superCtor","super_","constructor","enumerable","TempCtor","processNextTick","ReadableState","EElistenerCount","emitter","listeners","debugUtil","debug","objectMode","readableObjectMode","hwm","defaultHwm","pipes","pipesCount","flowing","ended","endEmitted","emittedReadable","readableListening","resumeScheduled","defaultEncoding","ranOut","awaitDrain","readingMore","decoder","readableAddChunk","state","addToFront","chunkInvalid","emitReadable","onEofChunk","skipAdd","maybeReadMore_","maybeReadMore","needMoreData","debuglog","isPaused","setEncoding","howMuchToRead","computeNewHighWaterMark","emitReadable_","flow","nReadingNextTick","resume_","fromList","stringMode","shift","l","cpy","endReadable","endReadableNT","nOrig","doRead","pipeOpts","endFn","stdout","stderr","onunpipe","pipeOnDrain","cleanedUp","onfinish","needDrain","unpipe","_events","error","dests","_i","ev","addListener","wrap","paused","method","forEach","bind","_fromList","asyncWrite","browser","WritableState","internalUtil","deprecate","nop","WriteReq","next","writableObjectMode","ending","finished","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","writelen","onwriteStateUpdate","pendingcb","errorEmitted","onwriteError","needFinish","bufferedRequest","clearBuffer","afterWrite","lastBufferedRequest","prefinished","bufferedRequestCount","corkedRequestsFree","CorkedRequest","writev","_writev","doWrite","onwriteDrain","finishMaybe","entry","holder","count","finish","prefinish","need","_this","err","getBuffer","current","get","writeAfterEnd","valid","validChunk","decodeChunk","writeOrBuffer","cork","uncork","setDefaultEncoding","endWritable","objectKeys","keys","v","allowHalfOpen","onEndNT"],"mappings":";;;;;;oGAAA;;;;;;;AAUA,IAAIA,EAAS,kBAAQ,QACjBC,EAAU,gBAAQ,QAClBC,EAAU,gBAAQ,QAmDtB,SAASC,IACP,OAAOC,EAAOC,oBACV,WACA,WAGN,SAASC,EAAcC,EAAMC,GAC3B,GAAIL,IAAeK,EACjB,MAAM,IAAIC,WAAW,8BAcvB,OAZIL,EAAOC,qBAETE,EAAO,IAAIG,WAAWF,IACjBG,UAAYP,EAAOQ,WAGX,OAATL,IACFA,EAAO,IAAIH,EAAOI,IAEpBD,EAAKC,OAASA,GAGTD,EAaT,SAASH,EAAQS,EAAKC,EAAkBN,GACtC,KAAKJ,EAAOC,qBAAyBU,gBAAgBX,GACnD,OAAO,IAAIA,EAAOS,EAAKC,EAAkBN,GAI3C,GAAmB,iBAARK,EAAkB,CAC3B,GAAgC,iBAArBC,EACT,MAAM,IAAIE,MACR,qEAGJ,OAAOC,EAAYF,KAAMF,GAE3B,OAAOK,EAAKH,KAAMF,EAAKC,EAAkBN,GAW3C,SAASU,EAAMX,EAAMY,EAAOL,EAAkBN,GAC5C,GAAqB,iBAAVW,EACT,MAAM,IAAIC,UAAU,yCAGtB,MAA2B,oBAAhBC,aAA+BF,aAAiBE,YA6H7D,SAA0Bd,EAAMe,EAAOC,EAAYf,GAGjD,GAFAc,EAAME,WAEFD,EAAa,GAAKD,EAAME,WAAaD,EACvC,MAAM,IAAId,WAAW,6BAGvB,GAAIa,EAAME,WAAaD,GAAcf,GAAU,GAC7C,MAAM,IAAIC,WAAW,6BAIrBa,OADiBG,IAAfF,QAAuCE,IAAXjB,EACtB,IAAIE,WAAWY,QACHG,IAAXjB,EACD,IAAIE,WAAWY,EAAOC,GAEtB,IAAIb,WAAWY,EAAOC,EAAYf,GAGxCJ,EAAOC,qBAETE,EAAOe,GACFX,UAAYP,EAAOQ,UAGxBL,EAAOmB,EAAcnB,EAAMe,GAE7B,OAAOf,EAvJEoB,CAAgBpB,EAAMY,EAAOL,EAAkBN,GAGnC,iBAAVW,EAwFb,SAAqBZ,EAAMqB,EAAQC,GACT,iBAAbA,GAAsC,KAAbA,IAClCA,EAAW,QAGb,IAAKzB,EAAO0B,WAAWD,GACrB,MAAM,IAAIT,UAAU,8CAGtB,IAAIZ,EAAwC,EAA/BgB,EAAWI,EAAQC,GAG5BE,GAFJxB,EAAOD,EAAaC,EAAMC,IAERwB,MAAMJ,EAAQC,GAE5BE,IAAWvB,IAIbD,EAAOA,EAAK0B,MAAM,EAAGF,IAGvB,OAAOxB,EA5GE2B,CAAW3B,EAAMY,EAAOL,GAsJnC,SAAqBP,EAAM4B,GACzB,GAAI/B,EAAOgC,SAASD,GAAM,CACxB,IAAIE,EAA4B,EAAtBC,EAAQH,EAAI3B,QAGtB,OAAoB,KAFpBD,EAAOD,EAAaC,EAAM8B,IAEjB7B,QAIT2B,EAAII,KAAKhC,EAAM,EAAG,EAAG8B,GAHZ9B,EAOX,GAAI4B,EAAK,CACP,GAA4B,oBAAhBd,aACRc,EAAIK,kBAAkBnB,aAAgB,WAAYc,EACpD,MAA0B,iBAAfA,EAAI3B,SA+8CLiC,EA/8CkCN,EAAI3B,SAg9CrCiC,EA/8CFnC,EAAaC,EAAM,GAErBmB,EAAcnB,EAAM4B,GAG7B,GAAiB,WAAbA,EAAIO,MAAqBxC,EAAQiC,EAAIQ,MACvC,OAAOjB,EAAcnB,EAAM4B,EAAIQ,MAw8CrC,IAAgBF,EAp8Cd,MAAM,IAAIrB,UAAU,sFA9KbwB,CAAWrC,EAAMY,GA4B1B,SAAS0B,EAAYC,GACnB,GAAoB,iBAATA,EACT,MAAM,IAAI1B,UAAU,oCACf,GAAI0B,EAAO,EAChB,MAAM,IAAIrC,WAAW,wCA4BzB,SAASQ,EAAaV,EAAMuC,GAG1B,GAFAD,EAAWC,GACXvC,EAAOD,EAAaC,EAAMuC,EAAO,EAAI,EAAoB,EAAhBR,EAAQQ,KAC5C1C,EAAOC,oBACV,IAAK,IAAI0C,EAAI,EAAGA,EAAID,IAAQC,EAC1BxC,EAAKwC,GAAK,EAGd,OAAOxC,EAwCT,SAASmB,EAAenB,EAAMe,GAC5B,IAAId,EAASc,EAAMd,OAAS,EAAI,EAA4B,EAAxB8B,EAAQhB,EAAMd,QAClDD,EAAOD,EAAaC,EAAMC,GAC1B,IAAK,IAAIuC,EAAI,EAAGA,EAAIvC,EAAQuC,GAAK,EAC/BxC,EAAKwC,GAAgB,IAAXzB,EAAMyB,GAElB,OAAOxC,EA+DT,SAAS+B,EAAS9B,GAGhB,GAAIA,GAAUL,IACZ,MAAM,IAAIM,WAAW,0DACaN,IAAa6C,SAAS,IAAM,UAEhE,OAAgB,EAATxC,EAsFT,SAASgB,EAAYI,EAAQC,GAC3B,GAAIzB,EAAOgC,SAASR,GAClB,OAAOA,EAAOpB,OAEhB,GAA2B,oBAAhBa,aAA6D,mBAAvBA,YAAY4B,SACxD5B,YAAY4B,OAAOrB,IAAWA,aAAkBP,aACnD,OAAOO,EAAOJ,WAEM,iBAAXI,IACTA,EAAS,GAAKA,GAGhB,IAAIS,EAAMT,EAAOpB,OACjB,GAAY,IAAR6B,EAAW,OAAO,EAItB,IADA,IAAIa,GAAc,IAEhB,OAAQrB,GACN,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAOQ,EACT,IAAK,OACL,IAAK,QACL,UAAKZ,EACH,OAAO0B,EAAYvB,GAAQpB,OAC7B,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAa,EAAN6B,EACT,IAAK,MACH,OAAOA,IAAQ,EACjB,IAAK,SACH,OAAOe,EAAcxB,GAAQpB,OAC/B,QACE,GAAI0C,EAAa,OAAOC,EAAYvB,GAAQpB,OAC5CqB,GAAY,GAAKA,GAAUwB,cAC3BH,GAAc,GAMtB,SAASI,EAAczB,EAAU0B,EAAOC,GACtC,IAAIN,GAAc,EAclB,SALczB,IAAV8B,GAAuBA,EAAQ,KACjCA,EAAQ,GAINA,EAAQxC,KAAKP,OACf,MAAO,GAOT,SAJYiB,IAAR+B,GAAqBA,EAAMzC,KAAKP,UAClCgD,EAAMzC,KAAKP,QAGTgD,GAAO,EACT,MAAO,GAOT,IAHAA,KAAS,KACTD,KAAW,GAGT,MAAO,GAKT,IAFK1B,IAAUA,EAAW,UAGxB,OAAQA,GACN,IAAK,MACH,OAAO4B,EAAS1C,KAAMwC,EAAOC,GAE/B,IAAK,OACL,IAAK,QACH,OAAOE,EAAU3C,KAAMwC,EAAOC,GAEhC,IAAK,QACH,OAAOG,EAAW5C,KAAMwC,EAAOC,GAEjC,IAAK,SACL,IAAK,SACH,OAAOI,EAAY7C,KAAMwC,EAAOC,GAElC,IAAK,SACH,OAAOK,EAAY9C,KAAMwC,EAAOC,GAElC,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOM,EAAa/C,KAAMwC,EAAOC,GAEnC,QACE,GAAIN,EAAa,MAAM,IAAI9B,UAAU,qBAAuBS,GAC5DA,GAAYA,EAAW,IAAIwB,cAC3BH,GAAc,GAStB,SAASa,EAAMC,EAAGC,EAAGC,GACnB,IAAInB,EAAIiB,EAAEC,GACVD,EAAEC,GAAKD,EAAEE,GACTF,EAAEE,GAAKnB,EAmIT,SAASoB,EAAsB3B,EAAQC,EAAKlB,EAAYM,EAAUuC,GAEhE,GAAsB,IAAlB5B,EAAOhC,OAAc,OAAQ,EAmBjC,GAhB0B,iBAAfe,GACTM,EAAWN,EACXA,EAAa,GACJA,EAAa,WACtBA,EAAa,WACJA,GAAc,aACvBA,GAAc,YAEhBA,GAAcA,EACV8C,MAAM9C,KAERA,EAAa6C,EAAM,EAAK5B,EAAOhC,OAAS,GAItCe,EAAa,IAAGA,EAAaiB,EAAOhC,OAASe,GAC7CA,GAAciB,EAAOhC,OAAQ,CAC/B,GAAI4D,EAAK,OAAQ,EACZ7C,EAAaiB,EAAOhC,OAAS,OAC7B,GAAIe,EAAa,EAAG,CACzB,IAAI6C,EACC,OAAQ,EADJ7C,EAAa,EAUxB,GALmB,iBAARkB,IACTA,EAAMrC,EAAOc,KAAKuB,EAAKZ,IAIrBzB,EAAOgC,SAASK,GAElB,OAAmB,IAAfA,EAAIjC,QACE,EAEH8D,EAAa9B,EAAQC,EAAKlB,EAAYM,EAAUuC,GAClD,GAAmB,iBAAR3B,EAEhB,OADAA,GAAY,IACRrC,EAAOC,qBACiC,mBAAjCK,WAAWE,UAAU2D,QAC1BH,EACK1D,WAAWE,UAAU2D,QAAQC,KAAKhC,EAAQC,EAAKlB,GAE/Cb,WAAWE,UAAU6D,YAAYD,KAAKhC,EAAQC,EAAKlB,GAGvD+C,EAAa9B,EAAQ,CAAEC,GAAOlB,EAAYM,EAAUuC,GAG7D,MAAM,IAAIhD,UAAU,wCAGtB,SAASkD,EAAcI,EAAKjC,EAAKlB,EAAYM,EAAUuC,GACrD,IA0BIrB,EA1BA4B,EAAY,EACZC,EAAYF,EAAIlE,OAChBqE,EAAYpC,EAAIjC,OAEpB,QAAiBiB,IAAbI,IAEe,UADjBA,EAAWiD,OAAOjD,GAAUwB,gBACY,UAAbxB,GACV,YAAbA,GAAuC,aAAbA,GAAyB,CACrD,GAAI6C,EAAIlE,OAAS,GAAKiC,EAAIjC,OAAS,EACjC,OAAQ,EAEVmE,EAAY,EACZC,GAAa,EACbC,GAAa,EACbtD,GAAc,EAIlB,SAASwD,EAAMC,EAAKjC,GAClB,OAAkB,IAAd4B,EACKK,EAAIjC,GAEJiC,EAAIC,aAAalC,EAAI4B,GAKhC,GAAIP,EAAK,CACP,IAAIc,GAAc,EAClB,IAAKnC,EAAIxB,EAAYwB,EAAI6B,EAAW7B,IAClC,GAAIgC,EAAKL,EAAK3B,KAAOgC,EAAKtC,GAAqB,IAAhByC,EAAoB,EAAInC,EAAImC,IAEzD,IADoB,IAAhBA,IAAmBA,EAAanC,GAChCA,EAAImC,EAAa,IAAML,EAAW,OAAOK,EAAaP,OAEtC,IAAhBO,IAAmBnC,GAAKA,EAAImC,GAChCA,GAAc,OAKlB,IADI3D,EAAasD,EAAYD,IAAWrD,EAAaqD,EAAYC,GAC5D9B,EAAIxB,EAAYwB,GAAK,EAAGA,IAAK,CAEhC,IADA,IAAIoC,GAAQ,EACHC,EAAI,EAAGA,EAAIP,EAAWO,IAC7B,GAAIL,EAAKL,EAAK3B,EAAIqC,KAAOL,EAAKtC,EAAK2C,GAAI,CACrCD,GAAQ,EACR,MAGJ,GAAIA,EAAO,OAAOpC,EAItB,OAAQ,EAeV,SAASsC,EAAUL,EAAKpD,EAAQ0D,EAAQ9E,GACtC8E,EAASC,OAAOD,IAAW,EAC3B,IAAIE,EAAYR,EAAIxE,OAAS8E,EACxB9E,GAGHA,EAAS+E,OAAO/E,IACHgF,IACXhF,EAASgF,GAJXhF,EAASgF,EASX,IAAIC,EAAS7D,EAAOpB,OACpB,GAAIiF,EAAS,GAAM,EAAG,MAAM,IAAIrE,UAAU,sBAEtCZ,EAASiF,EAAS,IACpBjF,EAASiF,EAAS,GAEpB,IAAK,IAAI1C,EAAI,EAAGA,EAAIvC,IAAUuC,EAAG,CAC/B,IAAI2C,EAASC,SAAS/D,EAAOgE,OAAW,EAAJ7C,EAAO,GAAI,IAC/C,GAAIsB,MAAMqB,GAAS,OAAO3C,EAC1BiC,EAAIM,EAASvC,GAAK2C,EAEpB,OAAO3C,EAGT,SAAS8C,EAAWb,EAAKpD,EAAQ0D,EAAQ9E,GACvC,OAAOsF,EAAW3C,EAAYvB,EAAQoD,EAAIxE,OAAS8E,GAASN,EAAKM,EAAQ9E,GAG3E,SAASuF,EAAYf,EAAKpD,EAAQ0D,EAAQ9E,GACxC,OAAOsF,EAq6BT,SAAuBE,GAErB,IADA,IAAIC,EAAY,GACPlD,EAAI,EAAGA,EAAIiD,EAAIxF,SAAUuC,EAEhCkD,EAAUC,KAAyB,IAApBF,EAAIG,WAAWpD,IAEhC,OAAOkD,EA36BWG,CAAaxE,GAASoD,EAAKM,EAAQ9E,GAGvD,SAAS6F,EAAarB,EAAKpD,EAAQ0D,EAAQ9E,GACzC,OAAOuF,EAAWf,EAAKpD,EAAQ0D,EAAQ9E,GAGzC,SAAS8F,EAAatB,EAAKpD,EAAQ0D,EAAQ9E,GACzC,OAAOsF,EAAW1C,EAAcxB,GAASoD,EAAKM,EAAQ9E,GAGxD,SAAS+F,EAAWvB,EAAKpD,EAAQ0D,EAAQ9E,GACvC,OAAOsF,EAk6BT,SAAyBE,EAAKQ,GAG5B,IAFA,IAAIC,EAAGC,EAAIC,EACPV,EAAY,GACPlD,EAAI,EAAGA,EAAIiD,EAAIxF,WACjBgG,GAAS,GAAK,KADazD,EAGhC0D,EAAIT,EAAIG,WAAWpD,GACnB2D,EAAKD,GAAK,EACVE,EAAKF,EAAI,IACTR,EAAUC,KAAKS,GACfV,EAAUC,KAAKQ,GAGjB,OAAOT,EA/6BWW,CAAehF,EAAQoD,EAAIxE,OAAS8E,GAASN,EAAKM,EAAQ9E,GAkF9E,SAASqD,EAAamB,EAAKzB,EAAOC,GAChC,OAAc,IAAVD,GAAeC,IAAQwB,EAAIxE,OACtBR,EAAO6G,cAAc7B,GAErBhF,EAAO6G,cAAc7B,EAAI/C,MAAMsB,EAAOC,IAIjD,SAASE,EAAWsB,EAAKzB,EAAOC,GAC9BA,EAAMsD,KAAKC,IAAI/B,EAAIxE,OAAQgD,GAI3B,IAHA,IAAIwD,EAAM,GAENjE,EAAIQ,EACDR,EAAIS,GAAK,CACd,IAQMyD,EAAYC,EAAWC,EAAYC,EARrCC,EAAYrC,EAAIjC,GAChBuE,EAAY,KACZC,EAAoBF,EAAY,IAAQ,EACvCA,EAAY,IAAQ,EACpBA,EAAY,IAAQ,EACrB,EAEJ,GAAItE,EAAIwE,GAAoB/D,EAG1B,OAAQ+D,GACN,KAAK,EACCF,EAAY,MACdC,EAAYD,GAEd,MACF,KAAK,EAEyB,MAAV,KADlBJ,EAAajC,EAAIjC,EAAI,OAEnBqE,GAA6B,GAAZC,IAAqB,EAAoB,GAAbJ,GACzB,MAClBK,EAAYF,GAGhB,MACF,KAAK,EACHH,EAAajC,EAAIjC,EAAI,GACrBmE,EAAYlC,EAAIjC,EAAI,GACQ,MAAV,IAAbkE,IAAsD,MAAV,IAAZC,KACnCE,GAA6B,GAAZC,IAAoB,IAAoB,GAAbJ,IAAsB,EAAmB,GAAZC,GACrD,OAAUE,EAAgB,OAAUA,EAAgB,SACtEE,EAAYF,GAGhB,MACF,KAAK,EACHH,EAAajC,EAAIjC,EAAI,GACrBmE,EAAYlC,EAAIjC,EAAI,GACpBoE,EAAanC,EAAIjC,EAAI,GACO,MAAV,IAAbkE,IAAsD,MAAV,IAAZC,IAAsD,MAAV,IAAbC,KAClEC,GAA6B,GAAZC,IAAoB,IAAqB,GAAbJ,IAAsB,IAAmB,GAAZC,IAAqB,EAAoB,GAAbC,GAClF,OAAUC,EAAgB,UAC5CE,EAAYF,GAMJ,OAAdE,GAGFA,EAAY,MACZC,EAAmB,GACVD,EAAY,QAErBA,GAAa,MACbN,EAAId,KAAKoB,IAAc,GAAK,KAAQ,OACpCA,EAAY,MAAqB,KAAZA,GAGvBN,EAAId,KAAKoB,GACTvE,GAAKwE,EAGP,OAQF,SAAgCC,GAC9B,IAAInF,EAAMmF,EAAWhH,OACrB,GAAI6B,GAJqB,KAKvB,OAAOyC,OAAO2C,aAAaC,MAAM5C,OAAQ0C,GAI3C,IAAIR,EAAM,GACNjE,EAAI,EACR,KAAOA,EAAIV,GACT2E,GAAOlC,OAAO2C,aAAaC,MACzB5C,OACA0C,EAAWvF,MAAMc,EAAGA,GAdC,OAiBzB,OAAOiE,EAvBAW,CAAsBX,GA98B/BY,EAAQxH,OAASA,EACjBwH,EAAQC,WAoTR,SAAqBrH,IACdA,GAAUA,IACbA,EAAS,GAEX,OAAOJ,EAAO0H,OAAOtH,IAvTvBoH,EAAQG,kBAAoB,GA0B5B3H,EAAOC,yBAAqDoB,IAA/BuG,EAAO3H,oBAChC2H,EAAO3H,oBAQX,WACE,IACE,IAAIqE,EAAM,IAAIhE,WAAW,GAEzB,OADAgE,EAAI/D,UAAY,CAACA,UAAWD,WAAWE,UAAWqH,IAAK,WAAc,OAAO,KACvD,KAAdvD,EAAIuD,OACiB,mBAAjBvD,EAAIwD,UACuB,IAAlCxD,EAAIwD,SAAS,EAAG,GAAG1G,WACvB,MAAO2G,GACP,OAAO,GAfPC,GAKJR,EAAQzH,WAAaA,IAkErBC,EAAOiI,SAAW,KAGlBjI,EAAOkI,SAAW,SAAU5D,GAE1B,OADAA,EAAI/D,UAAYP,EAAOQ,UAChB8D,GA2BTtE,EAAOc,KAAO,SAAUC,EAAOL,EAAkBN,GAC/C,OAAOU,EAAK,KAAMC,EAAOL,EAAkBN,IAGzCJ,EAAOC,sBACTD,EAAOQ,UAAUD,UAAYD,WAAWE,UACxCR,EAAOO,UAAYD,WACG,oBAAX6H,QAA0BA,OAAOC,SACxCpI,EAAOmI,OAAOC,WAAapI,GAE7BqI,OAAOC,eAAetI,EAAQmI,OAAOC,QAAS,CAC5CrH,MAAO,KACPwH,cAAc,KAiCpBvI,EAAO0H,MAAQ,SAAUhF,EAAM8F,EAAM/G,GACnC,OArBF,SAAgBtB,EAAMuC,EAAM8F,EAAM/G,GAEhC,OADAgB,EAAWC,GACPA,GAAQ,EACHxC,EAAaC,EAAMuC,QAEfrB,IAATmH,EAIyB,iBAAb/G,EACVvB,EAAaC,EAAMuC,GAAM8F,KAAKA,EAAM/G,GACpCvB,EAAaC,EAAMuC,GAAM8F,KAAKA,GAE7BtI,EAAaC,EAAMuC,GAQnBgF,CAAM,KAAMhF,EAAM8F,EAAM/G,IAiBjCzB,EAAOa,YAAc,SAAU6B,GAC7B,OAAO7B,EAAY,KAAM6B,IAK3B1C,EAAOyI,gBAAkB,SAAU/F,GACjC,OAAO7B,EAAY,KAAM6B,IAiH3B1C,EAAOgC,SAAW,SAAmB4B,GACnC,QAAe,MAALA,IAAaA,EAAE8E,YAG3B1I,EAAO2I,QAAU,SAAkBC,EAAGhF,GACpC,IAAK5D,EAAOgC,SAAS4G,KAAO5I,EAAOgC,SAAS4B,GAC1C,MAAM,IAAI5C,UAAU,6BAGtB,GAAI4H,IAAMhF,EAAG,OAAO,EAKpB,IAHA,IAAIiF,EAAID,EAAExI,OACN0I,EAAIlF,EAAExD,OAEDuC,EAAI,EAAGV,EAAMyE,KAAKC,IAAIkC,EAAGC,GAAInG,EAAIV,IAAOU,EAC/C,GAAIiG,EAAEjG,KAAOiB,EAAEjB,GAAI,CACjBkG,EAAID,EAAEjG,GACNmG,EAAIlF,EAAEjB,GACN,MAIJ,OAAIkG,EAAIC,GAAW,EACfA,EAAID,EAAU,EACX,GAGT7I,EAAO0B,WAAa,SAAqBD,GACvC,OAAQiD,OAAOjD,GAAUwB,eACvB,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO,EACT,QACE,OAAO,IAIbjD,EAAO+I,OAAS,SAAiBC,EAAM5I,GACrC,IAAKN,EAAQkJ,GACX,MAAM,IAAIhI,UAAU,+CAGtB,GAAoB,IAAhBgI,EAAK5I,OACP,OAAOJ,EAAO0H,MAAM,GAGtB,IAAI/E,EACJ,QAAetB,IAAXjB,EAEF,IADAA,EAAS,EACJuC,EAAI,EAAGA,EAAIqG,EAAK5I,SAAUuC,EAC7BvC,GAAU4I,EAAKrG,GAAGvC,OAItB,IAAIgC,EAASpC,EAAOa,YAAYT,GAC5B6I,EAAM,EACV,IAAKtG,EAAI,EAAGA,EAAIqG,EAAK5I,SAAUuC,EAAG,CAChC,IAAIiC,EAAMoE,EAAKrG,GACf,IAAK3C,EAAOgC,SAAS4C,GACnB,MAAM,IAAI5D,UAAU,+CAEtB4D,EAAIzC,KAAKC,EAAQ6G,GACjBA,GAAOrE,EAAIxE,OAEb,OAAOgC,GA8CTpC,EAAOoB,WAAaA,EA0EpBpB,EAAOQ,UAAUkI,WAAY,EAQ7B1I,EAAOQ,UAAU0I,OAAS,WACxB,IAAIjH,EAAMtB,KAAKP,OACf,GAAI6B,EAAM,GAAM,EACd,MAAM,IAAI5B,WAAW,6CAEvB,IAAK,IAAIsC,EAAI,EAAGA,EAAIV,EAAKU,GAAK,EAC5BgB,EAAKhD,KAAMgC,EAAGA,EAAI,GAEpB,OAAOhC,MAGTX,EAAOQ,UAAU2I,OAAS,WACxB,IAAIlH,EAAMtB,KAAKP,OACf,GAAI6B,EAAM,GAAM,EACd,MAAM,IAAI5B,WAAW,6CAEvB,IAAK,IAAIsC,EAAI,EAAGA,EAAIV,EAAKU,GAAK,EAC5BgB,EAAKhD,KAAMgC,EAAGA,EAAI,GAClBgB,EAAKhD,KAAMgC,EAAI,EAAGA,EAAI,GAExB,OAAOhC,MAGTX,EAAOQ,UAAU4I,OAAS,WACxB,IAAInH,EAAMtB,KAAKP,OACf,GAAI6B,EAAM,GAAM,EACd,MAAM,IAAI5B,WAAW,6CAEvB,IAAK,IAAIsC,EAAI,EAAGA,EAAIV,EAAKU,GAAK,EAC5BgB,EAAKhD,KAAMgC,EAAGA,EAAI,GAClBgB,EAAKhD,KAAMgC,EAAI,EAAGA,EAAI,GACtBgB,EAAKhD,KAAMgC,EAAI,EAAGA,EAAI,GACtBgB,EAAKhD,KAAMgC,EAAI,EAAGA,EAAI,GAExB,OAAOhC,MAGTX,EAAOQ,UAAUoC,SAAW,WAC1B,IAAIxC,EAAuB,EAAdO,KAAKP,OAClB,OAAe,IAAXA,EAAqB,GACA,IAArBiJ,UAAUjJ,OAAqBkD,EAAU3C,KAAM,EAAGP,GAC/C8C,EAAaoE,MAAM3G,KAAM0I,YAGlCrJ,EAAOQ,UAAU8I,OAAS,SAAiB1F,GACzC,IAAK5D,EAAOgC,SAAS4B,GAAI,MAAM,IAAI5C,UAAU,6BAC7C,OAAIL,OAASiD,GACsB,IAA5B5D,EAAO2I,QAAQhI,KAAMiD,IAG9B5D,EAAOQ,UAAU+I,QAAU,WACzB,IAAI3D,EAAM,GACN4D,EAAMhC,EAAQG,kBAKlB,OAJIhH,KAAKP,OAAS,IAChBwF,EAAMjF,KAAKiC,SAAS,MAAO,EAAG4G,GAAKC,MAAM,SAASC,KAAK,KACnD/I,KAAKP,OAASoJ,IAAK5D,GAAO,UAEzB,WAAaA,EAAM,KAG5B5F,EAAOQ,UAAUmI,QAAU,SAAkBgB,EAAQxG,EAAOC,EAAKwG,EAAWC,GAC1E,IAAK7J,EAAOgC,SAAS2H,GACnB,MAAM,IAAI3I,UAAU,6BAgBtB,QAbcK,IAAV8B,IACFA,EAAQ,QAEE9B,IAAR+B,IACFA,EAAMuG,EAASA,EAAOvJ,OAAS,QAEfiB,IAAduI,IACFA,EAAY,QAEEvI,IAAZwI,IACFA,EAAUlJ,KAAKP,QAGb+C,EAAQ,GAAKC,EAAMuG,EAAOvJ,QAAUwJ,EAAY,GAAKC,EAAUlJ,KAAKP,OACtE,MAAM,IAAIC,WAAW,sBAGvB,GAAIuJ,GAAaC,GAAW1G,GAASC,EACnC,OAAO,EAET,GAAIwG,GAAaC,EACf,OAAQ,EAEV,GAAI1G,GAASC,EACX,OAAO,EAQT,GAAIzC,OAASgJ,EAAQ,OAAO,EAS5B,IAPA,IAAId,GAJJgB,KAAa,IADbD,KAAe,GAMXd,GAPJ1F,KAAS,IADTD,KAAW,GASPlB,EAAMyE,KAAKC,IAAIkC,EAAGC,GAElBgB,EAAWnJ,KAAKkB,MAAM+H,EAAWC,GACjCE,EAAaJ,EAAO9H,MAAMsB,EAAOC,GAE5BT,EAAI,EAAGA,EAAIV,IAAOU,EACzB,GAAImH,EAASnH,KAAOoH,EAAWpH,GAAI,CACjCkG,EAAIiB,EAASnH,GACbmG,EAAIiB,EAAWpH,GACf,MAIJ,OAAIkG,EAAIC,GAAW,EACfA,EAAID,EAAU,EACX,GA6HT7I,EAAOQ,UAAUwJ,SAAW,SAAmB3H,EAAKlB,EAAYM,GAC9D,OAAoD,IAA7Cd,KAAKwD,QAAQ9B,EAAKlB,EAAYM,IAGvCzB,EAAOQ,UAAU2D,QAAU,SAAkB9B,EAAKlB,EAAYM,GAC5D,OAAOsC,EAAqBpD,KAAM0B,EAAKlB,EAAYM,GAAU,IAG/DzB,EAAOQ,UAAU6D,YAAc,SAAsBhC,EAAKlB,EAAYM,GACpE,OAAOsC,EAAqBpD,KAAM0B,EAAKlB,EAAYM,GAAU,IAkD/DzB,EAAOQ,UAAUoB,MAAQ,SAAgBJ,EAAQ0D,EAAQ9E,EAAQqB,GAE/D,QAAeJ,IAAX6D,EACFzD,EAAW,OACXrB,EAASO,KAAKP,OACd8E,EAAS,OAEJ,QAAe7D,IAAXjB,GAA0C,iBAAX8E,EACxCzD,EAAWyD,EACX9E,EAASO,KAAKP,OACd8E,EAAS,MAEJ,KAAI+E,SAAS/E,GAWlB,MAAM,IAAItE,MACR,2EAXFsE,GAAkB,EACd+E,SAAS7J,IACXA,GAAkB,OACDiB,IAAbI,IAAwBA,EAAW,UAEvCA,EAAWrB,EACXA,OAASiB,GASb,IAAI+D,EAAYzE,KAAKP,OAAS8E,EAG9B,SAFe7D,IAAXjB,GAAwBA,EAASgF,KAAWhF,EAASgF,GAEpD5D,EAAOpB,OAAS,IAAMA,EAAS,GAAK8E,EAAS,IAAOA,EAASvE,KAAKP,OACrE,MAAM,IAAIC,WAAW,0CAGlBoB,IAAUA,EAAW,QAG1B,IADA,IAAIqB,GAAc,IAEhB,OAAQrB,GACN,IAAK,MACH,OAAOwD,EAAStE,KAAMa,EAAQ0D,EAAQ9E,GAExC,IAAK,OACL,IAAK,QACH,OAAOqF,EAAU9E,KAAMa,EAAQ0D,EAAQ9E,GAEzC,IAAK,QACH,OAAOuF,EAAWhF,KAAMa,EAAQ0D,EAAQ9E,GAE1C,IAAK,SACL,IAAK,SACH,OAAO6F,EAAYtF,KAAMa,EAAQ0D,EAAQ9E,GAE3C,IAAK,SAEH,OAAO8F,EAAYvF,KAAMa,EAAQ0D,EAAQ9E,GAE3C,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO+F,EAAUxF,KAAMa,EAAQ0D,EAAQ9E,GAEzC,QACE,GAAI0C,EAAa,MAAM,IAAI9B,UAAU,qBAAuBS,GAC5DA,GAAY,GAAKA,GAAUwB,cAC3BH,GAAc,IAKtB9C,EAAOQ,UAAU0J,OAAS,WACxB,MAAO,CACL5H,KAAM,SACNC,KAAM4H,MAAM3J,UAAUqB,MAAMuC,KAAKzD,KAAKyJ,MAAQzJ,KAAM,KA4GxD,SAAS4C,EAAYqB,EAAKzB,EAAOC,GAC/B,IAAIiH,EAAM,GACVjH,EAAMsD,KAAKC,IAAI/B,EAAIxE,OAAQgD,GAE3B,IAAK,IAAIT,EAAIQ,EAAOR,EAAIS,IAAOT,EAC7B0H,GAAO3F,OAAO2C,aAAsB,IAATzC,EAAIjC,IAEjC,OAAO0H,EAGT,SAAS7G,EAAaoB,EAAKzB,EAAOC,GAChC,IAAIiH,EAAM,GACVjH,EAAMsD,KAAKC,IAAI/B,EAAIxE,OAAQgD,GAE3B,IAAK,IAAIT,EAAIQ,EAAOR,EAAIS,IAAOT,EAC7B0H,GAAO3F,OAAO2C,aAAazC,EAAIjC,IAEjC,OAAO0H,EAGT,SAAShH,EAAUuB,EAAKzB,EAAOC,GAC7B,IAAInB,EAAM2C,EAAIxE,SAET+C,GAASA,EAAQ,KAAGA,EAAQ,KAC5BC,GAAOA,EAAM,GAAKA,EAAMnB,KAAKmB,EAAMnB,GAGxC,IADA,IAAIqI,EAAM,GACD3H,EAAIQ,EAAOR,EAAIS,IAAOT,EAC7B2H,GAAOC,EAAM3F,EAAIjC,IAEnB,OAAO2H,EAGT,SAAS5G,EAAckB,EAAKzB,EAAOC,GAGjC,IAFA,IAAIoH,EAAQ5F,EAAI/C,MAAMsB,EAAOC,GACzBwD,EAAM,GACDjE,EAAI,EAAGA,EAAI6H,EAAMpK,OAAQuC,GAAK,EACrCiE,GAAOlC,OAAO2C,aAAamD,EAAM7H,GAAoB,IAAf6H,EAAM7H,EAAI,IAElD,OAAOiE,EA0CT,SAAS6D,EAAavF,EAAQwF,EAAKtK,GACjC,GAAK8E,EAAS,GAAO,GAAKA,EAAS,EAAG,MAAM,IAAI7E,WAAW,sBAC3D,GAAI6E,EAASwF,EAAMtK,EAAQ,MAAM,IAAIC,WAAW,yCA+JlD,SAASsK,EAAU/F,EAAK7D,EAAOmE,EAAQwF,EAAKlB,EAAK7C,GAC/C,IAAK3G,EAAOgC,SAAS4C,GAAM,MAAM,IAAI5D,UAAU,+CAC/C,GAAID,EAAQyI,GAAOzI,EAAQ4F,EAAK,MAAM,IAAItG,WAAW,qCACrD,GAAI6E,EAASwF,EAAM9F,EAAIxE,OAAQ,MAAM,IAAIC,WAAW,sBAkDtD,SAASuK,EAAmBhG,EAAK7D,EAAOmE,EAAQ2F,GAC1C9J,EAAQ,IAAGA,EAAQ,MAASA,EAAQ,GACxC,IAAK,IAAI4B,EAAI,EAAGqC,EAAI0B,KAAKC,IAAI/B,EAAIxE,OAAS8E,EAAQ,GAAIvC,EAAIqC,IAAKrC,EAC7DiC,EAAIM,EAASvC,IAAM5B,EAAS,KAAS,GAAK8J,EAAelI,EAAI,EAAIA,MAClC,GAA5BkI,EAAelI,EAAI,EAAIA,GA8B9B,SAASmI,EAAmBlG,EAAK7D,EAAOmE,EAAQ2F,GAC1C9J,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GAC5C,IAAK,IAAI4B,EAAI,EAAGqC,EAAI0B,KAAKC,IAAI/B,EAAIxE,OAAS8E,EAAQ,GAAIvC,EAAIqC,IAAKrC,EAC7DiC,EAAIM,EAASvC,GAAM5B,IAAuC,GAA5B8J,EAAelI,EAAI,EAAIA,GAAU,IAmJnE,SAASoI,EAAcnG,EAAK7D,EAAOmE,EAAQwF,EAAKlB,EAAK7C,GACnD,GAAIzB,EAASwF,EAAM9F,EAAIxE,OAAQ,MAAM,IAAIC,WAAW,sBACpD,GAAI6E,EAAS,EAAG,MAAM,IAAI7E,WAAW,sBAGvC,SAAS2K,EAAYpG,EAAK7D,EAAOmE,EAAQ2F,EAAcI,GAKrD,OAJKA,GACHF,EAAanG,EAAK7D,EAAOmE,EAAQ,GAEnCrF,EAAQ+B,MAAMgD,EAAK7D,EAAOmE,EAAQ2F,EAAc,GAAI,GAC7C3F,EAAS,EAWlB,SAASgG,EAAatG,EAAK7D,EAAOmE,EAAQ2F,EAAcI,GAKtD,OAJKA,GACHF,EAAanG,EAAK7D,EAAOmE,EAAQ,GAEnCrF,EAAQ+B,MAAMgD,EAAK7D,EAAOmE,EAAQ2F,EAAc,GAAI,GAC7C3F,EAAS,EA/clBlF,EAAOQ,UAAUqB,MAAQ,SAAgBsB,EAAOC,GAC9C,IAoBI+H,EApBAlJ,EAAMtB,KAAKP,OAqBf,IApBA+C,IAAUA,GAGE,GACVA,GAASlB,GACG,IAAGkB,EAAQ,GACdA,EAAQlB,IACjBkB,EAAQlB,IANVmB,OAAc/B,IAAR+B,EAAoBnB,IAAQmB,GASxB,GACRA,GAAOnB,GACG,IAAGmB,EAAM,GACVA,EAAMnB,IACfmB,EAAMnB,GAGJmB,EAAMD,IAAOC,EAAMD,GAGnBnD,EAAOC,qBACTkL,EAASxK,KAAKmH,SAAS3E,EAAOC,IACvB7C,UAAYP,EAAOQ,cACrB,CACL,IAAI4K,EAAWhI,EAAMD,EACrBgI,EAAS,IAAInL,EAAOoL,OAAU/J,GAC9B,IAAK,IAAIsB,EAAI,EAAGA,EAAIyI,IAAYzI,EAC9BwI,EAAOxI,GAAKhC,KAAKgC,EAAIQ,GAIzB,OAAOgI,GAWTnL,EAAOQ,UAAU6K,WAAa,SAAqBnG,EAAQ9D,EAAY6J,GACrE/F,GAAkB,EAClB9D,GAA0B,EACrB6J,GAAUR,EAAYvF,EAAQ9D,EAAYT,KAAKP,QAKpD,IAHA,IAAIiC,EAAM1B,KAAKuE,GACXoG,EAAM,EACN3I,EAAI,IACCA,EAAIvB,IAAekK,GAAO,MACjCjJ,GAAO1B,KAAKuE,EAASvC,GAAK2I,EAG5B,OAAOjJ,GAGTrC,EAAOQ,UAAU+K,WAAa,SAAqBrG,EAAQ9D,EAAY6J,GACrE/F,GAAkB,EAClB9D,GAA0B,EACrB6J,GACHR,EAAYvF,EAAQ9D,EAAYT,KAAKP,QAKvC,IAFA,IAAIiC,EAAM1B,KAAKuE,IAAW9D,GACtBkK,EAAM,EACHlK,EAAa,IAAMkK,GAAO,MAC/BjJ,GAAO1B,KAAKuE,IAAW9D,GAAckK,EAGvC,OAAOjJ,GAGTrC,EAAOQ,UAAUgL,UAAY,SAAoBtG,EAAQ+F,GAEvD,OADKA,GAAUR,EAAYvF,EAAQ,EAAGvE,KAAKP,QACpCO,KAAKuE,IAGdlF,EAAOQ,UAAUiL,aAAe,SAAuBvG,EAAQ+F,GAE7D,OADKA,GAAUR,EAAYvF,EAAQ,EAAGvE,KAAKP,QACpCO,KAAKuE,GAAWvE,KAAKuE,EAAS,IAAM,GAG7ClF,EAAOQ,UAAUqE,aAAe,SAAuBK,EAAQ+F,GAE7D,OADKA,GAAUR,EAAYvF,EAAQ,EAAGvE,KAAKP,QACnCO,KAAKuE,IAAW,EAAKvE,KAAKuE,EAAS,IAG7ClF,EAAOQ,UAAUkL,aAAe,SAAuBxG,EAAQ+F,GAG7D,OAFKA,GAAUR,EAAYvF,EAAQ,EAAGvE,KAAKP,SAElCO,KAAKuE,GACTvE,KAAKuE,EAAS,IAAM,EACpBvE,KAAKuE,EAAS,IAAM,IACD,SAAnBvE,KAAKuE,EAAS,IAGrBlF,EAAOQ,UAAUmL,aAAe,SAAuBzG,EAAQ+F,GAG7D,OAFKA,GAAUR,EAAYvF,EAAQ,EAAGvE,KAAKP,QAEpB,SAAfO,KAAKuE,IACTvE,KAAKuE,EAAS,IAAM,GACrBvE,KAAKuE,EAAS,IAAM,EACrBvE,KAAKuE,EAAS,KAGlBlF,EAAOQ,UAAUoL,UAAY,SAAoB1G,EAAQ9D,EAAY6J,GACnE/F,GAAkB,EAClB9D,GAA0B,EACrB6J,GAAUR,EAAYvF,EAAQ9D,EAAYT,KAAKP,QAKpD,IAHA,IAAIiC,EAAM1B,KAAKuE,GACXoG,EAAM,EACN3I,EAAI,IACCA,EAAIvB,IAAekK,GAAO,MACjCjJ,GAAO1B,KAAKuE,EAASvC,GAAK2I,EAM5B,OAFIjJ,IAFJiJ,GAAO,OAESjJ,GAAOqE,KAAKmF,IAAI,EAAG,EAAIzK,IAEhCiB,GAGTrC,EAAOQ,UAAUsL,UAAY,SAAoB5G,EAAQ9D,EAAY6J,GACnE/F,GAAkB,EAClB9D,GAA0B,EACrB6J,GAAUR,EAAYvF,EAAQ9D,EAAYT,KAAKP,QAKpD,IAHA,IAAIuC,EAAIvB,EACJkK,EAAM,EACNjJ,EAAM1B,KAAKuE,IAAWvC,GACnBA,EAAI,IAAM2I,GAAO,MACtBjJ,GAAO1B,KAAKuE,IAAWvC,GAAK2I,EAM9B,OAFIjJ,IAFJiJ,GAAO,OAESjJ,GAAOqE,KAAKmF,IAAI,EAAG,EAAIzK,IAEhCiB,GAGTrC,EAAOQ,UAAUuL,SAAW,SAAmB7G,EAAQ+F,GAErD,OADKA,GAAUR,EAAYvF,EAAQ,EAAGvE,KAAKP,QACtB,IAAfO,KAAKuE,IAC0B,GAA5B,IAAOvE,KAAKuE,GAAU,GADKvE,KAAKuE,IAI3ClF,EAAOQ,UAAUwL,YAAc,SAAsB9G,EAAQ+F,GACtDA,GAAUR,EAAYvF,EAAQ,EAAGvE,KAAKP,QAC3C,IAAIiC,EAAM1B,KAAKuE,GAAWvE,KAAKuE,EAAS,IAAM,EAC9C,OAAc,MAAN7C,EAAsB,WAANA,EAAmBA,GAG7CrC,EAAOQ,UAAUyL,YAAc,SAAsB/G,EAAQ+F,GACtDA,GAAUR,EAAYvF,EAAQ,EAAGvE,KAAKP,QAC3C,IAAIiC,EAAM1B,KAAKuE,EAAS,GAAMvE,KAAKuE,IAAW,EAC9C,OAAc,MAAN7C,EAAsB,WAANA,EAAmBA,GAG7CrC,EAAOQ,UAAU0L,YAAc,SAAsBhH,EAAQ+F,GAG3D,OAFKA,GAAUR,EAAYvF,EAAQ,EAAGvE,KAAKP,QAEnCO,KAAKuE,GACVvE,KAAKuE,EAAS,IAAM,EACpBvE,KAAKuE,EAAS,IAAM,GACpBvE,KAAKuE,EAAS,IAAM,IAGzBlF,EAAOQ,UAAU2L,YAAc,SAAsBjH,EAAQ+F,GAG3D,OAFKA,GAAUR,EAAYvF,EAAQ,EAAGvE,KAAKP,QAEnCO,KAAKuE,IAAW,GACrBvE,KAAKuE,EAAS,IAAM,GACpBvE,KAAKuE,EAAS,IAAM,EACpBvE,KAAKuE,EAAS,IAGnBlF,EAAOQ,UAAU4L,YAAc,SAAsBlH,EAAQ+F,GAE3D,OADKA,GAAUR,EAAYvF,EAAQ,EAAGvE,KAAKP,QACpCP,EAAQ8E,KAAKhE,KAAMuE,GAAQ,EAAM,GAAI,IAG9ClF,EAAOQ,UAAU6L,YAAc,SAAsBnH,EAAQ+F,GAE3D,OADKA,GAAUR,EAAYvF,EAAQ,EAAGvE,KAAKP,QACpCP,EAAQ8E,KAAKhE,KAAMuE,GAAQ,EAAO,GAAI,IAG/ClF,EAAOQ,UAAU8L,aAAe,SAAuBpH,EAAQ+F,GAE7D,OADKA,GAAUR,EAAYvF,EAAQ,EAAGvE,KAAKP,QACpCP,EAAQ8E,KAAKhE,KAAMuE,GAAQ,EAAM,GAAI,IAG9ClF,EAAOQ,UAAU+L,aAAe,SAAuBrH,EAAQ+F,GAE7D,OADKA,GAAUR,EAAYvF,EAAQ,EAAGvE,KAAKP,QACpCP,EAAQ8E,KAAKhE,KAAMuE,GAAQ,EAAO,GAAI,IAS/ClF,EAAOQ,UAAUgM,YAAc,SAAsBzL,EAAOmE,EAAQ9D,EAAY6J,IAC9ElK,GAASA,EACTmE,GAAkB,EAClB9D,GAA0B,EACrB6J,IAEHN,EAAShK,KAAMI,EAAOmE,EAAQ9D,EADfsF,KAAKmF,IAAI,EAAG,EAAIzK,GAAc,EACO,GAGtD,IAAIkK,EAAM,EACN3I,EAAI,EAER,IADAhC,KAAKuE,GAAkB,IAARnE,IACN4B,EAAIvB,IAAekK,GAAO,MACjC3K,KAAKuE,EAASvC,GAAM5B,EAAQuK,EAAO,IAGrC,OAAOpG,EAAS9D,GAGlBpB,EAAOQ,UAAUiM,YAAc,SAAsB1L,EAAOmE,EAAQ9D,EAAY6J,IAC9ElK,GAASA,EACTmE,GAAkB,EAClB9D,GAA0B,EACrB6J,IAEHN,EAAShK,KAAMI,EAAOmE,EAAQ9D,EADfsF,KAAKmF,IAAI,EAAG,EAAIzK,GAAc,EACO,GAGtD,IAAIuB,EAAIvB,EAAa,EACjBkK,EAAM,EAEV,IADA3K,KAAKuE,EAASvC,GAAa,IAAR5B,IACV4B,GAAK,IAAM2I,GAAO,MACzB3K,KAAKuE,EAASvC,GAAM5B,EAAQuK,EAAO,IAGrC,OAAOpG,EAAS9D,GAGlBpB,EAAOQ,UAAUkM,WAAa,SAAqB3L,EAAOmE,EAAQ+F,GAMhE,OALAlK,GAASA,EACTmE,GAAkB,EACb+F,GAAUN,EAAShK,KAAMI,EAAOmE,EAAQ,EAAG,IAAM,GACjDlF,EAAOC,sBAAqBc,EAAQ2F,KAAKiG,MAAM5L,IACpDJ,KAAKuE,GAAmB,IAARnE,EACTmE,EAAS,GAWlBlF,EAAOQ,UAAUoM,cAAgB,SAAwB7L,EAAOmE,EAAQ+F,GAUtE,OATAlK,GAASA,EACTmE,GAAkB,EACb+F,GAAUN,EAAShK,KAAMI,EAAOmE,EAAQ,EAAG,MAAQ,GACpDlF,EAAOC,qBACTU,KAAKuE,GAAmB,IAARnE,EAChBJ,KAAKuE,EAAS,GAAMnE,IAAU,GAE9B6J,EAAkBjK,KAAMI,EAAOmE,GAAQ,GAElCA,EAAS,GAGlBlF,EAAOQ,UAAUqM,cAAgB,SAAwB9L,EAAOmE,EAAQ+F,GAUtE,OATAlK,GAASA,EACTmE,GAAkB,EACb+F,GAAUN,EAAShK,KAAMI,EAAOmE,EAAQ,EAAG,MAAQ,GACpDlF,EAAOC,qBACTU,KAAKuE,GAAWnE,IAAU,EAC1BJ,KAAKuE,EAAS,GAAc,IAARnE,GAEpB6J,EAAkBjK,KAAMI,EAAOmE,GAAQ,GAElCA,EAAS,GAUlBlF,EAAOQ,UAAUsM,cAAgB,SAAwB/L,EAAOmE,EAAQ+F,GAYtE,OAXAlK,GAASA,EACTmE,GAAkB,EACb+F,GAAUN,EAAShK,KAAMI,EAAOmE,EAAQ,EAAG,WAAY,GACxDlF,EAAOC,qBACTU,KAAKuE,EAAS,GAAMnE,IAAU,GAC9BJ,KAAKuE,EAAS,GAAMnE,IAAU,GAC9BJ,KAAKuE,EAAS,GAAMnE,IAAU,EAC9BJ,KAAKuE,GAAmB,IAARnE,GAEhB+J,EAAkBnK,KAAMI,EAAOmE,GAAQ,GAElCA,EAAS,GAGlBlF,EAAOQ,UAAUuM,cAAgB,SAAwBhM,EAAOmE,EAAQ+F,GAYtE,OAXAlK,GAASA,EACTmE,GAAkB,EACb+F,GAAUN,EAAShK,KAAMI,EAAOmE,EAAQ,EAAG,WAAY,GACxDlF,EAAOC,qBACTU,KAAKuE,GAAWnE,IAAU,GAC1BJ,KAAKuE,EAAS,GAAMnE,IAAU,GAC9BJ,KAAKuE,EAAS,GAAMnE,IAAU,EAC9BJ,KAAKuE,EAAS,GAAc,IAARnE,GAEpB+J,EAAkBnK,KAAMI,EAAOmE,GAAQ,GAElCA,EAAS,GAGlBlF,EAAOQ,UAAUwM,WAAa,SAAqBjM,EAAOmE,EAAQ9D,EAAY6J,GAG5E,GAFAlK,GAASA,EACTmE,GAAkB,GACb+F,EAAU,CACb,IAAIgC,EAAQvG,KAAKmF,IAAI,EAAG,EAAIzK,EAAa,GAEzCuJ,EAAShK,KAAMI,EAAOmE,EAAQ9D,EAAY6L,EAAQ,GAAIA,GAGxD,IAAItK,EAAI,EACJ2I,EAAM,EACN4B,EAAM,EAEV,IADAvM,KAAKuE,GAAkB,IAARnE,IACN4B,EAAIvB,IAAekK,GAAO,MAC7BvK,EAAQ,GAAa,IAARmM,GAAsC,IAAzBvM,KAAKuE,EAASvC,EAAI,KAC9CuK,EAAM,GAERvM,KAAKuE,EAASvC,IAAO5B,EAAQuK,GAAQ,GAAK4B,EAAM,IAGlD,OAAOhI,EAAS9D,GAGlBpB,EAAOQ,UAAU2M,WAAa,SAAqBpM,EAAOmE,EAAQ9D,EAAY6J,GAG5E,GAFAlK,GAASA,EACTmE,GAAkB,GACb+F,EAAU,CACb,IAAIgC,EAAQvG,KAAKmF,IAAI,EAAG,EAAIzK,EAAa,GAEzCuJ,EAAShK,KAAMI,EAAOmE,EAAQ9D,EAAY6L,EAAQ,GAAIA,GAGxD,IAAItK,EAAIvB,EAAa,EACjBkK,EAAM,EACN4B,EAAM,EAEV,IADAvM,KAAKuE,EAASvC,GAAa,IAAR5B,IACV4B,GAAK,IAAM2I,GAAO,MACrBvK,EAAQ,GAAa,IAARmM,GAAsC,IAAzBvM,KAAKuE,EAASvC,EAAI,KAC9CuK,EAAM,GAERvM,KAAKuE,EAASvC,IAAO5B,EAAQuK,GAAQ,GAAK4B,EAAM,IAGlD,OAAOhI,EAAS9D,GAGlBpB,EAAOQ,UAAU4M,UAAY,SAAoBrM,EAAOmE,EAAQ+F,GAO9D,OANAlK,GAASA,EACTmE,GAAkB,EACb+F,GAAUN,EAAShK,KAAMI,EAAOmE,EAAQ,EAAG,KAAO,KAClDlF,EAAOC,sBAAqBc,EAAQ2F,KAAKiG,MAAM5L,IAChDA,EAAQ,IAAGA,EAAQ,IAAOA,EAAQ,GACtCJ,KAAKuE,GAAmB,IAARnE,EACTmE,EAAS,GAGlBlF,EAAOQ,UAAU6M,aAAe,SAAuBtM,EAAOmE,EAAQ+F,GAUpE,OATAlK,GAASA,EACTmE,GAAkB,EACb+F,GAAUN,EAAShK,KAAMI,EAAOmE,EAAQ,EAAG,OAAS,OACrDlF,EAAOC,qBACTU,KAAKuE,GAAmB,IAARnE,EAChBJ,KAAKuE,EAAS,GAAMnE,IAAU,GAE9B6J,EAAkBjK,KAAMI,EAAOmE,GAAQ,GAElCA,EAAS,GAGlBlF,EAAOQ,UAAU8M,aAAe,SAAuBvM,EAAOmE,EAAQ+F,GAUpE,OATAlK,GAASA,EACTmE,GAAkB,EACb+F,GAAUN,EAAShK,KAAMI,EAAOmE,EAAQ,EAAG,OAAS,OACrDlF,EAAOC,qBACTU,KAAKuE,GAAWnE,IAAU,EAC1BJ,KAAKuE,EAAS,GAAc,IAARnE,GAEpB6J,EAAkBjK,KAAMI,EAAOmE,GAAQ,GAElCA,EAAS,GAGlBlF,EAAOQ,UAAU+M,aAAe,SAAuBxM,EAAOmE,EAAQ+F,GAYpE,OAXAlK,GAASA,EACTmE,GAAkB,EACb+F,GAAUN,EAAShK,KAAMI,EAAOmE,EAAQ,EAAG,YAAa,YACzDlF,EAAOC,qBACTU,KAAKuE,GAAmB,IAARnE,EAChBJ,KAAKuE,EAAS,GAAMnE,IAAU,EAC9BJ,KAAKuE,EAAS,GAAMnE,IAAU,GAC9BJ,KAAKuE,EAAS,GAAMnE,IAAU,IAE9B+J,EAAkBnK,KAAMI,EAAOmE,GAAQ,GAElCA,EAAS,GAGlBlF,EAAOQ,UAAUgN,aAAe,SAAuBzM,EAAOmE,EAAQ+F,GAapE,OAZAlK,GAASA,EACTmE,GAAkB,EACb+F,GAAUN,EAAShK,KAAMI,EAAOmE,EAAQ,EAAG,YAAa,YACzDnE,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GACxCf,EAAOC,qBACTU,KAAKuE,GAAWnE,IAAU,GAC1BJ,KAAKuE,EAAS,GAAMnE,IAAU,GAC9BJ,KAAKuE,EAAS,GAAMnE,IAAU,EAC9BJ,KAAKuE,EAAS,GAAc,IAARnE,GAEpB+J,EAAkBnK,KAAMI,EAAOmE,GAAQ,GAElCA,EAAS,GAgBlBlF,EAAOQ,UAAUiN,aAAe,SAAuB1M,EAAOmE,EAAQ+F,GACpE,OAAOD,EAAWrK,KAAMI,EAAOmE,GAAQ,EAAM+F,IAG/CjL,EAAOQ,UAAUkN,aAAe,SAAuB3M,EAAOmE,EAAQ+F,GACpE,OAAOD,EAAWrK,KAAMI,EAAOmE,GAAQ,EAAO+F,IAWhDjL,EAAOQ,UAAUmN,cAAgB,SAAwB5M,EAAOmE,EAAQ+F,GACtE,OAAOC,EAAYvK,KAAMI,EAAOmE,GAAQ,EAAM+F,IAGhDjL,EAAOQ,UAAUoN,cAAgB,SAAwB7M,EAAOmE,EAAQ+F,GACtE,OAAOC,EAAYvK,KAAMI,EAAOmE,GAAQ,EAAO+F,IAIjDjL,EAAOQ,UAAU2B,KAAO,SAAewH,EAAQkE,EAAa1K,EAAOC,GAQjE,GAPKD,IAAOA,EAAQ,GACfC,GAAe,IAARA,IAAWA,EAAMzC,KAAKP,QAC9ByN,GAAelE,EAAOvJ,SAAQyN,EAAclE,EAAOvJ,QAClDyN,IAAaA,EAAc,GAC5BzK,EAAM,GAAKA,EAAMD,IAAOC,EAAMD,GAG9BC,IAAQD,EAAO,OAAO,EAC1B,GAAsB,IAAlBwG,EAAOvJ,QAAgC,IAAhBO,KAAKP,OAAc,OAAO,EAGrD,GAAIyN,EAAc,EAChB,MAAM,IAAIxN,WAAW,6BAEvB,GAAI8C,EAAQ,GAAKA,GAASxC,KAAKP,OAAQ,MAAM,IAAIC,WAAW,6BAC5D,GAAI+C,EAAM,EAAG,MAAM,IAAI/C,WAAW,2BAG9B+C,EAAMzC,KAAKP,SAAQgD,EAAMzC,KAAKP,QAC9BuJ,EAAOvJ,OAASyN,EAAczK,EAAMD,IACtCC,EAAMuG,EAAOvJ,OAASyN,EAAc1K,GAGtC,IACIR,EADAV,EAAMmB,EAAMD,EAGhB,GAAIxC,OAASgJ,GAAUxG,EAAQ0K,GAAeA,EAAczK,EAE1D,IAAKT,EAAIV,EAAM,EAAGU,GAAK,IAAKA,EAC1BgH,EAAOhH,EAAIkL,GAAelN,KAAKgC,EAAIQ,QAEhC,GAAIlB,EAAM,MAASjC,EAAOC,oBAE/B,IAAK0C,EAAI,EAAGA,EAAIV,IAAOU,EACrBgH,EAAOhH,EAAIkL,GAAelN,KAAKgC,EAAIQ,QAGrC7C,WAAWE,UAAUsN,IAAI1J,KACvBuF,EACAhJ,KAAKmH,SAAS3E,EAAOA,EAAQlB,GAC7B4L,GAIJ,OAAO5L,GAOTjC,EAAOQ,UAAUgI,KAAO,SAAenG,EAAKc,EAAOC,EAAK3B,GAEtD,GAAmB,iBAARY,EAAkB,CAS3B,GARqB,iBAAVc,GACT1B,EAAW0B,EACXA,EAAQ,EACRC,EAAMzC,KAAKP,QACa,iBAARgD,IAChB3B,EAAW2B,EACXA,EAAMzC,KAAKP,QAEM,IAAfiC,EAAIjC,OAAc,CACpB,IAAI2N,EAAO1L,EAAI0D,WAAW,GACtBgI,EAAO,MACT1L,EAAM0L,GAGV,QAAiB1M,IAAbI,GAA8C,iBAAbA,EACnC,MAAM,IAAIT,UAAU,6BAEtB,GAAwB,iBAAbS,IAA0BzB,EAAO0B,WAAWD,GACrD,MAAM,IAAIT,UAAU,qBAAuBS,OAErB,iBAARY,IAChBA,GAAY,KAId,GAAIc,EAAQ,GAAKxC,KAAKP,OAAS+C,GAASxC,KAAKP,OAASgD,EACpD,MAAM,IAAI/C,WAAW,sBAGvB,GAAI+C,GAAOD,EACT,OAAOxC,KAQT,IAAIgC,EACJ,GANAQ,KAAkB,EAClBC,OAAc/B,IAAR+B,EAAoBzC,KAAKP,OAASgD,IAAQ,EAE3Cf,IAAKA,EAAM,GAGG,iBAARA,EACT,IAAKM,EAAIQ,EAAOR,EAAIS,IAAOT,EACzBhC,KAAKgC,GAAKN,MAEP,CACL,IAAImI,EAAQxK,EAAOgC,SAASK,GACxBA,EACAU,EAAY,IAAI/C,EAAOqC,EAAKZ,GAAUmB,YACtCX,EAAMuI,EAAMpK,OAChB,IAAKuC,EAAI,EAAGA,EAAIS,EAAMD,IAASR,EAC7BhC,KAAKgC,EAAIQ,GAASqH,EAAM7H,EAAIV,GAIhC,OAAOtB,MAMT,IAAIqN,EAAoB,qBAmBxB,SAASzD,EAAO1G,GACd,OAAIA,EAAI,GAAW,IAAMA,EAAEjB,SAAS,IAC7BiB,EAAEjB,SAAS,IAGpB,SAASG,EAAavB,EAAQ4E,GAE5B,IAAIc,EADJd,EAAQA,GAAS6H,IAMjB,IAJA,IAAI7N,EAASoB,EAAOpB,OAChB8N,EAAgB,KAChB1D,EAAQ,GAEH7H,EAAI,EAAGA,EAAIvC,IAAUuC,EAAG,CAI/B,IAHAuE,EAAY1F,EAAOuE,WAAWpD,IAGd,OAAUuE,EAAY,MAAQ,CAE5C,IAAKgH,EAAe,CAElB,GAAIhH,EAAY,MAAQ,EAEjBd,GAAS,IAAM,GAAGoE,EAAM1E,KAAK,IAAM,IAAM,KAC9C,SACK,GAAInD,EAAI,IAAMvC,EAAQ,EAEtBgG,GAAS,IAAM,GAAGoE,EAAM1E,KAAK,IAAM,IAAM,KAC9C,SAIFoI,EAAgBhH,EAEhB,SAIF,GAAIA,EAAY,MAAQ,EACjBd,GAAS,IAAM,GAAGoE,EAAM1E,KAAK,IAAM,IAAM,KAC9CoI,EAAgBhH,EAChB,SAIFA,EAAkE,OAArDgH,EAAgB,OAAU,GAAKhH,EAAY,YAC/CgH,IAEJ9H,GAAS,IAAM,GAAGoE,EAAM1E,KAAK,IAAM,IAAM,KAMhD,GAHAoI,EAAgB,KAGZhH,EAAY,IAAM,CACpB,IAAKd,GAAS,GAAK,EAAG,MACtBoE,EAAM1E,KAAKoB,QACN,GAAIA,EAAY,KAAO,CAC5B,IAAKd,GAAS,GAAK,EAAG,MACtBoE,EAAM1E,KACJoB,GAAa,EAAM,IACP,GAAZA,EAAmB,UAEhB,GAAIA,EAAY,MAAS,CAC9B,IAAKd,GAAS,GAAK,EAAG,MACtBoE,EAAM1E,KACJoB,GAAa,GAAM,IACnBA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,SAEhB,MAAIA,EAAY,SASrB,MAAM,IAAItG,MAAM,sBARhB,IAAKwF,GAAS,GAAK,EAAG,MACtBoE,EAAM1E,KACJoB,GAAa,GAAO,IACpBA,GAAa,GAAM,GAAO,IAC1BA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,MAOzB,OAAOsD,EA4BT,SAASxH,EAAe4C,GACtB,OAAOhG,EAAOuO,YAhIhB,SAAsBvI,GAIpB,IAFAA,EAUF,SAAqBA,GACnB,OAAIA,EAAIwI,KAAaxI,EAAIwI,OAClBxI,EAAIyI,QAAQ,aAAc,IAZ3BC,CAAW1I,GAAKyI,QAAQL,EAAmB,KAEzC5N,OAAS,EAAG,MAAO,GAE3B,KAAOwF,EAAIxF,OAAS,GAAM,GACxBwF,GAAY,IAEd,OAAOA,EAuHmB2I,CAAY3I,IAGxC,SAASF,EAAY8I,EAAKC,EAAKvJ,EAAQ9E,GACrC,IAAK,IAAIuC,EAAI,EAAGA,EAAIvC,KACbuC,EAAIuC,GAAUuJ,EAAIrO,QAAYuC,GAAK6L,EAAIpO,UADhBuC,EAE5B8L,EAAI9L,EAAIuC,GAAUsJ,EAAI7L,GAExB,OAAOA,K;;;;;;uFCvvDT,iCAC6B,oBAAT+L,MAAwBA,MAChCC,OACRrH,EAAQsH,SAASpO,UAAU8G,MAiB/B,SAASuH,EAAQC,EAAIC,GACnBpO,KAAKqO,IAAMF,EACXnO,KAAKsO,SAAWF,EAflBvH,EAAQ0H,WAAa,WACnB,OAAO,IAAIL,EAAQvH,EAAMlD,KAAK8K,WAAYC,EAAO9F,WAAY+F,eAE/D5H,EAAQ6H,YAAc,WACpB,OAAO,IAAIR,EAAQvH,EAAMlD,KAAKiL,YAAaF,EAAO9F,WAAYiG,gBAEhE9H,EAAQ4H,aACR5H,EAAQ8H,cAAgB,SAASC,GAC3BA,GACFA,EAAQC,SAQZX,EAAQrO,UAAUiP,MAAQZ,EAAQrO,UAAUkP,IAAM,aAClDb,EAAQrO,UAAUgP,MAAQ,WACxB7O,KAAKsO,SAAS7K,KAAK+K,EAAOxO,KAAKqO,MAIjCxH,EAAQmI,OAAS,SAASC,EAAMC,GAC9BT,aAAaQ,EAAKE,gBAClBF,EAAKG,aAAeF,GAGtBrI,EAAQwI,SAAW,SAASJ,GAC1BR,aAAaQ,EAAKE,gBAClBF,EAAKG,cAAgB,GAGvBvI,EAAQyI,aAAezI,EAAQ0I,OAAS,SAASN,GAC/CR,aAAaQ,EAAKE,gBAElB,IAAID,EAAQD,EAAKG,aACbF,GAAS,IACXD,EAAKE,eAAiBZ,YAAW,WAC3BU,EAAKO,YACPP,EAAKO,eACNN,KAKP,qBAAQ,QAIRrI,EAAQ4I,aAAgC,oBAAT1B,MAAwBA,KAAK0B,mBAClB,IAAXxI,GAA0BA,EAAOwI,cACxCzP,MAAQA,KAAKyP,aACrC5I,EAAQ6I,eAAkC,oBAAT3B,MAAwBA,KAAK2B,qBAClB,IAAXzI,GAA0BA,EAAOyI,gBACxC1P,MAAQA,KAAK0P,iB;;;;;;sFC9DvCC,EAAO9I,QAAU,gCAAQ,S;;;;;;;;ACCzBA,EAAQ7C,KAAO,SAAUvC,EAAQ8C,EAAQqL,EAAMC,EAAMC,GACnD,IAAI1I,EAAGjE,EACH4M,EAAiB,EAATD,EAAcD,EAAO,EAC7BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBE,GAAS,EACTlO,EAAI4N,EAAQE,EAAS,EAAK,EAC1BK,EAAIP,GAAQ,EAAI,EAChBQ,EAAI3O,EAAO8C,EAASvC,GAOxB,IALAA,GAAKmO,EAEL/I,EAAIgJ,GAAM,IAAOF,GAAU,EAC3BE,KAAQF,EACRA,GAASH,EACFG,EAAQ,EAAG9I,EAAS,IAAJA,EAAW3F,EAAO8C,EAASvC,GAAIA,GAAKmO,EAAGD,GAAS,GAKvE,IAHA/M,EAAIiE,GAAM,IAAO8I,GAAU,EAC3B9I,KAAQ8I,EACRA,GAASL,EACFK,EAAQ,EAAG/M,EAAS,IAAJA,EAAW1B,EAAO8C,EAASvC,GAAIA,GAAKmO,EAAGD,GAAS,GAEvE,GAAU,IAAN9I,EACFA,EAAI,EAAI6I,MACH,IAAI7I,IAAM4I,EACf,OAAO7M,EAAIkN,IAAsB/C,KAAd8C,GAAK,EAAI,GAE5BjN,GAAQ4C,KAAKmF,IAAI,EAAG2E,GACpBzI,GAAQ6I,EAEV,OAAQG,GAAK,EAAI,GAAKjN,EAAI4C,KAAKmF,IAAI,EAAG9D,EAAIyI,IAG5ChJ,EAAQ5F,MAAQ,SAAUQ,EAAQrB,EAAOmE,EAAQqL,EAAMC,EAAMC,GAC3D,IAAI1I,EAAGjE,EAAGuC,EACNqK,EAAiB,EAATD,EAAcD,EAAO,EAC7BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBM,EAAe,KAATT,EAAc9J,KAAKmF,IAAI,GAAI,IAAMnF,KAAKmF,IAAI,GAAI,IAAM,EAC1DlJ,EAAI4N,EAAO,EAAKE,EAAS,EACzBK,EAAIP,EAAO,GAAK,EAChBQ,EAAIhQ,EAAQ,GAAgB,IAAVA,GAAe,EAAIA,EAAQ,EAAK,EAAI,EAmC1D,IAjCAA,EAAQ2F,KAAKwK,IAAInQ,GAEbkD,MAAMlD,IAAUA,IAAUkN,KAC5BnK,EAAIG,MAAMlD,GAAS,EAAI,EACvBgH,EAAI4I,IAEJ5I,EAAIrB,KAAKiG,MAAMjG,KAAKyK,IAAIpQ,GAAS2F,KAAK0K,KAClCrQ,GAASsF,EAAIK,KAAKmF,IAAI,GAAI9D,IAAM,IAClCA,IACA1B,GAAK,IAGLtF,GADEgH,EAAI6I,GAAS,EACNK,EAAK5K,EAEL4K,EAAKvK,KAAKmF,IAAI,EAAG,EAAI+E,IAEpBvK,GAAK,IACf0B,IACA1B,GAAK,GAGH0B,EAAI6I,GAASD,GACf7M,EAAI,EACJiE,EAAI4I,GACK5I,EAAI6I,GAAS,GACtB9M,GAAM/C,EAAQsF,EAAK,GAAKK,KAAKmF,IAAI,EAAG2E,GACpCzI,GAAQ6I,IAER9M,EAAI/C,EAAQ2F,KAAKmF,IAAI,EAAG+E,EAAQ,GAAKlK,KAAKmF,IAAI,EAAG2E,GACjDzI,EAAI,IAIDyI,GAAQ,EAAGpO,EAAO8C,EAASvC,GAAS,IAAJmB,EAAUnB,GAAKmO,EAAGhN,GAAK,IAAK0M,GAAQ,GAI3E,IAFAzI,EAAKA,GAAKyI,EAAQ1M,EAClB4M,GAAQF,EACDE,EAAO,EAAGtO,EAAO8C,EAASvC,GAAS,IAAJoF,EAAUpF,GAAKmO,EAAG/I,GAAK,IAAK2I,GAAQ,GAE1EtO,EAAO8C,EAASvC,EAAImO,IAAU,IAAJC,I;;;;;;mGC1D5B,IAAI/Q,EAAS,oBAAQ,QAAeA,OAGhC0B,EAAa1B,EAAO0B,YAAc,SAAUD,GAE9C,QADAA,EAAW,GAAKA,IACIA,EAASwB,eAC3B,IAAK,MAAM,IAAK,OAAO,IAAK,QAAQ,IAAK,QAAQ,IAAK,SAAS,IAAK,SAAS,IAAK,OAAO,IAAK,QAAQ,IAAK,UAAU,IAAK,WAAW,IAAK,MACxI,OAAO,EACT,QACE,OAAO,IA4Cb,SAASoO,EAAc5P,GAErB,IAAI6P,EACJ,OAFA3Q,KAAKc,SAXP,SAA2B8P,GACzB,IAAIC,EA/BN,SAA4BD,GAC1B,IAAKA,EAAK,MAAO,OAEjB,IADA,IAAIE,IAEF,OAAQF,GACN,IAAK,OACL,IAAK,QACH,MAAO,OACT,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAO,UACT,IAAK,SACL,IAAK,SACH,MAAO,SACT,IAAK,SACL,IAAK,QACL,IAAK,MACH,OAAOA,EACT,QACE,GAAIE,EAAS,OACbF,GAAO,GAAKA,GAAKtO,cACjBwO,GAAU,GAQLC,CAAmBH,GAC9B,GAAoB,iBAATC,IAAsBxR,EAAO0B,aAAeA,IAAeA,EAAW6P,IAAO,MAAM,IAAI3Q,MAAM,qBAAuB2Q,GAC/H,OAAOC,GAAQD,EAQCI,CAAkBlQ,GAE1Bd,KAAKc,UACX,IAAK,UACHd,KAAKiR,KAAOC,EACZlR,KAAKyC,IAAM0O,EACXR,EAAK,EACL,MACF,IAAK,OACH3Q,KAAKoR,SAAWC,EAChBV,EAAK,EACL,MACF,IAAK,SACH3Q,KAAKiR,KAAOK,EACZtR,KAAKyC,IAAM8O,EACXZ,EAAK,EACL,MACF,QAGE,OAFA3Q,KAAKiB,MAAQuQ,OACbxR,KAAKyC,IAAMgP,GAGfzR,KAAK0R,SAAW,EAChB1R,KAAK2R,UAAY,EACjB3R,KAAK4R,SAAWvS,EAAOa,YAAYyQ,GAoCrC,SAASkB,EAAcC,GACrB,OAAIA,GAAQ,IAAa,EAAWA,GAAQ,GAAM,EAAa,EAAWA,GAAQ,GAAM,GAAa,EAAWA,GAAQ,GAAM,GAAa,EACpIA,GAAQ,GAAM,GAAQ,GAAK,EA2DpC,SAAST,EAAapN,GACpB,IAAI8N,EAAI/R,KAAK2R,UAAY3R,KAAK0R,SAC1BM,EAtBN,SAA6BjE,EAAM9J,EAAK8N,GACtC,GAAwB,MAAV,IAAT9N,EAAI,IAEP,OADA8J,EAAK2D,SAAW,EACT,IAET,GAAI3D,EAAK2D,SAAW,GAAKzN,EAAIxE,OAAS,EAAG,CACvC,GAAwB,MAAV,IAATwE,EAAI,IAEP,OADA8J,EAAK2D,SAAW,EACT,IAET,GAAI3D,EAAK2D,SAAW,GAAKzN,EAAIxE,OAAS,GACZ,MAAV,IAATwE,EAAI,IAEP,OADA8J,EAAK2D,SAAW,EACT,KASLO,CAAoBjS,KAAMiE,GAClC,YAAUvD,IAANsR,EAAwBA,EACxBhS,KAAK0R,UAAYzN,EAAIxE,QACvBwE,EAAIzC,KAAKxB,KAAK4R,SAAUG,EAAG,EAAG/R,KAAK0R,UAC5B1R,KAAK4R,SAAS3P,SAASjC,KAAKc,SAAU,EAAGd,KAAK2R,aAEvD1N,EAAIzC,KAAKxB,KAAK4R,SAAUG,EAAG,EAAG9N,EAAIxE,aAClCO,KAAK0R,UAAYzN,EAAIxE,SA2BvB,SAASyR,EAAUjN,EAAKjC,GACtB,IAAKiC,EAAIxE,OAASuC,GAAK,GAAM,EAAG,CAC9B,IAAIgQ,EAAI/N,EAAIhC,SAAS,UAAWD,GAChC,GAAIgQ,EAAG,CACL,IAAItM,EAAIsM,EAAE5M,WAAW4M,EAAEvS,OAAS,GAChC,GAAIiG,GAAK,OAAUA,GAAK,MAKtB,OAJA1F,KAAK0R,SAAW,EAChB1R,KAAK2R,UAAY,EACjB3R,KAAK4R,SAAS,GAAK3N,EAAIA,EAAIxE,OAAS,GACpCO,KAAK4R,SAAS,GAAK3N,EAAIA,EAAIxE,OAAS,GAC7BuS,EAAE9Q,MAAM,GAAI,GAGvB,OAAO8Q,EAKT,OAHAhS,KAAK0R,SAAW,EAChB1R,KAAK2R,UAAY,EACjB3R,KAAK4R,SAAS,GAAK3N,EAAIA,EAAIxE,OAAS,GAC7BwE,EAAIhC,SAAS,UAAWD,EAAGiC,EAAIxE,OAAS,GAKjD,SAAS0R,EAASlN,GAChB,IAAI+N,EAAI/N,GAAOA,EAAIxE,OAASO,KAAKiB,MAAMgD,GAAO,GAC9C,GAAIjE,KAAK0R,SAAU,CACjB,IAAIjP,EAAMzC,KAAK2R,UAAY3R,KAAK0R,SAChC,OAAOM,EAAIhS,KAAK4R,SAAS3P,SAAS,UAAW,EAAGQ,GAElD,OAAOuP,EAGT,SAASV,EAAWrN,EAAKjC,GACvB,IAAIkB,GAAKe,EAAIxE,OAASuC,GAAK,EAC3B,OAAU,IAANkB,EAAgBe,EAAIhC,SAAS,SAAUD,IAC3ChC,KAAK0R,SAAW,EAAIxO,EACpBlD,KAAK2R,UAAY,EACP,IAANzO,EACFlD,KAAK4R,SAAS,GAAK3N,EAAIA,EAAIxE,OAAS,IAEpCO,KAAK4R,SAAS,GAAK3N,EAAIA,EAAIxE,OAAS,GACpCO,KAAK4R,SAAS,GAAK3N,EAAIA,EAAIxE,OAAS,IAE/BwE,EAAIhC,SAAS,SAAUD,EAAGiC,EAAIxE,OAASyD,IAGhD,SAASqO,EAAUtN,GACjB,IAAI+N,EAAI/N,GAAOA,EAAIxE,OAASO,KAAKiB,MAAMgD,GAAO,GAC9C,OAAIjE,KAAK0R,SAAiBM,EAAIhS,KAAK4R,SAAS3P,SAAS,SAAU,EAAG,EAAIjC,KAAK0R,UACpEM,EAIT,SAASR,EAAYvN,GACnB,OAAOA,EAAIhC,SAASjC,KAAKc,UAG3B,SAAS2Q,EAAUxN,GACjB,OAAOA,GAAOA,EAAIxE,OAASO,KAAKiB,MAAMgD,GAAO,GAzN/C4C,EAAQ6J,cAAgBA,EA6BxBA,EAAc7Q,UAAUoB,MAAQ,SAAUgD,GACxC,GAAmB,IAAfA,EAAIxE,OAAc,MAAO,GAC7B,IAAIuS,EACAhQ,EACJ,GAAIhC,KAAK0R,SAAU,CAEjB,QAAUhR,KADVsR,EAAIhS,KAAKoR,SAASnN,IACG,MAAO,GAC5BjC,EAAIhC,KAAK0R,SACT1R,KAAK0R,SAAW,OAEhB1P,EAAI,EAEN,OAAIA,EAAIiC,EAAIxE,OAAeuS,EAAIA,EAAIhS,KAAKiR,KAAKhN,EAAKjC,GAAKhC,KAAKiR,KAAKhN,EAAKjC,GAC/DgQ,GAAK,IAGdtB,EAAc7Q,UAAU4C,IAwGxB,SAAiBwB,GACf,IAAI+N,EAAI/N,GAAOA,EAAIxE,OAASO,KAAKiB,MAAMgD,GAAO,GAC9C,OAAIjE,KAAK0R,SAAiBM,EAAI,IACvBA,GAxGTtB,EAAc7Q,UAAUoR,KA0FxB,SAAkBhN,EAAKjC,GACrB,IAAIkQ,EArEN,SAA6BnE,EAAM9J,EAAKjC,GACtC,IAAIqC,EAAIJ,EAAIxE,OAAS,EACrB,GAAI4E,EAAIrC,EAAG,OAAO,EAClB,IAAI2O,EAAKkB,EAAc5N,EAAII,IAC3B,GAAIsM,GAAM,EAER,OADIA,EAAK,IAAG5C,EAAK2D,SAAWf,EAAK,GAC1BA,EAET,KAAMtM,EAAIrC,IAAa,IAAR2O,EAAW,OAAO,EAEjC,IADAA,EAAKkB,EAAc5N,EAAII,MACb,EAER,OADIsM,EAAK,IAAG5C,EAAK2D,SAAWf,EAAK,GAC1BA,EAET,KAAMtM,EAAIrC,IAAa,IAAR2O,EAAW,OAAO,EAEjC,IADAA,EAAKkB,EAAc5N,EAAII,MACb,EAIR,OAHIsM,EAAK,IACI,IAAPA,EAAUA,EAAK,EAAO5C,EAAK2D,SAAWf,EAAK,GAE1CA,EAET,OAAO,EA+CKwB,CAAoBnS,KAAMiE,EAAKjC,GAC3C,IAAKhC,KAAK0R,SAAU,OAAOzN,EAAIhC,SAAS,OAAQD,GAChDhC,KAAK2R,UAAYO,EACjB,IAAIzP,EAAMwB,EAAIxE,QAAUyS,EAAQlS,KAAK0R,UAErC,OADAzN,EAAIzC,KAAKxB,KAAK4R,SAAU,EAAGnP,GACpBwB,EAAIhC,SAAS,OAAQD,EAAGS,IA7FjCiO,EAAc7Q,UAAUuR,SAAW,SAAUnN,GAC3C,GAAIjE,KAAK0R,UAAYzN,EAAIxE,OAEvB,OADAwE,EAAIzC,KAAKxB,KAAK4R,SAAU5R,KAAK2R,UAAY3R,KAAK0R,SAAU,EAAG1R,KAAK0R,UACzD1R,KAAK4R,SAAS3P,SAASjC,KAAKc,SAAU,EAAGd,KAAK2R,WAEvD1N,EAAIzC,KAAKxB,KAAK4R,SAAU5R,KAAK2R,UAAY3R,KAAK0R,SAAU,EAAGzN,EAAIxE,QAC/DO,KAAK0R,UAAYzN,EAAIxE,S;;;;;;sFCtIvBkQ,EAAO9I,QAAU,kCAAQ,S;;;;;;oFCAzB,IAAI5E,EAAW,GAAGA,SAElB0N,EAAO9I,QAAU2C,MAAMrK,SAAW,SAAUwE,GAC1C,MAA6B,kBAAtB1B,EAASwB,KAAKE,K;;;;;;sFCkBvBgM,EAAO9I,QAAUuL,EAEjB,IAAIC,EAAK,eAAQ,QAAUC,aAkB3B,SAASF,IACPC,EAAG5O,KAAKzD,MAlBK,iBAAQ,OAEvBuS,CAASH,EAAQC,GACjBD,EAAOI,SAAW,oCAAQ,QAC1BJ,EAAOK,SAAW,oCAAQ,QAC1BL,EAAOM,OAAS,kCAAQ,QACxBN,EAAOO,UAAY,qCAAQ,QAC3BP,EAAOQ,YAAc,uCAAQ,QAG7BR,EAAOA,OAASA,EAWhBA,EAAOvS,UAAUgT,KAAO,SAASC,EAAMC,GACrC,IAAIC,EAAShT,KAEb,SAASiT,EAAOC,GACVJ,EAAKK,WACH,IAAUL,EAAK7R,MAAMiS,IAAUF,EAAOI,OACxCJ,EAAOI,QAOb,SAASC,IACHL,EAAOM,UAAYN,EAAOO,QAC5BP,EAAOO,SAJXP,EAAOQ,GAAG,OAAQP,GAQlBH,EAAKU,GAAG,QAASH,GAIZP,EAAKW,UAAcV,IAA2B,IAAhBA,EAAQtQ,MACzCuQ,EAAOQ,GAAG,MAAOE,GACjBV,EAAOQ,GAAG,QAASG,IAGrB,IAAIC,GAAW,EACf,SAASF,IACHE,IACJA,GAAW,EAEXd,EAAKrQ,OAIP,SAASkR,IACHC,IACJA,GAAW,EAEiB,mBAAjBd,EAAKe,SAAwBf,EAAKe,WAI/C,SAASC,EAAQC,GAEf,GADAC,IACwC,IAApC3B,EAAG4B,cAAcjU,KAAM,SACzB,MAAM+T,EAQV,SAASC,IACPhB,EAAOkB,eAAe,OAAQjB,GAC9BH,EAAKoB,eAAe,QAASb,GAE7BL,EAAOkB,eAAe,MAAOR,GAC7BV,EAAOkB,eAAe,QAASP,GAE/BX,EAAOkB,eAAe,QAASJ,GAC/BhB,EAAKoB,eAAe,QAASJ,GAE7Bd,EAAOkB,eAAe,MAAOF,GAC7BhB,EAAOkB,eAAe,QAASF,GAE/BlB,EAAKoB,eAAe,QAASF,GAW/B,OA5BAhB,EAAOQ,GAAG,QAASM,GACnBhB,EAAKU,GAAG,QAASM,GAmBjBd,EAAOQ,GAAG,MAAOQ,GACjBhB,EAAOQ,GAAG,QAASQ,GAEnBlB,EAAKU,GAAG,QAASQ,GAEjBlB,EAAKqB,KAAK,OAAQnB,GAGXF,I;;;;;;mGCjFTnD,EAAO9I,QAAU8L,EAEjB,IAAID,EAAS,yBAAQ,QAGjB0B,EAAO,qBAAQ,QAMnB,SAASC,EAAeC,GACtBtU,KAAKuU,eAAiB,SAAUR,EAAInS,GAClC,OAUJ,SAAwB0S,EAAQP,EAAInS,GAClC,IAAI4S,EAAKF,EAAOG,gBAChBD,EAAGE,cAAe,EAElB,IAAIC,EAAKH,EAAGI,QAEZ,IAAKD,EAAI,OAAOL,EAAOH,KAAK,QAAS,IAAIlU,MAAM,kCAE/CuU,EAAGK,WAAa,KAChBL,EAAGI,QAAU,KAEThT,SAAqC0S,EAAOnP,KAAKvD,GAErD+S,EAAGZ,GAEH,IAAIe,EAAKR,EAAOS,eAChBD,EAAGE,SAAU,GACTF,EAAGG,cAAgBH,EAAGrV,OAASqV,EAAGI,gBACpCZ,EAAOa,MAAML,EAAGI,eA5BTX,CAAeD,EAAQP,EAAInS,IAGpC5B,KAAKoV,eAAgB,EACrBpV,KAAK0U,cAAe,EACpB1U,KAAK4U,QAAU,KACf5U,KAAK6U,WAAa,KAClB7U,KAAKqV,cAAgB,KAyBvB,SAAS1C,EAAUI,GACjB,KAAM/S,gBAAgB2S,GAAY,OAAO,IAAIA,EAAUI,GAEvDL,EAAOjP,KAAKzD,KAAM+S,GAElB/S,KAAKyU,gBAAkB,IAAIJ,EAAerU,MAG1C,IAAIsU,EAAStU,KAGbA,KAAK+U,eAAeE,cAAe,EAKnCjV,KAAK+U,eAAeO,MAAO,EAEvBvC,IAC+B,mBAAtBA,EAAQwC,YAA0BvV,KAAKwV,WAAazC,EAAQwC,WAE1C,mBAAlBxC,EAAQ0C,QAAsBzV,KAAK0V,OAAS3C,EAAQ0C,QAGjEzV,KAAK2V,KAAK,aAAa,WACM,mBAAhB3V,KAAK0V,OAAuB1V,KAAK0V,QAAO,SAAU3B,GAC3D6B,EAAKtB,EAAQP,MACP6B,EAAKtB,MAkDjB,SAASsB,EAAKtB,EAAQP,GACpB,GAAIA,EAAI,OAAOO,EAAOH,KAAK,QAASJ,GAIpC,IAAI8B,EAAKvB,EAAOwB,eACZtB,EAAKF,EAAOG,gBAEhB,GAAIoB,EAAGpW,OAAQ,MAAM,IAAIQ,MAAM,8CAE/B,GAAIuU,EAAGE,aAAc,MAAM,IAAIzU,MAAM,kDAErC,OAAOqU,EAAOnP,KAAK,MAhIrBiP,EAAK7B,SAAW,iBAAQ,QAGxB6B,EAAK7B,SAASI,EAAWD,GAmEzBC,EAAU9S,UAAUsF,KAAO,SAAU+N,EAAOpS,GAE1C,OADAd,KAAKyU,gBAAgBW,eAAgB,EAC9B1C,EAAO7S,UAAUsF,KAAK1B,KAAKzD,KAAMkT,EAAOpS,IAajD6R,EAAU9S,UAAU2V,WAAa,SAAUtC,EAAOpS,EAAU6T,GAC1D,MAAM,IAAI1U,MAAM,oBAGlB0S,EAAU9S,UAAUkW,OAAS,SAAU7C,EAAOpS,EAAU6T,GACtD,IAAIH,EAAKxU,KAAKyU,gBAId,GAHAD,EAAGI,QAAUD,EACbH,EAAGK,WAAa3B,EAChBsB,EAAGa,cAAgBvU,GACd0T,EAAGE,aAAc,CACpB,IAAII,EAAK9U,KAAK+U,gBACVP,EAAGY,eAAiBN,EAAGG,cAAgBH,EAAGrV,OAASqV,EAAGI,gBAAelV,KAAKmV,MAAML,EAAGI,iBAO3FvC,EAAU9S,UAAUsV,MAAQ,SAAUjS,GACpC,IAAIsR,EAAKxU,KAAKyU,gBAEQ,OAAlBD,EAAGK,YAAuBL,EAAGI,UAAYJ,EAAGE,cAC9CF,EAAGE,cAAe,EAClB1U,KAAKwV,WAAWhB,EAAGK,WAAYL,EAAGa,cAAeb,EAAGD,iBAIpDC,EAAGY,eAAgB,I;;;;;;;;AChKvB,IAAI3T,EAAS,eAAQ,QACjBpC,EAASoC,EAAOpC,OAGpB,SAAS2W,EAAWnI,EAAKC,GACvB,IAAK,IAAImI,KAAOpI,EACdC,EAAImI,GAAOpI,EAAIoI,GAWnB,SAASC,EAAYpW,EAAKC,EAAkBN,GAC1C,OAAOJ,EAAOS,EAAKC,EAAkBN,GATnCJ,EAAOc,MAAQd,EAAO0H,OAAS1H,EAAOa,aAAeb,EAAOyI,gBAC9D6H,EAAO9I,QAAUpF,GAGjBuU,EAAUvU,EAAQoF,GAClBA,EAAQxH,OAAS6W,GAOnBA,EAAWrW,UAAY6H,OAAOyO,OAAO9W,EAAOQ,WAG5CmW,EAAU3W,EAAQ6W,GAElBA,EAAW/V,KAAO,SAAUL,EAAKC,EAAkBN,GACjD,GAAmB,iBAARK,EACT,MAAM,IAAIO,UAAU,iCAEtB,OAAOhB,EAAOS,EAAKC,EAAkBN,IAGvCyW,EAAWnP,MAAQ,SAAUhF,EAAM8F,EAAM/G,GACvC,GAAoB,iBAATiB,EACT,MAAM,IAAI1B,UAAU,6BAEtB,IAAI4D,EAAM5E,EAAO0C,GAUjB,YATarB,IAATmH,EACsB,iBAAb/G,EACTmD,EAAI4D,KAAKA,EAAM/G,GAEfmD,EAAI4D,KAAKA,GAGX5D,EAAI4D,KAAK,GAEJ5D,GAGTiS,EAAWhW,YAAc,SAAU6B,GACjC,GAAoB,iBAATA,EACT,MAAM,IAAI1B,UAAU,6BAEtB,OAAOhB,EAAO0C,IAGhBmU,EAAWpO,gBAAkB,SAAU/F,GACrC,GAAoB,iBAATA,EACT,MAAM,IAAI1B,UAAU,6BAEtB,OAAOoB,EAAOqF,WAAW/E,K;;;;;;oFC/D3B,IAAIE,EAAW,GAAGA,SAElB0N,EAAO9I,QAAU2C,MAAMrK,SAAW,SAAUwE,GAC1C,MAA6B,kBAAtB1B,EAASwB,KAAKE,K;;;;;;mGCqDvB,SAASyS,EAAQC,GAEf,IACE,IAAKpP,EAAOqP,aAAc,OAAO,EACjC,MAAOC,GACP,OAAO,EAET,IAAI7U,EAAMuF,EAAOqP,aAAaD,GAC9B,OAAI,MAAQ3U,GACyB,SAA9BqC,OAAOrC,GAAKY,cA5DrBqN,EAAO9I,QAoBP,SAAoB2P,EAAIC,GACtB,GAAIL,EAAO,iBACT,OAAOI,EAGT,IAAIE,GAAS,EAeb,OAdA,WACE,IAAKA,EAAQ,CACX,GAAIN,EAAO,oBACT,MAAM,IAAInW,MAAMwW,GACPL,EAAO,oBAChBO,QAAQC,MAAMH,GAEdE,QAAQE,KAAKJ,GAEfC,GAAS,EAEX,OAAOF,EAAG7P,MAAM3G,KAAM0I,e;;;;;;sFC1C1BiH,EAAO9I,QAAU,qCAAQ,S;;;;;;oGCAzB,aAEKiQ,EAAQC,SAC0B,IAAnCD,EAAQC,QAAQvT,QAAQ,QACW,IAAnCsT,EAAQC,QAAQvT,QAAQ,QAAqD,IAArCsT,EAAQC,QAAQvT,QAAQ,SAClEmM,EAAO9I,QAKT,SAAkB2P,EAAIQ,EAAMC,EAAMC,GAChC,GAAkB,mBAAPV,EACT,MAAM,IAAInW,UAAU,0CAEtB,IACI8W,EAAMnV,EADNV,EAAMoH,UAAUjJ,OAEpB,OAAQ6B,GACR,KAAK,EACL,KAAK,EACH,OAAOwV,EAAQM,SAASZ,GAC1B,KAAK,EACH,OAAOM,EAAQM,UAAS,WACtBZ,EAAG/S,KAAK,KAAMuT,MAElB,KAAK,EACH,OAAOF,EAAQM,UAAS,WACtBZ,EAAG/S,KAAK,KAAMuT,EAAMC,MAExB,KAAK,EACH,OAAOH,EAAQM,UAAS,WACtBZ,EAAG/S,KAAK,KAAMuT,EAAMC,EAAMC,MAE9B,QAGE,IAFAC,EAAO,IAAI3N,MAAMlI,EAAM,GACvBU,EAAI,EACGA,EAAImV,EAAK1X,QACd0X,EAAKnV,KAAO0G,UAAU1G,GAExB,OAAO8U,EAAQM,UAAS,WACtBZ,EAAG7P,MAAM,KAAMwQ,QAhCnBxH,EAAO9I,QAAUiQ,EAAQM,W;;;;;;sFCiG3B,SAASC,EAAeC,GACtB,OAAO5P,OAAO7H,UAAUoC,SAASwB,KAAK6T,GA3ExCzQ,EAAQ1H,QANR,SAAiBW,GACf,OAAI0J,MAAMrK,QACDqK,MAAMrK,QAAQW,GAEQ,mBAAxBuX,EAAevX,IAOxB+G,EAAQ0Q,UAHR,SAAmBzX,GACjB,MAAsB,kBAARA,GAOhB+G,EAAQ2Q,OAHR,SAAgB1X,GACd,OAAe,OAARA,GAOT+G,EAAQ4Q,kBAHR,SAA2B3X,GACzB,OAAc,MAAPA,GAOT+G,EAAQ6Q,SAHR,SAAkB5X,GAChB,MAAsB,iBAARA,GAOhB+G,EAAQ8Q,SAHR,SAAkB7X,GAChB,MAAsB,iBAARA,GAOhB+G,EAAQ+Q,SAHR,SAAkB9X,GAChB,MAAsB,iBAARA,GAOhB+G,EAAQgR,YAHR,SAAqB/X,GACnB,YAAe,IAARA,GAOT+G,EAAQiR,SAHR,SAAkBC,GAChB,MAA8B,oBAAvBV,EAAeU,IAOxBlR,EAAQmR,SAHR,SAAkBlY,GAChB,MAAsB,iBAARA,GAA4B,OAARA,GAOpC+G,EAAQoR,OAHR,SAAgB9H,GACd,MAA6B,kBAAtBkH,EAAelH,IAOxBtJ,EAAQqR,QAHR,SAAiB9Q,GACf,MAA8B,mBAAtBiQ,EAAejQ,IAA2BA,aAAanH,OAOjE4G,EAAQsR,WAHR,SAAoBrY,GAClB,MAAsB,mBAARA,GAYhB+G,EAAQuR,YARR,SAAqBtY,GACnB,OAAe,OAARA,GACe,kBAARA,GACQ,iBAARA,GACQ,iBAARA,GACQ,iBAARA,QACQ,IAARA,GAIhB+G,EAAQxF,SAAW,eAAQ,QAAUhC,OAAOgC,U;;;;;;mGCpG5CwF,EAAQpG,WAuCR,SAAqB4X,GACnB,IAAIC,EAAOC,EAAQF,GACfG,EAAWF,EAAK,GAChBG,EAAkBH,EAAK,GAC3B,OAAuC,GAA9BE,EAAWC,GAAuB,EAAKA,GA1ClD5R,EAAQ2G,YAiDR,SAAsB6K,GACpB,IAAIK,EAcA1W,EAbAsW,EAAOC,EAAQF,GACfG,EAAWF,EAAK,GAChBG,EAAkBH,EAAK,GAEvB3U,EAAM,IAAIgV,EAVhB,SAAsBN,EAAKG,EAAUC,GACnC,OAAuC,GAA9BD,EAAWC,GAAuB,EAAKA,EAS9BG,CAAYP,EAAKG,EAAUC,IAEzCI,EAAU,EAGVvX,EAAMmX,EAAkB,EACxBD,EAAW,EACXA,EAGJ,IAAKxW,EAAI,EAAGA,EAAIV,EAAKU,GAAK,EACxB0W,EACGI,EAAUT,EAAIjT,WAAWpD,KAAO,GAChC8W,EAAUT,EAAIjT,WAAWpD,EAAI,KAAO,GACpC8W,EAAUT,EAAIjT,WAAWpD,EAAI,KAAO,EACrC8W,EAAUT,EAAIjT,WAAWpD,EAAI,IAC/B2B,EAAIkV,KAAcH,GAAO,GAAM,IAC/B/U,EAAIkV,KAAcH,GAAO,EAAK,IAC9B/U,EAAIkV,KAAmB,IAANH,EAGK,IAApBD,IACFC,EACGI,EAAUT,EAAIjT,WAAWpD,KAAO,EAChC8W,EAAUT,EAAIjT,WAAWpD,EAAI,KAAO,EACvC2B,EAAIkV,KAAmB,IAANH,GAGK,IAApBD,IACFC,EACGI,EAAUT,EAAIjT,WAAWpD,KAAO,GAChC8W,EAAUT,EAAIjT,WAAWpD,EAAI,KAAO,EACpC8W,EAAUT,EAAIjT,WAAWpD,EAAI,KAAO,EACvC2B,EAAIkV,KAAcH,GAAO,EAAK,IAC9B/U,EAAIkV,KAAmB,IAANH,GAGnB,OAAO/U,GA3FTkD,EAAQf,cAkHR,SAAwBiT,GAQtB,IAPA,IAAIL,EACApX,EAAMyX,EAAMtZ,OACZuZ,EAAa1X,EAAM,EACnB2X,EAAQ,GAIHjX,EAAI,EAAGkX,EAAO5X,EAAM0X,EAAYhX,EAAIkX,EAAMlX,GAH9B,MAInBiX,EAAM9T,KAAKgU,EAAYJ,EAAO/W,EAAIA,EAJf,MAIqCkX,EAAOA,EAAQlX,EAJpD,QAQF,IAAfgX,GACFN,EAAMK,EAAMzX,EAAM,GAClB2X,EAAM9T,KACJiU,EAAOV,GAAO,GACdU,EAAQV,GAAO,EAAK,IACpB,OAEsB,IAAfM,IACTN,GAAOK,EAAMzX,EAAM,IAAM,GAAKyX,EAAMzX,EAAM,GAC1C2X,EAAM9T,KACJiU,EAAOV,GAAO,IACdU,EAAQV,GAAO,EAAK,IACpBU,EAAQV,GAAO,EAAK,IACpB,MAIJ,OAAOO,EAAMlQ,KAAK,KAzIpB,IALA,IAAIqQ,EAAS,GACTN,EAAY,GACZH,EAA4B,oBAAfhZ,WAA6BA,WAAa6J,MAEvD4D,EAAO,mEACFpL,EAAI,EAAGV,EAAM8L,EAAK3N,OAAQuC,EAAIV,IAAOU,EAC5CoX,EAAOpX,GAAKoL,EAAKpL,GACjB8W,EAAU1L,EAAKhI,WAAWpD,IAAMA,EAQlC,SAASuW,EAASF,GAChB,IAAI/W,EAAM+W,EAAI5Y,OAEd,GAAI6B,EAAM,EAAI,EACZ,MAAM,IAAIrB,MAAM,kDAKlB,IAAIuY,EAAWH,EAAI7U,QAAQ,KAO3B,OANkB,IAAdgV,IAAiBA,EAAWlX,GAMzB,CAACkX,EAJcA,IAAalX,EAC/B,EACA,EAAKkX,EAAW,GAsEtB,SAASW,EAAaJ,EAAOvW,EAAOC,GAGlC,IAFA,IAAIiW,EARoBW,EASpBC,EAAS,GACJtX,EAAIQ,EAAOR,EAAIS,EAAKT,GAAK,EAChC0W,GACIK,EAAM/W,IAAM,GAAM,WAClB+W,EAAM/W,EAAI,IAAM,EAAK,QACP,IAAf+W,EAAM/W,EAAI,IACbsX,EAAOnU,KAdFiU,GADiBC,EAeMX,IAdT,GAAK,IACxBU,EAAOC,GAAO,GAAK,IACnBD,EAAOC,GAAO,EAAI,IAClBD,EAAa,GAANC,IAaT,OAAOC,EAAOvQ,KAAK,IAjGrB+P,EAAU,IAAI1T,WAAW,IAAM,GAC/B0T,EAAU,IAAI1T,WAAW,IAAM,I;;;;;;uFCnB/B,6BACI,aAEA,IAAI6B,EAAOwI,aAAX,CAIA,IAII8J,EA6HIC,EAZAC,EArBAC,EACAC,EAjGJC,EAAa,EACbC,EAAgB,GAChBC,GAAwB,EACxBC,EAAM9S,EAAO+S,SAoJbC,EAAWvS,OAAOwS,gBAAkBxS,OAAOwS,eAAejT,GAC9DgT,EAAWA,GAAYA,EAAS1L,WAAa0L,EAAWhT,EAGf,qBAArC,GAAGhF,SAASwB,KAAKwD,EAAO6P,SApFxByC,EAAoB,SAASY,GACzBrD,EAAQM,UAAS,WAAcgD,EAAaD,QAIpD,WAGI,GAAIlT,EAAOoT,cAAgBpT,EAAOqT,cAAe,CAC7C,IAAIC,GAA4B,EAC5BC,EAAevT,EAAOwT,UAM1B,OALAxT,EAAOwT,UAAY,WACfF,GAA4B,GAEhCtT,EAAOoT,YAAY,GAAI,KACvBpT,EAAOwT,UAAYD,EACZD,GAwEJG,GAIAzT,EAAO0T,iBA9CVlB,EAAU,IAAIkB,gBACVC,MAAMH,UAAY,SAASI,GAE/BT,EADaS,EAAMjZ,OAIvB2X,EAAoB,SAASY,GACzBV,EAAQqB,MAAMT,YAAYF,KA2CvBJ,GAAO,uBAAwBA,EAAIgB,cAAc,WAtCpDvB,EAAOO,EAAIiB,gBACfzB,EAAoB,SAASY,GAGzB,IAAIc,EAASlB,EAAIgB,cAAc,UAC/BE,EAAOC,mBAAqB,WACxBd,EAAaD,GACbc,EAAOC,mBAAqB,KAC5B1B,EAAK2B,YAAYF,GACjBA,EAAS,MAEbzB,EAAK4B,YAAYH,KAKrB1B,EAAoB,SAASY,GACzB5L,WAAW6L,EAAc,EAAGD,KAlD5BT,EAAgB,gBAAkB3T,KAAKsV,SAAW,IAClD1B,EAAkB,SAASkB,GACvBA,EAAM7H,SAAW/L,GACK,iBAAf4T,EAAMjZ,MACyB,IAAtCiZ,EAAMjZ,KAAK4B,QAAQkW,IACnBU,GAAcS,EAAMjZ,KAAKV,MAAMwY,EAAcja,UAIjDwH,EAAOqU,iBACPrU,EAAOqU,iBAAiB,UAAW3B,GAAiB,GAEpD1S,EAAOsU,YAAY,YAAa5B,GAGpCJ,EAAoB,SAASY,GACzBlT,EAAOoT,YAAYX,EAAgBS,EAAQ,OAgEnDF,EAASxK,aA1KT,SAAsB+L,GAEI,mBAAbA,IACTA,EAAW,IAAIvN,SAAS,GAAKuN,IAI/B,IADA,IAAIrE,EAAO,IAAI3N,MAAMd,UAAUjJ,OAAS,GAC/BuC,EAAI,EAAGA,EAAImV,EAAK1X,OAAQuC,IAC7BmV,EAAKnV,GAAK0G,UAAU1G,EAAI,GAG5B,IAAIyZ,EAAO,CAAED,SAAUA,EAAUrE,KAAMA,GAGvC,OAFA0C,EAAcD,GAAc6B,EAC5BlC,EAAkBK,GACXA,KA6JTK,EAASvK,eAAiBA,EA1J1B,SAASA,EAAeyK,UACbN,EAAcM,GAyBzB,SAASC,EAAaD,GAGlB,GAAIL,EAGAvL,WAAW6L,EAAc,EAAGD,OACzB,CACH,IAAIsB,EAAO5B,EAAcM,GACzB,GAAIsB,EAAM,CACN3B,GAAwB,EACxB,KAjCZ,SAAa2B,GACT,IAAID,EAAWC,EAAKD,SAChBrE,EAAOsE,EAAKtE,KAChB,OAAQA,EAAK1X,QACb,KAAK,EACD+b,IACA,MACJ,KAAK,EACDA,EAASrE,EAAK,IACd,MACJ,KAAK,EACDqE,EAASrE,EAAK,GAAIA,EAAK,IACvB,MACJ,KAAK,EACDqE,EAASrE,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAChC,MACJ,QACIqE,EAAS7U,WAnDrB,EAmDsCwQ,IAiBlBuE,CAAID,GACN,QACE/L,EAAeyK,GACfL,GAAwB,MAvE5C,CAyLkB,oBAAT/L,UAAyC,IAAX9G,EAAyBjH,KAAOiH,EAAS8G,Q;;;;;;sFCzLhF,IAAIqE,EAAU,WACZ,IACE,OAAO,eAAQ,QACf,MAAMmE,KAHG,IAKb1P,EAAU8I,EAAO9I,QAAU,kCAAQ,SAC3BuL,OAASA,GAAUvL,EAC3BA,EAAQ2L,SAAW3L,EACnBA,EAAQ4L,SAAW,kCAAQ,QAC3B5L,EAAQ6L,OAAS,gCAAQ,QACzB7L,EAAQ8L,UAAY,mCAAQ,QAC5B9L,EAAQ+L,YAAc,qCAAQ,S;;;;;;uFCX9B,YA4BA,SAAS+I,EAAe1C,EAAO2C,GAG7B,IADA,IAAIC,EAAK,EACA7Z,EAAIiX,EAAMxZ,OAAS,EAAGuC,GAAK,EAAGA,IAAK,CAC1C,IAAI8Z,EAAO7C,EAAMjX,GACJ,MAAT8Z,EACF7C,EAAM8C,OAAO/Z,EAAG,GACE,OAAT8Z,GACT7C,EAAM8C,OAAO/Z,EAAG,GAChB6Z,KACSA,IACT5C,EAAM8C,OAAO/Z,EAAG,GAChB6Z,KAKJ,GAAID,EACF,KAAOC,IAAMA,EACX5C,EAAM+C,QAAQ,MAIlB,OAAO/C,EA0OT,SAASgD,EAAQC,EAAIC,GACjB,GAAID,EAAGD,OAAQ,OAAOC,EAAGD,OAAOE,GAEhC,IADA,IAAIlW,EAAM,GACDjE,EAAI,EAAGA,EAAIka,EAAGzc,OAAQuC,IACvBma,EAAED,EAAGla,GAAIA,EAAGka,IAAKjW,EAAId,KAAK+W,EAAGla,IAErC,OAAOiE,EA3OXY,EAAQuV,QAAU,WAIhB,IAHA,IAAIC,EAAe,GACfC,GAAmB,EAEdta,EAAI0G,UAAUjJ,OAAS,EAAGuC,IAAM,IAAMsa,EAAkBta,IAAK,CACpE,IAAIua,EAAQva,GAAK,EAAK0G,UAAU1G,GAAK8U,EAAQ0F,MAG7C,GAAoB,iBAATD,EACT,MAAM,IAAIlc,UAAU,6CACVkc,IAIZF,EAAeE,EAAO,IAAMF,EAC5BC,EAAsC,MAAnBC,EAAKE,OAAO,IAWjC,OAASH,EAAmB,IAAM,KAJlCD,EAAeV,EAAeM,EAAOI,EAAaK,MAAM,MAAM,SAAS3K,GACrE,QAASA,MACNuK,GAAkBvT,KAAK,OAE6B,KAK3DlC,EAAQ8V,UAAY,SAASJ,GAC3B,IAAIK,EAAa/V,EAAQ+V,WAAWL,GAChCM,EAAqC,MAArBhY,EAAO0X,GAAO,GAclC,OAXAA,EAAOZ,EAAeM,EAAOM,EAAKG,MAAM,MAAM,SAAS3K,GACrD,QAASA,MACN6K,GAAY7T,KAAK,OAER6T,IACZL,EAAO,KAELA,GAAQM,IACVN,GAAQ,MAGFK,EAAa,IAAM,IAAML,GAInC1V,EAAQ+V,WAAa,SAASL,GAC5B,MAA0B,MAAnBA,EAAKE,OAAO,IAIrB5V,EAAQkC,KAAO,WACb,IAAI+T,EAAQtT,MAAM3J,UAAUqB,MAAMuC,KAAKiF,UAAW,GAClD,OAAO7B,EAAQ8V,UAAUV,EAAOa,GAAO,SAAS/K,EAAGgL,GACjD,GAAiB,iBAANhL,EACT,MAAM,IAAI1R,UAAU,0CAEtB,OAAO0R,KACNhJ,KAAK,OAMVlC,EAAQmW,SAAW,SAAS7c,EAAM8c,GAIhC,SAASxP,EAAK9J,GAEZ,IADA,IAAInB,EAAQ,EACLA,EAAQmB,EAAIlE,QACE,KAAfkE,EAAInB,GADiBA,KAK3B,IADA,IAAIC,EAAMkB,EAAIlE,OAAS,EAChBgD,GAAO,GACK,KAAbkB,EAAIlB,GADOA,KAIjB,OAAID,EAAQC,EAAY,GACjBkB,EAAIzC,MAAMsB,EAAOC,EAAMD,EAAQ,GAfxCrC,EAAO0G,EAAQuV,QAAQjc,GAAM0E,OAAO,GACpCoY,EAAKpW,EAAQuV,QAAQa,GAAIpY,OAAO,GAsBhC,IALA,IAAIqY,EAAYzP,EAAKtN,EAAKuc,MAAM,MAC5BS,EAAU1P,EAAKwP,EAAGP,MAAM,MAExBjd,EAASsG,KAAKC,IAAIkX,EAAUzd,OAAQ0d,EAAQ1d,QAC5C2d,EAAkB3d,EACbuC,EAAI,EAAGA,EAAIvC,EAAQuC,IAC1B,GAAIkb,EAAUlb,KAAOmb,EAAQnb,GAAI,CAC/Bob,EAAkBpb,EAClB,MAIJ,IAAIqb,EAAc,GAClB,IAASrb,EAAIob,EAAiBpb,EAAIkb,EAAUzd,OAAQuC,IAClDqb,EAAYlY,KAAK,MAKnB,OAFAkY,EAAcA,EAAYjV,OAAO+U,EAAQjc,MAAMkc,KAE5BrU,KAAK,MAG1BlC,EAAQyW,IAAM,IACdzW,EAAQ0W,UAAY,IAEpB1W,EAAQ2W,QAAU,SAAUjB,GAE1B,GADoB,iBAATA,IAAmBA,GAAc,IACxB,IAAhBA,EAAK9c,OAAc,MAAO,IAK9B,IAJA,IAAI2N,EAAOmP,EAAKnX,WAAW,GACvBqY,EAAmB,KAATrQ,EACV3K,GAAO,EACPib,GAAe,EACV1b,EAAIua,EAAK9c,OAAS,EAAGuC,GAAK,IAAKA,EAEtC,GAAa,MADboL,EAAOmP,EAAKnX,WAAWpD,KAEnB,IAAK0b,EAAc,CACjBjb,EAAMT,EACN,YAIJ0b,GAAe,EAInB,OAAa,IAATjb,EAAmBgb,EAAU,IAAM,IACnCA,GAAmB,IAARhb,EAGN,IAEF8Z,EAAKrb,MAAM,EAAGuB,IAiCvBoE,EAAQ8W,SAAW,SAAUpB,EAAMxS,GACjC,IAAIoS,EA/BN,SAAkBI,GACI,iBAATA,IAAmBA,GAAc,IAE5C,IAGIva,EAHAQ,EAAQ,EACRC,GAAO,EACPib,GAAe,EAGnB,IAAK1b,EAAIua,EAAK9c,OAAS,EAAGuC,GAAK,IAAKA,EAClC,GAA2B,KAAvBua,EAAKnX,WAAWpD,IAGhB,IAAK0b,EAAc,CACjBlb,EAAQR,EAAI,EACZ,YAEgB,IAATS,IAGXib,GAAe,EACfjb,EAAMT,EAAI,GAId,OAAa,IAATS,EAAmB,GAChB8Z,EAAKrb,MAAMsB,EAAOC,GAMjBkb,CAASpB,GAIjB,OAHIxS,GAAOoS,EAAEtX,QAAQ,EAAIkF,EAAItK,UAAYsK,IACvCoS,EAAIA,EAAEtX,OAAO,EAAGsX,EAAE1c,OAASsK,EAAItK,SAE1B0c,GAGTtV,EAAQ+W,QAAU,SAAUrB,GACN,iBAATA,IAAmBA,GAAc,IAQ5C,IAPA,IAAIsB,GAAY,EACZC,EAAY,EACZrb,GAAO,EACPib,GAAe,EAGfK,EAAc,EACT/b,EAAIua,EAAK9c,OAAS,EAAGuC,GAAK,IAAKA,EAAG,CACzC,IAAIoL,EAAOmP,EAAKnX,WAAWpD,GAC3B,GAAa,KAAToL,GASS,IAAT3K,IAGFib,GAAe,EACfjb,EAAMT,EAAI,GAEC,KAAToL,GAEkB,IAAdyQ,EACFA,EAAW7b,EACY,IAAhB+b,IACPA,EAAc,IACK,IAAdF,IAGTE,GAAe,QArBb,IAAKL,EAAc,CACjBI,EAAY9b,EAAI,EAChB,OAuBR,OAAkB,IAAd6b,IAA4B,IAATpb,GAEH,IAAhBsb,GAEgB,IAAhBA,GAAqBF,IAAapb,EAAM,GAAKob,IAAaC,EAAY,EACjE,GAEFvB,EAAKrb,MAAM2c,EAAUpb,IAa9B,IAAIoC,EAA6B,MAApB,KAAKA,QAAQ,GACpB,SAAUI,EAAKzC,EAAOlB,GAAO,OAAO2D,EAAIJ,OAAOrC,EAAOlB,IACtD,SAAU2D,EAAKzC,EAAOlB,GAEpB,OADIkB,EAAQ,IAAGA,EAAQyC,EAAIxF,OAAS+C,GAC7ByC,EAAIJ,OAAOrC,EAAOlB,M;;;;;;sFC3SjCqO,EAAO9I,QAAU,mCAAQ,S;;;;;;oFCAI,mBAAlBa,OAAOyO,OAEhBxG,EAAO9I,QAAU,SAAkBmX,EAAMC,GACnCA,IACFD,EAAKE,OAASD,EACdD,EAAKne,UAAY6H,OAAOyO,OAAO8H,EAAUpe,UAAW,CAClDse,YAAa,CACX/d,MAAO4d,EACPI,YAAY,EACZjL,UAAU,EACVvL,cAAc,OAOtB+H,EAAO9I,QAAU,SAAkBmX,EAAMC,GACvC,GAAIA,EAAW,CACbD,EAAKE,OAASD,EACd,IAAII,EAAW,aACfA,EAASxe,UAAYoe,EAAUpe,UAC/Bme,EAAKne,UAAY,IAAIwe,EACrBL,EAAKne,UAAUse,YAAcH,K;;;;;;oGCvBnC,YAEArO,EAAO9I,QAAU2L,EAGjB,IAAI8L,EAAkB,6BAAQ,QAI1Bnf,EAAU,gBAAQ,QAIlBE,EAAS,eAAQ,QAAUA,OAG/BmT,EAAS+L,cAAgBA,EAEhB,eAAQ,QAAjB,IASInM,EANAoM,EAAkB,SAAUC,EAAS9c,GACvC,OAAO8c,EAAQC,UAAU/c,GAAMlC,SAMjC,WACE,IACE2S,EAAS,eAAQ,QACjB,MAAOmE,IAAM,QACRnE,IAAQA,EAAS,eAAQ,QAAUE,eAJ5C,GASIjT,EAAS,eAAQ,QAAUA,OAA/B,IAGI+U,EAAO,qBAAQ,QACnBA,EAAK7B,SAAW,iBAAQ,QAIxB,IASI7B,EAuEAgC,EAhFAiM,EAAY,aAAQ,GACpBC,OAAQle,EAaZ,SAAS6d,EAAcxL,EAASuB,GAC9B5B,EAASA,GAAU,yBAAQ,QAE3BK,EAAUA,GAAW,GAIrB/S,KAAK6e,aAAe9L,EAAQ8L,WAExBvK,aAAkB5B,IAAQ1S,KAAK6e,WAAa7e,KAAK6e,cAAgB9L,EAAQ+L,oBAI7E,IAAIC,EAAMhM,EAAQmC,cACd8J,EAAahf,KAAK6e,WAAa,GAAK,MACxC7e,KAAKkV,cAAgB6J,GAAe,IAARA,EAAYA,EAAMC,EAG9Chf,KAAKkV,gBAAmBlV,KAAKkV,cAE7BlV,KAAKyB,OAAS,GACdzB,KAAKP,OAAS,EACdO,KAAKif,MAAQ,KACbjf,KAAKkf,WAAa,EAClBlf,KAAKmf,QAAU,KACfnf,KAAKof,OAAQ,EACbpf,KAAKqf,YAAa,EAClBrf,KAAKgV,SAAU,EAMfhV,KAAKsV,MAAO,EAIZtV,KAAKiV,cAAe,EACpBjV,KAAKsf,iBAAkB,EACvBtf,KAAKuf,mBAAoB,EACzBvf,KAAKwf,iBAAkB,EAKvBxf,KAAKyf,gBAAkB1M,EAAQ0M,iBAAmB,OAIlDzf,KAAK0f,QAAS,EAGd1f,KAAK2f,WAAa,EAGlB3f,KAAK4f,aAAc,EAEnB5f,KAAK6f,QAAU,KACf7f,KAAKc,SAAW,KACZiS,EAAQjS,WACL4P,IAAeA,EAAgB,wBAAQ,QAAmBA,eAC/D1Q,KAAK6f,QAAU,IAAInP,EAAcqC,EAAQjS,UACzCd,KAAKc,SAAWiS,EAAQjS,UAK5B,SAAS0R,EAASO,GAGhB,GAFAL,EAASA,GAAU,yBAAQ,UAErB1S,gBAAgBwS,GAAW,OAAO,IAAIA,EAASO,GAErD/S,KAAK+U,eAAiB,IAAIwJ,EAAcxL,EAAS/S,MAGjDA,KAAKsT,UAAW,EAEZP,GAAmC,mBAAjBA,EAAQ/O,OAAqBhE,KAAKmV,MAAQpC,EAAQ/O,MAExEoO,EAAO3O,KAAKzD,MA+Bd,SAAS8f,EAAiBxL,EAAQyL,EAAO7M,EAAOpS,EAAUkf,GACxD,IAAIjM,EAwNN,SAAsBgM,EAAO7M,GAC3B,IAAIa,EAAK,KACJ1U,EAAOgC,SAAS6R,IAA2B,iBAAVA,GAAlC,MAAwDA,GAA0C6M,EAAMlB,aAC1G9K,EAAK,IAAI1T,UAAU,oCAErB,OAAO0T,EA7NEkM,CAAaF,EAAO7M,GAC7B,GAAIa,EACFO,EAAOH,KAAK,QAASJ,QAChB,GAAc,OAAVb,EACT6M,EAAM/K,SAAU,EA4NpB,SAAoBV,EAAQyL,GAC1B,GAAIA,EAAMX,MAAO,OACjB,GAAIW,EAAMF,QAAS,CACjB,IAAI3M,EAAQ6M,EAAMF,QAAQpd,MACtByQ,GAASA,EAAMzT,SACjBsgB,EAAMte,OAAO0D,KAAK+N,GAClB6M,EAAMtgB,QAAUsgB,EAAMlB,WAAa,EAAI3L,EAAMzT,QAGjDsgB,EAAMX,OAAQ,EAGdc,EAAa5L,GAvOX6L,CAAW7L,EAAQyL,QACd,GAAIA,EAAMlB,YAAc3L,GAASA,EAAMzT,OAAS,EACrD,GAAIsgB,EAAMX,QAAUY,EAAY,CAC9B,IAAI5Y,EAAI,IAAInH,MAAM,2BAClBqU,EAAOH,KAAK,QAAS/M,QAChB,GAAI2Y,EAAMV,YAAcW,EAAY,CACrC5Y,EAAI,IAAInH,MAAM,oCAClBqU,EAAOH,KAAK,QAAS/M,OAChB,CACL,IAAIgZ,GACAL,EAAMF,SAAYG,GAAelf,IACnCoS,EAAQ6M,EAAMF,QAAQ5e,MAAMiS,GAC5BkN,GAAWL,EAAMlB,YAA+B,IAAjB3L,EAAMzT,QAGlCugB,IAAYD,EAAM/K,SAAU,GAI5BoL,IAECL,EAAMZ,SAA4B,IAAjBY,EAAMtgB,SAAiBsgB,EAAMzK,MAChDhB,EAAOH,KAAK,OAAQjB,GACpBoB,EAAOtQ,KAAK,KAGZ+b,EAAMtgB,QAAUsgB,EAAMlB,WAAa,EAAI3L,EAAMzT,OACzCugB,EAAYD,EAAMte,OAAOua,QAAQ9I,GAAY6M,EAAMte,OAAO0D,KAAK+N,GAE/D6M,EAAM9K,cAAciL,EAAa5L,KAsO/C,SAAuBA,EAAQyL,GACxBA,EAAMH,cACTG,EAAMH,aAAc,EACpBtB,EAAgB+B,EAAgB/L,EAAQyL,IArOtCO,CAAchM,EAAQyL,QAEdC,IACVD,EAAM/K,SAAU,GAGlB,OAUF,SAAsB+K,GACpB,OAAQA,EAAMX,QAAUW,EAAM9K,cAAgB8K,EAAMtgB,OAASsgB,EAAM7K,eAAkC,IAAjB6K,EAAMtgB,QAXnF8gB,CAAaR,GAtKpBnB,EADED,GAAaA,EAAU6B,SACjB7B,EAAU6B,SAAS,UAEnB,aAMVpM,EAAK7B,SAASC,EAAUJ,GAyFxBI,EAAS3S,UAAUsF,KAAO,SAAU+N,EAAOpS,GACzC,IAAIif,EAAQ/f,KAAK+U,eAUjB,OARKgL,EAAMlB,YAA+B,iBAAV3L,IAC9BpS,EAAWA,GAAYif,EAAMN,mBACZM,EAAMjf,WACrBoS,EAAQ,IAAI7T,EAAO6T,EAAOpS,GAC1BA,EAAW,IAIRgf,EAAiB9f,KAAM+f,EAAO7M,EAAOpS,GAAU,IAIxD0R,EAAS3S,UAAUmc,QAAU,SAAU9I,GAErC,OAAO4M,EAAiB9f,KADZA,KAAK+U,eACoB7B,EAAO,IAAI,IAGlDV,EAAS3S,UAAU4gB,SAAW,WAC5B,OAAuC,IAAhCzgB,KAAK+U,eAAeoK,SA+D7B3M,EAAS3S,UAAU6gB,YAAc,SAAU9P,GAIzC,OAHKF,IAAeA,EAAgB,wBAAQ,QAAmBA,eAC/D1Q,KAAK+U,eAAe8K,QAAU,IAAInP,EAAcE,GAChD5Q,KAAK+U,eAAejU,SAAW8P,EACxB5Q,MAqBT,SAAS2gB,EAAczd,EAAG6c,GACxB,OAAqB,IAAjBA,EAAMtgB,QAAgBsgB,EAAMX,MAAc,EAE1CW,EAAMlB,WAAyB,IAAN3b,EAAU,EAAI,EAEjC,OAANA,GAAcI,MAAMJ,GAElB6c,EAAMZ,SAAWY,EAAMte,OAAOhC,OAAesgB,EAAMte,OAAO,GAAGhC,OAAmBsgB,EAAMtgB,OAGxFyD,GAAK,EAAU,GAMfA,EAAI6c,EAAM7K,gBAAe6K,EAAM7K,cAhCrC,SAAiChS,GAa/B,OAZIA,GAFQ,QAGVA,EAHU,SAMVA,IACAA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,GACXA,KAEKA,EAmB4C0d,CAAwB1d,IAGvEA,EAAI6c,EAAMtgB,OACPsgB,EAAMX,MAIFW,EAAMtgB,QAHbsgB,EAAM9K,cAAe,EACd,GAMJ/R,GAkIT,SAASgd,EAAa5L,GACpB,IAAIyL,EAAQzL,EAAOS,eACnBgL,EAAM9K,cAAe,EAChB8K,EAAMT,kBACTV,EAAM,eAAgBmB,EAAMZ,SAC5BY,EAAMT,iBAAkB,EACpBS,EAAMzK,KAAMgJ,EAAgBuC,EAAevM,GAAauM,EAAcvM,IAI9E,SAASuM,EAAcvM,GACrBsK,EAAM,iBACNtK,EAAOH,KAAK,YACZ2M,EAAKxM,GAgBP,SAAS+L,EAAe/L,EAAQyL,GAE9B,IADA,IAAIze,EAAMye,EAAMtgB,QACRsgB,EAAM/K,UAAY+K,EAAMZ,UAAYY,EAAMX,OAASW,EAAMtgB,OAASsgB,EAAM7K,gBAC9E0J,EAAM,wBACNtK,EAAOtQ,KAAK,GACR1C,IAAQye,EAAMtgB,SAEL6B,EAAMye,EAAMtgB,OAE3BsgB,EAAMH,aAAc,EAiOtB,SAASmB,EAAiBhT,GACxB6Q,EAAM,4BACN7Q,EAAK/J,KAAK,GAsBZ,SAASgd,EAAQ1M,EAAQyL,GAClBA,EAAM/K,UACT4J,EAAM,iBACNtK,EAAOtQ,KAAK,IAGd+b,EAAMP,iBAAkB,EACxBlL,EAAOH,KAAK,UACZ2M,EAAKxM,GACDyL,EAAMZ,UAAYY,EAAM/K,SAASV,EAAOtQ,KAAK,GAanD,SAAS8c,EAAKxM,GACZ,IAAIyL,EAAQzL,EAAOS,eAEnB,GADA6J,EAAM,OAAQmB,EAAMZ,SAChBY,EAAMZ,QACR,GACE,IAAIjM,EAAQoB,EAAOtQ,aACZ,OAASkP,GAAS6M,EAAMZ,SAwErC,SAAS8B,EAAS/d,EAAG6c,GACnB,IAIIrW,EAJArB,EAAO0X,EAAMte,OACbhC,EAASsgB,EAAMtgB,OACfyhB,IAAenB,EAAMF,QACrBhB,IAAekB,EAAMlB,WAIzB,GAAoB,IAAhBxW,EAAK5I,OAAc,OAAO,KAE9B,GAAe,IAAXA,EAAciK,EAAM,UAAU,GAAImV,EAAYnV,EAAMrB,EAAK8Y,aAAa,IAAKje,GAAKA,GAAKzD,EAEvEiK,EAAZwX,EAAkB7Y,EAAKU,KAAK,IAA6B,IAAhBV,EAAK5I,OAAoB4I,EAAK,GAAchJ,EAAO+I,OAAOC,EAAM5I,GAC7G4I,EAAK5I,OAAS,MACT,CAEL,GAAIyD,EAAImF,EAAK,GAAG5I,OAIdiK,GADIzF,EAAMoE,EAAK,IACLnH,MAAM,EAAGgC,GACnBmF,EAAK,GAAKpE,EAAI/C,MAAMgC,QACf,GAAIA,IAAMmF,EAAK,GAAG5I,OAEvBiK,EAAMrB,EAAK8Y,YACN,CAGWzX,EAAZwX,EAAkB,GAAc,IAAI7hB,EAAO6D,GAG/C,IADA,IAAIwC,EAAI,EACC1D,EAAI,EAAGof,EAAI/Y,EAAK5I,OAAQuC,EAAIof,GAAK1b,EAAIxC,EAAGlB,IAAK,CACpD,IAAIiC,EAAMoE,EAAK,GACXgZ,EAAMtb,KAAKC,IAAI9C,EAAIwC,EAAGzB,EAAIxE,QAE1ByhB,EAAYxX,GAAOzF,EAAI/C,MAAM,EAAGmgB,GAAUpd,EAAIzC,KAAKkI,EAAKhE,EAAG,EAAG2b,GAE9DA,EAAMpd,EAAIxE,OAAQ4I,EAAK,GAAKpE,EAAI/C,MAAMmgB,GAAUhZ,EAAK8Y,QAEzDzb,GAAK2b,IAKX,OAAO3X,EAGT,SAAS4X,EAAYhN,GACnB,IAAIyL,EAAQzL,EAAOS,eAInB,GAAIgL,EAAMtgB,OAAS,EAAG,MAAM,IAAIQ,MAAM,0CAEjC8f,EAAMV,aACTU,EAAMX,OAAQ,EACdd,EAAgBiD,EAAexB,EAAOzL,IAI1C,SAASiN,EAAcxB,EAAOzL,GAEvByL,EAAMV,YAA+B,IAAjBU,EAAMtgB,SAC7BsgB,EAAMV,YAAa,EACnB/K,EAAOhB,UAAW,EAClBgB,EAAOH,KAAK,QAlkBhB3B,EAAS3S,UAAUmE,KAAO,SAAUd,GAClC0b,EAAM,OAAQ1b,GACd,IAAI6c,EAAQ/f,KAAK+U,eACbyM,EAAQte,EAOZ,IALiB,iBAANA,GAAkBA,EAAI,KAAG6c,EAAMT,iBAAkB,GAKlD,IAANpc,GAAW6c,EAAM9K,eAAiB8K,EAAMtgB,QAAUsgB,EAAM7K,eAAiB6K,EAAMX,OAGjF,OAFAR,EAAM,qBAAsBmB,EAAMtgB,OAAQsgB,EAAMX,OAC3B,IAAjBW,EAAMtgB,QAAgBsgB,EAAMX,MAAOkC,EAAYthB,MAAWkgB,EAAalgB,MACpE,KAMT,GAAU,KAHVkD,EAAIyd,EAAczd,EAAG6c,KAGNA,EAAMX,MAEnB,OADqB,IAAjBW,EAAMtgB,QAAc6hB,EAAYthB,MAC7B,KA0BT,IA+BI0J,EA/BA+X,EAAS1B,EAAM9K,aAkDnB,OAjDA2J,EAAM,gBAAiB6C,IAGF,IAAjB1B,EAAMtgB,QAAgBsgB,EAAMtgB,OAASyD,EAAI6c,EAAM7K,gBAEjD0J,EAAM,6BADN6C,GAAS,IAMP1B,EAAMX,OAASW,EAAM/K,UAEvB4J,EAAM,mBADN6C,GAAS,GAIPA,IACF7C,EAAM,WACNmB,EAAM/K,SAAU,EAChB+K,EAAMzK,MAAO,EAEQ,IAAjByK,EAAMtgB,SAAcsgB,EAAM9K,cAAe,GAE7CjV,KAAKmV,MAAM4K,EAAM7K,eACjB6K,EAAMzK,MAAO,GAKXmM,IAAW1B,EAAM/K,UAAS9R,EAAIyd,EAAca,EAAOzB,IAK3C,QAFDrW,EAAPxG,EAAI,EAAS+d,EAAS/d,EAAG6c,GAAkB,QAG7CA,EAAM9K,cAAe,EACrB/R,EAAI,GAGN6c,EAAMtgB,QAAUyD,EAIK,IAAjB6c,EAAMtgB,QAAiBsgB,EAAMX,QAAOW,EAAM9K,cAAe,GAGzDuM,IAAUte,GAAK6c,EAAMX,OAA0B,IAAjBW,EAAMtgB,QAAc6hB,EAAYthB,MAEtD,OAAR0J,GAAc1J,KAAKmU,KAAK,OAAQzK,GAE7BA,GA0ET8I,EAAS3S,UAAUsV,MAAQ,SAAUjS,GACnClD,KAAKmU,KAAK,QAAS,IAAIlU,MAAM,qBAG/BuS,EAAS3S,UAAUgT,KAAO,SAAUC,EAAM4O,GACxC,IAAI7T,EAAM7N,KACN+f,EAAQ/f,KAAK+U,eAEjB,OAAQgL,EAAMb,YACZ,KAAK,EACHa,EAAMd,MAAQnM,EACd,MACF,KAAK,EACHiN,EAAMd,MAAQ,CAACc,EAAMd,MAAOnM,GAC5B,MACF,QACEiN,EAAMd,MAAM9Z,KAAK2N,GAGrBiN,EAAMb,YAAc,EACpBN,EAAM,wBAAyBmB,EAAMb,WAAYwC,GAEjD,IAEIC,IAFUD,IAA6B,IAAjBA,EAASjf,MAAkBqQ,IAASgE,EAAQ8K,QAAU9O,IAASgE,EAAQ+K,OAE7EnO,EAAQM,EAI5B,SAAS8N,EAASxO,GAChBsL,EAAM,YACFtL,IAAazF,GACfmG,IAIJ,SAASN,IACPkL,EAAM,SACN9L,EAAKrQ,MAZHsd,EAAMV,WAAYf,EAAgBqD,GAAY9T,EAAI8H,KAAK,MAAOgM,GAElE7O,EAAKU,GAAG,SAAUsO,GAiBlB,IAAIzO,EAoFN,SAAqBxF,GACnB,OAAO,WACL,IAAIkS,EAAQlS,EAAIkH,eAChB6J,EAAM,cAAemB,EAAMJ,YACvBI,EAAMJ,YAAYI,EAAMJ,aACH,IAArBI,EAAMJ,YAAoBnB,EAAgB3Q,EAAK,UACjDkS,EAAMZ,SAAU,EAChB2B,EAAKjT,KA3FKkU,CAAYlU,GAC1BiF,EAAKU,GAAG,QAASH,GAEjB,IAAI2O,GAAY,EAChB,SAAShO,IACP4K,EAAM,WAEN9L,EAAKoB,eAAe,QAASP,GAC7Bb,EAAKoB,eAAe,SAAU+N,GAC9BnP,EAAKoB,eAAe,QAASb,GAC7BP,EAAKoB,eAAe,QAASJ,GAC7BhB,EAAKoB,eAAe,SAAU4N,GAC9BjU,EAAIqG,eAAe,MAAOR,GAC1B7F,EAAIqG,eAAe,MAAOF,GAC1BnG,EAAIqG,eAAe,OAAQjB,GAE3B+O,GAAY,GAORjC,EAAMJ,YAAgB7M,EAAKgD,iBAAkBhD,EAAKgD,eAAeoM,WAAY7O,IAInF,SAASJ,EAAOC,GACd0L,EAAM,WAEF,IADM9L,EAAK7R,MAAMiS,KAKM,IAArB6M,EAAMb,YAAoBa,EAAMd,MAAM,KAAOnM,GAAsC,IAA9BjF,EAAIoG,cAAc,SAAkB+N,IAC3FpD,EAAM,8BAA+B/Q,EAAIkH,eAAe4K,YACxD9R,EAAIkH,eAAe4K,cAErB9R,EAAIuF,SAMR,SAASU,EAAQC,GACf6K,EAAM,UAAW7K,GACjBoO,IACArP,EAAKoB,eAAe,QAASJ,GACU,IAAnC0K,EAAgB1L,EAAM,UAAgBA,EAAKqB,KAAK,QAASJ,GAO/D,SAASJ,IACPb,EAAKoB,eAAe,SAAU+N,GAC9BE,IAGF,SAASF,IACPrD,EAAM,YACN9L,EAAKoB,eAAe,QAASP,GAC7BwO,IAIF,SAASA,IACPvD,EAAM,UACN/Q,EAAIsU,OAAOrP,GAYb,OAvDAjF,EAAI2F,GAAG,OAAQP,GA0BVH,EAAKsP,SAAYtP,EAAKsP,QAAQC,MAA0CljB,EAAQ2T,EAAKsP,QAAQC,OAAQvP,EAAKsP,QAAQC,MAAMrG,QAAQlI,GAAchB,EAAKsP,QAAQC,MAAQ,CAACvO,EAAShB,EAAKsP,QAAQC,OAArJvP,EAAKU,GAAG,QAASM,GAO3DhB,EAAK6C,KAAK,QAAShC,GAMnBb,EAAK6C,KAAK,SAAUsM,GAQpBnP,EAAKqB,KAAK,OAAQtG,GAGbkS,EAAMZ,UACTP,EAAM,eACN/Q,EAAI0F,UAGCT,GAeTN,EAAS3S,UAAUsiB,OAAS,SAAUrP,GACpC,IAAIiN,EAAQ/f,KAAK+U,eAGjB,GAAyB,IAArBgL,EAAMb,WAAkB,OAAOlf,KAGnC,GAAyB,IAArB+f,EAAMb,WAER,OAAIpM,GAAQA,IAASiN,EAAMd,QAEtBnM,IAAMA,EAAOiN,EAAMd,OAGxBc,EAAMd,MAAQ,KACdc,EAAMb,WAAa,EACnBa,EAAMZ,SAAU,EACZrM,GAAMA,EAAKqB,KAAK,SAAUnU,OARWA,KAc3C,IAAK8S,EAAM,CAET,IAAIwP,EAAQvC,EAAMd,MACd3d,EAAMye,EAAMb,WAChBa,EAAMd,MAAQ,KACdc,EAAMb,WAAa,EACnBa,EAAMZ,SAAU,EAEhB,IAAK,IAAIoD,EAAK,EAAGA,EAAKjhB,EAAKihB,IACzBD,EAAMC,GAAIpO,KAAK,SAAUnU,MAC1B,OAAOA,KAIV,IAAIgC,EAgPN,SAAiBka,EAAIhU,GACnB,IAAK,IAAIlG,EAAI,EAAGof,EAAIlF,EAAGzc,OAAQuC,EAAIof,EAAGpf,IACpC,GAAIka,EAAGla,KAAOkG,EAAG,OAAOlG,EAE1B,OAAQ,EApPAwB,CAAQuc,EAAMd,MAAOnM,GAC7B,OAAW,IAAP9Q,IAEJ+d,EAAMd,MAAMlD,OAAO/Z,EAAG,GACtB+d,EAAMb,YAAc,EACK,IAArBa,EAAMb,aAAkBa,EAAMd,MAAQc,EAAMd,MAAM,IAEtDnM,EAAKqB,KAAK,SAAUnU,OANCA,MAavBwS,EAAS3S,UAAU2T,GAAK,SAAUgP,EAAIhM,GACpC,IAAIvQ,EAAMmM,EAAOvS,UAAU2T,GAAG/P,KAAKzD,KAAMwiB,EAAIhM,GAQ7C,GAJW,SAAPgM,IAAiB,IAAUxiB,KAAK+U,eAAeoK,SACjDnf,KAAKuT,SAGI,aAAPiP,IAAsBxiB,KAAK+U,eAAesK,WAAY,CACxD,IAAIU,EAAQ/f,KAAK+U,eACZgL,EAAMR,oBACTQ,EAAMR,mBAAoB,EAC1BQ,EAAMT,iBAAkB,EACxBS,EAAM9K,cAAe,EAChB8K,EAAM/K,QAEA+K,EAAMtgB,QACfygB,EAAalgB,MAFbse,EAAgByC,EAAkB/gB,OAOxC,OAAOiG,GAETuM,EAAS3S,UAAU4iB,YAAcjQ,EAAS3S,UAAU2T,GASpDhB,EAAS3S,UAAU0T,OAAS,WAC1B,IAAIwM,EAAQ/f,KAAK+U,eAMjB,OALKgL,EAAMZ,UACTP,EAAM,UACNmB,EAAMZ,SAAU,EAMpB,SAAgB7K,EAAQyL,GACjBA,EAAMP,kBACTO,EAAMP,iBAAkB,EACxBlB,EAAgB0C,EAAS1M,EAAQyL,IARjCxM,CAAOvT,KAAM+f,IAER/f,MAsBTwS,EAAS3S,UAAUuT,MAAQ,WAOzB,OANAwL,EAAM,wBAAyB5e,KAAK+U,eAAeoK,UAC/C,IAAUnf,KAAK+U,eAAeoK,UAChCP,EAAM,SACN5e,KAAK+U,eAAeoK,SAAU,EAC9Bnf,KAAKmU,KAAK,UAELnU,MAgBTwS,EAAS3S,UAAU6iB,KAAO,SAAUpO,GAClC,IAAIyL,EAAQ/f,KAAK+U,eACb4N,GAAS,EAET5U,EAAO/N,KA2BX,IAAK,IAAIgC,KA1BTsS,EAAOd,GAAG,OAAO,WAEf,GADAoL,EAAM,eACFmB,EAAMF,UAAYE,EAAMX,MAAO,CACjC,IAAIlM,EAAQ6M,EAAMF,QAAQpd,MACtByQ,GAASA,EAAMzT,QAAQsO,EAAK5I,KAAK+N,GAGvCnF,EAAK5I,KAAK,SAGZmP,EAAOd,GAAG,QAAQ,SAAUN,IAC1B0L,EAAM,gBACFmB,EAAMF,UAAS3M,EAAQ6M,EAAMF,QAAQ5e,MAAMiS,IAG3C6M,EAAMlB,YAAc,MAAC3L,KAAyD6M,EAAMlB,YAAgB3L,GAAUA,EAAMzT,UAE9GsO,EAAK5I,KAAK+N,KAElByP,GAAS,EACTrO,EAAOlB,aAMGkB,OACI5T,IAAZV,KAAKgC,IAAyC,mBAAdsS,EAAOtS,KACzChC,KAAKgC,GAAK,SAAU4gB,GAClB,OAAO,WACL,OAAOtO,EAAOsO,GAAQjc,MAAM2N,EAAQ5L,YAF9B,CAIR1G,IAoBN,OA6EF,SAAiBka,EAAIC,GACnB,IAAK,IAAIna,EAAI,EAAGof,EAAIlF,EAAGzc,OAAQuC,EAAIof,EAAGpf,IACpCma,EAAED,EAAGla,GAAIA,GA7FX6gB,CADa,CAAC,QAAS,QAAS,UAAW,QAAS,WACpC,SAAUL,GACxBlO,EAAOd,GAAGgP,EAAIzU,EAAKoG,KAAK2O,KAAK/U,EAAMyU,OAKrCzU,EAAKoH,MAAQ,SAAUjS,GACrB0b,EAAM,gBAAiB1b,GACnByf,IACFA,GAAS,EACTrO,EAAOf,WAIJxF,GAITyE,EAASuQ,UAAY9B,I;;;;;;mGCrxBrBtR,EAAO9I,QAAU+L,EAEjB,IAAID,EAAY,4BAAQ,QAGpByB,EAAO,qBAAQ,QAMnB,SAASxB,EAAYG,GACnB,KAAM/S,gBAAgB4S,GAAc,OAAO,IAAIA,EAAYG,GAE3DJ,EAAUlP,KAAKzD,KAAM+S,GARvBqB,EAAK7B,SAAW,iBAAQ,QAGxB6B,EAAK7B,SAASK,EAAaD,GAQ3BC,EAAY/S,UAAU2V,WAAa,SAAUtC,EAAOpS,EAAU6T,GAC5DA,EAAG,KAAMzB,K;;;;;;oGCxBX,cAMAvD,EAAO9I,QAAU4L,EAGjB,IAAI6L,EAAkB,6BAAQ,QAI1B0E,GAAclM,EAAQmM,SAAW,CAAC,QAAS,SAASzf,QAAQsT,EAAQC,QAAQ7V,MAAM,EAAG,KAAO,EAAIuO,EAAe6O,EAI/Gjf,EAAS,eAAQ,QAAUA,OAG/BoT,EAASyQ,cAAgBA,EAGzB,IAAI9O,EAAO,qBAAQ,QACnBA,EAAK7B,SAAW,iBAAQ,QAIxB,IAMIH,EANA+Q,EAAe,CACjBC,UAAW,uBAAQ,UAMrB,WACE,IACEhR,EAAS,eAAQ,QACjB,MAAOmE,IAAM,QACRnE,IAAQA,EAAS,eAAQ,QAAUE,eAJ5C,GASA,IAkIII,EAlIArT,EAAS,eAAQ,QAAUA,OAI/B,SAASgkB,KAET,SAASC,EAASpQ,EAAOpS,EAAU6T,GACjC3U,KAAKkT,MAAQA,EACblT,KAAKc,SAAWA,EAChBd,KAAKwb,SAAW7G,EAChB3U,KAAKujB,KAAO,KAId,SAASL,EAAcnQ,EAASuB,GAC9B5B,EAASA,GAAU,yBAAQ,QAE3BK,EAAUA,GAAW,GAIrB/S,KAAK6e,aAAe9L,EAAQ8L,WAExBvK,aAAkB5B,IAAQ1S,KAAK6e,WAAa7e,KAAK6e,cAAgB9L,EAAQyQ,oBAK7E,IAAIzE,EAAMhM,EAAQmC,cACd8J,EAAahf,KAAK6e,WAAa,GAAK,MACxC7e,KAAKkV,cAAgB6J,GAAe,IAARA,EAAYA,EAAMC,EAG9Chf,KAAKkV,gBAAmBlV,KAAKkV,cAE7BlV,KAAKkiB,WAAY,EAEjBliB,KAAKyjB,QAAS,EAEdzjB,KAAKof,OAAQ,EAEbpf,KAAK0jB,UAAW,EAKhB,IAAIC,GAAqC,IAA1B5Q,EAAQ6Q,cACvB5jB,KAAK4jB,eAAiBD,EAKtB3jB,KAAKyf,gBAAkB1M,EAAQ0M,iBAAmB,OAKlDzf,KAAKP,OAAS,EAGdO,KAAK6jB,SAAU,EAGf7jB,KAAK8jB,OAAS,EAMd9jB,KAAKsV,MAAO,EAKZtV,KAAK+jB,kBAAmB,EAGxB/jB,KAAKgkB,QAAU,SAAUjQ,IAkN3B,SAAiBO,EAAQP,GACvB,IAAIgM,EAAQzL,EAAOwB,eACfR,EAAOyK,EAAMzK,KACbX,EAAKoL,EAAMnL,QAIf,GAdF,SAA4BmL,GAC1BA,EAAM8D,SAAU,EAChB9D,EAAMnL,QAAU,KAChBmL,EAAMtgB,QAAUsgB,EAAMkE,SACtBlE,EAAMkE,SAAW,EAQjBC,CAAmBnE,GAEfhM,GAtBN,SAAsBO,EAAQyL,EAAOzK,EAAMvB,EAAIY,KAC3CoL,EAAMoE,UACJ7O,EAAMgJ,EAAgB3J,EAAIZ,GAASY,EAAGZ,GAE1CO,EAAOwB,eAAesO,cAAe,EACrC9P,EAAOH,KAAK,QAASJ,GAiBbsQ,CAAa/P,EAAQyL,EAAOzK,EAAMvB,EAAIY,OAAS,CAErD,IAAI+O,EAAWY,EAAWvE,GAErB2D,GAAa3D,EAAM+D,QAAW/D,EAAMgE,mBAAoBhE,EAAMwE,iBACjEC,EAAYlQ,EAAQyL,GAGlBzK,EAEF0N,EAAWyB,EAAYnQ,EAAQyL,EAAO2D,EAAU/O,GAG9C8P,EAAWnQ,EAAQyL,EAAO2D,EAAU/O,IArOxCqP,CAAQ1P,EAAQP,IAIlB/T,KAAK4U,QAAU,KAGf5U,KAAKikB,SAAW,EAEhBjkB,KAAKukB,gBAAkB,KACvBvkB,KAAK0kB,oBAAsB,KAI3B1kB,KAAKmkB,UAAY,EAIjBnkB,KAAK2kB,aAAc,EAGnB3kB,KAAKokB,cAAe,EAGpBpkB,KAAK4kB,qBAAuB,EAI5B5kB,KAAK6kB,mBAAqB,IAAIC,EAAc9kB,MAC5CA,KAAK6kB,mBAAmBtB,KAAO,IAAIuB,EAAc9kB,MAwBnD,SAASyS,EAASM,GAKhB,GAJAL,EAASA,GAAU,yBAAQ,UAIrB1S,gBAAgByS,GAAezS,gBAAgB0S,GAAS,OAAO,IAAID,EAASM,GAElF/S,KAAK8V,eAAiB,IAAIoN,EAAcnQ,EAAS/S,MAGjDA,KAAKmT,UAAW,EAEZJ,IAC2B,mBAAlBA,EAAQ9R,QAAsBjB,KAAK+V,OAAShD,EAAQ9R,OAEjC,mBAAnB8R,EAAQgS,SAAuB/kB,KAAKglB,QAAUjS,EAAQgS,SAGnE3S,EAAO3O,KAAKzD,MAkHd,SAASilB,EAAQ3Q,EAAQyL,EAAOgF,EAAQzjB,EAAK4R,EAAOpS,EAAU6T,GAC5DoL,EAAMkE,SAAW3iB,EACjBye,EAAMnL,QAAUD,EAChBoL,EAAM8D,SAAU,EAChB9D,EAAMzK,MAAO,EACTyP,EAAQzQ,EAAO0Q,QAAQ9R,EAAO6M,EAAMiE,SAAc1P,EAAOyB,OAAO7C,EAAOpS,EAAUif,EAAMiE,SAC3FjE,EAAMzK,MAAO,EA2Cf,SAASmP,EAAWnQ,EAAQyL,EAAO2D,EAAU/O,GACtC+O,GASP,SAAsBpP,EAAQyL,GACP,IAAjBA,EAAMtgB,QAAgBsgB,EAAMmC,YAC9BnC,EAAMmC,WAAY,EAClB5N,EAAOH,KAAK,UAZC+Q,CAAa5Q,EAAQyL,GACpCA,EAAMoE,YACNxP,IACAwQ,EAAY7Q,EAAQyL,GActB,SAASyE,EAAYlQ,EAAQyL,GAC3BA,EAAMgE,kBAAmB,EACzB,IAAIqB,EAAQrF,EAAMwE,gBAElB,GAAIjQ,EAAO0Q,SAAWI,GAASA,EAAM7B,KAAM,CAEzC,IAAInC,EAAIrB,EAAM6E,qBACVnjB,EAAS,IAAI+H,MAAM4X,GACnBiE,EAAStF,EAAM8E,mBACnBQ,EAAOD,MAAQA,EAGf,IADA,IAAIE,EAAQ,EACLF,GACL3jB,EAAO6jB,GAASF,EAChBA,EAAQA,EAAM7B,KACd+B,GAAS,EAGXL,EAAQ3Q,EAAQyL,GAAO,EAAMA,EAAMtgB,OAAQgC,EAAQ,GAAI4jB,EAAOE,QAI9DxF,EAAMoE,YACNpE,EAAM2E,oBAAsB,KAC5B3E,EAAM8E,mBAAqBQ,EAAO9B,KAClC8B,EAAO9B,KAAO,SACT,CAEL,KAAO6B,GAAO,CACZ,IAAIlS,EAAQkS,EAAMlS,MACdpS,EAAWskB,EAAMtkB,SACjB6T,EAAKyQ,EAAM5J,SASf,GANAyJ,EAAQ3Q,EAAQyL,GAAO,EAFbA,EAAMlB,WAAa,EAAI3L,EAAMzT,OAEJyT,EAAOpS,EAAU6T,GACpDyQ,EAAQA,EAAM7B,KAKVxD,EAAM8D,QACR,MAIU,OAAVuB,IAAgBrF,EAAM2E,oBAAsB,MAGlD3E,EAAM6E,qBAAuB,EAC7B7E,EAAMwE,gBAAkBa,EACxBrF,EAAMgE,kBAAmB,EAiC3B,SAASO,EAAWvE,GAClB,OAAOA,EAAM0D,QAA2B,IAAjB1D,EAAMtgB,QAA0C,OAA1BsgB,EAAMwE,kBAA6BxE,EAAM2D,WAAa3D,EAAM8D,QAG3G,SAAS2B,EAAUlR,EAAQyL,GACpBA,EAAM4E,cACT5E,EAAM4E,aAAc,EACpBrQ,EAAOH,KAAK,cAIhB,SAASgR,EAAY7Q,EAAQyL,GAC3B,IAAI0F,EAAOnB,EAAWvE,GAUtB,OATI0F,IACsB,IAApB1F,EAAMoE,WACRqB,EAAUlR,EAAQyL,GAClBA,EAAM2D,UAAW,EACjBpP,EAAOH,KAAK,WAEZqR,EAAUlR,EAAQyL,IAGf0F,EAeT,SAASX,EAAc/E,GACrB,IAAI2F,EAAQ1lB,KAEZA,KAAKujB,KAAO,KACZvjB,KAAKolB,MAAQ,KAEbplB,KAAKulB,OAAS,SAAUI,GACtB,IAAIP,EAAQM,EAAMN,MAElB,IADAM,EAAMN,MAAQ,KACPA,GAAO,CACZ,IAAIzQ,EAAKyQ,EAAM5J,SACfuE,EAAMoE,YACNxP,EAAGgR,GACHP,EAAQA,EAAM7B,KAEZxD,EAAM8E,mBACR9E,EAAM8E,mBAAmBtB,KAAOmC,EAEhC3F,EAAM8E,mBAAqBa,GAldjCtR,EAAK7B,SAASE,EAAUL,GA4GxB8Q,EAAcrjB,UAAU+lB,UAAY,WAGlC,IAFA,IAAIC,EAAU7lB,KAAKukB,gBACf5a,EAAM,GACHkc,GACLlc,EAAIxE,KAAK0gB,GACTA,EAAUA,EAAQtC,KAEpB,OAAO5Z,GAGT,WACE,IACEjC,OAAOC,eAAeub,EAAcrjB,UAAW,SAAU,CACvDimB,IAAK3C,EAAaC,WAAU,WAC1B,OAAOpjB,KAAK4lB,cACX,gFAEL,MAAOrP,KAPX,GAiCA9D,EAAS5S,UAAUgT,KAAO,WACxB7S,KAAKmU,KAAK,QAAS,IAAIlU,MAAM,gCA2B/BwS,EAAS5S,UAAUoB,MAAQ,SAAUiS,EAAOpS,EAAU6T,GACpD,IAAIoL,EAAQ/f,KAAK8V,eACbpM,GAAM,EAgBV,MAdwB,mBAAb5I,IACT6T,EAAK7T,EACLA,EAAW,MAGTzB,EAAOgC,SAAS6R,GAAQpS,EAAW,SAAmBA,IAAUA,EAAWif,EAAMN,iBAEnE,mBAAP9K,IAAmBA,EAAK0O,GAE/BtD,EAAMX,MArCZ,SAAuB9K,EAAQK,GAC7B,IAAIZ,EAAK,IAAI9T,MAAM,mBAEnBqU,EAAOH,KAAK,QAASJ,GACrBuK,EAAgB3J,EAAIZ,GAiCHgS,CAAc/lB,KAAM2U,GAzBvC,SAAoBL,EAAQyL,EAAO7M,EAAOyB,GACxC,IAAIqR,GAAQ,EAEZ,IAAK3mB,EAAOgC,SAAS6R,IAA2B,iBAAVA,GAAlC,MAAwDA,IAA0C6M,EAAMlB,WAAY,CACtH,IAAI9K,EAAK,IAAI1T,UAAU,mCACvBiU,EAAOH,KAAK,QAASJ,GACrBuK,EAAgB3J,EAAIZ,GACpBiS,GAAQ,EAEV,OAAOA,EAgB2CC,CAAWjmB,KAAM+f,EAAO7M,EAAOyB,KAC/EoL,EAAMoE,YACNza,EAuCJ,SAAuB4K,EAAQyL,EAAO7M,EAAOpS,EAAU6T,GACrDzB,EAXF,SAAqB6M,EAAO7M,EAAOpS,GAC5Bif,EAAMlB,aAAsC,IAAxBkB,EAAM6D,eAA4C,iBAAV1Q,IAC/DA,EAAQ,IAAI7T,EAAO6T,EAAOpS,IAE5B,OAAOoS,EAOCgT,CAAYnG,EAAO7M,EAAOpS,GAE9BzB,EAAOgC,SAAS6R,KAAQpS,EAAW,UACvC,IAAIQ,EAAMye,EAAMlB,WAAa,EAAI3L,EAAMzT,OAEvCsgB,EAAMtgB,QAAU6B,EAEhB,IAAIoI,EAAMqW,EAAMtgB,OAASsgB,EAAM7K,cAE1BxL,IAAKqW,EAAMmC,WAAY,GAE5B,GAAInC,EAAM8D,SAAW9D,EAAM+D,OAAQ,CACjC,IAAIhI,EAAOiE,EAAM2E,oBACjB3E,EAAM2E,oBAAsB,IAAIpB,EAASpQ,EAAOpS,EAAU6T,GACtDmH,EACFA,EAAKyH,KAAOxD,EAAM2E,oBAElB3E,EAAMwE,gBAAkBxE,EAAM2E,oBAEhC3E,EAAM6E,sBAAwB,OAE9BK,EAAQ3Q,EAAQyL,GAAO,EAAOze,EAAK4R,EAAOpS,EAAU6T,GAGtD,OAAOjL,EAhECyc,CAAcnmB,KAAM+f,EAAO7M,EAAOpS,EAAU6T,IAG7CjL,GAGT+I,EAAS5S,UAAUumB,KAAO,WACZpmB,KAAK8V,eAEXgO,UAGRrR,EAAS5S,UAAUwmB,OAAS,WAC1B,IAAItG,EAAQ/f,KAAK8V,eAEbiK,EAAM+D,SACR/D,EAAM+D,SAED/D,EAAM8D,SAAY9D,EAAM+D,QAAW/D,EAAM2D,UAAa3D,EAAMgE,mBAAoBhE,EAAMwE,iBAAiBC,EAAYxkB,KAAM+f,KAIlItN,EAAS5S,UAAUymB,mBAAqB,SAA4BxlB,GAGlE,GADwB,iBAAbA,IAAuBA,EAAWA,EAASwB,iBAChD,CAAC,MAAO,OAAQ,QAAS,QAAS,SAAU,SAAU,OAAQ,QAAS,UAAW,WAAY,OAAOkB,SAAS1C,EAAW,IAAIwB,gBAAkB,GAAI,MAAM,IAAIjC,UAAU,qBAAuBS,GACpMd,KAAK8V,eAAe2J,gBAAkB3e,GAiKxC2R,EAAS5S,UAAUkW,OAAS,SAAU7C,EAAOpS,EAAU6T,GACrDA,EAAG,IAAI1U,MAAM,qBAGfwS,EAAS5S,UAAUmlB,QAAU,KAE7BvS,EAAS5S,UAAU4C,IAAM,SAAUyQ,EAAOpS,EAAU6T,GAClD,IAAIoL,EAAQ/f,KAAK8V,eAEI,mBAAV5C,GACTyB,EAAKzB,EACLA,EAAQ,KACRpS,EAAW,MACkB,mBAAbA,IAChB6T,EAAK7T,EACLA,EAAW,MAGToS,SAAuClT,KAAKiB,MAAMiS,EAAOpS,GAGzDif,EAAM+D,SACR/D,EAAM+D,OAAS,EACf9jB,KAAKqmB,UAIFtG,EAAM0D,QAAW1D,EAAM2D,UA4B9B,SAAqBpP,EAAQyL,EAAOpL,GAClCoL,EAAM0D,QAAS,EACf0B,EAAY7Q,EAAQyL,GAChBpL,IACEoL,EAAM2D,SAAUpF,EAAgB3J,GAASL,EAAOqB,KAAK,SAAUhB,IAErEoL,EAAMX,OAAQ,EACd9K,EAAOnB,UAAW,EAnCoBoT,CAAYvmB,KAAM+f,EAAOpL,M;;;;;;mGC7bjE,IAAI6R,EAAa9e,OAAO+e,MAAQ,SAAUrlB,GACxC,IAAIqlB,EAAO,GACX,IAAK,IAAIxQ,KAAO7U,EACdqlB,EAAKthB,KAAK8Q,GACX,OAAOwQ,GAIV9W,EAAO9I,QAAU6L,EAGjB,IAAI4L,EAAkB,6BAAQ,QAI1BlK,EAAO,qBAAQ,QACnBA,EAAK7B,SAAW,iBAAQ,QAGxB,IAAIC,EAAW,2BAAQ,QACnBC,EAAW,2BAAQ,QAEvB2B,EAAK7B,SAASG,EAAQF,GAGtB,IADA,IAAIiU,EAAOD,EAAW/T,EAAS5S,WACtB6mB,EAAI,EAAGA,EAAID,EAAKhnB,OAAQinB,IAAK,CACpC,IAAI9D,EAAS6D,EAAKC,GACbhU,EAAO7S,UAAU+iB,KAASlQ,EAAO7S,UAAU+iB,GAAUnQ,EAAS5S,UAAU+iB,IAG/E,SAASlQ,EAAOK,GACd,KAAM/S,gBAAgB0S,GAAS,OAAO,IAAIA,EAAOK,GAEjDP,EAAS/O,KAAKzD,KAAM+S,GACpBN,EAAShP,KAAKzD,KAAM+S,GAEhBA,IAAgC,IAArBA,EAAQO,WAAoBtT,KAAKsT,UAAW,GAEvDP,IAAgC,IAArBA,EAAQI,WAAoBnT,KAAKmT,UAAW,GAE3DnT,KAAK2mB,eAAgB,EACjB5T,IAAqC,IAA1BA,EAAQ4T,gBAAyB3mB,KAAK2mB,eAAgB,GAErE3mB,KAAK2V,KAAK,MAAOjC,GAInB,SAASA,IAGH1T,KAAK2mB,eAAiB3mB,KAAK8V,eAAesJ,OAI9Cd,EAAgBsI,EAAS5mB,MAG3B,SAAS4mB,EAAQ7Y,GACfA,EAAKtL","file":"vendors~LandingOrgUpdates~LandingRichTextDisplay.8cb6a0c74a3debdc94ff.bundle.js","sourcesContent":["/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \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 ''\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","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","module.exports = require(\"./lib/_stream_duplex.js\")\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.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","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","module.exports = require(\"./lib/_stream_writable.js\")\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/readable.js');\nStream.Writable = require('readable-stream/writable.js');\nStream.Duplex = require('readable-stream/duplex.js');\nStream.Transform = require('readable-stream/transform.js');\nStream.PassThrough = require('readable-stream/passthrough.js');\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n","// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\n\nvar Duplex = require('./_stream_duplex');\n\n/**/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/**/\n\nutil.inherits(Transform, Duplex);\n\nfunction TransformState(stream) {\n this.afterTransform = function (er, data) {\n return afterTransform(stream, er, data);\n };\n\n this.needTransform = false;\n this.transforming = false;\n this.writecb = null;\n this.writechunk = null;\n this.writeencoding = null;\n}\n\nfunction afterTransform(stream, er, data) {\n var ts = stream._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb) return stream.emit('error', new Error('no writecb in Transform class'));\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data !== null && data !== undefined) stream.push(data);\n\n cb(er);\n\n var rs = stream._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n stream._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n\n Duplex.call(this, options);\n\n this._transformState = new TransformState(this);\n\n // when the writable side finishes, then flush out anything remaining.\n var stream = this;\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n this.once('prefinish', function () {\n if (typeof this._flush === 'function') this._flush(function (er) {\n done(stream, er);\n });else done(stream);\n });\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n throw new Error('not implemented');\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nfunction done(stream, er) {\n if (er) return stream.emit('error', er);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n var ws = stream._writableState;\n var ts = stream._transformState;\n\n if (ws.length) throw new Error('calling transform done when ws.length != 0');\n\n if (ts.transforming) throw new Error('calling transform done when still transforming');\n\n return stream.push(null);\n}","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","module.exports = require(\"./lib/_stream_passthrough.js\")\n","'use strict';\n\nif (!process.version ||\n process.version.indexOf('v0.') === 0 ||\n process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n module.exports = nextTick;\n} else {\n module.exports = process.nextTick;\n}\n\nfunction nextTick(fn, arg1, arg2, arg3) {\n if (typeof fn !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n var len = arguments.length;\n var args, i;\n switch (len) {\n case 0:\n case 1:\n return process.nextTick(fn);\n case 2:\n return process.nextTick(function afterTickOne() {\n fn.call(null, arg1);\n });\n case 3:\n return process.nextTick(function afterTickTwo() {\n fn.call(null, arg1, arg2);\n });\n case 4:\n return process.nextTick(function afterTickThree() {\n fn.call(null, arg1, arg2, arg3);\n });\n default:\n args = new Array(len - 1);\n i = 0;\n while (i < args.length) {\n args[i++] = arguments[i];\n }\n return process.nextTick(function afterTick() {\n fn.apply(null, args);\n });\n }\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('buffer').Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\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\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n 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 =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\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 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 parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a