{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/whatwg-fetch/fetch.js","webpack:///./source/library/Polyfills/index.ts","webpack:///./source/features/anchor-navigator/AnchorNavigatorElement.ts","webpack:///./source/features/info-viewer/InfoViewerElement.ts","webpack:///./source/pages/info-page.ts","webpack:///./source/features/help/HotkeyViewerElement.ts","webpack:///./source/images/tap-45.svg","webpack:///./source/images/swipe-left-45.svg","webpack:///./source/images/swipe-right-45.svg","webpack:///./source/images/long-press-45.svg","webpack:///./source/features/help/GestureStore.ts","webpack:///./source/features/help/GestureViewerElement.ts","webpack:///./node_modules/ext/global-this/index.js","webpack:///./node_modules/d/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/es5-ext/object/is-value.js","webpack:///./source/library/DOMLite.ts","webpack:///./node_modules/type/value/is.js","webpack:///./node_modules/es6-symbol/validate-symbol.js","webpack:///./node_modules/url-polyfill/url-polyfill.js","webpack:///./source/features/site-header/SiteHeaderElement.ts","webpack:///./source/features/help/HotkeyStore.ts","webpack:///./node_modules/es6-promise/dist/es6-promise.js","webpack:///./source/features/site-footer/index.ts","webpack:///./node_modules/es6-promise/auto.js","webpack:///./source/library/Polyfills/RequestAnimationFrame.ts","webpack:///./source/library/Polyfills/RequestIdleCallback.js","webpack:///./source/library/Polyfills/custom-elements-es5-adapter.js","webpack:///./node_modules/document-register-element/build/document-register-element.js","webpack:///./source/pages/help/index.ts","webpack:///./source/pages/help/help.md?2748","webpack:///./node_modules/es6-symbol/implement.js","webpack:///./node_modules/es6-symbol/is-implemented.js","webpack:///./node_modules/ext/global-this/is-implemented.js","webpack:///./source/library/Formatting.ts","webpack:///./node_modules/ext/global-this/implementation.js","webpack:///./node_modules/es6-symbol/polyfill.js","webpack:///./node_modules/type/plain-function/is.js","webpack:///./node_modules/type/function/is.js","webpack:///./node_modules/type/prototype/is.js","webpack:///./node_modules/type/object/is.js","webpack:///./node_modules/es5-ext/object/assign/index.js","webpack:///./node_modules/es5-ext/object/assign/is-implemented.js","webpack:///./node_modules/es5-ext/object/assign/shim.js","webpack:///./node_modules/es5-ext/object/keys/index.js","webpack:///./node_modules/es5-ext/object/keys/is-implemented.js","webpack:///./node_modules/es5-ext/object/keys/shim.js","webpack:///./node_modules/es5-ext/function/noop.js","webpack:///./node_modules/es5-ext/object/valid-value.js","webpack:///./node_modules/es5-ext/object/normalize-options.js","webpack:///./node_modules/es5-ext/string/#/contains/index.js","webpack:///./node_modules/es5-ext/string/#/contains/is-implemented.js","webpack:///./node_modules/es5-ext/string/#/contains/shim.js","webpack:///./node_modules/es6-symbol/is-symbol.js","webpack:///./node_modules/es6-symbol/lib/private/generate-name.js","webpack:///./source/library/DOM.ts","webpack:///./node_modules/es6-symbol/lib/private/setup/standard-symbols.js","webpack:///./node_modules/es6-symbol/lib/private/setup/symbol-registry.js","webpack:///./node_modules/fastestsmallesttextencoderdecoder/EncoderDecoderTogether.min.js","webpack:///./source/library/Polyfills/toggleAttribute.js","webpack:///./source/features/site-header/SiteHeader-static.html","webpack:///./source/features/site-header/SiteHeader-logged-in-static.html","webpack:///./source/features/site-footer/SiteFooter-static.html"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","installedModules","installedCssChunks","2","__webpack_require__","exports","module","l","e","promises","Promise","resolve","reject","href","fullhref","p","existingLinkTags","document","getElementsByTagName","dataHref","tag","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","jsonpScriptSrc","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","head","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","s","extendStatics","b","setPrototypeOf","__proto__","Array","__extends","TypeError","String","__","this","constructor","__assign","assign","arguments","apply","__decorate","decorators","desc","getOwnPropertyDescriptor","Reflect","decorate","__awaiter","thisArg","_arguments","P","generator","fulfilled","step","next","rejected","result","done","__generator","body","f","y","g","_","label","sent","trys","ops","verb","iterator","v","op","pop","__values","__read","ar","__spreadArray","to","from","pack","concat","__makeTemplateObject","cooked","raw","SuppressedError","global","self","support","Blob","viewClasses","isArrayBufferView","ArrayBuffer","isView","obj","indexOf","toString","normalizeName","test","toLowerCase","normalizeValue","iteratorFor","items","Headers","headers","map","forEach","append","isArray","header","getOwnPropertyNames","consumed","bodyUsed","fileReaderReady","reader","readBlobAsArrayBuffer","blob","FileReader","readAsArrayBuffer","bufferClone","buf","view","Uint8Array","byteLength","set","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","arrayBuffer","text","readAsText","chars","fromCharCode","join","readArrayBufferAsText","formData","decode","json","JSON","parse","oldValue","has","callback","keys","values","entries","methods","Request","input","options","method","upcased","url","credentials","signal","toUpperCase","referrer","cache","reParamSearch","replace","Date","getTime","form","trim","split","bytes","decodeURIComponent","Response","bodyInit","status","ok","statusText","clone","response","redirectStatuses","redirect","RangeError","location","DOMException","fetch","init","aborted","xhr","XMLHttpRequest","abortXhr","abort","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","onabort","open","fixUrl","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","send","stack","polyfill","navigator","userAgent","DOM","ready","handleFirstTab","keyCode","classList","add","itemView","item","id","title","children","connectedCallback","current","source","querySelector","h1s","querySelectorAll","element","nodeName","innerText","innerHTML","HTMLElement","customElements","define","escape","htmlEscape","_areas","area","descritpion","hotKeyView","hotkey","altKey","ctrlKey","substring","keyView","keySet","hotkeys","description","areaView","keySets","a","keysets","instance","insertAdjacentHTML","ClassName","HotkeyViewerElement","_gestureSets","gesture","GestureStore","_instance","Formatting","icons","gestureSet","gestures","gestureSets","globalThis","isValue","isPlainFunction","normalizeOpts","contains","dscr","w","configurable","writable","gs","Function","_undefined","val","createIsolated","root","attachShadow","DOMLite","isolatedElementView","isSymbol","iteratorSupported","checkIfIteratorIsSupported","createIterator","serializeParam","encodeURIComponent","deserializeParam","checkIfURLSearchParamsSupported","searchString","typeofSearchString","_fromString","_this","entry","proto","_entries","delete","getAll","searchArray","polyfillURLSearchParams","sort","attribute","attributes","u","URL","pathname","searchParams","checkIfURLIsSupported","_URL","base","baseElement","doc","implementation","createHTMLDocument","anchorElement","inputElement","protocol","checkValidity","search","enableSearchUpdate","enableSearchParamsUpdate","methodName","attributeName","_anchorElement","linkURLWithAnchorAttribute","_updateSearchParams","defineProperties","expectedPort","addPortToOrigin","port","hostname","createObjectURL","revokeObjectURL","polyfillURL","getOrigin","setInterval","origin","scrollHandler","scrollTop","documentElement","remove","passive","disconnectedCallback","hash","globalHandlers","_keySets","requestIdleCallback","ev","closest","hasAttribute","preventDefault","cancelBubble","HotkeyStore","confirm","registerGlobal","filter","lookup","log","factory","isFunction","x","len","vertxNext","customSchedulerFn","asap","arg","queue","flush","scheduleFlush","browserWindow","browserGlobal","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","isNode","process","isWorker","Uint8ClampedArray","importScripts","MessageChannel","useSetTimeout","globalSetTimeout","channel","iterations","observer","node","onFulfillment","onRejection","parent","child","noop","PROMISE_ID","makePromise","_state","invokeCallback","_result","subscribe","resolve$1","nextTick","createTextNode","observe","characterData","port1","onmessage","port2","postMessage","vertx","require","runOnLoop","runOnContext","attemptVertx","Math","random","handleMaybeThenable","maybeThenable","then$$1","thenable","fulfill","reason","handleOwnThenable","sealed","fulfillmentHandler","rejectionHandler","tryThen","_label","handleForeignThenable","publishRejection","_onerror","publish","_subscribers","subscribers","settled","detail","hasCallback","succeeded","Enumerator","Constructor","_instanceConstructor","_remaining","_enumerate","_eachEntry","resolve$$1","_then","didError","_settledAt","Promise$1","_willSettleAt","state","enumerator","resolver","needsResolver","initializePromise","needsNew","catch","finally","race","_setScheduler","scheduleFn","_setAsap","asapFn","_asap","local","promiseToString","cast","lastTime","requestAnimationFrame","currTime","timeToCall","max","cancelAnimationFrame","cb","start","now","didTimeout","timeRemaining","cancelIdleCallback","BuiltInHTMLElement","construct","A","splice","et","T","ke","ie","Ge","ce","le","ne","te","currentTarget","attrChange","attrName","Q","W","at","j","prevValue","newValue","lt","J","B","Ue","xe","ue","Xe","O","V","ae","Se","I","Ye","ot","D","k","ee","Y","X","created","h","Ze","S","q","L","M","Z","Fe","observedAttributes","pe","_e","Ae","He","Oe","De","be","H","z","G","K","$","Ie","R","Ne","E","is","nodeValue","we","ge","de","We","tt","rt","C","collections","HTMLAllCollection","HTMLCollection","HTMLFormControlsCollection","HTMLOptionsCollection","elements","Element","HTMLAnchorElement","HTMLAppletElement","HTMLAreaElement","HTMLAttachmentElement","HTMLAudioElement","HTMLBRElement","HTMLBaseElement","HTMLBodyElement","HTMLButtonElement","HTMLCanvasElement","HTMLContentElement","HTMLDListElement","HTMLDataElement","HTMLDataListElement","HTMLDetailsElement","HTMLDialogElement","HTMLDirectoryElement","HTMLDivElement","HTMLDocument","HTMLEmbedElement","HTMLFieldSetElement","HTMLFontElement","HTMLFormElement","HTMLFrameElement","HTMLFrameSetElement","HTMLHRElement","HTMLHeadElement","HTMLHeadingElement","HTMLHtmlElement","HTMLIFrameElement","HTMLImageElement","HTMLInputElement","HTMLKeygenElement","HTMLLIElement","HTMLLabelElement","HTMLLegendElement","HTMLLinkElement","HTMLMapElement","HTMLMarqueeElement","HTMLMediaElement","HTMLMenuElement","HTMLMenuItemElement","HTMLMetaElement","HTMLMeterElement","HTMLModElement","HTMLOListElement","HTMLObjectElement","HTMLOptGroupElement","HTMLOptionElement","HTMLOutputElement","HTMLParagraphElement","HTMLParamElement","HTMLPictureElement","HTMLPreElement","HTMLProgressElement","HTMLQuoteElement","HTMLScriptElement","HTMLSelectElement","HTMLShadowElement","HTMLSlotElement","HTMLSourceElement","HTMLSpanElement","HTMLStyleElement","HTMLTableCaptionElement","HTMLTableCellElement","HTMLTableColElement","HTMLTableElement","HTMLTableRowElement","HTMLTableSectionElement","HTMLTemplateElement","HTMLTextAreaElement","HTMLTimeElement","HTMLTitleElement","HTMLTrackElement","HTMLUListElement","HTMLUnknownElement","HTMLVideoElement","nodes","Attr","Audio","CDATASection","CharacterData","Comment","Document","DocumentFragment","DocumentType","Image","Option","ProcessingInstruction","ShadowRoot","Text","XMLDocument","N","F","U","re","se","me","fe","he","Te","Le","getPrototypeOf","Me","Ee","whenDefined","ye","Ce","Map","ct","Ve","Pe","Re","Node","nodeType","qe","Be","cloneNode","je","dispatchEvent","ze","Ke","removeAttribute","$e","Qe","importNode","attributeOldValue","Je","nt","removedNodes","childNodes","lastChild","disconnect","childList","subtree","CustomEvent","bubbles","MODIFICATION","propertyName","className","addedNodes","createDocumentFragment","innerHTMLHelper","noBuiltIn","RegExp","outerHTML","st","it","ut","validTypes","symbol","toPrimitive","date","getDate","getMonth","getFullYear","shortDate","shortDateTime","getHours","pad","getMinutes","shortDateNamedMonth","wantedLength","slugify","mapAny","arr","areEqual","a1","a2","every","capitalize","charAt","titleize","str","deslugify","wordSplitRegex","uppercase","multipleWhitespace","titleizeRegex","literals","placeholders","endsWith","toLocaleLowerCase","htmlDecode","div","textContent","htmlEncode","htmlEncode2","prettyfyUrl","host","path","decodeURI","range","lowEnd","highEnd","nameof","naiveFallback","__global__","SymbolPolyfill","HiddenSymbol","isNativeSafe","validateSymbol","NativeSymbol","generateName","setupStandardSymbols","setupSymbolRegistry","ignore","__description__","__name__","valueOf","classRe","functionToString","isPrototype","isObject","possibleTypes","foo","bar","trzy","dest","opts1","objPrototype","ie11BugWorkaround","postfix","serializeInto","elementsQuery","leaf","pathElement","checked","serialize","deserialize","toggleAttribute","doScroll","getCookie","cookie","match","removecookie","configurePage","fadeOut","speed","style","opacity","fade","parseFloat","display","html","firstElementChild","fadeIn","expand","pos","transformOrigin","transform","slideUp","transition","comparer","parentElement","isElementInViewport","rectangle","getBoundingClientRect","top","left","bottom","innerHeight","clientHeight","right","innerWidth","clientWidth","isScrolledToBottom","scrollHeight","offsetHeight","padding","adjustHandler","height","destroy","hasInstance","isConcatSpreadable","species","unscopables","registry","for","keyFor","SharedArrayBuffer","TextEncoder","Uint16Array","encode","charCodeAt","subarray","TextDecoder","force"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GAKAK,EAAI,EAAGC,EAAW,GACpCD,EAAIF,EAASI,OAAQF,IACzBH,EAAUC,EAASE,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBV,IAAYU,EAAgBV,IACpFI,EAASO,KAAKD,EAAgBV,GAAS,IAExCU,EAAgBV,GAAW,EAE5B,IAAID,KAAYG,EACZI,OAAOC,UAAUC,eAAeC,KAAKP,EAAaH,KACpDa,EAAQb,GAAYG,EAAYH,IAKlC,IAFGc,GAAqBA,EAAoBf,GAEtCM,EAASC,QACdD,EAASU,OAATV,GAOF,IAAIW,EAAmB,GAGnBC,EAAqB,CACxBC,EAAG,GAMAP,EAAkB,CACrBO,EAAG,GAWJ,SAASC,EAAoBnB,GAG5B,GAAGgB,EAAiBhB,GACnB,OAAOgB,EAAiBhB,GAAUoB,QAGnC,IAAIC,EAASL,EAAiBhB,GAAY,CACzCI,EAAGJ,EACHsB,GAAG,EACHF,QAAS,IAUV,OANAP,EAAQb,GAAUU,KAAKW,EAAOD,QAASC,EAAQA,EAAOD,QAASD,GAG/DE,EAAOC,GAAI,EAGJD,EAAOD,QAKfD,EAAoBI,EAAI,SAAuBtB,GAC9C,IAAIuB,EAAW,GAKZP,EAAmBhB,GAAUuB,EAASZ,KAAKK,EAAmBhB,IACzB,IAAhCgB,EAAmBhB,IAFX,CAAC,EAAI,GAEkCA,IACtDuB,EAASZ,KAAKK,EAAmBhB,GAAW,IAAIwB,SAAQ,SAASC,EAASC,GAIzE,IAHA,IAAIC,EAAY3B,EAAL,4BACP4B,EAAWV,EAAoBW,EAAIF,EACnCG,EAAmBC,SAASC,qBAAqB,QAC7C7B,EAAI,EAAGA,EAAI2B,EAAiBzB,OAAQF,IAAK,CAChD,IACI8B,GADAC,EAAMJ,EAAiB3B,IACRgC,aAAa,cAAgBD,EAAIC,aAAa,QACjE,GAAe,eAAZD,EAAIE,MAAyBH,IAAaN,GAAQM,IAAaL,GAAW,OAAOH,IAErF,IAAIY,EAAoBN,SAASC,qBAAqB,SACtD,IAAQ7B,EAAI,EAAGA,EAAIkC,EAAkBhC,OAAQF,IAAK,CACjD,IAAI+B,EAEJ,IADID,GADAC,EAAMG,EAAkBlC,IACTgC,aAAa,gBAChBR,GAAQM,IAAaL,EAAU,OAAOH,IAEvD,IAAIa,EAAUP,SAASQ,cAAc,QACrCD,EAAQF,IAAM,aACdE,EAAQE,KAAO,WACfF,EAAQG,OAAShB,EACjBa,EAAQI,QAAU,SAASC,GAC1B,IAAIC,EAAUD,GAASA,EAAME,QAAUF,EAAME,OAAOC,KAAOlB,EACvDmB,EAAM,IAAIC,MAAM,qBAAuBhD,EAAU,cAAgB4C,EAAU,KAC/EG,EAAIE,KAAO,wBACXF,EAAIH,QAAUA,SACP5B,EAAmBhB,GAC1BsC,EAAQY,WAAWC,YAAYb,GAC/BZ,EAAOqB,IAERT,EAAQX,KAAOC,EAEJG,SAASC,qBAAqB,QAAQ,GAC5CoB,YAAYd,MACfe,MAAK,WACPrC,EAAmBhB,GAAW,MAMhC,IAAIsD,EAAqB5C,EAAgBV,GACzC,GAA0B,IAAvBsD,EAGF,GAAGA,EACF/B,EAASZ,KAAK2C,EAAmB,QAC3B,CAEN,IAAIC,EAAU,IAAI/B,SAAQ,SAASC,EAASC,GAC3C4B,EAAqB5C,EAAgBV,GAAW,CAACyB,EAASC,MAE3DH,EAASZ,KAAK2C,EAAmB,GAAKC,GAGtC,IACIC,EADAC,EAAS1B,SAASQ,cAAc,UAGpCkB,EAAOC,QAAU,QACjBD,EAAOE,QAAU,IACbzC,EAAoB0C,IACvBH,EAAOI,aAAa,QAAS3C,EAAoB0C,IAElDH,EAAOX,IAnGV,SAAwB9C,GACvB,OAAOkB,EAAoBW,EAApBX,yBAA6D,CAAC,EAAI,UAAUlB,IAAUA,GAAW,aAkGzF8D,CAAe9D,GAG5B,IAAI+D,EAAQ,IAAIf,MAChBQ,EAAmB,SAAUb,GAE5Bc,EAAOf,QAAUe,EAAOhB,OAAS,KACjCuB,aAAaL,GACb,IAAIM,EAAQvD,EAAgBV,GAC5B,GAAa,IAAViE,EAAa,CACf,GAAGA,EAAO,CACT,IAAIC,EAAYvB,IAAyB,SAAfA,EAAMH,KAAkB,UAAYG,EAAMH,MAChE2B,EAAUxB,GAASA,EAAME,QAAUF,EAAME,OAAOC,IACpDiB,EAAMK,QAAU,iBAAmBpE,EAAU,cAAgBkE,EAAY,KAAOC,EAAU,IAC1FJ,EAAMM,KAAO,iBACbN,EAAMvB,KAAO0B,EACbH,EAAMnB,QAAUuB,EAChBF,EAAM,GAAGF,GAEVrD,EAAgBV,QAAWsE,IAG7B,IAAIX,EAAUY,YAAW,WACxBf,EAAiB,CAAEhB,KAAM,UAAWK,OAAQY,MAC1C,MACHA,EAAOf,QAAUe,EAAOhB,OAASe,EACjCzB,SAASyC,KAAKpB,YAAYK,GAG5B,OAAOjC,QAAQiD,IAAIlD,IAIpBL,EAAoBwD,EAAI9D,EAGxBM,EAAoByD,EAAI5D,EAGxBG,EAAoB0D,EAAI,SAASzD,EAASkD,EAAMQ,GAC3C3D,EAAoB4D,EAAE3D,EAASkD,IAClC/D,OAAOyE,eAAe5D,EAASkD,EAAM,CAAEW,YAAY,EAAMC,IAAKJ,KAKhE3D,EAAoBgE,EAAI,SAAS/D,GACX,oBAAXgE,QAA0BA,OAAOC,aAC1C9E,OAAOyE,eAAe5D,EAASgE,OAAOC,YAAa,CAAEC,MAAO,WAE7D/E,OAAOyE,eAAe5D,EAAS,aAAc,CAAEkE,OAAO,KAQvDnE,EAAoBoE,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQnE,EAAoBmE,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKnF,OAAOoF,OAAO,MAGvB,GAFAxE,EAAoBgE,EAAEO,GACtBnF,OAAOyE,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOnE,EAAoB0D,EAAEa,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRvE,EAAoB2E,EAAI,SAASzE,GAChC,IAAIyD,EAASzD,GAAUA,EAAOoE,WAC7B,WAAwB,OAAOpE,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAF,EAAoB0D,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR3D,EAAoB4D,EAAI,SAASgB,EAAQC,GAAY,OAAOzF,OAAOC,UAAUC,eAAeC,KAAKqF,EAAQC,IAGzG7E,EAAoBW,EAAI,gBAGxBX,EAAoB8E,GAAK,SAASjD,GAA2B,MAApBkD,QAAQlC,MAAMhB,GAAYA,GAEnE,IAAImD,EAAaC,OAAqB,aAAIA,OAAqB,cAAK,GAChEC,EAAmBF,EAAWvF,KAAKiF,KAAKM,GAC5CA,EAAWvF,KAAOd,EAClBqG,EAAaA,EAAWG,QACxB,IAAI,IAAIlG,EAAI,EAAGA,EAAI+F,EAAW7F,OAAQF,IAAKN,EAAqBqG,EAAW/F,IAC3E,IAAIU,EAAsBuF,EAInBlF,EAAoBA,EAAoBoF,EAAI,K,iCCnPrD,kTAgBA,IAAIC,EAAgB,SAAS3B,EAAG4B,GAI5B,OAHAD,EAAgBjG,OAAOmG,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAU/B,EAAG4B,GAAK5B,EAAE8B,UAAYF,IACvE,SAAU5B,EAAG4B,GAAK,IAAK,IAAI3E,KAAK2E,EAAOlG,OAAOC,UAAUC,eAAeC,KAAK+F,EAAG3E,KAAI+C,EAAE/C,GAAK2E,EAAE3E,MAC3E+C,EAAG4B,IAGrB,SAASI,EAAUhC,EAAG4B,GACzB,GAAiB,mBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIK,UAAU,uBAAyBC,OAAON,GAAK,iCAE7D,SAASO,IAAOC,KAAKC,YAAcrC,EADnC2B,EAAc3B,EAAG4B,GAEjB5B,EAAErE,UAAkB,OAANiG,EAAalG,OAAOoF,OAAOc,IAAMO,EAAGxG,UAAYiG,EAAEjG,UAAW,IAAIwG,GAG5E,IAAIG,EAAW,WAQlB,OAPAA,EAAW5G,OAAO6G,QAAU,SAAkB7B,GAC1C,IAAK,IAAIgB,EAAGnG,EAAI,EAAG0F,EAAIuB,UAAU/G,OAAQF,EAAI0F,EAAG1F,IAE5C,IAAK,IAAI0B,KADTyE,EAAIc,UAAUjH,GACOG,OAAOC,UAAUC,eAAeC,KAAK6F,EAAGzE,KAAIyD,EAAEzD,GAAKyE,EAAEzE,IAE9E,OAAOyD,IAEK+B,MAAML,KAAMI,YAezB,SAASE,EAAWC,EAAY1E,EAAQ8C,EAAK6B,GAChD,IAA2H5C,EAAvHD,EAAIyC,UAAU/G,OAAQ6E,EAAIP,EAAI,EAAI9B,EAAkB,OAAT2E,EAAgBA,EAAOlH,OAAOmH,yBAAyB5E,EAAQ8C,GAAO6B,EACrH,GAAuB,iBAAZE,SAAoD,mBAArBA,QAAQC,SAAyBzC,EAAIwC,QAAQC,SAASJ,EAAY1E,EAAQ8C,EAAK6B,QACpH,IAAK,IAAIrH,EAAIoH,EAAWlH,OAAS,EAAGF,GAAK,EAAGA,KAASyE,EAAI2C,EAAWpH,MAAI+E,GAAKP,EAAI,EAAIC,EAAEM,GAAKP,EAAI,EAAIC,EAAE/B,EAAQ8C,EAAKT,GAAKN,EAAE/B,EAAQ8C,KAAST,GAChJ,OAAOP,EAAI,GAAKO,GAAK5E,OAAOyE,eAAelC,EAAQ8C,EAAKT,GAAIA,EAwDzD,SAAS0C,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIvG,WAAU,SAAUC,EAASC,GAC/C,SAASuG,EAAU5C,GAAS,IAAM6C,EAAKF,EAAUG,KAAK9C,IAAW,MAAO/D,GAAKI,EAAOJ,IACpF,SAAS8G,EAAS/C,GAAS,IAAM6C,EAAKF,EAAiB,MAAE3C,IAAW,MAAO/D,GAAKI,EAAOJ,IACvF,SAAS4G,EAAKG,GAJlB,IAAehD,EAIagD,EAAOC,KAAO7G,EAAQ4G,EAAOhD,QAJ1CA,EAIyDgD,EAAOhD,MAJhDA,aAAiB0C,EAAI1C,EAAQ,IAAI0C,GAAE,SAAUtG,GAAWA,EAAQ4D,OAIThC,KAAK4E,EAAWG,GAClGF,GAAMF,EAAYA,EAAUX,MAAMQ,EAASC,GAAc,KAAKK,WAI/D,SAASI,EAAYV,EAASW,GACjC,IAAsGC,EAAGC,EAAGpD,EAAGqD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPxD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAOyD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAER,KAAMc,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,mBAAX9D,SAA0BwD,EAAExD,OAAO+D,UAAY,WAAa,OAAOlC,OAAU2B,EACvJ,SAASM,EAAKpD,GAAK,OAAO,SAAUsD,GAAK,OACzC,SAAcC,GACV,GAAIX,EAAG,MAAM,IAAI5B,UAAU,mCAC3B,KAAO8B,IAAMA,EAAI,EAAGS,EAAG,KAAOR,EAAI,IAAKA,GAAG,IACtC,GAAIH,EAAI,EAAGC,IAAMpD,EAAY,EAAR8D,EAAG,GAASV,EAAU,OAAIU,EAAG,GAAKV,EAAS,SAAOpD,EAAIoD,EAAU,SAAMpD,EAAE7E,KAAKiI,GAAI,GAAKA,EAAEP,SAAW7C,EAAIA,EAAE7E,KAAKiI,EAAGU,EAAG,KAAKd,KAAM,OAAOhD,EAE3J,OADIoD,EAAI,EAAGpD,IAAG8D,EAAK,CAAS,EAARA,EAAG,GAAQ9D,EAAED,QACzB+D,EAAG,IACP,KAAK,EAAG,KAAK,EAAG9D,EAAI8D,EAAI,MACxB,KAAK,EAAc,OAAXR,EAAEC,QAAgB,CAAExD,MAAO+D,EAAG,GAAId,MAAM,GAChD,KAAK,EAAGM,EAAEC,QAASH,EAAIU,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKR,EAAEI,IAAIK,MAAOT,EAAEG,KAAKM,MAAO,SACxC,QACI,KAAM/D,EAAIsD,EAAEG,MAAMzD,EAAIA,EAAEjF,OAAS,GAAKiF,EAAEA,EAAEjF,OAAS,KAAkB,IAAV+I,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAER,EAAI,EAAG,SACjG,GAAc,IAAVQ,EAAG,MAAc9D,GAAM8D,EAAG,GAAK9D,EAAE,IAAM8D,EAAG,GAAK9D,EAAE,IAAM,CAAEsD,EAAEC,MAAQO,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYR,EAAEC,MAAQvD,EAAE,GAAI,CAAEsD,EAAEC,MAAQvD,EAAE,GAAIA,EAAI8D,EAAI,MAC7D,GAAI9D,GAAKsD,EAAEC,MAAQvD,EAAE,GAAI,CAAEsD,EAAEC,MAAQvD,EAAE,GAAIsD,EAAEI,IAAIrI,KAAKyI,GAAK,MACvD9D,EAAE,IAAIsD,EAAEI,IAAIK,MAChBT,EAAEG,KAAKM,MAAO,SAEtBD,EAAKZ,EAAK/H,KAAKoH,EAASe,GAC1B,MAAOtH,GAAK8H,EAAK,CAAC,EAAG9H,GAAIoH,EAAI,EAAK,QAAUD,EAAInD,EAAI,EACtD,GAAY,EAAR8D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAE/D,MAAO+D,EAAG,GAAKA,EAAG,QAAK,EAAQd,MAAM,GArB9BJ,CAAK,CAACrC,EAAGsD,MAyBhC7I,OAAOoF,OAgB7B,SAAS4D,EAASxE,GACrB,IAAIwB,EAAsB,mBAAXnB,QAAyBA,OAAO+D,SAAUxE,EAAI4B,GAAKxB,EAAEwB,GAAInG,EAAI,EAC5E,GAAIuE,EAAG,OAAOA,EAAEjE,KAAKqE,GACrB,GAAIA,GAAyB,iBAAbA,EAAEzE,OAAqB,MAAO,CAC1C8H,KAAM,WAEF,OADIrD,GAAK3E,GAAK2E,EAAEzE,SAAQyE,OAAI,GACrB,CAAEO,MAAOP,GAAKA,EAAE3E,KAAMmI,MAAOxD,KAG5C,MAAM,IAAI+B,UAAUP,EAAI,0BAA4B,mCAGjD,SAASiD,EAAOzE,EAAGe,GACtB,IAAInB,EAAsB,mBAAXS,QAAyBL,EAAEK,OAAO+D,UACjD,IAAKxE,EAAG,OAAOI,EACf,IAAmBI,EAAY5D,EAA3BnB,EAAIuE,EAAEjE,KAAKqE,GAAO0E,EAAK,GAC3B,IACI,WAAc,IAAN3D,GAAgBA,KAAM,MAAQX,EAAI/E,EAAEgI,QAAQG,MAAMkB,EAAG7I,KAAKuE,EAAEG,OAExE,MAAOtB,GAASzC,EAAI,CAAEyC,MAAOA,GAC7B,QACI,IACQmB,IAAMA,EAAEoD,OAAS5D,EAAIvE,EAAU,SAAIuE,EAAEjE,KAAKN,GAElD,QAAU,GAAImB,EAAG,MAAMA,EAAEyC,OAE7B,OAAOyF,EAmBJ,SAASC,EAAcC,EAAIC,EAAMC,GACpC,GAAIA,GAA6B,IAArBxC,UAAU/G,OAAc,IAAK,IAA4BmJ,EAAxBrJ,EAAI,EAAGkB,EAAIsI,EAAKtJ,OAAYF,EAAIkB,EAAGlB,KACxEqJ,GAAQrJ,KAAKwJ,IACRH,IAAIA,EAAK7C,MAAMpG,UAAU8F,MAAM5F,KAAKkJ,EAAM,EAAGxJ,IAClDqJ,EAAGrJ,GAAKwJ,EAAKxJ,IAGrB,OAAOuJ,EAAGG,OAAOL,GAAM7C,MAAMpG,UAAU8F,MAAM5F,KAAKkJ,IAiC/C,SAASG,EAAqBC,EAAQC,GAEzC,OADI1J,OAAOyE,eAAkBzE,OAAOyE,eAAegF,EAAQ,MAAO,CAAE1E,MAAO2E,IAAiBD,EAAOC,IAAMA,EAClGD,EAGczJ,OAAOoF,OAyDkB,mBAApBuE,iBAAiCA,iB,mDC3T3DC,G,MAGe,oBAATC,KAAuBA,UAAO,GACpCC,EACY,oBAAqBF,EADjCE,EAEQ,WAAYF,GAAU,aAAc/E,OAF5CiF,EAIA,eAAgBF,GAChB,SAAUA,GACV,WACE,IAEE,OADA,IAAIG,MACG,EACP,MAAO/I,GACP,OAAO,GALX,GANA8I,EAcQ,aAAcF,EAdtBE,EAeW,gBAAiBF,EAOhC,GAAIE,EACF,IAAIE,EAAc,CAChB,qBACA,sBACA,6BACA,sBACA,uBACA,sBACA,uBACA,wBACA,yBAGEC,EACFC,YAAYC,QACZ,SAASC,GACP,OAAOA,GAAOJ,EAAYK,QAAQrK,OAAOC,UAAUqK,SAASnK,KAAKiK,KAAS,GAIhF,SAASG,EAAcxG,GAIrB,GAHoB,iBAATA,IACTA,EAAOyC,OAAOzC,IAEZ,6BAA6ByG,KAAKzG,IAAkB,KAATA,EAC7C,MAAM,IAAIwC,UAAU,0CAEtB,OAAOxC,EAAK0G,cAGd,SAASC,EAAe3F,GAItB,MAHqB,iBAAVA,IACTA,EAAQyB,OAAOzB,IAEVA,EAIT,SAAS4F,EAAYC,GACnB,IAAIhC,EAAW,CACbf,KAAM,WACJ,IAAI9C,EAAQ6F,EAAMpK,QAClB,MAAO,CAACwH,UAAgBhE,IAAVe,EAAqBA,MAAOA,KAU9C,OANI+E,IACFlB,EAAS/D,OAAO+D,UAAY,WAC1B,OAAOA,IAIJA,EAGF,SAASiC,EAAQC,GACtBpE,KAAKqE,IAAM,GAEPD,aAAmBD,EACrBC,EAAQE,SAAQ,SAASjG,EAAOhB,GAC9B2C,KAAKuE,OAAOlH,EAAMgB,KACjB2B,MACML,MAAM6E,QAAQJ,GACvBA,EAAQE,SAAQ,SAASG,GACvBzE,KAAKuE,OAAOE,EAAO,GAAIA,EAAO,MAC7BzE,MACMoE,GACT9K,OAAOoL,oBAAoBN,GAASE,SAAQ,SAASjH,GACnD2C,KAAKuE,OAAOlH,EAAM+G,EAAQ/G,MACzB2C,MAgEP,SAAS2E,EAASnD,GAChB,GAAIA,EAAKoD,SACP,OAAOpK,QAAQE,OAAO,IAAImF,UAAU,iBAEtC2B,EAAKoD,UAAW,EAGlB,SAASC,EAAgBC,GACvB,OAAO,IAAItK,SAAQ,SAASC,EAASC,GACnCoK,EAAOrJ,OAAS,WACdhB,EAAQqK,EAAOzD,SAEjByD,EAAOpJ,QAAU,WACfhB,EAAOoK,EAAO/H,WAKpB,SAASgI,EAAsBC,GAC7B,IAAIF,EAAS,IAAIG,WACb1I,EAAUsI,EAAgBC,GAE9B,OADAA,EAAOI,kBAAkBF,GAClBzI,EAoBT,SAAS4I,EAAYC,GACnB,GAAIA,EAAI/F,MACN,OAAO+F,EAAI/F,MAAM,GAEjB,IAAIgG,EAAO,IAAIC,WAAWF,EAAIG,YAE9B,OADAF,EAAKG,IAAI,IAAIF,WAAWF,IACjBC,EAAKI,OAIhB,SAASC,IAqGP,OApGA1F,KAAK4E,UAAW,EAEhB5E,KAAK2F,UAAY,SAASnE,GAhM5B,IAAoBkC,EA2MhB1D,KAAK4E,SAAW5E,KAAK4E,SACrB5E,KAAK4F,UAAYpE,EACZA,EAEsB,iBAATA,EAChBxB,KAAK6F,UAAYrE,EACR4B,GAAgBC,KAAK9J,UAAUuM,cAActE,GACtDxB,KAAK+F,UAAYvE,EACR4B,GAAoB4C,SAASzM,UAAUuM,cAActE,GAC9DxB,KAAKiG,cAAgBzE,EACZ4B,GAAwB8C,gBAAgB3M,UAAUuM,cAActE,GACzExB,KAAK6F,UAAYrE,EAAKoC,WACbR,GAAuBA,KAvNlBM,EAuN6ClC,IAtNjD2E,SAAS5M,UAAUuM,cAAcpC,KAuN3C1D,KAAKoG,iBAAmBjB,EAAY3D,EAAKiE,QAEzCzF,KAAK4F,UAAY,IAAIvC,KAAK,CAACrD,KAAKoG,oBACvBhD,IAAwBI,YAAYjK,UAAUuM,cAActE,IAAS+B,EAAkB/B,IAChGxB,KAAKoG,iBAAmBjB,EAAY3D,GAEpCxB,KAAK6F,UAAYrE,EAAOlI,OAAOC,UAAUqK,SAASnK,KAAK+H,GAhBvDxB,KAAK6F,UAAY,GAmBd7F,KAAKoE,QAAQnG,IAAI,kBACA,iBAATuD,EACTxB,KAAKoE,QAAQoB,IAAI,eAAgB,4BACxBxF,KAAK+F,WAAa/F,KAAK+F,UAAUvK,KAC1CwE,KAAKoE,QAAQoB,IAAI,eAAgBxF,KAAK+F,UAAUvK,MACvC4H,GAAwB8C,gBAAgB3M,UAAUuM,cAActE,IACzExB,KAAKoE,QAAQoB,IAAI,eAAgB,qDAKnCpC,IACFpD,KAAKgF,KAAO,WACV,IAAI5D,EAAWuD,EAAS3E,MACxB,GAAIoB,EACF,OAAOA,EAGT,GAAIpB,KAAK+F,UACP,OAAOvL,QAAQC,QAAQuF,KAAK+F,WACvB,GAAI/F,KAAKoG,iBACd,OAAO5L,QAAQC,QAAQ,IAAI4I,KAAK,CAACrD,KAAKoG,oBACjC,GAAIpG,KAAKiG,cACd,MAAM,IAAIjK,MAAM,wCAEhB,OAAOxB,QAAQC,QAAQ,IAAI4I,KAAK,CAACrD,KAAK6F,cAI1C7F,KAAKqG,YAAc,WACjB,OAAIrG,KAAKoG,iBACAzB,EAAS3E,OAASxF,QAAQC,QAAQuF,KAAKoG,kBAEvCpG,KAAKgF,OAAO3I,KAAK0I,KAK9B/E,KAAKsG,KAAO,WACV,IAtGoBtB,EAClBF,EACAvI,EAoGE6E,EAAWuD,EAAS3E,MACxB,GAAIoB,EACF,OAAOA,EAGT,GAAIpB,KAAK+F,UACP,OA5GkBf,EA4GIhF,KAAK+F,UA3G3BjB,EAAS,IAAIG,WACb1I,EAAUsI,EAAgBC,GAC9BA,EAAOyB,WAAWvB,GACXzI,EAyGE,GAAIyD,KAAKoG,iBACd,OAAO5L,QAAQC,QAvGrB,SAA+B2K,GAI7B,IAHA,IAAIC,EAAO,IAAIC,WAAWF,GACtBoB,EAAQ,IAAI7G,MAAM0F,EAAKhM,QAElBF,EAAI,EAAGA,EAAIkM,EAAKhM,OAAQF,IAC/BqN,EAAMrN,GAAK2G,OAAO2G,aAAapB,EAAKlM,IAEtC,OAAOqN,EAAME,KAAK,IAgGSC,CAAsB3G,KAAKoG,mBAC7C,GAAIpG,KAAKiG,cACd,MAAM,IAAIjK,MAAM,wCAEhB,OAAOxB,QAAQC,QAAQuF,KAAK6F,YAI5BzC,IACFpD,KAAK4G,SAAW,WACd,OAAO5G,KAAKsG,OAAOjK,KAAKwK,KAI5B7G,KAAK8G,KAAO,WACV,OAAO9G,KAAKsG,OAAOjK,KAAK0K,KAAKC,QAGxBhH,KArNTmE,EAAQ5K,UAAUgL,OAAS,SAASlH,EAAMgB,GACxChB,EAAOwG,EAAcxG,GACrBgB,EAAQ2F,EAAe3F,GACvB,IAAI4I,EAAWjH,KAAKqE,IAAIhH,GACxB2C,KAAKqE,IAAIhH,GAAQ4J,EAAWA,EAAW,KAAO5I,EAAQA,GAGxD8F,EAAQ5K,UAAkB,OAAI,SAAS8D,UAC9B2C,KAAKqE,IAAIR,EAAcxG,KAGhC8G,EAAQ5K,UAAU0E,IAAM,SAASZ,GAE/B,OADAA,EAAOwG,EAAcxG,GACd2C,KAAKkH,IAAI7J,GAAQ2C,KAAKqE,IAAIhH,GAAQ,MAG3C8G,EAAQ5K,UAAU2N,IAAM,SAAS7J,GAC/B,OAAO2C,KAAKqE,IAAI7K,eAAeqK,EAAcxG,KAG/C8G,EAAQ5K,UAAUiM,IAAM,SAASnI,EAAMgB,GACrC2B,KAAKqE,IAAIR,EAAcxG,IAAS2G,EAAe3F,IAGjD8F,EAAQ5K,UAAU+K,QAAU,SAAS6C,EAAUtG,GAC7C,IAAK,IAAIxD,KAAQ2C,KAAKqE,IAChBrE,KAAKqE,IAAI7K,eAAe6D,IAC1B8J,EAAS1N,KAAKoH,EAASb,KAAKqE,IAAIhH,GAAOA,EAAM2C,OAKnDmE,EAAQ5K,UAAU6N,KAAO,WACvB,IAAIlD,EAAQ,GAIZ,OAHAlE,KAAKsE,SAAQ,SAASjG,EAAOhB,GAC3B6G,EAAMvK,KAAK0D,MAEN4G,EAAYC,IAGrBC,EAAQ5K,UAAU8N,OAAS,WACzB,IAAInD,EAAQ,GAIZ,OAHAlE,KAAKsE,SAAQ,SAASjG,GACpB6F,EAAMvK,KAAK0E,MAEN4F,EAAYC,IAGrBC,EAAQ5K,UAAU+N,QAAU,WAC1B,IAAIpD,EAAQ,GAIZ,OAHAlE,KAAKsE,SAAQ,SAASjG,EAAOhB,GAC3B6G,EAAMvK,KAAK,CAAC0D,EAAMgB,OAEb4F,EAAYC,IAGjBd,IACFe,EAAQ5K,UAAU4E,OAAO+D,UAAYiC,EAAQ5K,UAAU+N,SAgKzD,IAAIC,EAAU,CAAC,SAAU,MAAO,OAAQ,UAAW,OAAQ,OAOpD,SAASC,EAAQC,EAAOC,GAE7B,IAPuBC,EACnBC,EAMApG,GADJkG,EAAUA,GAAW,IACFlG,KAEnB,GAAIiG,aAAiBD,EAAS,CAC5B,GAAIC,EAAM7C,SACR,MAAM,IAAI/E,UAAU,gBAEtBG,KAAK6H,IAAMJ,EAAMI,IACjB7H,KAAK8H,YAAcL,EAAMK,YACpBJ,EAAQtD,UACXpE,KAAKoE,QAAU,IAAID,EAAQsD,EAAMrD,UAEnCpE,KAAK2H,OAASF,EAAME,OACpB3H,KAAKzB,KAAOkJ,EAAMlJ,KAClByB,KAAK+H,OAASN,EAAMM,OACfvG,GAA2B,MAAnBiG,EAAM7B,YACjBpE,EAAOiG,EAAM7B,UACb6B,EAAM7C,UAAW,QAGnB5E,KAAK6H,IAAM/H,OAAO2H,GAYpB,GATAzH,KAAK8H,YAAcJ,EAAQI,aAAe9H,KAAK8H,aAAe,eAC1DJ,EAAQtD,SAAYpE,KAAKoE,UAC3BpE,KAAKoE,QAAU,IAAID,EAAQuD,EAAQtD,UAErCpE,KAAK2H,QAjCkBA,EAiCOD,EAAQC,QAAU3H,KAAK2H,QAAU,MAhC3DC,EAAUD,EAAOK,cACdT,EAAQ5D,QAAQiE,IAAY,EAAIA,EAAUD,GAgCjD3H,KAAKzB,KAAOmJ,EAAQnJ,MAAQyB,KAAKzB,MAAQ,KACzCyB,KAAK+H,OAASL,EAAQK,QAAU/H,KAAK+H,OACrC/H,KAAKiI,SAAW,MAEK,QAAhBjI,KAAK2H,QAAoC,SAAhB3H,KAAK2H,SAAsBnG,EACvD,MAAM,IAAI3B,UAAU,6CAItB,GAFAG,KAAK2F,UAAUnE,KAEK,QAAhBxB,KAAK2H,QAAoC,SAAhB3H,KAAK2H,QACV,aAAlBD,EAAQQ,OAA0C,aAAlBR,EAAQQ,OAAsB,CAEhE,IAAIC,EAAgB,gBACpB,GAAIA,EAAcrE,KAAK9D,KAAK6H,KAE1B7H,KAAK6H,IAAM7H,KAAK6H,IAAIO,QAAQD,EAAe,QAAS,IAAIE,MAAOC,eAC1D,CAGLtI,KAAK6H,MADe,KACO/D,KAAK9D,KAAK6H,KAAO,IAAM,KAAO,MAAO,IAAIQ,MAAOC,YAUnF,SAASzB,EAAOrF,GACd,IAAI+G,EAAO,IAAIvC,SAYf,OAXAxE,EACGgH,OACAC,MAAM,KACNnE,SAAQ,SAASoE,GAChB,GAAIA,EAAO,CACT,IAAID,EAAQC,EAAMD,MAAM,KACpBpL,EAAOoL,EAAM3O,QAAQsO,QAAQ,MAAO,KACpC/J,EAAQoK,EAAM/B,KAAK,KAAK0B,QAAQ,MAAO,KAC3CG,EAAKhE,OAAOoE,mBAAmBtL,GAAOsL,mBAAmBtK,QAGxDkK,EAqBF,SAASK,EAASC,EAAUnB,GAC5BA,IACHA,EAAU,IAGZ1H,KAAKxE,KAAO,UACZwE,KAAK8I,YAA4BxL,IAAnBoK,EAAQoB,OAAuB,IAAMpB,EAAQoB,OAC3D9I,KAAK+I,GAAK/I,KAAK8I,QAAU,KAAO9I,KAAK8I,OAAS,IAC9C9I,KAAKgJ,WAAa,eAAgBtB,EAAUA,EAAQsB,WAAa,GACjEhJ,KAAKoE,QAAU,IAAID,EAAQuD,EAAQtD,SACnCpE,KAAK6H,IAAMH,EAAQG,KAAO,GAC1B7H,KAAK2F,UAAUkD,GAjDjBrB,EAAQjO,UAAU0P,MAAQ,WACxB,OAAO,IAAIzB,EAAQxH,KAAM,CAACwB,KAAMxB,KAAK4F,aAmCvCF,EAAKjM,KAAK+N,EAAQjO,WAgBlBmM,EAAKjM,KAAKmP,EAASrP,WAEnBqP,EAASrP,UAAU0P,MAAQ,WACzB,OAAO,IAAIL,EAAS5I,KAAK4F,UAAW,CAClCkD,OAAQ9I,KAAK8I,OACbE,WAAYhJ,KAAKgJ,WACjB5E,QAAS,IAAID,EAAQnE,KAAKoE,SAC1ByD,IAAK7H,KAAK6H,OAIde,EAAS7L,MAAQ,WACf,IAAImM,EAAW,IAAIN,EAAS,KAAM,CAACE,OAAQ,EAAGE,WAAY,KAE1D,OADAE,EAAS1N,KAAO,QACT0N,GAGT,IAAIC,EAAmB,CAAC,IAAK,IAAK,IAAK,IAAK,KAE5CP,EAASQ,SAAW,SAASvB,EAAKiB,GAChC,IAA0C,IAAtCK,EAAiBxF,QAAQmF,GAC3B,MAAM,IAAIO,WAAW,uBAGvB,OAAO,IAAIT,EAAS,KAAM,CAACE,OAAQA,EAAQ1E,QAAS,CAACkF,SAAUzB,MAG1D,IAAI0B,EAAerG,EAAOqG,aAa1B,SAASC,EAAM/B,EAAOgC,GAC3B,OAAO,IAAIjP,SAAQ,SAASC,EAASC,GACnC,IAAIkB,EAAU,IAAI4L,EAAQC,EAAOgC,GAEjC,GAAI7N,EAAQmM,QAAUnM,EAAQmM,OAAO2B,QACnC,OAAOhP,EAAO,IAAI6O,EAAa,UAAW,eAG5C,IAAII,EAAM,IAAIC,eAEd,SAASC,IACPF,EAAIG,QAGNH,EAAIlO,OAAS,WACX,IAvFgBsO,EAChB3F,EAsFIsD,EAAU,CACZoB,OAAQa,EAAIb,OACZE,WAAYW,EAAIX,WAChB5E,SA1Fc2F,EA0FQJ,EAAIK,yBAA2B,GAzFvD5F,EAAU,IAAID,EAGQ4F,EAAW3B,QAAQ,eAAgB,KACzCK,MAAM,SAASnE,SAAQ,SAAS2F,GAClD,IAAIC,EAAQD,EAAKxB,MAAM,KACnB9J,EAAMuL,EAAMpQ,QAAQ0O,OACxB,GAAI7J,EAAK,CACP,IAAIN,EAAQ6L,EAAMxD,KAAK,KAAK8B,OAC5BpE,EAAQG,OAAO5F,EAAKN,OAGjB+F,IA+EHsD,EAAQG,IAAM,gBAAiB8B,EAAMA,EAAIQ,YAAczC,EAAQtD,QAAQnG,IAAI,iBAC3E,IAAIuD,EAAO,aAAcmI,EAAMA,EAAIT,SAAWS,EAAIS,aAClD7M,YAAW,WACT9C,EAAQ,IAAImO,EAASpH,EAAMkG,MAC1B,IAGLiC,EAAIjO,QAAU,WACZ6B,YAAW,WACT7C,EAAO,IAAImF,UAAU,6BACpB,IAGL8J,EAAIU,UAAY,WACd9M,YAAW,WACT7C,EAAO,IAAImF,UAAU,6BACpB,IAGL8J,EAAIW,QAAU,WACZ/M,YAAW,WACT7C,EAAO,IAAI6O,EAAa,UAAW,iBAClC,IAWLI,EAAIY,KAAK3O,EAAQ+L,OARjB,SAAgBE,GACd,IACE,MAAe,KAARA,GAAc3E,EAAOoG,SAAS3O,KAAOuI,EAAOoG,SAAS3O,KAAOkN,EACnE,MAAOvN,GACP,OAAOuN,GAIc2C,CAAO5O,EAAQiM,MAAM,GAElB,YAAxBjM,EAAQkM,YACV6B,EAAIc,iBAAkB,EACW,SAAxB7O,EAAQkM,cACjB6B,EAAIc,iBAAkB,GAGpB,iBAAkBd,IAChBvG,EACFuG,EAAIe,aAAe,OAEnBtH,GACAxH,EAAQwI,QAAQnG,IAAI,kBACyD,IAA7ErC,EAAQwI,QAAQnG,IAAI,gBAAgB0F,QAAQ,8BAE5CgG,EAAIe,aAAe,gBAIvB9O,EAAQwI,QAAQE,SAAQ,SAASjG,EAAOhB,GACtCsM,EAAIgB,iBAAiBtN,EAAMgB,MAGzBzC,EAAQmM,SACVnM,EAAQmM,OAAO6C,iBAAiB,QAASf,GAEzCF,EAAIkB,mBAAqB,WAEA,IAAnBlB,EAAImB,YACNlP,EAAQmM,OAAOgD,oBAAoB,QAASlB,KAKlDF,EAAIqB,UAAkC,IAAtBpP,EAAQgK,UAA4B,KAAOhK,EAAQgK,cAnG3C,mBAAjB2D,KACTA,EAAe,SAASnM,EAASC,GAC/B2C,KAAK5C,QAAUA,EACf4C,KAAK3C,KAAOA,EACZ,IAAIN,EAAQf,MAAMoB,GAClB4C,KAAKiL,MAAQlO,EAAMkO,QAER1R,UAAYD,OAAOoF,OAAO1C,MAAMzC,WAC7CgQ,EAAahQ,UAAU0G,YAAcsJ,GA+FvCC,EAAM0B,UAAW,EAEZhI,EAAOsG,QACVtG,EAAOsG,MAAQA,EACftG,EAAOiB,QAAUA,EACjBjB,EAAOsE,QAAUA,EACjBtE,EAAO0F,SAAWA,G,2DC3iBnB,6C,kEACO,iBAAiB9E,KAAK3E,OAAOgM,UAAUC,WACvC,GAAM,+BADN,M,OACA,S,kCAIRjM,OAAO5B,YAAW,+D,kEACd,SAAM8N,EAAA,EAAIC,S,cAAV,SAEMC,EAAiB,SAACjR,GACF,IAAdA,EAAEkR,UACFzQ,SAASyG,KAAKiK,UAAUC,IAAI,WAC5BvM,OAAO4L,oBAAoB,UAAWQ,KAI9CpM,OAAOyL,iBAAiB,UAAWW,G,2DCnBvC,G,OAAA,uE,OAmCY,EAAAI,SAAW,SAACC,GAAmB,sDAEnBA,EAAKC,GAAE,aAAKD,EAAKE,MAAK,iCAC5BF,EAAKG,SAAWH,EAAKG,SAAS1H,IAAI,EAAKsH,UAAUjF,KAAK,IAAM,GAAE,+B,EAGhF,OAzCqC,iBACjC,YAAAsF,kBAAA,W,QAKQC,EAJEC,EAASnR,SAASoR,cAAcnM,KAAK7E,aAAa,WAClD+I,EAAoB,GACpBkI,EAAqB,GAAG/M,MAAM5F,KAAKyS,EAAOG,iBAAiB,W,IAIjE,IAAsB,kBAAAD,GAAG,8BAAE,CAAtB,IAAME,EAAO,QACW,OAArBA,EAAQC,UACRN,EAAU,CACNH,MAAOQ,EAAQE,UACfT,SAAU,GACVF,GAAIS,EAAQT,IAGhB3H,EAAMvK,KAAKsS,IAEPA,GACAA,EAAQF,SAASpS,KAAK,CAClBmS,MAAOQ,EAAQE,UACfX,GAAIS,EAAQT,M,iGAO5B7L,KAAKyM,UAAY,8CAEPvI,EAAMG,IAAIrE,KAAK2L,UAAUjF,KAAK,IAAG,kCAWnD,EAzCA,CAAqCgG,cA2CrCC,eAAeC,OAAO,mBAAoB,I,wFClD1C,G,OAAA,yB,+CAEA,OAFgC,iBAC5B,YAAAZ,kBAAA,aACJ,EAFA,CAAgCU,cAGhCC,eAAeC,OAAO,cAAe,I,iCCLrC,kC,kGCIA,yE,OAGY,EAAAC,OAAS,IAAWC,WACpB,EAAAC,OAAS,CACb,CAAEC,KAAM,SAAUC,YAAa,UAC/B,CAAED,KAAM,YAAaC,YAAa,aAClC,CAAED,KAAM,QAASC,YAAa,UAS1B,EAAAC,WAAa,SAACC,G,MAAmB,SAAKN,OAAM,2FAAC,cACS,cACE,gCACc,aAFvEM,EAAOC,OAAS,mCAAqC,GACrDD,EAAOE,QAAU,oCAAsC,IAC3B,QAAV,EAAAF,EAAOxO,WAAG,eAAEqJ,gBAAiBmF,EAAOlR,KAAKqR,UAAU,KAGpE,EAAAC,QAAU,SAACC,GAAmB,SAAKX,OAAM,mNAE0B,uCAC/B,4BADjBW,EAAOC,QAAQpJ,IAAI,EAAK6I,YAAYxG,KAAK,QAC1C8G,EAAOE,cAGzB,EAAAC,SAAW,SAACC,EAAmBF,GAAwB,SAAKb,OAAM,sFACrD,mBACoB,eAD/Ba,EACHE,EAAQvJ,IAAI,EAAKkJ,SAAS7G,KAAK,MAG9B,EAAArB,KAAO,SAACoI,GAA4C,SAAKZ,OAAM,kJAEgB,4BAA5E,EAAKE,OAAO1I,KAAI,SAAAwJ,GAAK,SAAKF,SAASF,EAAQI,EAAEb,MAAOa,EAAEZ,gBAAcvG,KAAK,M,EAGxF,OAtCkC,iBAUxB,YAAAsF,kBAAN,W,oGAEU8B,EAAU,IAAYC,SAASH,QACrC5N,KAAKgO,mBAAmB,YAAahO,KAAKqF,KAAKyI,I,WAZrC,EAAAG,UAAY,sBAqC9B,EAtCA,CAAkCvB,aAwClCC,eAAeC,OAAO,gBAAiBsB,I,8DC5CvC9T,EAAOD,QAAU,2uB,kBCAjBC,EAAOD,QAAU,svB,kBCAjBC,EAAOD,QAAU,mvB,kBCAjBC,EAAOD,QAAU,y1B,kECAV,aAAP,aAEY,KAAAgU,aAAgD,CACpD,UAAa,CACT,CAAEC,QAAS,MAAOV,YAAa,gCAEnC,MAAS,CACL,CAAEU,QAAS,MAAOV,YAAa,gEAC/B,CAAEU,QAAS,aAAcV,YAAa,mDACtC,CAAEU,QAAS,cAAeV,YAAa,sDACvC,CAAEU,QAAS,aAAcV,YAAa,6CASlD,OALI,sBAAW,aAAQ,C,IAAnB,WAAwB,OAAOW,EAAaC,W,gCAE5C,sBAAI,0BAAW,C,IAAf,WACI,OAAOtO,KAAKmO,c,gCAhBD,EAAAG,UAAY,IAAID,EAkBnC,EAnBO,GCIP,yE,OAGY,EAAAxB,OAAS0B,EAAA,EAAWzB,WACpB,EAAAC,OAAS,CAEb,CAAEC,KAAM,YAAaC,YAAa,aAClC,CAAED,KAAM,QAASC,YAAa,UAG1B,EAAAuB,MAAQ,CACZ,IAAO,EAAQ,KACf,aAAc,EAAQ,KACtB,cAAe,EAAQ,KACvB,aAAc,EAAQ,MASlB,EAAAjB,QAAU,SAACkB,GAA2B,SAAK5B,OAAM,2NAEsB,uCAC/B,4BADrB,EAAK2B,MAAMC,EAAWL,UAAYK,EAAWL,QAC9CK,EAAWf,cAG7B,EAAAC,SAAW,SAACc,EAA0Bf,GAAwB,SAAKb,OAAM,sFAC5D,mBACuB,eADlCa,EACHe,EAAWpK,IAAI,EAAKkJ,SAAS7G,KAAK,MAGjC,EAAArB,KAAO,SAACqJ,GAAiD,SAAK7B,OAAM,kJAEY,4BAA7E,EAAKE,OAAO1I,KAAI,SAAAwJ,GAAK,SAAKF,SAASe,EAASb,EAAEb,MAAOa,EAAEZ,gBAAcvG,KAAK,M,EAGzF,OAvCmC,iBAiBzB,YAAAsF,kBAAN,W,oGAEU8B,EAAUO,EAAaN,SAASY,YACtC3O,KAAKgO,mBAAmB,YAAahO,KAAKqF,KAAKyI,I,WAnBrC,EAAAG,UAAY,uBAsC9B,EAvCA,CAAmCvB,aAyCnCC,eAAeC,OAAO,iBAAkB,I,gCC3CxCxS,EAAOD,QAAU,EAAQ,GAAR,GAAgCyU,WAAa,EAAQ,K,gCCAtE,IAAIC,EAAkB,EAAQ,IAC1BC,EAAkB,EAAQ,IAC1B3O,EAAkB,EAAQ,IAC1B4O,EAAkB,EAAQ,IAC1BC,EAAkB,EAAQ,KAErB5U,EAAOD,QAAU,SAAU8U,EAAM5Q,GACzC,IAAIV,EAAGrD,EAAG4U,EAAGxH,EAASlH,EAkBtB,OAjBIJ,UAAU/G,OAAS,GAAqB,iBAAT4V,GAClCvH,EAAUrJ,EACVA,EAAQ4Q,EACRA,EAAO,MAEPvH,EAAUtH,UAAU,GAEjByO,EAAQI,IACXtR,EAAIqR,EAASvV,KAAKwV,EAAM,KACxB3U,EAAI0U,EAASvV,KAAKwV,EAAM,KACxBC,EAAIF,EAASvV,KAAKwV,EAAM,OAExBtR,EAAIuR,GAAI,EACR5U,GAAI,GAGLkG,EAAO,CAAEnC,MAAOA,EAAO8Q,aAAcxR,EAAGK,WAAY1D,EAAG8U,SAAUF,GACzDxH,EAAiBvH,EAAO4O,EAAcrH,GAAUlH,GAAtCA,IAGjB6O,GAAK,SAAUJ,EAAMhR,EAAKuH,GAC3B,IAAI7H,EAAGrD,EAAGoN,EAASlH,EA6BnB,MA5BoB,iBAATyO,GACVvH,EAAUlC,EACVA,EAAMvH,EACNA,EAAMgR,EACNA,EAAO,MAEPvH,EAAUtH,UAAU,GAEhByO,EAAQ5Q,GAED6Q,EAAgB7Q,GAGhB4Q,EAAQrJ,GAERsJ,EAAgBtJ,KAC3BkC,EAAUlC,EACVA,OAAMlI,GAHNkI,OAAMlI,GAHNoK,EAAUzJ,EACVA,EAAMuH,OAAMlI,GAHZW,OAAMX,EAUHuR,EAAQI,IACXtR,EAAIqR,EAASvV,KAAKwV,EAAM,KACxB3U,EAAI0U,EAASvV,KAAKwV,EAAM,OAExBtR,GAAI,EACJrD,GAAI,GAGLkG,EAAO,CAAEvC,IAAKA,EAAKuH,IAAKA,EAAK2J,aAAcxR,EAAGK,WAAY1D,GAClDoN,EAAiBvH,EAAO4O,EAAcrH,GAAUlH,GAAtCA,I,iBC5DnB,IAAImB,EAGJA,EAAI,WACH,OAAO3B,KADJ,GAIJ,IAEC2B,EAAIA,GAAK,IAAI2N,SAAS,cAAb,GACR,MAAOhV,GAEc,iBAAX6E,SAAqBwC,EAAIxC,QAOrC/E,EAAOD,QAAUwH,G,gCCjBjB,IAAI4N,EAAa,EAAQ,GAAR,GAEjBnV,EAAOD,QAAU,SAAUqV,GAAO,OAAOA,IAAQD,GAAsB,OAARC,I,gCCJ/D,kCAAO,iBAAP,cAyCA,OAvCW,EAAAC,eAAP,WACI,IAAM7R,EAAI7C,SACN2U,EAAO9R,EAAErC,cAAc,SAQ3B,OAPAqC,EAAE4D,KAAKpF,YAAYsT,GAETA,EAAMC,eACZD,EAAaA,EAAMC,aAAa,CAAEpR,KAAM,UAE5CmR,EAAKjD,UAAYmD,EAAQC,sBAELH,EAAKvD,cAAc,QAGpC,EAAA0D,oBAAsB,WAAM,4oBA0BvC,EAzCO,I,gCCKPzV,EAAOD,QAAU,SAAUkE,GAAS,OAAOA,U,gCCH3C,IAAIyR,EAAW,EAAQ,IAEvB1V,EAAOD,QAAU,SAAUkE,GAC1B,IAAKyR,EAASzR,GAAQ,MAAM,IAAIwB,UAAUxB,EAAQ,oBAClD,OAAOA,I,oBCNR,yBAOE,IASI0R,EAT6B,WAC/B,IACE,QAAS5R,OAAO+D,SAChB,MAAOnF,GACP,OAAO,GAKaiT,GAEpBC,EAAiB,SAAS/L,GAC5B,IAAIhC,EAAW,CACbf,KAAM,WACJ,IAAI9C,EAAQ6F,EAAMpK,QAClB,MAAO,CAAEwH,UAAgB,IAAVjD,EAAkBA,MAAOA,KAU5C,OANI0R,IACF7N,EAAS/D,OAAO+D,UAAY,WAC1B,OAAOA,IAIJA,GAOLgO,EAAiB,SAAS7R,GAC5B,OAAO8R,mBAAmB9R,GAAO+J,QAAQ,OAAQ,MAG/CgI,EAAmB,SAAS/R,GAC9B,OAAOsK,mBAAmB7I,OAAOzB,GAAO+J,QAAQ,MAAO,QA4HnB,WACpC,IACE,IAAIlC,EAAkBhD,EAAOgD,gBAE7B,MAAmD,QAA3C,IAAIA,EAAgB,QAAQtC,YAAmE,mBAAlCsC,EAAgB3M,UAAUiM,IAC/F,MAAOlL,GACP,OAAO,IAIN+V,IAnIyB,WAE5B,IAAInK,EAAkB,SAASoK,GAC7BhX,OAAOyE,eAAeiC,KAAM,WAAY,CAAEoP,UAAU,EAAM/Q,MAAO,KACjE,IAAIkS,SAA4BD,EAEhC,GAA2B,cAAvBC,QAEG,GAA2B,WAAvBA,EACY,KAAjBD,GACFtQ,KAAKwQ,YAAYF,QAEd,GAAIA,aAAwBpK,EAAiB,CAClD,IAAIuK,EAAQzQ,KACZsQ,EAAahM,SAAQ,SAASjG,EAAOhB,GACnCoT,EAAMlM,OAAOlH,EAAMgB,UAEhB,IAAsB,OAAjBiS,GAAkD,WAAvBC,EAkBrC,MAAM,IAAI1Q,UAAU,gDAjBpB,GAAqD,mBAAjDvG,OAAOC,UAAUqK,SAASnK,KAAK6W,GACjC,IAAK,IAAInX,EAAI,EAAGA,EAAImX,EAAajX,OAAQF,IAAK,CAC5C,IAAIuX,EAAQJ,EAAanX,GACzB,GAA+C,mBAA1CG,OAAOC,UAAUqK,SAASnK,KAAKiX,IAAkD,IAAjBA,EAAMrX,OAGzE,MAAM,IAAIwG,UAAU,4CAA8C1G,EAAI,+BAFtE6G,KAAKuE,OAAOmM,EAAM,GAAIA,EAAM,SAMhC,IAAK,IAAI/R,KAAO2R,EACVA,EAAa9W,eAAemF,IAC9BqB,KAAKuE,OAAO5F,EAAK2R,EAAa3R,MASpCgS,EAAQzK,EAAgB3M,UAE5BoX,EAAMpM,OAAS,SAASlH,EAAMgB,GACxBhB,KAAQ2C,KAAK4Q,SACf5Q,KAAK4Q,SAASvT,GAAM1D,KAAKmG,OAAOzB,IAEhC2B,KAAK4Q,SAASvT,GAAQ,CAACyC,OAAOzB,KAIlCsS,EAAME,OAAS,SAASxT,UACf2C,KAAK4Q,SAASvT,IAGvBsT,EAAM1S,IAAM,SAASZ,GACnB,OAAQA,KAAQ2C,KAAK4Q,SAAY5Q,KAAK4Q,SAASvT,GAAM,GAAK,MAG5DsT,EAAMG,OAAS,SAASzT,GACtB,OAAQA,KAAQ2C,KAAK4Q,SAAY5Q,KAAK4Q,SAASvT,GAAMgC,MAAM,GAAK,IAGlEsR,EAAMzJ,IAAM,SAAS7J,GACnB,OAAQA,KAAQ2C,KAAK4Q,UAGvBD,EAAMnL,IAAM,SAASnI,EAAMgB,GACzB2B,KAAK4Q,SAASvT,GAAQ,CAACyC,OAAOzB,KAGhCsS,EAAMrM,QAAU,SAAS6C,EAAUtG,GACjC,IAAIyG,EACJ,IAAK,IAAIjK,KAAQ2C,KAAK4Q,SACpB,GAAI5Q,KAAK4Q,SAASpX,eAAe6D,GAAO,CACtCiK,EAAUtH,KAAK4Q,SAASvT,GACxB,IAAK,IAAIlE,EAAI,EAAGA,EAAImO,EAAQjO,OAAQF,IAClCgO,EAAS1N,KAAKoH,EAASyG,EAAQnO,GAAIkE,EAAM2C,QAMjD2Q,EAAMvJ,KAAO,WACX,IAAIlD,EAAQ,GAIZ,OAHAlE,KAAKsE,SAAQ,SAASjG,EAAOhB,GAC3B6G,EAAMvK,KAAK0D,MAEN4S,EAAe/L,IAGxByM,EAAMtJ,OAAS,WACb,IAAInD,EAAQ,GAIZ,OAHAlE,KAAKsE,SAAQ,SAASjG,GACpB6F,EAAMvK,KAAK0E,MAEN4R,EAAe/L,IAGxByM,EAAMrJ,QAAU,WACd,IAAIpD,EAAQ,GAIZ,OAHAlE,KAAKsE,SAAQ,SAASjG,EAAOhB,GAC3B6G,EAAMvK,KAAK,CAAC0D,EAAMgB,OAEb4R,EAAe/L,IAGpB6L,IACFY,EAAMxS,OAAO+D,UAAYyO,EAAMrJ,SAGjCqJ,EAAM/M,SAAW,WACf,IAAImN,EAAc,GAIlB,OAHA/Q,KAAKsE,SAAQ,SAASjG,EAAOhB,GAC3B0T,EAAYpX,KAAKuW,EAAe7S,GAAQ,IAAM6S,EAAe7R,OAExD0S,EAAYrK,KAAK,MAI1BxD,EAAOgD,gBAAkBA,EAczB8K,GAGF,IAAIL,EAAQzN,EAAOgD,gBAAgB3M,UAET,mBAAfoX,EAAMM,OACfN,EAAMM,KAAO,WACX,IAAIR,EAAQzQ,KACRkE,EAAQ,GACZlE,KAAKsE,SAAQ,SAASjG,EAAOhB,GAC3B6G,EAAMvK,KAAK,CAAC0D,EAAMgB,IACboS,EAAMG,UACTH,EAAMI,OAAOxT,MAGjB6G,EAAM+M,MAAK,SAASpD,EAAGrO,GACrB,OAAIqO,EAAE,GAAKrO,EAAE,IACH,EACCqO,EAAE,GAAKrO,EAAE,GACX,EAEA,KAGPiR,EAAMG,WACRH,EAAMG,SAAW,IAEnB,IAAK,IAAIzX,EAAI,EAAGA,EAAI+K,EAAM7K,OAAQF,IAChC6G,KAAKuE,OAAOL,EAAM/K,GAAG,GAAI+K,EAAM/K,GAAG,MAKP,mBAAtBwX,EAAMH,aACflX,OAAOyE,eAAe4S,EAAO,cAAe,CAC1C3S,YAAY,EACZmR,cAAc,EACdC,UAAU,EACV/Q,MAAO,SAASiS,GACd,GAAItQ,KAAK4Q,SACP5Q,KAAK4Q,SAAW,OACX,CACL,IAAIxJ,EAAO,GACXpH,KAAKsE,SAAQ,SAASjG,EAAOhB,GAC3B+J,EAAKzN,KAAK0D,MAEZ,IAAK,IAAIlE,EAAI,EAAGA,EAAIiO,EAAK/N,OAAQF,IAC/B6G,KAAK6Q,OAAOzJ,EAAKjO,IAKrB,IACI+X,EADAC,GADJb,EAAeA,EAAalI,QAAQ,MAAO,KACbK,MAAM,KAEpC,IAAStP,EAAI,EAAGA,EAAIgY,EAAW9X,OAAQF,IACrC+X,EAAYC,EAAWhY,GAAGsP,MAAM,KAChCzI,KAAKuE,OACH6L,EAAiBc,EAAU,IAC1BA,EAAU7X,OAAS,EAAK+W,EAAiBc,EAAU,IAAM,OA7OtE,MAuPqB,IAAXhO,EAA0BA,EACV,oBAAX/D,OAA0BA,OACjB,oBAATgE,KAAwBA,KAAOnD,MAG9C,SAAUkD,GAqNR,GA9M4B,WAC1B,IACE,IAAIkO,EAAI,IAAIlO,EAAOmO,IAAI,IAAK,YAE5B,OADAD,EAAEE,SAAW,MACM,mBAAXF,EAAEzW,MAA8ByW,EAAEG,aAC1C,MAAOjX,GACP,OAAO,GAoMNkX,IA/La,WAChB,IAAIC,EAAOvO,EAAOmO,IAEdA,EAAM,SAASxJ,EAAK6J,GACH,iBAAR7J,IAAkBA,EAAM/H,OAAO+H,IAG1C,IAAoB8J,EAAhBC,EAAM7W,SACV,GAAI2W,SAA6B,IAApBxO,EAAOoG,UAAuBoI,IAASxO,EAAOoG,SAAS3O,MAAO,EAEzEgX,GADAC,EAAM7W,SAAS8W,eAAeC,mBAAmB,KAC/BvW,cAAc,SACpBZ,KAAO+W,EACnBE,EAAIpU,KAAKpB,YAAYuV,GACrB,IACE,GAAuC,IAAnCA,EAAYhX,KAAKgJ,QAAQ+N,GAAa,MAAM,IAAI1V,MAAM2V,EAAYhX,MACtE,MAAOoB,GACP,MAAM,IAAIC,MAAM,0BAA4B0V,EAAO,WAAa3V,IAIpE,IAAIgW,EAAgBH,EAAIrW,cAAc,KACtCwW,EAAcpX,KAAOkN,EACjB8J,IACFC,EAAIpQ,KAAKpF,YAAY2V,GACrBA,EAAcpX,KAAOoX,EAAcpX,MAGrC,IAAIqX,EAAeJ,EAAIrW,cAAc,SAIrC,GAHAyW,EAAaxW,KAAO,MACpBwW,EAAa3T,MAAQwJ,EAEU,MAA3BkK,EAAcE,WAAqB,IAAInO,KAAKiO,EAAcpX,QAAWqX,EAAaE,kBAAoBR,EACxG,MAAM,IAAI7R,UAAU,eAGtBvG,OAAOyE,eAAeiC,KAAM,iBAAkB,CAC5C3B,MAAO0T,IAKT,IAAIR,EAAe,IAAIrO,EAAOgD,gBAAgBlG,KAAKmS,QAC/CC,GAAqB,EACrBC,GAA2B,EAC3B5B,EAAQzQ,KACZ,CAAC,SAAU,SAAU,OAAOsE,SAAQ,SAASgO,GAC3C,IAAI3K,EAAS4J,EAAae,GAC1Bf,EAAae,GAAc,WACzB3K,EAAOtH,MAAMkR,EAAcnR,WACvBgS,IACFC,GAA2B,EAC3B5B,EAAM0B,OAASZ,EAAa3N,WAC5ByO,GAA2B,OAKjC/Y,OAAOyE,eAAeiC,KAAM,eAAgB,CAC1C3B,MAAOkT,EACPvT,YAAY,IAGd,IAAImU,OAAS,EACb7Y,OAAOyE,eAAeiC,KAAM,sBAAuB,CACjDhC,YAAY,EACZmR,cAAc,EACdC,UAAU,EACV/Q,MAAO,WACD2B,KAAKmS,SAAWA,IAClBA,EAASnS,KAAKmS,OACVE,IACFD,GAAqB,EACrBpS,KAAKuR,aAAaf,YAAYxQ,KAAKmS,QACnCC,GAAqB,QAO3BzB,EAAQU,EAAI9X,UAchB,CAAC,OAAQ,OAAQ,WAAY,OAAQ,YAClC+K,SAAQ,SAASiO,IAba,SAASA,GACxCjZ,OAAOyE,eAAe4S,EAAO4B,EAAe,CAC1CtU,IAAK,WACH,OAAO+B,KAAKwS,eAAeD,IAE7B/M,IAAK,SAASnH,GACZ2B,KAAKwS,eAAeD,GAAiBlU,GAEvCL,YAAY,IAMZyU,CAA2BF,MAG/BjZ,OAAOyE,eAAe4S,EAAO,SAAU,CACrC1S,IAAK,WACH,OAAO+B,KAAKwS,eAAuB,QAErChN,IAAK,SAASnH,GACZ2B,KAAKwS,eAAuB,OAAInU,EAChC2B,KAAK0S,uBAEP1U,YAAY,IAGd1E,OAAOqZ,iBAAiBhC,EAAO,CAE7B,SAAY,CACV1S,IAAK,WACH,IAAIwS,EAAQzQ,KACZ,OAAO,WACL,OAAOyQ,EAAM9V,QAKnB,KAAQ,CACNsD,IAAK,WACH,OAAO+B,KAAKwS,eAAe7X,KAAKyN,QAAQ,MAAO,KAEjD5C,IAAK,SAASnH,GACZ2B,KAAKwS,eAAe7X,KAAO0D,EAC3B2B,KAAK0S,uBAEP1U,YAAY,GAGd,SAAY,CACVC,IAAK,WACH,OAAO+B,KAAKwS,eAAelB,SAASlJ,QAAQ,SAAU,MAExD5C,IAAK,SAASnH,GACZ2B,KAAKwS,eAAelB,SAAWjT,GAEjCL,YAAY,GAGd,OAAU,CACRC,IAAK,WAEH,IAAI2U,EAAe,CAAE,QAAS,GAAI,SAAU,IAAK,OAAQ,IAAK5S,KAAKwS,eAAeP,UAI9EY,EAAkB7S,KAAKwS,eAAeM,MAAQF,GACnB,KAA7B5S,KAAKwS,eAAeM,KAEtB,OAAO9S,KAAKwS,eAAeP,SACzB,KACAjS,KAAKwS,eAAeO,UACnBF,EAAmB,IAAM7S,KAAKwS,eAAeM,KAAQ,KAE1D9U,YAAY,GAGd,SAAY,CACVC,IAAK,WACH,MAAO,IAETuH,IAAK,SAASnH,KAEdL,YAAY,GAGd,SAAY,CACVC,IAAK,WACH,MAAO,IAETuH,IAAK,SAASnH,KAEdL,YAAY,KAIhBqT,EAAI2B,gBAAkB,SAAShO,GAC7B,OAAOyM,EAAKuB,gBAAgB3S,MAAMoR,EAAMrR,YAG1CiR,EAAI4B,gBAAkB,SAASpL,GAC7B,OAAO4J,EAAKwB,gBAAgB5S,MAAMoR,EAAMrR,YAG1C8C,EAAOmO,IAAMA,EAKb6B,QAGuB,IAApBhQ,EAAOoG,YAA0B,WAAYpG,EAAOoG,UAAW,CAClE,IAAI6J,EAAY,WACd,OAAOjQ,EAAOoG,SAAS2I,SAAW,KAAO/O,EAAOoG,SAASyJ,UAAY7P,EAAOoG,SAASwJ,KAAQ,IAAM5P,EAAOoG,SAASwJ,KAAQ,KAG7H,IACExZ,OAAOyE,eAAemF,EAAOoG,SAAU,SAAU,CAC/CrL,IAAKkV,EACLnV,YAAY,IAEd,MAAO1D,GACP8Y,aAAY,WACVlQ,EAAOoG,SAAS+J,OAASF,MACxB,OAlOT,MAuOqB,IAAXjQ,EAA0BA,EACV,oBAAX/D,OAA0BA,OACjB,oBAATgE,KAAwBA,KAAOnD,Q,6DCne9C,G,MAAA,uE,OASY,EAAAsT,cAAgB,WAIhBvY,SAASyG,KAAK+R,UAHA,GAIdxY,SAASyY,gBAAgBD,UAJX,EAMdxY,SAASyG,KAAKiK,UAAUC,IAAI,YAE5B3Q,SAASyG,KAAKiK,UAAUgI,OAAO,a,EAG3C,OArBgC,iBAC5B,YAAAzH,kBAAA,WACI7M,OAAOyL,iBAAiB,SAAU5K,KAAKsT,cAAe,CAAEI,SAAS,KAGrE,YAAAC,qBAAA,WACIxU,OAAO4L,oBAAoB,SAAU/K,KAAKsT,gBAelD,EArBA,CAAgC5G,cAuBhCC,eAAeC,OAAO,cAAe,G,iGCvB9B,aAgCH,wBA9BQ,KAAAgH,KAAO,SAAC1H,GAAoC,gBAAGA,EAAOkB,OAAS,OAAS,IAAE,OAAGlB,EAAOmB,QAAU,QAAU,IAAE,OAAGnB,EAAOjQ,MAAQiQ,EAAOvN,MACnI,KAAAkV,eAAgD,GAGhD,KAAAC,SAAyC,CAC7C,OAAU,CACN,CAAEjI,GAAI,SAAU6B,YAAa,UAAWD,QAAS,CAAE,CAAEL,QAAQ,EAAMnR,KAAM,UACzE,CAAE4P,GAAI,UAAW6B,YAAa,gBAAiBD,QAAS,CAAE,CAAEL,QAAQ,EAAMnR,KAAM,UAChF,CAAE4P,GAAI,gBAAiB6B,YAAa,sBAAuBD,QAAS,CAAE,CAAEL,QAAQ,EAAMnR,KAAM,UAC5F,CAAE4P,GAAI,YAAa6B,YAAa,kBAAmBD,QAAS,CAAE,CAAEL,QAAQ,EAAMnR,KAAM,UACpF,CAAE4P,GAAI,aAAc6B,YAAa,mBAAoBD,QAAS,CAAE,CAAEL,QAAQ,EAAMnR,KAAM,UACtF,CAAE4P,GAAI,cAAe6B,YAAa,oBAAqBD,QAAS,CAAE,CAAEL,QAAQ,EAAMnR,KAAM,WAE5F,UAAa,CACT,CAAE4P,GAAI,YAAa6B,YAAa,aAAcD,QAAS,CAAE,CAAEL,QAAQ,EAAMnR,KAAM,UAC/E,CAAE4P,GAAI,cAAe6B,YAAa,eAAgBD,QAAS,CAAE,CAAEL,QAAQ,EAAMnR,KAAM,UACnF,CAAE4P,GAAI,UAAW6B,YAAa,UAAWD,QAAS,CAAE,CAAEL,QAAQ,EAAMnR,KAAM,WAE9E,MAAS,CACL,CAAE4P,GAAI,kBAAmB6B,YAAa,mBAAoBD,QAAS,CAAE,CAAE9O,IAAK,KAAO,CAAEA,IAAK,eAC1F,CAAEkN,GAAI,cAAe6B,YAAa,eAAgBD,QAAS,CAAE,CAAE9O,IAAK,KAAO,CAAEA,IAAK,aAWtFQ,OAAO4U,qBAAoB,0D,uEACvB,SAAM,IAAIzI,S,cAAV,SAEAnM,OAAOyL,iBAAiB,WAAW,SAACoJ,GAChC,IAAKrY,MAAME,OAAuBoY,QAAQ,6BAA1C,CAGA,IAAM3H,EAAU3Q,MAAME,OAEtB,IAAIyQ,EAAQ4H,eAAgB5H,EAAQ4H,aAAa,mBAAjD,CAGA,IAAM/G,EAAS,EAAK0G,eAAe,EAAKD,KAAKI,IAEzC7G,IACA6G,EAAGG,iBACHH,EAAGI,cAAe,EAClBjH,U,aAKT,CAAExQ,QAAS,MAiCtB,OA9DI,sBAAW,aAAQ,C,IAAnB,WAAwB,OAAO0X,EAAY/F,W,gCAE3C,sBAAI,sBAAO,C,IAAX,WACI,OAAOtO,KAAK8T,U,gCA6BhB,YAAAQ,QAAA,SAAQzI,G,gBACJ,IAAkB,MAAAvS,OAAA,IAAAA,QAAO+N,OAAOrH,KAAK8T,WAAS,8BAAE,CAA5C,IAAM9G,EAAI,Q,IACV,IAAoB,4BAAAA,IAAI,8BAAE,CACtB,GADY,QACDnB,KAAOA,EACd,OAAO7L,M,oMAInB,MAAM,IAAIhE,MAAM,iCAA0B6P,EAAE,OAGhD,YAAA0I,eAAA,SAAe1I,EAAY1E,GAA3B,WAGUqG,EAFSxN,KAAK8T,SAAiB,OAEfU,QAAO,SAAA9W,GAAK,OAAAA,EAAEmO,KAAOA,KAAI,GAE1C2B,EAKLA,EAAOC,QAAQnJ,SAAQ,SAAA6I,GACnB,IAAMsH,EAAS,EAAKb,KAAKzG,GAEzB,GAAI,EAAK0G,eAAeY,GACpB,MAAM,IAAIzY,MAAM,wCAAiCyY,EAAM,kBAAU5I,EAAE,OAEvE,EAAKgI,eAAeY,GAAUtN,KAV9BlI,QAAQyV,IAAI,qCAA8B7I,EAAE,OA1ErC,EAAAyC,UAAY,IAAI+F,EAuFnC,EAxFO,I,oBCFP,YAQC,IAAkBM,IAIX,WAAe,aAOvB,SAASC,EAAWC,GAClB,MAAoB,mBAANA,EAKhB,IASIrQ,EARA7E,MAAM6E,QACG7E,MAAM6E,QAEN,SAAUqQ,GACnB,MAA6C,mBAAtCvb,OAAOC,UAAUqK,SAASnK,KAAKob,IAMtCC,EAAM,EACNC,OAAY,EACZC,OAAoB,EAEpBC,EAAO,SAAc9N,EAAU+N,GACjCC,EAAML,GAAO3N,EACbgO,EAAML,EAAM,GAAKI,EAEL,KADZJ,GAAO,KAKDE,EACFA,EAAkBI,GAElBC,MAaFC,EAAkC,oBAAXnW,OAAyBA,YAAS7B,EACzDiY,EAAgBD,GAAiB,GACjCE,EAA0BD,EAAcE,kBAAoBF,EAAcG,uBAC1EC,EAAyB,oBAATxS,MAA2C,oBAAZyS,SAAyD,qBAA9B,GAAGhS,SAASnK,KAAKmc,SAG3FC,EAAwC,oBAAtBC,mBAA8D,oBAAlBC,eAA2D,oBAAnBC,eA0C1G,SAASC,IAGP,IAAIC,EAAmB3Y,WACvB,OAAO,WACL,OAAO2Y,EAAiBd,EAAO,IAInC,IAAID,EAAQ,IAAIxV,MAAM,KACtB,SAASyV,IACP,IAAK,IAAIjc,EAAI,EAAGA,EAAI2b,EAAK3b,GAAK,GAI5BgO,EAHegO,EAAMhc,IACXgc,EAAMhc,EAAI,IAIpBgc,EAAMhc,QAAKmE,EACX6X,EAAMhc,EAAI,QAAKmE,EAGjBwX,EAAM,EAaR,IAzCMqB,EAZAC,EACAC,EACAC,EAmDFjB,OAAgB,EAcpB,SAAShZ,EAAKka,EAAeC,GAC3B,IAAIC,EAASzW,KAET0W,EAAQ,IAAI1W,KAAKC,YAAY0W,QAEPrZ,IAAtBoZ,EAAME,IACRC,EAAYH,GAGd,IAAII,EAASL,EAAOK,OAGpB,GAAIA,EAAQ,CACV,IAAI3P,EAAW/G,UAAU0W,EAAS,GAClC7B,GAAK,WACH,OAAO8B,EAAeD,EAAQJ,EAAOvP,EAAUsP,EAAOO,iBAGxDC,EAAUR,EAAQC,EAAOH,EAAeC,GAG1C,OAAOE,EAkCT,SAASQ,EAAUpY,GAIjB,GAAIA,GAA4B,iBAAXA,GAAuBA,EAAOmB,cAFjCD,KAGhB,OAAOlB,EAGT,IAAIvC,EAAU,IANIyD,KAMY2W,GAE9B,OADAlc,EAAQ8B,EAASuC,GACVvC,EA7ELoZ,EACFN,EAzEO,WACL,OAAOO,QAAQuB,SAAS/B,IAyEjBI,GAzDLY,EAAa,EACbC,EAAW,IAAIb,EAAwBJ,GACvCkB,EAAOvb,SAASqc,eAAe,IACnCf,EAASgB,QAAQf,EAAM,CAAEgB,eAAe,IAuDxCjC,EArDO,WACLiB,EAAKxd,KAAOsd,IAAeA,EAAa,IAqDjCP,IA/CLM,EAAU,IAAIH,gBACVuB,MAAMC,UAAYpC,EA+C1BC,EA9CO,WACL,OAAOc,EAAQsB,MAAMC,YAAY,KA+CnCrC,OAD2B/X,IAAlBgY,EAlBX,WACE,IACE,IAAIqC,EAAQrI,SAAS,cAATA,GAA0BsI,QAAQ,SAE9C,YAzDuB,KAwDvB7C,EAAY4C,EAAME,WAAaF,EAAMG,cAvD9B,WACL/C,EAAUK,IAIPa,IAoDL,MAAO3b,GACP,OAAO2b,KAaO8B,GAEA9B,IAuElB,IAAIW,EAAaoB,KAAKC,SAASrU,SAAS,IAAI0J,UAAU,GAEtD,SAASqJ,KAiET,SAASuB,EAAoB3b,EAAS4b,EAAeC,GAC/CD,EAAclY,cAAgB1D,EAAQ0D,aAAemY,IAAY/b,GAAQ8b,EAAclY,YAAYxF,UAAYyc,EAfrH,SAA2B3a,EAAS8b,GAhDpB,IAiDVA,EAASvB,OACXwB,EAAQ/b,EAAS8b,EAASrB,SAjDf,IAkDFqB,EAASvB,OAClBpc,EAAO6B,EAAS8b,EAASrB,SAEzBC,EAAUoB,OAAU/a,GAAW,SAAUe,GACvC,OAAO5D,EAAQ8B,EAAS8B,MACvB,SAAUka,GACX,OAAO7d,EAAO6B,EAASgc,MAOzBC,CAAkBjc,EAAS4b,QAEX7a,IAAZ8a,EACFE,EAAQ/b,EAAS4b,GACRvD,EAAWwD,GAjD1B,SAA+B7b,EAAS8b,EAAUD,GAChDnD,GAAK,SAAU1Y,GACb,IAAIkc,GAAS,EACT1b,EAXR,SAAiBqb,EAAS/Z,EAAOqa,EAAoBC,GACnD,IACEP,EAAQ3e,KAAK4E,EAAOqa,EAAoBC,GACxC,MAAOre,GACP,OAAOA,GAOKse,CAAQR,EAASC,GAAU,SAAUha,GAC3Coa,IAGJA,GAAS,EACLJ,IAAaha,EACf5D,EAAQ8B,EAAS8B,GAEjBia,EAAQ/b,EAAS8B,OAElB,SAAUka,GACPE,IAGJA,GAAS,EAET/d,EAAO6B,EAASgc,MACDhc,EAAQsc,SAEpBJ,GAAU1b,IACb0b,GAAS,EACT/d,EAAO6B,EAASQ,MAEjBR,GAwBCuc,CAAsBvc,EAAS4b,EAAeC,GAE9CE,EAAQ/b,EAAS4b,GAKvB,SAAS1d,EAAQ8B,EAAS8B,GACxB,GAAI9B,IAAY8B,EACd3D,EAAO6B,EA1EF,IAAIsD,UAAU,kDA2Ed,GAzSHrE,SADoBqZ,EA0SIxW,GAxSf,OAANwW,GAAwB,WAATrZ,GAA8B,aAATA,EAkTzC8c,EAAQ/b,EAAS8B,OAViB,CAClC,IAAI+Z,OAAU,EACd,IACEA,EAAU/Z,EAAMhC,KAChB,MAAOU,GAEP,YADArC,EAAO6B,EAASQ,GAGlBmb,EAAoB3b,EAAS8B,EAAO+Z,GAlTxC,IAA0BvD,EACpBrZ,EAuTN,SAASud,EAAiBxc,GACpBA,EAAQyc,UACVzc,EAAQyc,SAASzc,EAAQya,SAG3BiC,EAAQ1c,GAGV,SAAS+b,EAAQ/b,EAAS8B,QAtGZ,IAuGR9B,EAAQua,SAIZva,EAAQya,QAAU3Y,EAClB9B,EAAQua,OA3GM,EA6GsB,IAAhCva,EAAQ2c,aAAa7f,QACvB4b,EAAKgE,EAAS1c,IAIlB,SAAS7B,EAAO6B,EAASgc,QAnHX,IAoHRhc,EAAQua,SAGZva,EAAQua,OArHK,EAsHbva,EAAQya,QAAUuB,EAElBtD,EAAK8D,EAAkBxc,IAGzB,SAAS0a,EAAUR,EAAQC,EAAOH,EAAeC,GAC/C,IAAI0C,EAAezC,EAAOyC,aACtB7f,EAAS6f,EAAa7f,OAG1Bod,EAAOuC,SAAW,KAElBE,EAAa7f,GAAUqd,EACvBwC,EAAa7f,EApIC,GAoIqBkd,EACnC2C,EAAa7f,EApIA,GAoIqBmd,EAEnB,IAAXnd,GAAgBod,EAAOK,QACzB7B,EAAKgE,EAASxC,GAIlB,SAASwC,EAAQ1c,GACf,IAAI4c,EAAc5c,EAAQ2c,aACtBE,EAAU7c,EAAQua,OAEtB,GAA2B,IAAvBqC,EAAY9f,OAAhB,CAQA,IAJA,IAAIqd,OAAQ,EACRvP,OAAW,EACXkS,EAAS9c,EAAQya,QAEZ7d,EAAI,EAAGA,EAAIggB,EAAY9f,OAAQF,GAAK,EAC3Cud,EAAQyC,EAAYhgB,GACpBgO,EAAWgS,EAAYhgB,EAAIigB,GAEvB1C,EACFK,EAAeqC,EAAS1C,EAAOvP,EAAUkS,GAEzClS,EAASkS,GAIb9c,EAAQ2c,aAAa7f,OAAS,GAGhC,SAAS0d,EAAeqC,EAAS7c,EAAS4K,EAAUkS,GAClD,IAAIC,EAAc1E,EAAWzN,GACzB9I,OAAQ,EACRtB,OAAQ,EACRwc,GAAY,EAEhB,GAAID,EAAa,CACf,IACEjb,EAAQ8I,EAASkS,GACjB,MAAO/e,GACPif,GAAY,EACZxc,EAAQzC,EAGV,GAAIiC,IAAY8B,EAEd,YADA3D,EAAO6B,EA7KJ,IAAIsD,UAAU,8DAiLnBxB,EAAQgb,OA1LE,IA6LR9c,EAAQua,SAEDwC,GAAeC,EACxB9e,EAAQ8B,EAAS8B,IACM,IAAdkb,EACT7e,EAAO6B,EAASQ,GAjMJ,IAkMHqc,EACTd,EAAQ/b,EAAS8B,GAlMN,IAmMF+a,GACT1e,EAAO6B,EAAS8B,IAgBpB,IAAIwN,EAAK,EAKT,SAASgL,EAAYta,GACnBA,EAAQqa,GAAc/K,IACtBtP,EAAQua,YAASxZ,EACjBf,EAAQya,aAAU1Z,EAClBf,EAAQ2c,aAAe,GAOzB,IAAIM,EAAa,WACf,SAASA,EAAWC,EAAahS,GAC/BzH,KAAK0Z,qBAAuBD,EAC5BzZ,KAAKzD,QAAU,IAAIkd,EAAY9C,GAE1B3W,KAAKzD,QAAQqa,IAChBC,EAAY7W,KAAKzD,SAGfiI,EAAQiD,IACVzH,KAAK3G,OAASoO,EAAMpO,OACpB2G,KAAK2Z,WAAalS,EAAMpO,OAExB2G,KAAKgX,QAAU,IAAIrX,MAAMK,KAAK3G,QAEV,IAAhB2G,KAAK3G,OACPif,EAAQtY,KAAKzD,QAASyD,KAAKgX,UAE3BhX,KAAK3G,OAAS2G,KAAK3G,QAAU,EAC7B2G,KAAK4Z,WAAWnS,GACQ,IAApBzH,KAAK2Z,YACPrB,EAAQtY,KAAKzD,QAASyD,KAAKgX,WAI/Btc,EAAOsF,KAAKzD,QA5BT,IAAIP,MAAM,4CA0GjB,OA1EAwd,EAAWjgB,UAAUqgB,WAAa,SAAoBnS,GACpD,IAAK,IAAItO,EAAI,OApQH,IAoQM6G,KAAK8W,QAAsB3d,EAAIsO,EAAMpO,OAAQF,IAC3D6G,KAAK6Z,WAAWpS,EAAMtO,GAAIA,IAI9BqgB,EAAWjgB,UAAUsgB,WAAa,SAAoBnJ,EAAOvX,GAC3D,IAAIwE,EAAIqC,KAAK0Z,qBACTI,EAAanc,EAAElD,QAGnB,GAAIqf,IAAe5C,EAAW,CAC5B,IAAI6C,OAAQ,EACRhd,OAAQ,EACRid,GAAW,EACf,IACED,EAAQrJ,EAAMrU,KACd,MAAO/B,GACP0f,GAAW,EACXjd,EAAQzC,EAGV,GAAIyf,IAAU1d,QAzRN,IAyRcqU,EAAMoG,OAC1B9W,KAAKia,WAAWvJ,EAAMoG,OAAQ3d,EAAGuX,EAAMsG,cAClC,GAAqB,mBAAV+C,EAChB/Z,KAAK2Z,aACL3Z,KAAKgX,QAAQ7d,GAAKuX,OACb,GAAI/S,IAAMuc,EAAW,CAC1B,IAAI3d,EAAU,IAAIoB,EAAEgZ,GAChBqD,EACFtf,EAAO6B,EAASQ,GAEhBmb,EAAoB3b,EAASmU,EAAOqJ,GAEtC/Z,KAAKma,cAAc5d,EAASpD,QAE5B6G,KAAKma,cAAc,IAAIxc,GAAE,SAAUmc,GACjC,OAAOA,EAAWpJ,MAChBvX,QAGN6G,KAAKma,cAAcL,EAAWpJ,GAAQvX,IAI1CqgB,EAAWjgB,UAAU0gB,WAAa,SAAoBG,EAAOjhB,EAAGkF,GAC9D,IAAI9B,EAAUyD,KAAKzD,aAjTT,IAoTNA,EAAQua,SACV9W,KAAK2Z,aAnTI,IAqTLS,EACF1f,EAAO6B,EAAS8B,GAEhB2B,KAAKgX,QAAQ7d,GAAKkF,GAIE,IAApB2B,KAAK2Z,YACPrB,EAAQ/b,EAASyD,KAAKgX,UAI1BwC,EAAWjgB,UAAU4gB,cAAgB,SAAuB5d,EAASpD,GACnE,IAAIkhB,EAAara,KAEjBiX,EAAU1a,OAASe,GAAW,SAAUe,GACtC,OAAOgc,EAAWJ,WAtUR,EAsU8B9gB,EAAGkF,MAC1C,SAAUka,GACX,OAAO8B,EAAWJ,WAvUT,EAuU8B9gB,EAAGof,OAIvCiB,EAvGQ,GA0YbU,EAAY,WACd,SAAS1f,EAAQ8f,GACfta,KAAK4W,GA1ZA/K,IA2ZL7L,KAAKgX,QAAUhX,KAAK8W,YAASxZ,EAC7B0C,KAAKkZ,aAAe,GAEhBvC,IAAS2D,IACS,mBAAbA,GAvHb,WACE,MAAM,IAAIza,UAAU,sFAsHkB0a,GAClCva,gBAAgBxF,EA9atB,SAA2B+B,EAAS+d,GAClC,IACEA,GAAS,SAAwBjc,GAC/B5D,EAAQ8B,EAAS8B,MAChB,SAAuBka,GACxB7d,EAAO6B,EAASgc,MAElB,MAAOje,GACPI,EAAO6B,EAASjC,IAsaYkgB,CAAkBxa,KAAMsa,GApHxD,WACE,MAAM,IAAIza,UAAU,yHAmH8C4a,IA6PlE,OA/DAjgB,EAAQjB,UAAUmhB,MAAQ,SAAgBlE,GACxC,OAAOxW,KAAK3D,KAAK,KAAMma,IA2CzBhc,EAAQjB,UAAUohB,QAAU,SAAkBxT,GAC5C,IACIlH,EADUD,KACYC,YAE1B,OAAI2U,EAAWzN,GAHDnH,KAIG3D,MAAK,SAAUgC,GAC5B,OAAO4B,EAAYxF,QAAQ0M,KAAY9K,MAAK,WAC1C,OAAOgC,QAER,SAAUka,GACX,OAAOtY,EAAYxF,QAAQ0M,KAAY9K,MAAK,WAC1C,MAAMkc,QAVEvY,KAeC3D,KAAK8K,EAAUA,IAGzB3M,EArQO,GAuThB,OA/CA0f,EAAU3gB,UAAU8C,KAAOA,EAC3B6d,EAAUzc,IA1fV,SAAa6J,GACX,OAAO,IAAIkS,EAAWxZ,KAAMsH,GAAS/K,SA0fvC2d,EAAUU,KAtbV,SAActT,GAEZ,IAAImS,EAAczZ,KAElB,OAAKwE,EAAQ8C,GAKJ,IAAImS,GAAY,SAAUhf,EAASC,GAExC,IADA,IAAIrB,EAASiO,EAAQjO,OACZF,EAAI,EAAGA,EAAIE,EAAQF,IAC1BsgB,EAAYhf,QAAQ6M,EAAQnO,IAAIkD,KAAK5B,EAASC,MAP3C,IAAI+e,GAAY,SAAU7X,EAAGlH,GAClC,OAAOA,EAAO,IAAImF,UAAU,wCAiblCqa,EAAUzf,QAAUyc,EACpBgD,EAAUxf,OApYV,SAAkB6d,GAEhB,IACIhc,EAAU,IADIyD,KACY2W,GAE9B,OADAjc,EAAO6B,EAASgc,GACThc,GAgYT2d,EAAUW,cA7iCV,SAAsBC,GACpB9F,EAAoB8F,GA6iCtBZ,EAAUa,SA1iCV,SAAiBC,GACf/F,EAAO+F,GA0iCTd,EAAUe,MAAQhG,EAqClBiF,EAAUhP,SAlCV,WACE,IAAIgQ,OAAQ,EAEZ,QAAsB,IAAXhY,EACTgY,EAAQhY,OACH,GAAoB,oBAATC,KAChB+X,EAAQ/X,UAER,IACE+X,EAAQ5L,SAAS,cAATA,GACR,MAAOhV,GACP,MAAM,IAAI0B,MAAM,4EAIpB,IAAI+E,EAAIma,EAAM1gB,QAEd,GAAIuG,EAAG,CACL,IAAIoa,EAAkB,KACtB,IACEA,EAAkB7hB,OAAOC,UAAUqK,SAASnK,KAAKsH,EAAEtG,WACnD,MAAOH,IAIT,GAAwB,qBAApB6gB,IAA2Cpa,EAAEqa,KAC/C,OAIJF,EAAM1gB,QAAU0f,GAKlBA,EAAU1f,QAAU0f,EAEbA,GAtoCyD9f,EAAOD,QAAUwa,M,kDCTjF,a,gCCGAva,EAAOD,QAAU,EAAQ,IAAM+Q,Y,iBCoBtB,IAtBL,WACI,IAAImQ,EAAW,EAGVlc,OAAOmc,wBACFnc,OAAQmc,sBAAwB,SAACnU,EAAUmF,GAC7C,IAAMiP,GAAW,IAAIlT,MAAOC,UACtBkT,EAAaxD,KAAKyD,IAAI,EAAG,IAAMF,EAAWF,IAC1CxP,EAAK1M,OAAO5B,YAAW,WAAQ4J,EAASoU,EAAWC,KACrDA,GAEJ,OADAH,EAAWE,EAAWC,EACf3P,IAIV1M,OAAOuc,uBACRvc,OAAOuc,qBAAuB,SAAA7P,GAC1B7O,aAAa6O,O,iBClB7B1M,OAAO4U,oBACP5U,OAAO4U,qBACP,SAAU4H,GACR,IAAIC,EAAQvT,KAAKwT,MACjB,OAAOte,YAAW,WAChBoe,EAAG,CACDG,YAAY,EACZC,cAAe,WACb,OAAO/D,KAAKyD,IAAI,EAAG,IAAMpT,KAAKwT,MAAQD,SAGzC,IAGLzc,OAAO6c,mBACP7c,OAAO6c,oBACP,SAAUnQ,GACR7O,aAAa6O,K,kBCDf,WACI,QAGqBvO,IAAnB6B,OAAOuB,cACmBpD,IAA1B6B,OAAOwN,gBAGPxN,OAAOwN,eAAenT,eAAe,6BAErC,OAEF,MAAMyiB,EAAqBvP,YAC3BvN,OAAOuN,YAAqC,WAC1C,OAAOhM,QAAQwb,UACXD,EAAoB,GAA8Bjc,KAAgB,cAExE0M,YAAYnT,UAAY0iB,EAAmB1iB,UAC3CmT,YAAYnT,UAAU0G,YAAcyM,YACpCpT,OAAOmG,eAAeiN,YAAauP,GAnBvC,I,+DCfC,SAAS3hB,EAAEgE,GAAG,aAAa,SAASO,IAAI,IAAIvE,EAAE6hB,EAAEC,OAAO,EAAED,EAAE9iB,QAAQ,IAAIgjB,GAAG,EAAE/hB,EAAEjB,QAAQiB,EAAER,QAAQL,KAAK,KAAKa,EAAER,SAAS,SAASoE,EAAE5D,EAAEgE,GAAG,IAAI,IAAIO,EAAE,EAAEX,EAAE5D,EAAEjB,OAAOwF,EAAEX,EAAEW,IAAIyd,EAAEhiB,EAAEuE,GAAGP,GAAuE,SAASjE,EAAEC,GAAG,OAAO,SAASgE,GAAGie,GAAGje,KAAKge,EAAEhe,EAAEhE,GAAGkiB,GAAGnjB,QAAQ6E,EAAEI,EAAE+N,iBAAiBmQ,IAAIliB,KAAK,SAASuT,EAAEvT,GAAG,IAAIgE,EAAEme,GAAGhjB,KAAKa,EAAE,MAAMuE,EAAEvE,EAAEiS,SAASvE,cAAc9J,EAAEwe,GAAGjjB,KAAKkjB,GAAGre,EAAEse,GAAGte,EAAE0J,cAAc6U,EAAGhe,GAAG,OAAOP,IAAI,EAAEJ,IAAI/E,EAAE0F,EAAEP,IAAI,EAAEJ,EAAE,SAAS/E,EAAEmB,EAAEgE,GAAG,OAAO,EAAEke,GAAG7Y,QAAQrJ,EAAE,QAAQgE,EAAE,MAAM,SAAS8S,EAAE9W,GAAG,IAAIgE,EAAEhE,EAAEwiB,cAAcje,EAAEvE,EAAEyiB,WAAW7e,EAAE5D,EAAE0iB,SAASlf,EAAExD,EAAEuB,OAAOxB,EAAEC,EAAE2iB,IAAI,EAAEpP,EAAEvT,EAAE4iB,IAAI,GAAGC,IAAIrf,GAAGA,IAAIQ,IAAIA,EAAE8e,IAAI,UAAUlf,GAAG5D,EAAE+iB,YAAY/iB,EAAEgjB,WAAW,KAAKhjB,EAAEgjB,UAAUze,IAAIxE,GAAGwE,IAAIgP,IAAIvP,EAAE8e,GAAGlf,EAAEW,IAAIxE,EAAE,KAAKC,EAAE+iB,UAAUxe,IAAIgP,EAAE,KAAKvT,EAAEgjB,UAAU,SAAS3f,EAAErD,GAAG,IAAIgE,EAAEjE,EAAEC,GAAG,OAAO,SAASA,GAAG6hB,EAAExiB,KAAK2E,EAAEhE,EAAEuB,QAAQwgB,IAAIrf,aAAaqf,IAAIA,GAAG9e,WAAWsB,EAAE,IAAI,SAASS,EAAEhF,GAAGijB,KAAKA,IAAG,EAAGjjB,EAAEwiB,cAAc/R,oBAAoByS,EAAEle,IAAIkd,GAAGnjB,QAAQ6E,GAAG5D,EAAEuB,QAAQ6F,GAAG2K,iBAAiBmQ,IAAIliB,EAAE+e,SAASoE,EAAEA,EAAE5I,GAAG6I,IAAyU,WAAa,IAAI,IAAIpjB,EAAEgE,EAAE,EAAEO,EAAE8e,GAAGtkB,OAAOiF,EAAEO,EAAEP,IAAIhE,EAAEqjB,GAAGrf,GAAGsf,GAAG5O,SAAS1U,KAAKuE,IAAI8e,GAAGvB,OAAO9d,IAAI,GAAGge,EAAEhiB,EAAEmjB,IAAta5iB,GAAI,SAAS6C,EAAEpD,EAAEgE,GAAG,IAAIO,EAAEmB,KAAK6d,GAAGpkB,KAAKoF,EAAEvE,EAAEgE,GAAGwf,EAAErkB,KAAKoF,EAAE,CAAChD,OAAOgD,IAAI,SAAS4C,EAAEnH,EAAEgE,EAAEO,GAAG,IAAIX,EAAEI,EAAE+B,MAAM/F,EAAEuE,GAAGxE,EAAEwT,EAAE3P,GAAG,OAAO,EAAE7D,GAAG0jB,EAAE7f,EAAE8f,GAAG3jB,IAAIwE,EAAEwD,OAAOma,GAAGnjB,QAA58B,SAAWiB,GAAG,IAAI,IAAIgE,EAAEO,EAAE,EAAEX,EAAE5D,EAAEjB,OAAOwF,EAAEX,EAAEW,IAAIP,EAAEhE,EAAEuE,GAAGkf,EAAEzf,EAAE0f,GAAGnQ,EAAEvP,KAAq5BR,CAAEI,EAAEmO,iBAAiBmQ,KAAKte,EAAE,SAASN,EAAEtD,EAAEgE,GAAG2f,GAAG3jB,EAAEgE,GAAG4f,EAAEA,EAAE7G,QAAQ/c,EAAE6jB,KAAKC,KAAK9jB,EAAEuC,aAAaa,EAAEpD,EAAEsH,GAAGyc,EAAE/jB,GAAGA,EAAEgkB,GAAGC,EAAGT,IAAIxjB,EAAEgkB,GAAGE,EAAEpN,IAAI9W,EAAEmkB,IAAItB,KAAK7iB,EAAEokB,SAAQ,EAAGpkB,EAAEmkB,KAAKnkB,EAAEokB,SAAQ,GAAyG,SAASC,EAAErkB,GAAG,MAAM,IAAI0B,MAAM,KAAK1B,EAAE,+BAA+B,SAASgiB,EAAEhiB,EAAEgE,GAAG,IAAIO,EAAEX,EAAEJ,EAAE+P,EAAEvT,IAAI,EAAEwD,IAAI8gB,GAAGnlB,KAAKa,EAAE,cAAcukB,EAAEvkB,EAAE0jB,GAAGlgB,IAAIA,EAAE,EAAEQ,IAAIuW,GAAGva,EAAEua,GAAGvW,IAAImf,GAAGnjB,EAAEmjB,KAAKnjB,EAAEua,IAAG,EAAGva,EAAEmjB,IAAG,EAAGvf,EAAE,eAAeJ,EAAE,IAAIxD,EAAEmjB,IAAG,EAAGnjB,EAAEua,IAAG,EAAG3W,EAAE,YAAYJ,EAAE,EAAE4f,IAAIhB,GAAGjjB,KAAKkkB,GAAGrjB,GAAG,GAAGqjB,GAAGhkB,KAAKW,IAAIwD,IAAIe,EAAEvE,EAAEgE,EAAEwgB,IAAIxkB,EAAE4D,EAAE4gB,KAAKjgB,EAAEpF,KAAKa,IAAI,SAASykB,KAAK,SAASC,EAAE1kB,EAAEgE,EAAEO,GAAG,IAAIX,EAAEW,GAAGA,EAAEogB,IAAI,GAAGnhB,EAAEQ,EAAE/E,UAAUc,EAAE6kB,GAAGphB,GAAG+P,EAAEvP,EAAE6gB,oBAAoBC,GAAGjmB,EAAE,CAACI,UAAUc,GAAGglB,GAAGhlB,EAAEokB,EAAE,CAACpgB,MAAM,WAAW,GAAGihB,GAAGA,IAAG,OAAQ,IAAItf,KAAKuf,IAAI,CAACvf,KAAKuf,KAAI,EAAG,IAAIjhB,EAAE0B,MAAMlC,EAAE2gB,IAAI3gB,EAAE2gB,GAAGhlB,KAAKuG,MAAM,IAAI1F,EAAEklB,GAAGC,GAAGxhB,IAAIK,MAAMohB,IAAIplB,EAAEoE,OAAOrF,OAAO,IAAIsmB,EAAE3f,UAAUqf,GAAGhlB,EAAE+iB,EAAE,CAAC/e,MAAM,SAAS/D,IAAI,EAAEoiB,GAAGjjB,KAAKoU,EAAEvT,IAAIwD,EAAEsf,IAAItf,EAAEsf,GAAG/c,MAAML,KAAKI,cAActC,EAAE8hB,IAAIP,GAAGhlB,EAAEwlB,EAAE,CAACxhB,MAAMP,EAAE8hB,KAAK9hB,EAAEgiB,IAAIT,GAAGhlB,EAAE0lB,EAAE,CAAC1hB,MAAMP,EAAEgiB,KAAK5hB,IAAI/E,EAAE8lB,GAAG/gB,GAAG5D,EAAEA,EAAE0N,cAAcwX,GAAGllB,GAAG,CAAC2F,YAAY3B,EAAEI,OAAOR,EAAE,CAACA,EAAE8hB,GAAG1lB,IAAI,CAACA,IAAImlB,GAAGja,IAAIlH,EAAEhE,GAAGoH,EAAEue,GAAG3lB,EAAEyJ,cAAc5K,GAAGwI,EAAErH,GAAG4lB,GAAG5lB,GAAG4D,IAAI,SAASiiB,EAAE7lB,GAAG,IAAIgE,EAAEkhB,GAAGllB,EAAE0N,eAAe,OAAO1J,GAAGA,EAAE2B,YAAY,SAASkC,EAAE7H,GAAG,MAAM,iBAAiBA,EAAEA,EAAEA,GAAGA,EAAE8lB,IAAI,GAAG,SAAST,EAAErlB,GAAG,IAAI,IAAIgE,EAAEO,EAAEvE,EAAE8iB,GAAGlf,EAAEW,EAAEvE,EAAE6W,WAAWiO,GAAGthB,EAAEI,EAAE7E,OAAOyE,KAAKQ,EAAEJ,EAAEJ,GAAGe,EAAEpF,KAAKa,EAAEgE,EAAEjB,MAAMiB,EAAEiO,SAAS,KAAKjO,EAAED,OAAOC,EAAE+hB,WAAW,SAAS1e,EAAErH,GAAG,OAAOA,EAAEA,EAAE0N,iBAAmBkY,KAAKA,GAAG5lB,GAAG,GAAG4lB,GAAG5lB,GAAGO,EAAE,IAAIylB,IAAG,SAAShiB,GAAG4hB,GAAG5lB,GAAG4D,EAAEI,MAAK4hB,GAAG5lB,GAAGO,EAAE,SAAS2E,IAAI+gB,WAAWjmB,EAAEqS,eAAe6T,GAAGlmB,EAAE,iBAAiB,CAAC6U,cAAa,EAAG9Q,MAAM,IAAI0gB,IAAIyB,GAAGlmB,EAAE,wBAAwB,CAAC6U,cAAa,EAAG9Q,MAAM0gB,IAAI,IAAI,IAAIzgB,EAAE4Q,EAAEjR,IAAI,oBAAoBY,EAAEP,EAAEjF,OAAOwF,IAAI,SAASP,GAAG,IAAIO,EAAEvE,EAAEgE,GAAG,GAAGO,EAAE,CAACvE,EAAEgE,GAAG,SAAShE,GAAG,IAAIgE,EAAEJ,EAAE,OAAO5D,IAAIA,EAAE0F,MAAM1F,EAAEilB,MAAMD,IAAG,EAAGhhB,EAAEkhB,GAAGC,GAAGxhB,IAAI3D,EAAE2F,eAAwC3F,GAA1B4D,EAAEwhB,IAAI,IAAIphB,EAAEI,OAAOrF,QAAWqH,QAAQwb,UAAUrd,EAAEugB,GAAG9gB,EAAE2B,aAAayB,EAAEnG,cAAc8E,MAAMqB,EAAEpD,EAAEI,SAAU6gB,KAAI,EAAGD,IAAG,EAAGphB,GAAGyhB,EAAErlB,IAAIA,GAAGA,EAAEgE,GAAG/E,UAAUsF,EAAEtF,UAAU,IAAIsF,EAAEtF,UAAU0G,YAAY3F,EAAEgE,GAAG,MAAMJ,IAAM,EAAGsiB,GAAG3hB,EAAE0gB,GAAG,CAAClhB,MAAM/D,EAAEgE,OAAhV,CAAwVA,EAAEO,KAAK6C,EAAEnG,cAAc,SAASjB,EAAEgE,GAAG,IAAIO,EAAEsD,EAAE7D,GAAG,OAAOO,EAAE4hB,GAAGhnB,KAAKuG,KAAK1F,EAAE0lB,GAAGnhB,IAAI4hB,GAAGhnB,KAAKuG,KAAK1F,IAAIomB,KAAKC,IAAG,EAAGjf,EAAEue,GAAG,KAAK,IAAIve,EAAEpH,EAAES,SAAS6lB,EAAEtmB,EAAEhB,OAAO4V,EAAE,SAAS5U,GAAG,IAAIgE,EAAEO,EAAEX,EAAEJ,EAAEzD,EAAE,eAAkFlB,EAAE,SAASmB,EAAEgE,IAAIA,EAAEA,EAAEyF,iBAAiBqN,IAAIA,EAAE9W,IAAI8W,EAAE9W,IAAI,IAAIuI,OAAOvE,GAAG8S,EAAE9S,GAAG8S,EAAE9S,EAAE0J,eAAe1N,IAAI8W,GAAGwP,EAAEliB,QAAQkiB,GAAG,MAAMjjB,EAAE,GAAG,IAAIkB,KAAKvE,EAAE,IAAIwD,KAAKxD,EAAEuE,GAAG,IAAIX,EAAE5D,EAAEuE,GAAGf,GAAGsT,EAAEtT,GAAGI,EAAEI,EAAE,EAAEA,EAAEJ,EAAE7E,OAAOiF,IAAI8S,EAAElT,EAAEI,GAAGyF,eAAeqN,EAAElT,EAAEI,GAAG0J,eAAelK,EAAE,OAAOH,EAAEM,IAAI,SAAS3D,GAAG,MAAM,iBAAiBA,EAAE8W,EAAE9W,KAAKD,EAAEyJ,KAAKxJ,GAAG,GAAG,IAAjX,SAASA,GAAG,IAAIgE,EAAEO,EAAE,GAAG,IAAIP,KAAK8S,EAAE9W,EAAEwJ,KAAKxF,IAAIO,EAAElF,KAAK2E,GAAG,OAAOO,EAAuTgP,CAAEvT,IAAIqD,EAAE6H,IAAI,SAASlL,EAAEgE,GAAG,OAAOjE,EAAEyJ,KAAKxJ,GAAGnB,EAAEmB,EAAEgE,GAAGnF,EAAEmF,EAAEhE,GAAGqD,GAAGA,EAA5d,CAA+d,CAACkjB,YAAY,CAACC,kBAAkB,CAAC,OAAOC,eAAe,CAAC,SAASC,2BAA2B,CAAC,YAAYC,sBAAsB,CAAC,YAAYC,SAAS,CAACC,QAAQ,CAAC,WAAWC,kBAAkB,CAAC,KAAKC,kBAAkB,CAAC,UAAUC,gBAAgB,CAAC,QAAQC,sBAAsB,CAAC,cAAcC,iBAAiB,CAAC,SAASC,cAAc,CAAC,MAAMC,gBAAgB,CAAC,QAAQC,gBAAgB,CAAC,QAAQC,kBAAkB,CAAC,UAAUC,kBAAkB,CAAC,UAAUC,mBAAmB,CAAC,WAAWC,iBAAiB,CAAC,MAAMC,gBAAgB,CAAC,QAAQC,oBAAoB,CAAC,YAAYC,mBAAmB,CAAC,WAAWC,kBAAkB,CAAC,UAAUC,qBAAqB,CAAC,OAAOC,eAAe,CAAC,OAAOC,aAAa,CAAC,YAAY5V,YAAY,CAAC,UAAU,OAAO,UAAU,UAAU,QAAQ,IAAI,MAAM,MAAM,OAAO,OAAO,UAAU,KAAK,MAAM,KAAK,KAAK,aAAa,SAAS,SAAS,SAAS,IAAI,MAAM,OAAO,MAAM,WAAW,KAAK,KAAK,OAAO,IAAI,OAAO,UAAU,QAAQ,SAAS,MAAM,UAAU,MAAM,IAAI,MAAM,OAAO6V,iBAAiB,CAAC,SAASC,oBAAoB,CAAC,YAAYC,gBAAgB,CAAC,QAAQC,gBAAgB,CAAC,QAAQC,iBAAiB,CAAC,SAASC,oBAAoB,CAAC,YAAYC,cAAc,CAAC,MAAMC,gBAAgB,CAAC,QAAQC,mBAAmB,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,MAAMC,gBAAgB,CAAC,QAAQC,kBAAkB,CAAC,UAAUC,iBAAiB,CAAC,OAAOC,iBAAiB,CAAC,SAASC,kBAAkB,CAAC,UAAUC,cAAc,CAAC,MAAMC,iBAAiB,CAAC,SAASC,kBAAkB,CAAC,UAAUC,gBAAgB,CAAC,QAAQC,eAAe,CAAC,OAAOC,mBAAmB,CAAC,WAAWC,iBAAiB,CAAC,SAASC,gBAAgB,CAAC,QAAQC,oBAAoB,CAAC,YAAYC,gBAAgB,CAAC,QAAQC,iBAAiB,CAAC,SAASC,eAAe,CAAC,MAAM,OAAOC,iBAAiB,CAAC,MAAMC,kBAAkB,CAAC,UAAUC,oBAAoB,CAAC,YAAYC,kBAAkB,CAAC,UAAUC,kBAAkB,CAAC,UAAUC,qBAAqB,CAAC,KAAKC,iBAAiB,CAAC,SAASC,mBAAmB,CAAC,WAAWC,eAAe,CAAC,OAAOC,oBAAoB,CAAC,YAAYC,iBAAiB,CAAC,aAAa,IAAI,SAASC,kBAAkB,CAAC,UAAUC,kBAAkB,CAAC,UAAUC,kBAAkB,CAAC,UAAUC,gBAAgB,CAAC,QAAQC,kBAAkB,CAAC,UAAUC,gBAAgB,CAAC,QAAQC,iBAAiB,CAAC,SAASC,wBAAwB,CAAC,WAAWC,qBAAqB,CAAC,KAAK,MAAMC,oBAAoB,CAAC,MAAM,YAAYC,iBAAiB,CAAC,SAASC,oBAAoB,CAAC,MAAMC,wBAAwB,CAAC,QAAQ,QAAQ,SAASC,oBAAoB,CAAC,YAAYC,oBAAoB,CAAC,YAAYC,gBAAgB,CAAC,QAAQC,iBAAiB,CAAC,SAASC,iBAAiB,CAAC,SAASC,iBAAiB,CAAC,MAAMC,mBAAmB,CAAC,UAAU,WAAW,WAAWC,iBAAiB,CAAC,UAAUC,MAAM,CAACC,KAAK,CAAC,QAAQC,MAAM,CAAC,SAASC,aAAa,CAAC,QAAQC,cAAc,CAAC,QAAQC,QAAQ,CAAC,YAAYC,SAAS,CAAC,aAAaC,iBAAiB,CAAC,sBAAsBC,aAAa,CAAC,QAAQnE,aAAa,CAAC,aAAaoE,MAAM,CAAC,OAAOC,OAAO,CAAC,UAAUC,sBAAsB,CAAC,QAAQC,WAAW,CAAC,gBAAgBC,KAAK,CAAC,SAASC,YAAY,CAAC,UAAU,iBAAiBzoB,IAAIA,EAAE,CAAC9C,KAAK8C,GAAG,SAAS,IAAI6d,EAAE2B,EAAEkJ,EAAE3I,EAAEH,EAAE+I,EAAEpI,EAAEd,EAAEhd,EAAEkf,EAAE,kBAAkBiH,EAAE,IAAI5sB,EAAE0d,KAAKC,UAAU,EAAErW,EAAE,KAAKqe,EAAEiH,EAAE5I,EAAE,mBAAmBzJ,EAAE,WAAWiK,EAAE,WAAWrB,EAAE,WAAWwB,EAAE,UAAU7B,EAAE,mBAAmB0B,EAAEe,EAAEhL,EAAEiK,EAAEc,EAAE,YAAYd,EAAEgB,EAAE,eAAehB,EAAEL,EAAE,UAAUK,EAAEiB,EAAEtC,EAAEqB,EAAE7B,EAAE,WAAWC,EAAE,UAAUsB,EAAE,kBAAkBhB,EAAE,mBAAmBe,EAAG,qBAAqB1B,EAAG,IAAID,GAAG,IAAIuK,GAAG,kCAAkCnoB,GAAG,CAAC,iBAAiB,gBAAgB,YAAY,gBAAgB,gBAAgB,mBAAmB,iBAAiB,iBAAiB2d,GAAG,GAAGqB,GAAG,GAAGxB,GAAG,GAAGoB,GAAGlc,EAAE8R,gBAAgBkJ,GAAGC,GAAGhZ,SAAS,SAASrJ,GAAG,IAAI,IAAIgE,EAAE0B,KAAK3G,OAAOiF,KAAK0B,KAAK1B,KAAKhE,IAAI,OAAOgE,GAAG8oB,GAAGxG,EAAErnB,UAAU8tB,GAAGD,GAAG5tB,eAAe8tB,GAAGF,GAAGthB,cAAc0a,GAAGI,EAAE7iB,eAAeqhB,GAAG,GAAGmI,GAAG3G,EAAEngB,yBAAyB+mB,GAAG5G,EAAElc,oBAAoB+iB,GAAG7G,EAAE8G,eAAeC,GAAG/G,EAAEnhB,eAAemoB,KAAKhH,EAAElhB,UAAgB6f,GAAG,YAAYgB,GAAGjmB,EAAEqS,eAAe+S,IAAI,SAAS5b,KAAKxF,EAAE9C,UAAU+kB,IAAIA,GAAG3T,QAAQ2T,GAAGtiB,KAAKsiB,GAAGsH,aAAaC,GAAGlH,EAAEliB,QAAQkiB,EAAEmH,GAAGztB,EAAE0tB,KAAK,WAAW,IAAI1tB,EAAEgE,EAAE,GAAGO,EAAE,GAAG,MAAM,CAACZ,IAAI,SAAS3D,GAAG,OAAOuE,EAAE6d,GAAGjjB,KAAK6E,EAAEhE,KAAKkL,IAAI,SAAStH,EAAEJ,IAAGxD,EAAEoiB,GAAGjjB,KAAK6E,EAAEJ,IAAK,EAAEW,EAAEP,EAAE3E,KAAKuE,GAAG,GAAGJ,EAAEe,EAAEvE,GAAGwD,KAAKwiB,GAAGhmB,EAAEE,SAAS,SAASF,GAAG,SAASgE,EAAEhE,GAAG,IAAI4D,GAAE,EAAGW,EAAExF,QAAQwF,EAAE/E,OAAF+E,CAAUvE,GAAG,IAAIuE,EAAE,GAAGX,GAAE,EAAGJ,EAAE,CAAC,MAAQ,WAAW,OAAOA,GAAGzB,KAAK,SAAS/B,GAAG,OAAOuE,EAAElF,KAAKW,GAAG4D,GAAGX,WAAWe,EAAE,GAAGR,IAAI,OAAOxD,EAAEgE,GAAGR,GAAGwhB,IAAG,EAAGE,GAAGsI,GAAG,MAAM5H,GAAG4H,GAAG,MAAMrI,GAAG,IAAIsI,GAAG/H,GAAG,SAAS1lB,GAAG,OAAOA,EAAEyJ,eAAemb,GAAG0B,EAAEliB,QAAQ,SAASupB,EAAG3tB,GAAG,OAAOA,GAAG2tB,EAAG1uB,UAAUe,EAAE,IAAI2tB,GAAIjoB,MAAMie,GAAG0J,KAAKC,GAAG,SAASttB,EAAEgE,GAAG,OAAOhE,EAAEoF,UAAUpB,EAAEhE,GAAGktB,IAAID,GAAG,WAAW,SAASjtB,EAAEA,EAAEgE,GAAG,IAAI,IAAIO,EAAEX,EAAEspB,GAAGlpB,GAAGR,EAAE,EAAEzD,EAAE6D,EAAE7E,OAAOyE,EAAEzD,EAAEyD,IAAIe,EAAEX,EAAEJ,GAAGupB,GAAG5tB,KAAKa,EAAEuE,IAAI2hB,GAAGlmB,EAAEuE,EAAE0oB,GAAGjpB,EAAEO,IAAI,OAAO,SAASP,EAAEO,GAAG,GAAGvE,EAAEgE,EAAEO,UAAUA,EAAE4oB,GAAG5oB,MAAMyoB,GAAG7tB,KAAKoF,EAAEP,IAAI,OAAOA,GAA/K,GAAqL,SAAShE,EAAEgE,GAAG,IAAI,IAAIO,KAAKP,EAAEhE,EAAEuE,GAAGP,EAAEO,GAAG,OAAOvE,IAAI4tB,GAAG5tB,EAAEmb,kBAAkBnb,EAAEob,uBAAuByS,GAAG7tB,EAAE8mB,kBAAkBgH,IAAI9tB,EAAEoS,aAAapS,EAAE6mB,SAAS7mB,EAAE+tB,MAAM9uB,UAAUmkB,IAAI4J,GAAG7tB,KAAK2uB,GAAGxK,IAAIyB,GAAG3B,GAAG,SAASpjB,EAAEgE,EAAEO,GAAG,OAAOvE,EAAEgE,GAAGO,EAAER,MAAM/D,GAAGkmB,GAAGjE,GAAGmB,GAAG,SAASpjB,GAAG,OAAO,IAAIA,EAAEguB,UAAU,SAAShuB,GAAG,OAAOgtB,GAAG7tB,KAAK2uB,GAAG9tB,IAAIqjB,GAAGD,IAAI,GAAG6K,GAAGH,GAAGzY,aAAa6Y,GAAGJ,GAAGK,UAAU7J,GAAGwJ,GAAGnU,SAAS,SAAS3Z,GAAG,IAAI,IAAIgE,EAAE0B,KAAK1B,GAAGA,EAAEiO,WAAWjS,GAAGgE,EAAEA,EAAEpC,WAAW,OAAOoC,GAAGoqB,GAAGN,GAAGO,cAAclM,GAAG2L,GAAGjtB,aAAaytB,GAAGR,GAAGlU,aAAa2U,GAAGT,GAAGU,gBAAgBjL,GAAGuK,GAAGvrB,aAAaksB,GAAGrnB,EAAEnG,cAAcytB,GAAGtnB,EAAEunB,WAAWxI,GAAGsI,GAAG5K,GAAG+J,IAAI,CAAC/W,YAAW,EAAGmG,eAAc,EAAG4R,mBAAkB,GAAIC,GAAGjB,IAAI,SAAS5tB,GAAG8jB,IAAG,EAAGR,GAAG7S,oBAAoByT,EAAE2K,KAAK9M,GAAG,EAAEqE,GAAGT,KAAKve,IAAI,aAAaoC,KAAKxF,EAAE9C,MAAM4tB,IAAG,EAAGzI,IAAG,EAAGvC,IAAG,EAAGb,IAAG,EAAGJ,IAAG,EAAG,GAAG+K,MAAKnnB,EAAEW,EAAEnG,cAAc,QAASkR,UAAU,yBAAyB,IAAIyb,IAAG,SAAS5tB,EAAEgE,GAAG,GAAGhE,EAAE,IAAI,aAAaA,EAAE,GAAGkB,OAAOlB,EAAE,GAAG+uB,aAAa,GAAGC,WAAWjwB,OAAO,CAAsB,IAAIwF,GAAzBkC,EAAEwmB,GAAGa,GAAG,eAAsBrnB,EAAEyE,IAAI3G,GAAG2hB,GAAG4H,GAAG,YAAY,CAAC5iB,IAAI,SAASlL,GAAG,KAAK0F,KAAKupB,WAAWvpB,KAAK7D,YAAY6D,KAAKupB,WAAW1qB,EAAEpF,KAAKuG,KAAK1F,MAAMgE,EAAEkrB,aAAazoB,EAAE,QAAOsW,QAAQtW,EAAE,CAAC0oB,WAAU,EAAGC,SAAQ,IAAK3oB,EAAE0L,UAAU,IAAIiU,KAAKiH,IAAIC,IAAI/I,EAAE,SAASvkB,EAAEgE,GAAGgpB,GAAG7tB,KAAK6E,EAAEhE,IAAIsD,EAAEtD,EAAEgE,IAAIyf,EAAEngB,GAA+CmgB,EAA3Cc,EAAE,SAASvkB,EAAEgE,GAAGhE,EAAEsH,KAAKtH,EAAEsH,GAAGgf,GAAE,GAAIhjB,EAAEtD,EAAEgE,KAAUof,IAAIU,IAAG,EAAG,WAAW,IAAI9jB,EAAEitB,GAAGa,GAAG9J,GAAGhgB,EAAEhE,EAAE+D,MAAMQ,EAAE,SAASvE,GAAG,IAAIgE,EAAE,IAAIqrB,YAAYnL,EAAE,CAACoL,SAAQ,IAAKtrB,EAAE0e,SAAS1iB,EAAEgE,EAAE+e,UAAUZ,GAAGhjB,KAAKuG,KAAK1F,GAAGgE,EAAEgf,SAAS,KAAKhf,EAAE4e,GAAG5e,EAAEye,WAAW,EAAE8L,GAAGpvB,KAAKuG,KAAK1F,GAAGouB,GAAGjvB,KAAKuG,KAAK1B,IAAIJ,EAAE,SAAS5D,EAAEgE,GAAG,IAAIO,EAAE+pB,GAAGnvB,KAAKuG,KAAK1F,GAAG4D,EAAEW,GAAG4d,GAAGhjB,KAAKuG,KAAK1F,GAAGwD,EAAE,IAAI6rB,YAAYnL,EAAE,CAACoL,SAAQ,IAAK/L,GAAGpkB,KAAKuG,KAAK1F,EAAEgE,GAAGR,EAAEkf,SAAS1iB,EAAEwD,EAAEuf,UAAUxe,EAAEX,EAAE,KAAKJ,EAAEwf,SAAShf,EAAEO,EAAEf,EAAE+rB,aAAa/rB,EAAEif,WAAW,EAAEjf,EAAEmf,GAAGnf,EAAEif,WAAW,EAAE2L,GAAGjvB,KAAKuG,KAAKlC,IAAIA,EAAE,SAASxD,GAAG,IAAIgE,EAAEO,EAAEvE,EAAEwiB,cAAc5e,EAAEW,EAAE+C,GAAG9D,EAAExD,EAAEwvB,aAAa5rB,EAAE1E,eAAesE,KAAKI,EAAEA,EAAEJ,IAAGQ,EAAE,IAAIqrB,YAAYnL,EAAE,CAACoL,SAAQ,KAAO5M,SAAS9e,EAAEb,KAAKiB,EAAE+e,UAAUnf,EAAEG,OAAO,KAAKC,EAAEgf,SAASpf,EAAEG,MAAMQ,EAAEf,IAAI,KAAK,MAAMQ,EAAE+e,UAAU/e,EAAE2e,GAAG3e,EAAEye,WAAW,EAAEze,EAAEurB,aAAavrB,EAAEye,WAAW,EAAE2L,GAAGjvB,KAAKoF,EAAEP,KAAKhE,EAAE+D,MAAM,SAAS/D,EAAED,EAAEwT,GAAGvT,IAAIkkB,GAAGxe,KAAKod,IAAIpd,KAAKnD,eAAeqB,IAAI8B,KAAK4B,GAAG,CAACmoB,UAAU,CAAC1sB,KAAK,QAAQgB,MAAM2B,KAAK+pB,YAAY/pB,KAAKnD,aAAaqB,EAAE8B,KAAK8oB,gBAAgBjqB,EAAEP,EAAE7E,KAAKuG,KAAK,iBAAiBlC,IAAIQ,EAAE7E,KAAKuG,KAAK1F,EAAED,EAAEwT,IAAI2S,GAAG4H,GAAG9J,EAAEhkB,GAAn6B,IAA06B4tB,KAAKtK,GAAGU,GAAGE,EAAE2K,IAAIvL,GAAG/gB,aAAa+E,EAAE,GAAGgc,GAAGkL,gBAAgBlnB,GAAGwc,KAAKN,EAAE,SAASxjB,GAAG,IAAIgE,EAAEO,EAAEX,EAAEJ,EAAEkC,KAAK,GAAGlC,IAAIxD,EAAEuB,OAAO,CAAoB,IAAIqC,KAAvBI,EAAER,EAAE8D,GAAG9D,EAAE8D,GAAG/C,EAAEwf,EAAEvgB,GAAYe,EAAE,CAAC,KAAKX,KAAKI,GAAG,OAAO0oB,EAAE,EAAElpB,EAAEI,EAAEI,EAAEJ,GAAGW,EAAEX,GAAG+e,GAAG,GAAGpe,EAAEX,KAAKI,EAAEJ,GAAG,OAAO8oB,EAAE,EAAElpB,EAAEI,EAAEI,EAAEJ,GAAGW,EAAEX,GAAG,gBAAgB,IAAIA,KAAKI,EAAE,KAAKJ,KAAKW,GAAG,OAAOmoB,EAAE,EAAElpB,EAAEI,EAAEI,EAAEJ,GAAGW,EAAEX,GAAGgf,KAAK8J,EAAE,SAAS1sB,EAAEgE,EAAEO,EAAEX,EAAEJ,EAAEzD,GAAG,IAAIwT,EAAE,CAACkP,WAAWziB,EAAEwiB,cAAcxe,EAAE0e,SAASne,EAAEwe,UAAUnf,EAAEof,SAASxf,GAAG+P,EAAExT,GAAGC,EAAE8W,EAAEvD,IAAIwQ,EAAE,SAAS/jB,GAAG,IAAI,IAAIgE,EAAEO,EAAEX,EAAE,GAAGJ,EAAExD,EAAE6W,WAAW9W,EAAE,EAAEwT,EAAE/P,EAAEzE,OAAOgB,EAAEwT,EAAExT,IAAW,kBAAkBwE,GAAzBP,EAAER,EAAEzD,IAAyBgD,QAAQa,EAAEW,GAAGP,EAAED,OAAO,OAAOH,KAAKwD,EAAEue,GAAG,SAAS3lB,EAAEgE,GAAG,GAAGO,EAAEvE,EAAE0N,cAAcohB,KAAKA,IAAG,EAAGlB,IAAIhK,EAAE,SAAS5jB,EAAEgE,GAAG,SAASO,EAAEvE,EAAEgE,GAAG,IAAI,IAAIO,EAAE,EAAEX,EAAE5D,EAAEjB,OAAOwF,EAAEX,EAAEI,EAAEhE,EAAEuE,QAAQ,OAAO,IAAIqpB,IAAG,SAAShqB,GAAG,IAAI,IAAIJ,EAAEzD,EAAEwT,EAAE1U,EAAE,EAAEiY,EAAElT,EAAE7E,OAAOF,EAAEiY,EAAEjY,IAAW,eAAP2E,EAAEI,EAAE/E,IAAmBqC,MAAMqD,EAAEf,EAAEksB,WAAW1vB,GAAGuE,EAAEf,EAAEurB,aAAa/qB,KAAKjE,EAAEyD,EAAEjC,OAAOshB,IAAI9iB,EAAE+iB,IAAI,UAAUtf,EAAEyU,gBAAgB1E,EAAE4O,GAAGhjB,KAAKY,EAAEyD,EAAEyU,kBAAkBzU,EAAEmJ,UAAU5M,EAAE+iB,GAAGtf,EAAEyU,cAAczU,EAAEmJ,SAAS4G,OAAtU,CAA6UxT,EAAEwa,GAAGxa,EAAEojB,KAAIwJ,EAAE,SAAS3sB,GAAG,OAAO4jB,EAAE7G,QAAQ/c,EAAE,CAACmvB,WAAU,EAAGC,SAAQ,IAAKpvB,IAAKoH,GAAG6mB,KAAKH,GAAGzY,aAAa,WAAW,OAAOsX,EAAEsB,GAAGloB,MAAML,KAAKI,gBAAgB+b,EAAE,GAAGza,EAAE4c,GAAG,kBAAkB3gB,EAAEkX,IAAInT,EAAE4c,GAAG,iBAAiB3gB,EAAE8f,KAAK/b,EAAE4c,GAAGd,EAAEle,GAAGoC,EAAE4c,GAAG,mBAAmBhf,GAAGoC,EAAEunB,WAAW,SAAS3uB,EAAEgE,GAAG,OAAOhE,EAAEguB,UAAU,KAAK,EAAE,OAAO7mB,EAAEC,EAAEsnB,GAAG,CAAC1uB,IAAIgE,IAAI,KAAK,GAAG,IAAI,IAAIO,EAAE6C,EAAEuoB,yBAAyB/rB,EAAE5D,EAAEgvB,WAAWxrB,EAAEI,EAAE7E,OAAOgB,EAAE,EAAEA,EAAEyD,EAAEzD,IAAIwE,EAAEzC,YAAYsF,EAAEunB,WAAW/qB,EAAE7D,KAAKiE,IAAI,OAAOO,EAAE,QAAQ,OAAO2pB,GAAG/uB,KAAKa,IAAIgE,KAAK8pB,GAAGK,UAAU,SAASnuB,GAAG,OAAOmH,EAAEzB,KAAKwoB,GAAG,GAAGluB,MAAMqmB,GAAG,OAAOA,IAAG,EAAG,IAAI,EAAEjE,GAAGjjB,KAAKkjB,GAAGC,GAAG/d,GAAG6d,GAAGjjB,KAAKkjB,GAAGE,EAAGhe,IAAI8f,EAAErkB,IAAI6sB,GAAGrjB,KAAKjF,KAAK,EAAE6d,GAAGjjB,KAAKuF,GAAGH,GAAG,MAAM,IAAI7C,MAAM,YAAY1B,EAAE,eAAe,IAAIuE,EAAEf,EAAE+P,EAAE,WAAW,OAAOuD,EAAE1P,EAAEnG,cAAcmC,EAAEmB,GAAG6C,EAAEnG,cAAcmC,IAAIvE,EAAEmF,GAAG8oB,GAAGhW,EAAEiW,GAAG5tB,KAAKN,EAAE8lB,GAAGvhB,EAAE0T,EAAE9S,EAAE2gB,GAAGjX,cAAcnJ,EAAE,OAAOuS,IAAI,EAAEsL,GAAGjjB,KAAKkjB,GAAGE,EAAGnf,IAAIihB,EAAEjhB,GAAGI,EAAE6e,GAAGhjB,MAAMyX,EAAEwL,GAAGC,GAAIhe,GAAG,EAAE2d,GAAGA,GAAG3Z,OAAO2Z,GAAGnjB,OAAO,IAAI,GAAG+X,EAAE1T,EAAE,QAAQpD,EAAEyJ,cAAc,KAAKrG,GAAGmQ,EAAEtU,UAAUykB,GAAGlgB,GAAGupB,GAAG5tB,KAAKN,EAAE,aAAaA,EAAEI,UAAU2lB,GAAGkJ,IAAI5L,GAAGnjB,QAAQ6E,EAAEwD,EAAE2K,iBAAiBmQ,IAAI3H,GAAGhH,GAAGnM,EAAEnG,cAAcklB,GAAG,SAASnmB,EAAEgE,GAAG,IAAIO,EAAEsD,EAAE7D,GAAGJ,EAAEW,EAAEkqB,GAAGtvB,KAAKiI,EAAEpH,EAAE0lB,GAAGnhB,IAAIkqB,GAAGtvB,KAAKiI,EAAEpH,GAAGwD,EAAE,GAAGxD,EAAED,EAAEqiB,GAAGjjB,KAAKkjB,IAAI9d,EAAE+d,GAAGC,IAAKhe,GAAGf,GAAGkK,eAAe6F,GAAG,EAAExT,EAAE,OAAOwE,IAAIX,EAAErB,aAAa,KAAKgC,EAAEA,EAAEkF,eAAe8J,IAAIA,EAAE1U,EAAE2E,EAAEkK,cAAcnJ,KAAKse,IAAIzb,EAAEnG,cAAc2uB,gBAAgBrc,GAAGkQ,EAAE7f,EAAE8f,GAAG3jB,IAAI6D,IAAI0M,iBAAiB,gBAAe,kBAAkBlJ,EAAEnG,qBAAqBmG,EAAEunB,kBAAkBvnB,EAAEue,MAAI,GAAIlB,EAAExlB,UAAU,CAAC0G,YAAY8e,EAAEnS,OAAO8S,GAAG,SAASplB,EAAEgE,EAAEO,GAAG,GAAGA,EAAEmgB,EAAE1kB,EAAEgE,EAAEO,OAAO,CAAC,IAAIX,EAAE5D,EAAE0N,cAAcwX,GAAGthB,GAAG,CAAC+B,YAAY3B,EAAEI,OAAO,CAACR,IAAIuhB,GAAGja,IAAIlH,EAAEJ,GAAGqiB,GAAG3T,OAAOtS,EAAEgE,KAAK0gB,EAAE/gB,IAAIyhB,GAAG,SAASplB,GAAG,OAAOimB,GAAGtiB,IAAI3D,IAAI6lB,EAAE7lB,IAAI6lB,EAAE0H,YAAYnI,GAAG,SAASplB,GAAG,OAAOgmB,GAAG1F,KAAK,CAAC2F,GAAGsH,YAAYvtB,GAAGqH,EAAErH,MAAMqH,IAAI4e,IAAI,SAASzc,KAAKxF,EAAE9C,MAAMgE,SAAS,IAAIlB,EAAE6rB,UAAU,KAAK,SAAS7rB,EAAEO,EAAEX,GAAG,IAAIJ,EAAE,IAAIssB,OAAO,mBAAmBlsB,EAAE,aAAa,GAAGW,EAAEogB,GAAG,KAAI3gB,EAAE/E,UAAU2lB,GAAGiJ,GAAG5uB,YAAuB0G,YAAY3B,EAAEhE,EAAEqS,eAAeC,OAAO1O,EAAEI,EAAEO,IAAIf,EAAEgG,KAAKpC,EAAEnG,cAAc,IAAI,CAAC6kB,GAAGliB,IAAImsB,aAAavsB,EAAEgG,MAAK,IAAKxF,GAAG+rB,WAAW,MAAMxrB,EAAtP,EAAyP,SAASyrB,IAAK,OAAO5pB,QAAQwb,UAAUiM,GAAG,GAAGmC,KAAK,GAAG,8BAA8BpD,GAAG,MAAMqD,GAAI/qB,IAAI,IAAIlB,EAAE6rB,UAAU,IAAI,GAAGpB,GAAGtvB,KAAKiI,EAAE,IAAI,KAAK2oB,UAAU1mB,QAAQ,MAAM,EAAE,KAAK,GAAG,MAAM6mB,GAAIxK,GAAG,SAAS1lB,GAAG,MAAM,CAAC8lB,GAAG9lB,EAAEyJ,iBAArib,CAAujb5E,S,iCCDxjb,oC,oBCAA/E,EAAOD,QAAU,IAA0B,c,gCCEtC,EAAQ,GAAR,IACJb,OAAOyE,eAAe,EAAQ,IAAoB,SAAU,CAC3DM,MAAO,EAAQ,IACf8Q,cAAc,EACdnR,YAAY,EACZoR,UAAU,K,gCCLZ,IAAIlM,EAAa,EAAQ,IACrBunB,EAAa,CAAE3rB,QAAQ,EAAM4rB,QAAQ,GAEzCtwB,EAAOD,QAAU,WAChB,IACIuwB,EADAvsB,EAAS+E,EAAO/E,OAEpB,GAAsB,mBAAXA,EAAuB,OAAO,EACzCusB,EAASvsB,EAAO,eAChB,IAAM2B,OAAO4qB,GACb,MAAOpwB,GAAK,OAAO,EAGnB,QAAKmwB,SAAkBtsB,EAAO+D,cACzBuoB,SAAkBtsB,EAAOwsB,gBACzBF,SAAkBtsB,EAAOC,gB,gCCd/BhE,EAAOD,QAAU,WAChB,MAA0B,iBAAfyU,eACNA,YACEA,WAAWjP,QAAUA,S,+BCL7B,kCAAO,iBAAP,cA0LA,OAzLkB,EAAAirB,KAAd,SAAmB1e,GACf,IAAM0e,EAAO,IAAIviB,KAAK6D,GAEtB,MAAO,UAAG0e,EAAKC,UAAS,YADL,CAAC,UAAW,WAAY,QAAS,QAAS,MAAO,OAAQ,OAAQ,SAAU,YAAa,UAAW,WAAY,YAC3FD,EAAKE,YAAW,aAAKF,EAAKG,gBAGvD,EAAAC,UAAd,SAAwB9e,GACpB,IAAM0e,EAAO,IAAIviB,KAAK6D,GAEtB,MAAO,UAAG0e,EAAKG,cAAa,YAAIH,EAAKE,WAAa,EAAC,YAAIF,EAAKC,YAGlD,EAAAI,cAAd,SAA4BL,GACxB,MAAO,UAAGA,EAAKG,cAAa,YAAIH,EAAKE,WAAa,EAAC,YAAIF,EAAKC,UAAS,YAAID,EAAKM,WAAU,YAAI3c,EAAW4c,IAAIP,EAAKQ,aAAaxnB,cAGnH,EAAAynB,oBAAd,SAAkCnf,GAC9B,IAAM0e,EAAO,IAAIviB,KAAK6D,GAEtB,MAAO,UADY,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,OAC9E0e,EAAKE,YAAW,YAAIF,EAAKC,UAAS,YAAID,EAAKG,gBAGtD,EAAAI,IAAd,SAAkBjf,EAAaof,EAAkBZ,GAC7C,YADc,IAAAxe,MAAA,SAAa,IAAAof,MAAA,QAAkB,IAAAZ,MAAA,KACtCxe,EAAO7S,QAAUiyB,EAAepf,EAAS,IAAIvM,MAAM2rB,EAAepf,EAAO7S,OAAS,GAAGqN,KAAKgkB,GAAUxe,GAGjG,EAAAqf,QAAd,SAAsBjlB,GAClB,OAAOA,EAAK1C,WAAWG,cAClBqE,QAAQ,OAAQ,KAChBA,QAAQ,YAAa,IACrBA,QAAQ,SAAU,KAClBA,QAAQ,MAAO,IACfA,QAAQ,MAAO,KAeV,EAAAojB,OAAd,SAAqB9nB,GACjB,IAAM+nB,EAAM,GAEZ,IAAK,IAAM9sB,KAAO+E,EACd+nB,EAAI9xB,KAAK,CAACgF,EAAK+E,EAAI/E,KAEvB,OAAO8sB,GAGG,EAAAC,SAAd,SAAuBC,EAAcC,GACjC,OAAOD,EAAGtyB,SAAWuyB,EAAGvyB,QAAUsyB,EAAGE,OAAM,SAAC1pB,EAAGhJ,GAAM,OAAAgJ,IAAMypB,EAAGzyB,OAGpD,EAAA2yB,WAAd,SAAyB5f,GACrB,OAAOA,EAAO6f,OAAO,GAAG/jB,cAAgBkE,EAAO7M,MAAM,IAG3C,EAAA2sB,SAAd,SAAuB9f,GACnB,IAAIuf,EAAMvf,EAAOzD,MAAM,KAGvB,OAFAgjB,EAAMA,EAAIpnB,KAAI,SAAA4nB,GAAO,OAAA1d,EAAWud,WAAW5f,OAEhCxF,KAAK,MASb,EAAAwlB,UAAP,SAAiBhgB,GACb,OAAKA,GAAqB,KAAXA,GAIXA,EAAOlE,gBAAkBkE,IACzBA,EAASA,EAAOnI,gBAMgB,KAHpCmI,EAASA,EAAO9D,QAAQmG,EAAW4d,eAAgB,MAGxC3jB,OAAO7E,QAAQ,OACtBuI,EAASA,EAAO9D,QAAQmG,EAAW6d,UAAW,SAMlDlgB,GAHAA,EAASA,EAAO9D,QAAQmG,EAAW8d,mBAAoB,MAGvCjkB,QAAQmG,EAAW+d,cAAe,KAAKtkB,gBAEzCQ,QAnBH,IAwBD,EAAAsE,WAAd,SAAyByf,G,IAAU,wDAI/B,IAHA,IAAIlrB,EAAS,GAGJlI,EAAI,EAAGA,EAAIqzB,EAAanzB,OAAQF,IAUrC,GARIozB,EAASpzB,KACJozB,EAASpzB,GAAGszB,SAAS,KAGtBprB,GAAUkrB,EAASpzB,GAAGmU,UAAU,EAAGif,EAASpzB,GAAGE,OAAS,GAFxDgI,GAAUkrB,EAASpzB,IAMvBqzB,EAAarzB,GACb,GAAIwG,MAAM6E,QAAQgoB,EAAarzB,IAC3BkI,GAAUmrB,EAAarzB,GAAGuN,KAAK,SAC9B,GAAI6lB,EAASpzB,GAAGszB,SAAS,KAC1BprB,GAAUmrB,EAAarzB,QACtB,GAAIqzB,EAAarzB,IAAMqzB,EAAarzB,GAAGuzB,mBAA6E,IAAxDF,EAAarzB,GAAGuzB,oBAAoB/oB,QAAQ,QACzGtC,GAAUmrB,EAAarzB,QACtB,QAAwBmE,IAApBkvB,EAAarzB,GAClBkI,GAAU,YACT,GAAiC,iBAArBmrB,EAAarzB,GAC1BkI,GAAUmrB,EAAarzB,QACtB,GAAiC,kBAArBqzB,EAAarzB,GAC1BkI,GAAUmrB,EAAarzB,GAAGyK,eACzB,CACD,IAAK4oB,EAAarzB,GAAGiP,QACjB,MAAM,IAAIpM,MAAM,kCAA2BwwB,EAAarzB,GAAE,mBAAWA,EAAC,2BAAoBqzB,EAAarzB,KAEvGkI,GAAUmrB,EAAarzB,GAClBiP,QAAQ,KAAM,SACdA,QAAQ,KAAM,UACdA,QAAQ,KAAM,SACdA,QAAQ,KAAM,QACdA,QAAQ,KAAM,QAOnC,OADA/G,GAAUkrB,EAASA,EAASlzB,OAAS,IAIlC,EAAAszB,WAAP,SAAkBrmB,GACd,IAAMsmB,EAAM7xB,SAASQ,cAAc,OAEnC,OADAqxB,EAAIngB,UAAYnG,EACTsmB,EAAIC,aAGR,EAAAC,WAAP,SAAkBb,GACd,IAAMW,EAAM7xB,SAASQ,cAAc,OAEnC,OADAqxB,EAAK,gBAAiBA,EAAO,cAAgB,aAAeX,EACrDW,EAAIngB,WAGR,EAAAsgB,YAAP,SAAmBd,GACf,OAAOnsB,OAAOmsB,GAAK7jB,QAAQ,KAAM,SAASA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,SAG3E,EAAA4kB,YAAP,SAAmB9gB,GACf,IAAIrE,EACJ,IACIA,EAAM,IAAIwJ,IAAInF,GAChB,MAAOnP,GAEL,OAAOmP,EAGX,IAAI7K,EAASwG,EAAIolB,KAEXC,EAAOC,UAAUtlB,EAAIyJ,UAO3B,MANa,MAAT4b,IACA7rB,GAAU6rB,GAKP7rB,GApJG,EAAA+rB,MAAQ,SAACC,EAAgBC,GACnC,GAAIA,EAAUD,EACV,MAAO,GAIX,IAFA,IAAM5B,EAAM,GACR9tB,EAAI2vB,EAAUD,EAAS,EACpB1vB,KACH8tB,EAAI9tB,GAAK2vB,IAEb,OAAO7B,GA2BI,EAAAU,eAAiB,IAAI/B,OAAO,SAC5B,EAAAgC,UAAY,IAAIhC,OAAO,SACvB,EAAAiC,mBAAqB,IAAIjC,OAAO,SAChC,EAAAkC,cAAgB,IAAIlC,OAAO,aA2B5B,EAAAmD,OAAS,SAAIlwB,GAAkB,OAAAA,GAoFjD,EA1LO,I,iBCAP,IAAImwB,EAAgB,WACnB,GAAoB,iBAATrqB,MAAqBA,KAAM,OAAOA,KAC7C,GAAsB,iBAAXhE,QAAuBA,OAAQ,OAAOA,OACjD,MAAM,IAAInD,MAAM,oCAGjB5B,EAAOD,QAAU,WAChB,GAAI6F,KAAM,OAAOA,KAOjB,IACC1G,OAAOyE,eAAezE,OAAOC,UAAW,aAAc,CACrD0E,IAAK,WAAc,OAAO+B,MAC1BmP,cAAc,IAEd,MAAOpS,GAER,OAAOywB,IAER,IAEC,OAAKC,YAAmBD,IAEvB,eACMl0B,OAAOC,UAAUk0B,YAtBT,I,gCCFjB,IAWIC,EAAgBC,EAAcC,EAX9BhwB,EAAuB,EAAQ,IAC/BiwB,EAAuB,EAAQ,IAC/BC,EAAuB,EAAQ,IAAmB3vB,OAClD4vB,EAAuB,EAAQ,IAC/BC,EAAuB,EAAQ,IAC/BC,EAAuB,EAAQ,IAE/BvvB,EAASpF,OAAOoF,OAChBiU,EAAmBrZ,OAAOqZ,iBAC1B5U,EAAiBzE,OAAOyE,eAI5B,GAA4B,mBAAjB+vB,EACV,IACChuB,OAAOguB,KACPF,GAAe,EACd,MAAOM,SAETJ,EAAe,KAKhBH,EAAe,SAAgBjgB,GAC9B,GAAI1N,gBAAgB2tB,EAAc,MAAM,IAAI9tB,UAAU,+BACtD,OAAO6tB,EAAehgB,IAKvBtT,EAAOD,QAAUuzB,EAAiB,SAASvvB,EAAOuP,GACjD,IAAIgd,EACJ,GAAI1qB,gBAAgB7B,EAAQ,MAAM,IAAI0B,UAAU,+BAChD,OAAI+tB,EAAqBE,EAAapgB,IACtCgd,EAAShsB,EAAOivB,EAAap0B,WAC7BmU,OAA8BpQ,IAAhBoQ,EAA4B,GAAK5N,OAAO4N,GAC/CiF,EAAiB+X,EAAQ,CAC/ByD,gBAAiBvwB,EAAE,GAAI8P,GACvB0gB,SAAUxwB,EAAE,GAAImwB,EAAargB,QAI/BsgB,EAAqBN,GACrBO,EAAoBP,GAGpB/a,EAAiBgb,EAAap0B,UAAW,CACxC0G,YAAarC,EAAE8vB,GACf9pB,SAAUhG,EAAE,IAAI,WAAc,OAAOoC,KAAKouB,cAK3Czb,EAAiB+a,EAAen0B,UAAW,CAC1CqK,SAAUhG,GAAE,WAAc,MAAO,WAAaiwB,EAAe7tB,MAAMmuB,gBAAkB,OACrFE,QAASzwB,GAAE,WAAc,OAAOiwB,EAAe7tB,WAEhDjC,EACC2vB,EAAen0B,UACfm0B,EAAe/C,YACf/sB,EAAE,IAAI,WACL,IAAI8sB,EAASmD,EAAe7tB,MAC5B,MAAsB,iBAAX0qB,EAA4BA,EAChCA,EAAO9mB,eAGhB7F,EAAe2vB,EAAen0B,UAAWm0B,EAAetvB,YAAaR,EAAE,IAAK,WAG5EG,EACC4vB,EAAap0B,UAAWm0B,EAAetvB,YACvCR,EAAE,IAAK8vB,EAAen0B,UAAUm0B,EAAetvB,eAOhDL,EACC4vB,EAAap0B,UAAWm0B,EAAe/C,YACvC/sB,EAAE,IAAK8vB,EAAen0B,UAAUm0B,EAAe/C,gB,gCCnFhD,IAAI/V,EAAa,EAAQ,IAErB0Z,EAAU,mBAAoBC,EAAmBjf,SAAS/V,UAAUqK,SAExExJ,EAAOD,QAAU,SAAUkE,GAC1B,QAAKuW,EAAWvW,KACZiwB,EAAQxqB,KAAKyqB,EAAiB90B,KAAK4E,M,gCCNxC,IAAImwB,EAAc,EAAQ,IAE1Bp0B,EAAOD,QAAU,SAAUkE,GAC1B,GAAqB,mBAAVA,EAAsB,OAAO,EAExC,IAAK7E,eAAeC,KAAK4E,EAAO,UAAW,OAAO,EAElD,IACC,GAA4B,iBAAjBA,EAAMhF,OAAqB,OAAO,EAC7C,GAA0B,mBAAfgF,EAAM5E,KAAqB,OAAO,EAC7C,GAA2B,mBAAhB4E,EAAMgC,MAAsB,OAAO,EAC7C,MAAOtD,GACR,OAAO,EAGR,OAAQyxB,EAAYnwB,K,gCCfrB,IAAIowB,EAAW,EAAQ,IAEvBr0B,EAAOD,QAAU,SAAUkE,GAC1B,IAAKowB,EAASpwB,GAAQ,OAAO,EAC7B,IACC,QAAKA,EAAM4B,aACJ5B,EAAM4B,YAAY1G,YAAc8E,EACtC,MAAOtB,GACR,OAAO,K,gCCRT,IAAI8R,EAAU,EAAQ,IAGlB6f,EAAgB,CAAE,QAAU,EAAM,UAAY,EAAM,WAAa,GAErEt0B,EAAOD,QAAU,SAAUkE,GAC1B,QAAKwQ,EAAQxQ,IACN7E,eAAeC,KAAKi1B,SAAsBrwB,K,gCCPlDjE,EAAOD,QAAU,EAAQ,GAAR,GAAgCb,OAAO6G,OAAS,EAAQ,K,gCCAzE/F,EAAOD,QAAU,WAChB,IAA4BuJ,EAAxBvD,EAAS7G,OAAO6G,OACpB,MAAsB,mBAAXA,IAEXA,EADAuD,EAAM,CAAEirB,IAAK,OACD,CAAEC,IAAK,OAAS,CAAEC,KAAM,SAC7BnrB,EAAIirB,IAAMjrB,EAAIkrB,IAAMlrB,EAAImrB,OAAS,gB,gCCLzC,IAAIznB,EAAQ,EAAQ,IAChB/I,EAAQ,EAAQ,IAChBod,EAAQzD,KAAKyD,IAEjBrhB,EAAOD,QAAU,SAAU20B,EAAMhzB,GAChC,IAAIiB,EAAO5D,EAAsCgH,EAAnC9G,EAASoiB,EAAIrb,UAAU/G,OAAQ,GAS7C,IARAy1B,EAAOx1B,OAAO+E,EAAMywB,IACpB3uB,EAAS,SAAUxB,GAClB,IACCmwB,EAAKnwB,GAAO7C,EAAI6C,GACf,MAAOrE,GACHyC,IAAOA,EAAQzC,KAGjBnB,EAAI,EAAGA,EAAIE,IAAUF,EAEzBiO,EADAtL,EAAMsE,UAAUjH,IACNmL,QAAQnE,GAEnB,QAAc7C,IAAVP,EAAqB,MAAMA,EAC/B,OAAO+xB,I,gCCnBR10B,EAAOD,QAAU,EAAQ,GAAR,GAAgCb,OAAO8N,KAAO,EAAQ,K,gCCAvEhN,EAAOD,QAAU,WAChB,IAEC,OADAb,OAAO8N,KAAK,cACL,EACN,MAAO9M,GACR,OAAO,K,gCCLT,IAAIuU,EAAU,EAAQ,IAElBzH,EAAO9N,OAAO8N,KAElBhN,EAAOD,QAAU,SAAU2E,GAAU,OAAOsI,EAAKyH,EAAQ/P,GAAUxF,OAAOwF,GAAUA,K,gCCHpF1E,EAAOD,QAAU,c,gCCDjB,IAAI0U,EAAU,EAAQ,IAEtBzU,EAAOD,QAAU,SAAUkE,GAC1B,IAAKwQ,EAAQxQ,GAAQ,MAAM,IAAIwB,UAAU,gCACzC,OAAOxB,I,gCCJR,IAAIwQ,EAAU,EAAQ,IAElBvK,EAAU3E,MAAMpG,UAAU+K,QAAS5F,EAASpF,OAAOoF,OAEnDkX,EAAU,SAAU9Z,EAAK4H,GAC5B,IAAI/E,EACJ,IAAKA,KAAO7C,EAAK4H,EAAI/E,GAAO7C,EAAI6C,IAIjCvE,EAAOD,QAAU,SAAU40B,GAC1B,IAAI1tB,EAAS3C,EAAO,MAKpB,OAJA4F,EAAQ7K,KAAK2G,WAAW,SAAUsH,GAC5BmH,EAAQnH,IACbkO,EAAQtc,OAAOoO,GAAUrG,MAEnBA,I,gCChBRjH,EAAOD,QAAU,EAAQ,GAAR,GAAgC2F,OAAOvG,UAAUyV,SAAW,EAAQ,K,gCCArF,IAAIid,EAAM,aAEV7xB,EAAOD,QAAU,WAChB,MAA4B,mBAAjB8xB,EAAIjd,YACgB,IAAxBid,EAAIjd,SAAS,SAA2C,IAAxBid,EAAIjd,SAAS,U,gCCJrD,IAAIrL,EAAU7D,OAAOvG,UAAUoK,QAE/BvJ,EAAOD,QAAU,SAAUmW,GAC1B,OAAO3M,EAAQlK,KAAKuG,KAAMsQ,EAAclQ,UAAU,KAAO,I,gCCH1DhG,EAAOD,QAAU,SAAUkE,GAC1B,QAAKA,IACgB,iBAAVA,KACNA,EAAM4B,cACoB,WAA3B5B,EAAM4B,YAAY5C,MAC0B,WAAzCgB,EAAMA,EAAM4B,YAAY7B,iB,gCCLhC,IAAIR,EAAI,EAAQ,IAEZc,EAASpF,OAAOoF,OAAQX,EAAiBzE,OAAOyE,eAAgBixB,EAAe11B,OAAOC,UAEtFmlB,EAAUhgB,EAAO,MACrBtE,EAAOD,QAAU,SAAUqG,GAE1B,IADA,IAAiBnD,EAAM4xB,EAAnBC,EAAU,EACPxQ,EAAQle,GAAQ0uB,GAAW,QAAQA,EAkB1C,OAhBAxQ,EADAle,GAAQ0uB,GAAW,KACH,EAEhBnxB,EACCixB,EAFD3xB,EAAO,KAAOmD,EAIb5C,EAAEyR,GAAG,MAAM,SAAUhR,GAKhB4wB,IACJA,GAAoB,EACpBlxB,EAAeiC,KAAM3C,EAAMO,EAAES,IAC7B4wB,GAAoB,OAGf5xB,I,8GCzBD,cAAP,a,+CAiLA,OAjLyB,YAAAgO,EAAA,GAGd,EAAA8jB,cAAP,SAAqBzf,EAAmBxD,GACpCb,EAAI+jB,cAAc1f,GAAMpL,SAAQ,SAACgI,GAE7B,IAAM4gB,EAAO5gB,EAAQjP,KAAKoL,MAAM,KAE5B4mB,EAAOnjB,EACXghB,EAAK5oB,SAAQ,SAAAgrB,GACLA,IAAgBpC,EAAKA,EAAK7zB,OAAS,GAWvCg2B,EAAOA,EAAKC,IAAgB,GATpB3vB,MAAM6E,QAAQ6qB,EAAKC,IACnBD,EAAKC,GAAehjB,EAAQjO,MAAMoK,MAAM,KAClB,aAAjB6D,EAAQ9Q,KACb6zB,EAAKC,GAAehjB,EAAQijB,QAE5BF,EAAKC,GAAehjB,EAAQjO,aASzC,EAAAmxB,UAAP,SAA0B9f,GACtB,IAAMxD,EAAS,GAIf,OAHAb,EAAI+jB,cAAc1f,GAAMpL,SAAQ,SAACgI,GAC7BJ,EAAOI,EAAQjP,MAAQiP,EAAQjO,SAEnB6N,GAGb,EAAAujB,YAAP,SAA4B/f,EAAmBxD,GAC3Cb,EAAI+jB,cAAc1f,GAAMpL,SAAQ,SAACgI,GAC7BA,EAAQjO,MAAQ6N,EAAOI,EAAQjP,UAIhC,EAAAqyB,gBAAP,SAAuBpjB,EAAsBjP,GACzC,OAAIiP,EAAQ4H,aAAa7W,IACrBiP,EAAQwc,gBAAgBzrB,IACjB,IAEPiP,EAAQzP,aAAaQ,EAAM,KACpB,IAKR,EAAAiO,MAAP,WACI,OAAO,IAAI9Q,SAAQ,SAACC,GAEY,aAAxBM,SAAS+P,YACgB,YAAxB/P,SAAS+P,aAAmC/P,SAAUyY,gBAAgBmc,SAEvEl1B,OAAQ6C,GAERvC,SAAS6P,iBAAiB,mBAAoBnQ,OAKnD,EAAAm1B,UAAP,SAAiBvyB,GACb,IAAMmC,EAAIzE,SAAS80B,OAAOC,MAAM,mBAAYzyB,EAAI,qBAChD,OAAOmC,EAAIA,EAAE6C,MAAQ,IAGlB,EAAA0tB,aAAP,SAAoB1yB,GAChBtC,SAAS80B,OAAS,UAAGxyB,EAAI,sDAGhB,EAAA2yB,cAAb,W,8GACI,SAAM3kB,EAAIC,S,cAAV,SACAvQ,SAASoR,cAAc,QAAQV,UAAUgI,OAAO,S,YAM7C,EAAAwc,QAAP,SAAe3jB,EAAsB4jB,GACjC,YADiC,IAAAA,MAAA,IAC1B,IAAI11B,SAAQ,SAAAC,GACf6R,EAAQ6jB,MAAMC,QAAU,IAExB,IAAMC,EAAO,WACT,IAAID,EAAUE,WAAWhkB,EAAQ6jB,MAAMC,UAElCA,GAAWF,GAAS,GACrB5jB,EAAQ6jB,MAAMI,QAAU,OACxB91B,OAAQ6C,KAERgP,EAAQ6jB,MAAMC,QAAUA,EAAQxsB,WAChC0X,sBAAsB+U,KAG9BA,QAID,EAAArpB,MAAP,SAAawpB,GACT,IAAMlkB,EAAUvR,SAASQ,cAAc,OAEvC,OADA+Q,EAAQG,UAAY+jB,EACblkB,EAAQmkB,mBAGZ,EAAAC,OAAP,SAAcpkB,EAAsBikB,EAA2BL,GAC3D,YADgC,IAAAK,MAAA,cAA2B,IAAAL,MAAA,IACpD,IAAI11B,SAAQ,SAAAC,GACf6R,EAAQ6jB,MAAMC,QAAU,IACxB9jB,EAAQ6jB,MAAMI,QAAUA,EAExB,IAAMF,EAAO,WACT,IAAID,EAAUE,WAAWhkB,EAAQ6jB,MAAMC,UAEhCA,GAAWF,GAAS,EAIvBz1B,OAAQ6C,IAHRgP,EAAQ6jB,MAAMC,QAAUA,EAAQxsB,WAChC0X,sBAAsB+U,KAK9BA,QAID,EAAAM,OAAP,SAAcrkB,EAAsB4jB,GAChC,YADgC,IAAAA,MAAA,IACzB,IAAI11B,SAAQ,SAAAC,GACf,IAAIm2B,EAAM,EACVtkB,EAAQ6jB,MAAMU,gBAAkB,MAChCvkB,EAAQ6jB,MAAMW,UAAY,YAE1B,IAAMrvB,EAAI,YACCmvB,GAAOV,GAAS,EAInBz1B,OAAQ6C,IAHRgP,EAAQ6jB,MAAMW,UAAY,iBAAUF,EAAG,KACvCtV,sBAAsB7Z,KAK9BA,QAID,EAAAsvB,QAAP,SAAezkB,GACX,OAAO,IAAI9R,SAAQ,SAAAC,GACf6R,EAAQ6jB,MAAMW,UAAY,qBAC1BxkB,EAAQ6jB,MAAMa,WAAa,gBAE3B1V,uBAAsB,WAClBhP,EAAQ6jB,MAAMW,UAAY,yBAM/B,EAAA7f,KAAP,SAAYiQ,EAAyB+P,GACjC,IAAMxa,EAASyK,EAAS,GAAGgQ,cACZhQ,EAASjQ,MAAM,SAACpD,EAAgBrO,GAAmB,OAAAyxB,EAASpjB,GAAKojB,EAASzxB,GAAK,GAAK,KAC5F8E,SAAS,SAACgI,GACbmK,EAAOra,YAAYkQ,OAIpB,EAAA6kB,oBAAP,SAA4B7kB,GACxB,IAAM8kB,EAAY9kB,EAAQ+kB,wBAE1B,OACID,EAAUE,KAAO,GACjBF,EAAUG,MAAQ,GAClBH,EAAUI,SAAWryB,OAAOsyB,aAAe12B,SAASyY,gBAAgBke,eACpEN,EAAUO,QAAUxyB,OAAOyyB,YAAc72B,SAASyY,gBAAgBqe,cAInE,EAAAC,mBAAP,SAA2BxlB,GACvB,OAAOA,EAAQiH,WAAcjH,EAAQylB,aAAezlB,EAAQ0lB,cA9KjD,EAAA5C,cAAgB,SAAC7mB,GAAsB,SAAGlJ,MAAM5F,KAAK8O,EAAK8D,iBAAiB,qBAgL9F,EAjLO,C,MAAkB,GAmLzBhB,EAAI2kB,gBAAgBtV,MAAMzb,QAAQyV,KAGlC,iBACI,WAAoBxI,EAA6BrQ,EAA6Bo2B,GAA9E,WAAoB,KAAA/lB,SAA6B,KAAArQ,SAA6B,KAAAo2B,UAKtE,KAAAC,cAAgB,WACpB,EAAKr2B,OAAOs0B,MAAMgC,OAAS,UAAG,EAAKjmB,OAAOwlB,aAAe,EAAKO,QAAO,OALrE9yB,OAAOyL,iBAAiB,SAAU5K,KAAKkyB,cAAe,CAACxe,SAAS,IAChE1T,KAAKkyB,gBAUb,OAHI,YAAAE,QAAA,WACIjzB,OAAO4L,oBAAoB,SAAU/K,KAAKkyB,gBAElD,EAbA,I,gCCtLA,IAAIt0B,EAAe,EAAQ,IACvBkwB,EAAe,EAAQ,IAAmB3vB,OAE9C/D,EAAOD,QAAU,SAAUuzB,GAC1B,OAAOp0B,OAAOqZ,iBAAiB+a,EAAgB,CAG9C2E,YAAaz0B,EACZ,GAAKkwB,GAAgBA,EAAauE,aAAgB3E,EAAe,gBAElE4E,mBAAoB10B,EACnB,GACCkwB,GAAgBA,EAAawE,oBAC7B5E,EAAe,uBAEjBxrB,SAAUtE,EAAE,GAAKkwB,GAAgBA,EAAa5rB,UAAawrB,EAAe,aAC1EoC,MAAOlyB,EAAE,GAAKkwB,GAAgBA,EAAagC,OAAUpC,EAAe,UACpEtlB,QAASxK,EAAE,GAAKkwB,GAAgBA,EAAa1lB,SAAYslB,EAAe,YACxEvb,OAAQvU,EAAE,GAAKkwB,GAAgBA,EAAa3b,QAAWub,EAAe,WACtE6E,QAAS30B,EAAE,GAAKkwB,GAAgBA,EAAayE,SAAY7E,EAAe,YACxEjlB,MAAO7K,EAAE,GAAKkwB,GAAgBA,EAAarlB,OAAUilB,EAAe,UACpE/C,YAAa/sB,EACZ,GAAKkwB,GAAgBA,EAAanD,aAAgB+C,EAAe,gBAElEtvB,YAAaR,EACZ,GAAKkwB,GAAgBA,EAAa1vB,aAAgBsvB,EAAe,gBAElE8E,YAAa50B,EACZ,GAAKkwB,GAAgBA,EAAa0E,aAAgB9E,EAAe,oB,gCC5BpE,IAAI9vB,EAAiB,EAAQ,IACzBiwB,EAAiB,EAAQ,IAEzB4E,EAAWn5B,OAAOoF,OAAO,MAE7BtE,EAAOD,QAAU,SAAUuzB,GAC1B,OAAOp0B,OAAOqZ,iBAAiB+a,EAAgB,CAC9CgF,IAAK90B,GAAE,SAAUe,GAChB,OAAI8zB,EAAS9zB,GAAa8zB,EAAS9zB,GAC3B8zB,EAAS9zB,GAAO+uB,EAAe5tB,OAAOnB,OAE/Cg0B,OAAQ/0B,GAAE,SAAU8sB,GACnB,IAAI/rB,EAEJ,IAAKA,KADLkvB,EAAenD,GACH+H,EACX,GAAIA,EAAS9zB,KAAS+rB,EAAQ,OAAO/rB,S,iCCjBzC,aAAa,SAAUT,GAAG,SAAS2W,KAAK,SAASnT,KAAK,IAAIke,EAAE9f,OAAO2G,aAAatE,EAAE,GAAGyB,SAASuY,EAAEha,EAAE1I,KAAKyE,EAAE00B,mBAAmBnV,EAAEtb,IAAI2c,EAAE5gB,EAAEoH,WAAWhH,EAAEwgB,GAAGnf,MAAMuP,EAAE4P,EAAEtb,YAAYlF,EAAEsiB,EAAE1R,EAAEzL,QAAQ,SAAS9B,GAAG,OAAOA,GAAG,WAAWA,GAAG0c,EAAElc,EAAE1I,KAAKyV,EAAE3V,WAAW2V,EAAExN,EAAEnI,UAAU,IAAI4mB,EAAEjiB,EAAE20B,YAAYhlB,EAAE,IAAKiR,EAAEgU,YAAYx0B,GAAG,IAAIuW,EAAEtb,UAAUsN,OAAO,SAASlF,GAAG,IAAIif,EAAEjf,GAAG,CAAC,IAAItH,EAAE8H,EAAE1I,KAAKkI,GAAG,GAAGtH,IAAIgkB,GAAGhkB,IAAI8hB,GAAG9hB,IAAIojB,EAAE,MAAM5d,UAAU,qHAClZ8B,EAAEmd,EAAE,IAAIxgB,EAAEqD,GAAGA,GAAG,GAAG,IAAI,IAAqCrH,EAAEsD,EAAUF,EAA7C+D,EAAEpH,EAAE,GAAGmF,EAAE,EAAE7B,EAAW,EAATgE,EAAEtI,OAAS+X,EAAEzT,EAAE,GAAG,EAAMghB,EAAE,EAAE9jB,EAAE,EAAIyjB,EAAE,EAAEzf,GAAG,EAAEW,EAAE7B,GAAG,CAAC,IAAIrD,EAAEkF,GAAG4R,EAAE,GAAGzT,EAAE6B,EAAE,EAAE8e,EAAEhkB,EAAEkF,EAAEA,EAAE,EAAE,EAAE8e,EAAEA,EAAE,EAAE,EAAE,CAAY,QAAX1gB,EAAO,IAAL+D,EAAEnC,KAAiB,GAAG,KAAK,GAAoB,GAAG,IAApB9B,EAAa,IAAXiE,EAAEnC,EAAEA,EAAE,EAAE,KAAiB,GAAG,IAAI5B,EAAE,CAAC4B,EAAEA,EAAE,EAAE,EAAE,MAAMmf,GAAK,EAAF/gB,IAAM,EAAI,GAAFF,EAAK7C,EAAE,EAAE+C,EAAE,IAAI,KAAK,GAAoB+gB,IAAI,EAAEA,IAAM,GAAF/gB,IAAO,EAAI,IAAtCF,EAAa,IAAXiE,EAAEnC,EAAEA,EAAE,EAAE,IAA+B3E,EAAE,GAAI6C,GAAG,EAAE7C,EAAE,EAAE,EAAE,GAAG+C,EAAEA,EAAE,IAAI,IAAI,KAAK,GAAG,KAAK,GAAoB+gB,IAAI,EAAEA,IAAM,GAAF/gB,IAAO,EAAI,IAAtCF,EAAa,IAAXiE,EAAEnC,EAAEA,EAAE,EAAE,IAA+B3E,EAAEA,EAAE,EAAE,EAAE2E,EAAE7B,GAAG,GAAID,GAAG,GAAGihB,GAAG9jB,GAAG,QAAQ8jB,GAAG/gB,EAAE+gB,EAAc,IAAZA,EAAEA,EAAE,MAAM,KAAS9f,EAAU,OAAP8f,GAAG,IAAU,EAAE/gB,EAAW,OAAN,KAAF+gB,GAAc,EAAE,GAAGL,GAAGzQ,EAAEyQ,GAAGzf,EAAEyf,EAAEA,EAAE,EAAE,EAAEzf,GAAG,IACpfnB,EAAEmB,EAAEA,EAAEjB,EAAEA,EAAEF,MAAY8B,EAAEA,GAAR5B,IAAI,GAAQ,EAAE,EAAEA,EAAE,OAAO+gB,EAAE9jB,EAAE,EAAEP,EAAEkF,GAAG4R,EAAE,GAAGzT,EAAE6B,EAAE,EAAE,QAAQqO,EAAEyQ,GAAG1gB,EAAE,SAAS,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,GAAGiQ,EAAEyQ,GAAG,MAA8N,GAAxN7c,GAAGme,EAAE/R,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,KAAK,GAAGyQ,IAAI7c,EAAEA,EAAEpC,MAAM,EAAEif,EAAE,GAAG,IAAO9e,EAAE7B,GAAG,GAAGkQ,EAAE,GAAGhP,EAAEyf,GAAGzf,IAAI,GAAGA,GAAG,EAAE4C,EAAEpI,OAAOgB,EAAEhB,OAAO,cAAc,IAAIwF,IAAI4C,GAAGme,EAAE/gB,IAAIxE,GAAGoH,EAAEA,EAAE,GAAG,OAAOpH,GAAG6U,EAAE6jB,OAAO,SAASpxB,GAAwB,IACpdnC,EADwdnF,EAC9e,GADqdsH,OAAE,IAASA,EAAE,GAAG,GAAGA,GAAUtI,OAChfoI,EAAE,IAAInD,EAAS,GAANjE,GAAG,GAAK,GAAKsD,EAAE,EAAEyT,GAAG0N,EAAE,IAAItf,EAAE,EAAEA,EAAEnF,EAAEmF,EAAEA,EAAE,EAAE,EAAE7B,EAAEA,EAAE,EAAE,EAAE,CAAC,IAAIrD,EAAkB,EAAhBqH,EAAEqxB,WAAWxzB,GAAK,GAAG,KAAKlF,EAAEmH,EAAE9D,GAAGrD,MAAM,CAAC,GAAG,MAAMA,EAAEmH,EAAE9D,GAAG,IAAIrD,GAAG,MAAM,CAACuT,EAAE,CAAC,GAAG,OAAOvT,EAAE,GAAG,OAAOA,EAAE,CAAC,IAAIsD,EAAwB,EAAtB+D,EAAEqxB,WAAWxzB,EAAEA,EAAE,EAAE,GAAK,GAAG,OAAO5B,GAAG,OAAOA,EAAE,CAAwB,GAAG,OAA1BtD,GAAGA,GAAG,IAAIsD,EAAE,SAAS,GAAa,CAAC6D,EAAE9D,GAAG,IAAIrD,GAAG,GAAGmH,EAAE9D,EAAEA,EAAE,EAAE,GAAG,IAAIrD,GAAG,GAAG,GAAGmH,EAAE9D,EAAEA,EAAE,EAAE,GAAG,IAAIrD,GAAG,EAAE,GAAGmH,EAAE9D,EAAEA,EAAE,EAAE,GAAG,IAAM,GAAFrD,EAAK,SAAS,MAAMuT,EAAEvT,EAAE,WAAW,OAAOA,IAAIA,EAAE,QAAQ8W,GAAG5R,GAAG,EAAE7B,GAAG6B,GAAG,GAAG7B,EAAE,EAAE,KAAKyT,GAAE,GAAGxT,EAAE,IAAIU,EAAE,EAAEjE,IAAKmL,IAAI/D,GAAGA,EAAE7D,GAAG6D,EAAE9D,GAAG,IAAIrD,GAAG,GAAGmH,EAAE9D,EAAEA,EAAE,EAAE,GAAG,IAAIrD,GAAG,EAAE,GAAGmH,EAAE9D,EAAEA,EAAE,EAAE,GAAG,IAAM,GAAFrD,GAAM,OAAOwkB,EAC/frd,EAAEwxB,SAAS,EAAEt1B,GAAG8D,EAAEpC,MAAM,EAAE1B,IAAIwiB,IAAIjiB,EAAEg1B,YAAYre,EAAE3W,EAAE20B,YAAYnxB,GAJnD,CAIwD,QAAG,UAAewB,EAAO,QAAG,UAAeC,KAAKnD,KAAKmD,KAAKD,K,mCCJ1Hie,QAAQ5nB,UAAUm2B,kBACnBvO,QAAQ5nB,UAAUm2B,gBAAkB,SAASryB,EAAM81B,GAGjD,YAFa,IAAVA,IAAkBA,IAAUA,GAEC,OAA5BnzB,KAAK7E,aAAakC,KAChB81B,IAEJnzB,KAAK8oB,gBAAgBzrB,IACd,IAEO,IAAV81B,IAEJnzB,KAAKnD,aAAaQ,EAAM,KACjB,M,wCCbfjD,EAAOD,QAAU,IAA0B,2B,mBCA3CC,EAAOD,QAAU,IAA0B,qC,wCCA3CC,EAAOD,QAAU,IAA0B","file":"94fe7f72f2f6013b3c67.help-page.bundle.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t};\n\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t2: 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"\" + \"94fe7f72f2f6013b3c67\" + \".\" + ({\"0\":\"stacks\"}[chunkId]||chunkId) + \".bundle.js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"0\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"\" + chunkId + \".\" + \"94fe7f72f2f6013b3c67\" + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/client/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 659);\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","var global = (function(self) {\n return self\n // eslint-disable-next-line no-invalid-this\n})(typeof self !== 'undefined' ? self : this)\nvar support = {\n searchParams: 'URLSearchParams' in global,\n iterable: 'Symbol' in global && 'iterator' in Symbol,\n blob:\n 'FileReader' in global &&\n 'Blob' in global &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in global,\n arrayBuffer: 'ArrayBuffer' in global\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n this.bodyUsed = this.bodyUsed\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n\n if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime())\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime()\n }\n }\n }\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : ''\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = global.DOMException\n\nif (typeof DOMException !== 'function') {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n setTimeout(function() {\n resolve(new Response(body, options))\n }, 0)\n }\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }, 0)\n }\n\n function fixUrl(url) {\n try {\n return url === '' && global.location.href ? global.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(request.url), true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr) {\n if (support.blob) {\n xhr.responseType = 'blob'\n } else if (\n support.arrayBuffer &&\n request.headers.get('Content-Type') &&\n request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1\n ) {\n xhr.responseType = 'arraybuffer'\n }\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!global.fetch) {\n global.fetch = fetch\n global.Headers = Headers\n global.Request = Request\n global.Response = Response\n}\n","import \"es6-promise/auto\";\nimport \"whatwg-fetch\";\nimport \"./RequestAnimationFrame\";\nimport \"./RequestIdleCallback\";\nimport { DOM } from \"lib/DOM\";\nimport \"./custom-elements-es5-adapter.js\";\nimport \"document-register-element\";\nimport \"url-polyfill\";\nimport \"es6-symbol/implement\";\nimport \"fastestsmallesttextencoderdecoder\";\nimport \"./toggleAttribute.js\";\n\n(async () => {\n if (/Trident\\/|MSIE/.test(window.navigator.userAgent)) {\n await import( /* webpackChunkName: \"internet-explorer\" */ \"./internetExplorerPolyfills\");\n }\n})();\n\nwindow.setTimeout(async () => {\n await DOM.ready();\n\n const handleFirstTab = (e) => {\n if (e.keyCode === 9) { // the \"I am a keyboard user\" key\n document.body.classList.add(\"tabbing\");\n window.removeEventListener(\"keydown\", handleFirstTab);\n }\n }\n \n window.addEventListener(\"keydown\", handleFirstTab);\n});\n\n","import \"./AnchorNavigatorElement-style.less\";\n\ninterface menuItem {\n title: string;\n id: string;\n children?: menuItem[];\n}\n\n\nclass AnchorNavigatorElement extends HTMLElement {\n connectedCallback() {\n const source = document.querySelector(this.getAttribute(\"target\"));\n const items: menuItem[] = [];\n const h1s: HTMLElement[] = [].slice.call(source.querySelectorAll(\"h1, h2\"));\n\n let current: menuItem;\n\n for (const element of h1s) {\n if (element.nodeName === \"H1\") {\n current = {\n title: element.innerText,\n children: [],\n id: element.id\n };\n\n items.push(current);\n } else {\n if (current) {\n current.children.push({\n title: element.innerText,\n id: element.id\n });\n }\n }\n }\n\n\n this.innerHTML = `\n \n `;\n }\n\n private itemView = (item: menuItem) => `\n
  • \n ${item.title}\n \n
  • \n `;\n}\n\ncustomElements.define(\"anchor-navigator\", AnchorNavigatorElement);","import \"./InfoViewerElement-style\";\n\nclass InfoViewerElement extends HTMLElement {\n connectedCallback() { }\n}\ncustomElements.define(\"info-viewer\", InfoViewerElement);\n\n\n","import \"features/site-header\";\nimport \"features/site-footer\";\nimport \"features/anchor-navigator\";\nimport \"features/info-viewer\";\nimport \"./info-page-style\";\n","import \"./HotkeyViewerElement-style\";\nimport { Formatting } from \"lib/Formatting\";\nimport { HotkeyStore, KeySet, Hotkey } from \"./HotkeyStore\";\n\nclass HotkeyViewerElement extends HTMLElement {\n public static ClassName = \"HotkeyViewerElement\";\n // protected titleText: string = \"Keyboard shortcuts\";\n private escape = Formatting.htmlEscape;\n private _areas = [\n { area: \"global\", descritpion: \"Global\" },\n { area: \"bookmarks\", descritpion: \"Bookmarks\" },\n { area: \"feeds\", descritpion: \"Feeds\" }\n ]\n\n async connectedCallback() {\n // super.connectedCallback();\n const keysets = HotkeyStore.instance.keySets;\n this.insertAdjacentHTML(\"beforeend\", this.view(keysets));\n } \n\n private hotKeyView = (hotkey: Hotkey) => this.escape `\n $${hotkey.altKey ? \"Alt + \" : \"\"}\n $${hotkey.ctrlKey ? \"Ctrl + \" : \"\"}\n ${hotkey.key?.toUpperCase() || hotkey.code.substring(3)}`;\n\n\n private keyView = (keySet: KeySet) => this.escape`\n
    \n
    $${keySet.hotkeys.map(this.hotKeyView).join(\" or \")}
    \n
    ${keySet.description}
    \n
    `;\n\n private areaView = (keySets: KeySet[], description: string) => this.escape`\n

    ${description}

    \n $${keySets.map(this.keyView).join(\"\")} \n `;\n\n private view = (hotkeys: { [key: string]: KeySet[] } ) => this.escape`\n
    \n $${this._areas.map(a => this.areaView(hotkeys[a.area], a.descritpion)).join(\"\")}\n
    \n `;\n}\n\ncustomElements.define(\"hotkey-viewer\", HotkeyViewerElement)\n","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","export class GestureStore {\n private static _instance = new GestureStore();\n private _gestureSets: { [key: string]: GestureSet[] } = {\n \"bookmarks\": [\n { gesture: \"tap\", description: \"Tap header to visit source.\" }\n ],\n \"feeds\": [\n { gesture: \"tap\", description: \"Tap on header to open an article. Tap again to visit source.\" },\n { gesture: \"swipe-left\", description: \"Swipe left on a closed article to mark it read.\" },\n { gesture: \"swipe-right\", description: \"Swipe right on a closed article to mark it unread.\" },\n { gesture: \"long-press\", description: \"Long press on header and links to save.\" }\n ]\n };\n\n static get instance() { return GestureStore._instance; }\n\n get gestureSets(): { [key: string]: GestureSet[] } {\n return this._gestureSets;\n }\n}\n\nexport interface GestureSet {\n description: string;\n gesture: Gesture;\n}\n\nexport type Gesture = \"tap\" | \"swipe-left\" | \"swipe-right\" | \"long-press\";\n\n\n","import \"./GestureViewerElement-style\";\nimport { Formatting } from \"lib/Formatting\";\nimport { GestureStore, GestureSet } from \"./GestureStore\";\n\nclass GestureViewerElement extends HTMLElement {\n public static ClassName = \"GestureViewerElement\";\n // protected titleText: string = \"Gestures\";\n private escape = Formatting.htmlEscape;\n private _areas = [\n // { area: \"global\", descritpion: \"Global\" },\n { area: \"bookmarks\", descritpion: \"Bookmarks\" },\n { area: \"feeds\", descritpion: \"Feeds\" }\n ]\n\n private icons = {\n \"tap\": require(\"!!raw-loader!image/tap-45.svg\"),\n \"swipe-left\": require(\"!!raw-loader!image/swipe-left-45.svg\"),\n \"swipe-right\": require(\"!!raw-loader!image/swipe-right-45.svg\"),\n \"long-press\": require(\"!!raw-loader!image/long-press-45.svg\")\n };\n\n async connectedCallback() {\n // super.connectedCallback();\n const keysets = GestureStore.instance.gestureSets;\n this.insertAdjacentHTML(\"beforeend\", this.view(keysets));\n } \n\n private keyView = (gestureSet: GestureSet) => this.escape`\n
    \n
    $${this.icons[gestureSet.gesture] || gestureSet.gesture}
    \n
    ${gestureSet.description}
    \n
    `;\n\n private areaView = (gestureSet: GestureSet[], description: string) => this.escape`\n

    ${description}

    \n $${gestureSet.map(this.keyView).join(\"\")} \n `;\n\n private view = (gestures: { [key: string]: GestureSet[] } ) => this.escape`\n
    \n $${this._areas.map(a => this.areaView(gestures[a.area], a.descritpion)).join(\"\")}\n
    \n `;\n}\n\ncustomElements.define(\"gesture-viewer\", GestureViewerElement)\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? globalThis : require(\"./implementation\");\n","\"use strict\";\n\nvar isValue = require(\"type/value/is\")\n , isPlainFunction = require(\"type/plain-function/is\")\n , assign = require(\"es5-ext/object/assign\")\n , normalizeOpts = require(\"es5-ext/object/normalize-options\")\n , contains = require(\"es5-ext/string/#/contains\");\n\nvar d = (module.exports = function (dscr, value/*, options*/) {\n\tvar c, e, w, options, desc;\n\tif (arguments.length < 2 || typeof dscr !== \"string\") {\n\t\toptions = value;\n\t\tvalue = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[2];\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t\tw = contains.call(dscr, \"w\");\n\t} else {\n\t\tc = w = true;\n\t\te = false;\n\t}\n\n\tdesc = { value: value, configurable: c, enumerable: e, writable: w };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n});\n\nd.gs = function (dscr, get, set/*, options*/) {\n\tvar c, e, options, desc;\n\tif (typeof dscr !== \"string\") {\n\t\toptions = set;\n\t\tset = get;\n\t\tget = dscr;\n\t\tdscr = null;\n\t} else {\n\t\toptions = arguments[3];\n\t}\n\tif (!isValue(get)) {\n\t\tget = undefined;\n\t} else if (!isPlainFunction(get)) {\n\t\toptions = get;\n\t\tget = set = undefined;\n\t} else if (!isValue(set)) {\n\t\tset = undefined;\n\t} else if (!isPlainFunction(set)) {\n\t\toptions = set;\n\t\tset = undefined;\n\t}\n\tif (isValue(dscr)) {\n\t\tc = contains.call(dscr, \"c\");\n\t\te = contains.call(dscr, \"e\");\n\t} else {\n\t\tc = true;\n\t\te = false;\n\t}\n\n\tdesc = { get: get, set: set, configurable: c, enumerable: e };\n\treturn !options ? desc : assign(normalizeOpts(options), desc);\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","\"use strict\";\n\nvar _undefined = require(\"../function/noop\")(); // Support ES3 engines\n\nmodule.exports = function (val) { return val !== _undefined && val !== null; };\n","export class DOMLite {\n\n static createIsolated(): HTMLElement {\n const d = document;\n let root = d.createElement(\"ls-bm\");\n d.body.appendChild(root);\n\n if ((root).attachShadow)\n root = (root).attachShadow({ mode: \"open\" });\n\n root.innerHTML = DOMLite.isolatedElementView();\n\n return root.querySelector(\"div\");\n }\n\n static isolatedElementView = () => `\n \n
    \n `;\n}\n\n\n\n// * {\n// all: unset;\n// }\n// all: initial;","\"use strict\";\n\n// ES3 safe\nvar _undefined = void 0;\n\nmodule.exports = function (value) { return value !== _undefined && value !== null; };\n","\"use strict\";\n\nvar isSymbol = require(\"./is-symbol\");\n\nmodule.exports = function (value) {\n\tif (!isSymbol(value)) throw new TypeError(value + \" is not a symbol\");\n\treturn value;\n};\n","(function(global) {\r\n /**\r\n * Polyfill URLSearchParams\r\n *\r\n * Inspired from : https://github.com/WebReflection/url-search-params/blob/master/src/url-search-params.js\r\n */\r\n\r\n var checkIfIteratorIsSupported = function() {\r\n try {\r\n return !!Symbol.iterator;\r\n } catch (error) {\r\n return false;\r\n }\r\n };\r\n\r\n\r\n var iteratorSupported = checkIfIteratorIsSupported();\r\n\r\n var createIterator = function(items) {\r\n var iterator = {\r\n next: function() {\r\n var value = items.shift();\r\n return { done: value === void 0, value: value };\r\n }\r\n };\r\n\r\n if (iteratorSupported) {\r\n iterator[Symbol.iterator] = function() {\r\n return iterator;\r\n };\r\n }\r\n\r\n return iterator;\r\n };\r\n\r\n /**\r\n * Search param name and values should be encoded according to https://url.spec.whatwg.org/#urlencoded-serializing\r\n * encodeURIComponent() produces the same result except encoding spaces as `%20` instead of `+`.\r\n */\r\n var serializeParam = function(value) {\r\n return encodeURIComponent(value).replace(/%20/g, '+');\r\n };\r\n\r\n var deserializeParam = function(value) {\r\n return decodeURIComponent(String(value).replace(/\\+/g, ' '));\r\n };\r\n\r\n var polyfillURLSearchParams = function() {\r\n\r\n var URLSearchParams = function(searchString) {\r\n Object.defineProperty(this, '_entries', { writable: true, value: {} });\r\n var typeofSearchString = typeof searchString;\r\n\r\n if (typeofSearchString === 'undefined') {\r\n // do nothing\r\n } else if (typeofSearchString === 'string') {\r\n if (searchString !== '') {\r\n this._fromString(searchString);\r\n }\r\n } else if (searchString instanceof URLSearchParams) {\r\n var _this = this;\r\n searchString.forEach(function(value, name) {\r\n _this.append(name, value);\r\n });\r\n } else if ((searchString !== null) && (typeofSearchString === 'object')) {\r\n if (Object.prototype.toString.call(searchString) === '[object Array]') {\r\n for (var i = 0; i < searchString.length; i++) {\r\n var entry = searchString[i];\r\n if ((Object.prototype.toString.call(entry) === '[object Array]') || (entry.length !== 2)) {\r\n this.append(entry[0], entry[1]);\r\n } else {\r\n throw new TypeError('Expected [string, any] as entry at index ' + i + ' of URLSearchParams\\'s input');\r\n }\r\n }\r\n } else {\r\n for (var key in searchString) {\r\n if (searchString.hasOwnProperty(key)) {\r\n this.append(key, searchString[key]);\r\n }\r\n }\r\n }\r\n } else {\r\n throw new TypeError('Unsupported input\\'s type for URLSearchParams');\r\n }\r\n };\r\n\r\n var proto = URLSearchParams.prototype;\r\n\r\n proto.append = function(name, value) {\r\n if (name in this._entries) {\r\n this._entries[name].push(String(value));\r\n } else {\r\n this._entries[name] = [String(value)];\r\n }\r\n };\r\n\r\n proto.delete = function(name) {\r\n delete this._entries[name];\r\n };\r\n\r\n proto.get = function(name) {\r\n return (name in this._entries) ? this._entries[name][0] : null;\r\n };\r\n\r\n proto.getAll = function(name) {\r\n return (name in this._entries) ? this._entries[name].slice(0) : [];\r\n };\r\n\r\n proto.has = function(name) {\r\n return (name in this._entries);\r\n };\r\n\r\n proto.set = function(name, value) {\r\n this._entries[name] = [String(value)];\r\n };\r\n\r\n proto.forEach = function(callback, thisArg) {\r\n var entries;\r\n for (var name in this._entries) {\r\n if (this._entries.hasOwnProperty(name)) {\r\n entries = this._entries[name];\r\n for (var i = 0; i < entries.length; i++) {\r\n callback.call(thisArg, entries[i], name, this);\r\n }\r\n }\r\n }\r\n };\r\n\r\n proto.keys = function() {\r\n var items = [];\r\n this.forEach(function(value, name) {\r\n items.push(name);\r\n });\r\n return createIterator(items);\r\n };\r\n\r\n proto.values = function() {\r\n var items = [];\r\n this.forEach(function(value) {\r\n items.push(value);\r\n });\r\n return createIterator(items);\r\n };\r\n\r\n proto.entries = function() {\r\n var items = [];\r\n this.forEach(function(value, name) {\r\n items.push([name, value]);\r\n });\r\n return createIterator(items);\r\n };\r\n\r\n if (iteratorSupported) {\r\n proto[Symbol.iterator] = proto.entries;\r\n }\r\n\r\n proto.toString = function() {\r\n var searchArray = [];\r\n this.forEach(function(value, name) {\r\n searchArray.push(serializeParam(name) + '=' + serializeParam(value));\r\n });\r\n return searchArray.join('&');\r\n };\r\n\r\n\r\n global.URLSearchParams = URLSearchParams;\r\n };\r\n\r\n var checkIfURLSearchParamsSupported = function() {\r\n try {\r\n var URLSearchParams = global.URLSearchParams;\r\n\r\n return (new URLSearchParams('?a=1').toString() === 'a=1') && (typeof URLSearchParams.prototype.set === 'function');\r\n } catch (e) {\r\n return false;\r\n }\r\n };\r\n\r\n if (!checkIfURLSearchParamsSupported()) {\r\n polyfillURLSearchParams();\r\n }\r\n\r\n var proto = global.URLSearchParams.prototype;\r\n\r\n if (typeof proto.sort !== 'function') {\r\n proto.sort = function() {\r\n var _this = this;\r\n var items = [];\r\n this.forEach(function(value, name) {\r\n items.push([name, value]);\r\n if (!_this._entries) {\r\n _this.delete(name);\r\n }\r\n });\r\n items.sort(function(a, b) {\r\n if (a[0] < b[0]) {\r\n return -1;\r\n } else if (a[0] > b[0]) {\r\n return +1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n if (_this._entries) { // force reset because IE keeps keys index\r\n _this._entries = {};\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n this.append(items[i][0], items[i][1]);\r\n }\r\n };\r\n }\r\n\r\n if (typeof proto._fromString !== 'function') {\r\n Object.defineProperty(proto, '_fromString', {\r\n enumerable: false,\r\n configurable: false,\r\n writable: false,\r\n value: function(searchString) {\r\n if (this._entries) {\r\n this._entries = {};\r\n } else {\r\n var keys = [];\r\n this.forEach(function(value, name) {\r\n keys.push(name);\r\n });\r\n for (var i = 0; i < keys.length; i++) {\r\n this.delete(keys[i]);\r\n }\r\n }\r\n\r\n searchString = searchString.replace(/^\\?/, '');\r\n var attributes = searchString.split('&');\r\n var attribute;\r\n for (var i = 0; i < attributes.length; i++) {\r\n attribute = attributes[i].split('=');\r\n this.append(\r\n deserializeParam(attribute[0]),\r\n (attribute.length > 1) ? deserializeParam(attribute[1]) : ''\r\n );\r\n }\r\n }\r\n });\r\n }\r\n\r\n // HTMLAnchorElement\r\n\r\n})(\r\n (typeof global !== 'undefined') ? global\r\n : ((typeof window !== 'undefined') ? window\r\n : ((typeof self !== 'undefined') ? self : this))\r\n);\r\n\r\n(function(global) {\r\n /**\r\n * Polyfill URL\r\n *\r\n * Inspired from : https://github.com/arv/DOM-URL-Polyfill/blob/master/src/url.js\r\n */\r\n\r\n var checkIfURLIsSupported = function() {\r\n try {\r\n var u = new global.URL('b', 'http://a');\r\n u.pathname = 'c d';\r\n return (u.href === 'http://a/c%20d') && u.searchParams;\r\n } catch (e) {\r\n return false;\r\n }\r\n };\r\n\r\n\r\n var polyfillURL = function() {\r\n var _URL = global.URL;\r\n\r\n var URL = function(url, base) {\r\n if (typeof url !== 'string') url = String(url);\r\n\r\n // Only create another document if the base is different from current location.\r\n var doc = document, baseElement;\r\n if (base && (global.location === void 0 || base !== global.location.href)) {\r\n doc = document.implementation.createHTMLDocument('');\r\n baseElement = doc.createElement('base');\r\n baseElement.href = base;\r\n doc.head.appendChild(baseElement);\r\n try {\r\n if (baseElement.href.indexOf(base) !== 0) throw new Error(baseElement.href);\r\n } catch (err) {\r\n throw new Error('URL unable to set base ' + base + ' due to ' + err);\r\n }\r\n }\r\n\r\n var anchorElement = doc.createElement('a');\r\n anchorElement.href = url;\r\n if (baseElement) {\r\n doc.body.appendChild(anchorElement);\r\n anchorElement.href = anchorElement.href; // force href to refresh\r\n }\r\n\r\n var inputElement = doc.createElement('input');\r\n inputElement.type = 'url';\r\n inputElement.value = url;\r\n\r\n if (anchorElement.protocol === ':' || !/:/.test(anchorElement.href) || (!inputElement.checkValidity() && !base)) {\r\n throw new TypeError('Invalid URL');\r\n }\r\n\r\n Object.defineProperty(this, '_anchorElement', {\r\n value: anchorElement\r\n });\r\n\r\n\r\n // create a linked searchParams which reflect its changes on URL\r\n var searchParams = new global.URLSearchParams(this.search);\r\n var enableSearchUpdate = true;\r\n var enableSearchParamsUpdate = true;\r\n var _this = this;\r\n ['append', 'delete', 'set'].forEach(function(methodName) {\r\n var method = searchParams[methodName];\r\n searchParams[methodName] = function() {\r\n method.apply(searchParams, arguments);\r\n if (enableSearchUpdate) {\r\n enableSearchParamsUpdate = false;\r\n _this.search = searchParams.toString();\r\n enableSearchParamsUpdate = true;\r\n }\r\n };\r\n });\r\n\r\n Object.defineProperty(this, 'searchParams', {\r\n value: searchParams,\r\n enumerable: true\r\n });\r\n\r\n var search = void 0;\r\n Object.defineProperty(this, '_updateSearchParams', {\r\n enumerable: false,\r\n configurable: false,\r\n writable: false,\r\n value: function() {\r\n if (this.search !== search) {\r\n search = this.search;\r\n if (enableSearchParamsUpdate) {\r\n enableSearchUpdate = false;\r\n this.searchParams._fromString(this.search);\r\n enableSearchUpdate = true;\r\n }\r\n }\r\n }\r\n });\r\n };\r\n\r\n var proto = URL.prototype;\r\n\r\n var linkURLWithAnchorAttribute = function(attributeName) {\r\n Object.defineProperty(proto, attributeName, {\r\n get: function() {\r\n return this._anchorElement[attributeName];\r\n },\r\n set: function(value) {\r\n this._anchorElement[attributeName] = value;\r\n },\r\n enumerable: true\r\n });\r\n };\r\n\r\n ['hash', 'host', 'hostname', 'port', 'protocol']\r\n .forEach(function(attributeName) {\r\n linkURLWithAnchorAttribute(attributeName);\r\n });\r\n\r\n Object.defineProperty(proto, 'search', {\r\n get: function() {\r\n return this._anchorElement['search'];\r\n },\r\n set: function(value) {\r\n this._anchorElement['search'] = value;\r\n this._updateSearchParams();\r\n },\r\n enumerable: true\r\n });\r\n\r\n Object.defineProperties(proto, {\r\n\r\n 'toString': {\r\n get: function() {\r\n var _this = this;\r\n return function() {\r\n return _this.href;\r\n };\r\n }\r\n },\r\n\r\n 'href': {\r\n get: function() {\r\n return this._anchorElement.href.replace(/\\?$/, '');\r\n },\r\n set: function(value) {\r\n this._anchorElement.href = value;\r\n this._updateSearchParams();\r\n },\r\n enumerable: true\r\n },\r\n\r\n 'pathname': {\r\n get: function() {\r\n return this._anchorElement.pathname.replace(/(^\\/?)/, '/');\r\n },\r\n set: function(value) {\r\n this._anchorElement.pathname = value;\r\n },\r\n enumerable: true\r\n },\r\n\r\n 'origin': {\r\n get: function() {\r\n // get expected port from protocol\r\n var expectedPort = { 'http:': 80, 'https:': 443, 'ftp:': 21 }[this._anchorElement.protocol];\r\n // add port to origin if, expected port is different than actual port\r\n // and it is not empty f.e http://foo:8080\r\n // 8080 != 80 && 8080 != ''\r\n var addPortToOrigin = this._anchorElement.port != expectedPort &&\r\n this._anchorElement.port !== '';\r\n\r\n return this._anchorElement.protocol +\r\n '//' +\r\n this._anchorElement.hostname +\r\n (addPortToOrigin ? (':' + this._anchorElement.port) : '');\r\n },\r\n enumerable: true\r\n },\r\n\r\n 'password': { // TODO\r\n get: function() {\r\n return '';\r\n },\r\n set: function(value) {\r\n },\r\n enumerable: true\r\n },\r\n\r\n 'username': { // TODO\r\n get: function() {\r\n return '';\r\n },\r\n set: function(value) {\r\n },\r\n enumerable: true\r\n },\r\n });\r\n\r\n URL.createObjectURL = function(blob) {\r\n return _URL.createObjectURL.apply(_URL, arguments);\r\n };\r\n\r\n URL.revokeObjectURL = function(url) {\r\n return _URL.revokeObjectURL.apply(_URL, arguments);\r\n };\r\n\r\n global.URL = URL;\r\n\r\n };\r\n\r\n if (!checkIfURLIsSupported()) {\r\n polyfillURL();\r\n }\r\n\r\n if ((global.location !== void 0) && !('origin' in global.location)) {\r\n var getOrigin = function() {\r\n return global.location.protocol + '//' + global.location.hostname + (global.location.port ? (':' + global.location.port) : '');\r\n };\r\n\r\n try {\r\n Object.defineProperty(global.location, 'origin', {\r\n get: getOrigin,\r\n enumerable: true\r\n });\r\n } catch (e) {\r\n setInterval(function() {\r\n global.location.origin = getOrigin();\r\n }, 100);\r\n }\r\n }\r\n\r\n})(\r\n (typeof global !== 'undefined') ? global\r\n : ((typeof window !== 'undefined') ? window\r\n : ((typeof self !== 'undefined') ? self : this))\r\n);\r\n","import \"./SiteHeader-style\";\n\nclass SiteHeaderElement extends HTMLElement {\n connectedCallback() {\n window.addEventListener(\"scroll\", this.scrollHandler, { passive: true });\n }\n\n disconnectedCallback() {\n window.removeEventListener(\"scroll\", this.scrollHandler);\n }\n\n private scrollHandler = () => {\n const threshold = (80 - 62) / 2;\n \n if (\n document.body.scrollTop > threshold ||\n document.documentElement.scrollTop > threshold\n ) {\n document.body.classList.add(\"scrolled\");\n } else {\n document.body.classList.remove(\"scrolled\");\n }\n }\n}\n\ncustomElements.define(\"site-header\", SiteHeaderElement);","import { DOM } from \"lib/DOM\";\n\nexport class HotkeyStore {\n private static _instance = new HotkeyStore();\n private hash = (source: KeyboardEvent | Hotkey) => `${source.altKey ? \"alt+\" : \"\"}${source.ctrlKey ? \"ctrl+\" : \"\"}${source.code || source.key}`;\n private globalHandlers: { [key: string]: () => void } = {};\n\n\n private _keySets: { [key: string]: KeySet[] } = {\n \"global\": [\n { id: \"addUrl\", description: \"Add url\", hotkeys: [ { altKey: true, code: \"KeyL\" } ] },\n { id: \"showHub\", description: \"Show hub page\", hotkeys: [ { altKey: true, code: \"KeyH\" } ] },\n { id: \"showBookmarks\", description: \"Show bookmarks page\", hotkeys: [ { altKey: true, code: \"KeyB\" } ] },\n { id: \"showFeeds\", description: \"Show feeds page\", hotkeys: [ { altKey: true, code: \"KeyR\" } ] },\n { id: \"showSearch\", description: \"Show search page\", hotkeys: [ { altKey: true, code: \"KeyS\" } ] },\n { id: \"showProfile\", description: \"Show profile page\", hotkeys: [ { altKey: true, code: \"KeyP\" } ] }\n ],\n \"bookmarks\": [\n { id: \"showInbox\", description: \"Show inbox\", hotkeys: [ { altKey: true, code: \"KeyI\" } ] },\n { id: \"createStack\", description: \"Create stack\", hotkeys: [ { altKey: true, code: \"KeyC\" } ] },\n { id: \"filters\", description: \"Filters\", hotkeys: [ { altKey: true, code: \"KeyF\" } ] }\n ],\n \"feeds\": [\n { id: \"previousArticle\", description: \"Previous article\", hotkeys: [ { key: \"j\" }, { key: \"backspace\" } ] },\n { id: \"nextArticle\", description: \"Next article\", hotkeys: [ { key: \"k\" }, { key: \"space\" } ] }\n ]\n }; \n\n static get instance() { return HotkeyStore._instance; } \n \n get keySets() : { [key: string]: KeySet[] } {\n return this._keySets;\n }\n\n private constructor() {\n window.requestIdleCallback(async () => {\n await DOM.ready();\n\n window.addEventListener(\"keydown\", (ev: KeyboardEvent) => {\n if ((event.target as HTMLElement).closest(\"input, password, textarea\"))\n return;\n\n const element = event.target as HTMLElement;\n\n if (element.hasAttribute && element.hasAttribute(\"contenteditable\"))\n return;\n\n const hotkey = this.globalHandlers[this.hash(ev)];\n \n if (hotkey) {\n ev.preventDefault();\n ev.cancelBubble = true;\n hotkey();\n }\n \n });\n\n }, { timeout: 1000});\n }\n\n confirm(id: string) : HotkeyStore {\n for(const area of Object.values(this._keySets)) {\n for(const keySet of area) {\n if (keySet.id === id)\n return this;\n }\n }\n\n throw new Error(`KeySet does not exist: ${id}.`);\n }\n\n registerGlobal(id: string, callback: () => void) {\n const global = this._keySets[\"global\"];\n\n const keySet = global.filter(m => m.id === id)[0];\n\n if (!keySet) {\n console.log(`Global key does not exist: ${id}.`);\n return;\n }\n\n keySet.hotkeys.forEach(hotkey => {\n const lookup = this.hash(hotkey);\n \n if (this.globalHandlers[lookup])\n throw new Error(`Global hotkey already exists '${lookup}', id '${id}'.`);\n \n this.globalHandlers[lookup] = callback;\n });\n }\n}\n\nexport interface KeySet {\n id: string; \n description: string;\n hotkeys: Hotkey[];\n}\n\nexport interface Hotkey {\n key?: string;\n code?: string;\n altKey?: boolean;\n ctrlKey?: boolean;\n}\n\n\n","/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version v4.2.8+1e68dce6\n */\n\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.ES6Promise = factory());\n}(this, (function () { 'use strict';\n\nfunction objectOrFunction(x) {\n var type = typeof x;\n return x !== null && (type === 'object' || type === 'function');\n}\n\nfunction isFunction(x) {\n return typeof x === 'function';\n}\n\n\n\nvar _isArray = void 0;\nif (Array.isArray) {\n _isArray = Array.isArray;\n} else {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n}\n\nvar isArray = _isArray;\n\nvar len = 0;\nvar vertxNext = void 0;\nvar customSchedulerFn = void 0;\n\nvar asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nfunction setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nfunction setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var vertx = Function('return this')().require('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = void 0;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && typeof require === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}\n\nfunction then(onFulfillment, onRejection) {\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n\n if (_state) {\n var callback = arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nfunction resolve$1(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n resolve(promise, object);\n return promise;\n}\n\nvar PROMISE_ID = Math.random().toString(36).substring(2);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {\n try {\n then$$1.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then$$1) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then$$1, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return resolve(promise, value);\n }, function (reason) {\n return reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then$$1) {\n if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then$$1 === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then$$1)) {\n handleForeignThenable(promise, maybeThenable, then$$1);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction resolve(promise, value) {\n if (promise === value) {\n reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n var then$$1 = void 0;\n try {\n then$$1 = value.then;\n } catch (error) {\n reject(promise, error);\n return;\n }\n handleMaybeThenable(promise, value, then$$1);\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = void 0,\n callback = void 0,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = void 0,\n error = void 0,\n succeeded = true;\n\n if (hasCallback) {\n try {\n value = callback(detail);\n } catch (e) {\n succeeded = false;\n error = e;\n }\n\n if (promise === value) {\n reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n resolve(promise, value);\n } else if (succeeded === false) {\n reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n resolve(promise, value);\n }, function rejectPromise(reason) {\n reject(promise, reason);\n });\n } catch (e) {\n reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n}\n\nvar Enumerator = function () {\n function Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate(input);\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n reject(this.promise, validationError());\n }\n }\n\n Enumerator.prototype._enumerate = function _enumerate(input) {\n for (var i = 0; this._state === PENDING && i < input.length; i++) {\n this._eachEntry(input[i], i);\n }\n };\n\n Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {\n var c = this._instanceConstructor;\n var resolve$$1 = c.resolve;\n\n\n if (resolve$$1 === resolve$1) {\n var _then = void 0;\n var error = void 0;\n var didError = false;\n try {\n _then = entry.then;\n } catch (e) {\n didError = true;\n error = e;\n }\n\n if (_then === then && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise$1) {\n var promise = new c(noop);\n if (didError) {\n reject(promise, error);\n } else {\n handleMaybeThenable(promise, entry, _then);\n }\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve$$1) {\n return resolve$$1(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve$$1(entry), i);\n }\n };\n\n Enumerator.prototype._settledAt = function _settledAt(state, i, value) {\n var promise = this.promise;\n\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n };\n\n Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n };\n\n return Enumerator;\n}();\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nfunction all(entries) {\n return new Enumerator(this, entries).promise;\n}\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nfunction race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nfunction reject$1(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n reject(promise, reason);\n return promise;\n}\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {Function} resolver\n Useful for tooling.\n @constructor\n*/\n\nvar Promise$1 = function () {\n function Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n }\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n Chaining\n --------\n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n Assimilation\n ------------\n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n If the assimliated promise rejects, then the downstream promise will also reject.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n Simple Example\n --------------\n Synchronous Example\n ```javascript\n let result;\n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n Advanced Example\n --------------\n Synchronous Example\n ```javascript\n let author, books;\n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n function foundBooks(books) {\n }\n function failure(reason) {\n }\n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n\n\n Promise.prototype.catch = function _catch(onRejection) {\n return this.then(null, onRejection);\n };\n\n /**\n `finally` will be invoked regardless of the promise's fate just as native\n try/catch/finally behaves\n \n Synchronous example:\n \n ```js\n findAuthor() {\n if (Math.random() > 0.5) {\n throw new Error();\n }\n return new Author();\n }\n \n try {\n return findAuthor(); // succeed or fail\n } catch(error) {\n return findOtherAuther();\n } finally {\n // always runs\n // doesn't affect the return value\n }\n ```\n \n Asynchronous example:\n \n ```js\n findAuthor().catch(function(reason){\n return findOtherAuther();\n }).finally(function(){\n // author was either found, or not\n });\n ```\n \n @method finally\n @param {Function} callback\n @return {Promise}\n */\n\n\n Promise.prototype.finally = function _finally(callback) {\n var promise = this;\n var constructor = promise.constructor;\n\n if (isFunction(callback)) {\n return promise.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n throw reason;\n });\n });\n }\n\n return promise.then(callback, callback);\n };\n\n return Promise;\n}();\n\nPromise$1.prototype.then = then;\nPromise$1.all = all;\nPromise$1.race = race;\nPromise$1.resolve = resolve$1;\nPromise$1.reject = reject$1;\nPromise$1._setScheduler = setScheduler;\nPromise$1._setAsap = setAsap;\nPromise$1._asap = asap;\n\n/*global self*/\nfunction polyfill() {\n var local = void 0;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise$1;\n}\n\n// Strange compat..\nPromise$1.polyfill = polyfill;\nPromise$1.Promise = Promise$1;\n\nreturn Promise$1;\n\n})));\n\n\n\n//# sourceMappingURL=es6-promise.map\n","import \"./SiteFooter-style\";\nimport \"./SiteFooter-static.html\";","// This file can be required in Browserify and Node.js for automatic polyfill\n// To use it: require('es6-promise/auto');\n'use strict';\nmodule.exports = require('./').polyfill();\n","class RequestAnimationFrame {\n constructor() {\n let lastTime = 0;\n\n // add requestAnimationFrame2\n if (!window.requestAnimationFrame)\n (window).requestAnimationFrame = (callback, element) => {\n const currTime = new Date().getTime();\n const timeToCall = Math.max(0, 16 - (currTime - lastTime));\n const id = window.setTimeout(() => { callback(currTime + timeToCall); },\n timeToCall);\n lastTime = currTime + timeToCall;\n return id;\n };\n\n // add cancelAnimationFrame\n if (!window.cancelAnimationFrame)\n window.cancelAnimationFrame = id => {\n clearTimeout(id);\n };\n }\n}\n\nlet __ = new RequestAnimationFrame();","window.requestIdleCallback =\nwindow.requestIdleCallback ||\nfunction (cb) {\n var start = Date.now();\n return setTimeout(function () {\n cb({\n didTimeout: false,\n timeRemaining: function () {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n}\n\nwindow.cancelIdleCallback =\nwindow.cancelIdleCallback ||\nfunction (id) {\n clearTimeout(id);\n}","/**\n * @license\n * Copyright (c) 2016 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n */\n\n/**\n * This shim allows elements written in, or compiled to, ES5 to work on native\n * implementations of Custom Elements v1. It sets new.target to the value of\n * this.constructor so that the native HTMLElement constructor can access the\n * current under-construction element's definition.\n */\n(function() {\n if (\n // No Reflect, no classes, no need for shim because native custom elements\n // require ES2015 classes or Reflect.\n window.Reflect === undefined ||\n window.customElements === undefined ||\n // The webcomponentsjs custom elements polyfill doesn't require\n // ES2015-compatible construction (`super()` or `Reflect.construct`).\n window.customElements.hasOwnProperty('polyfillWrapFlushCallback')\n ) {\n return;\n }\n const BuiltInHTMLElement = HTMLElement;\n window.HTMLElement = /** @this {!Object} */ function HTMLElement() {\n return Reflect.construct(\n BuiltInHTMLElement, [], /** @type {!Function} */ (this.constructor));\n };\n HTMLElement.prototype = BuiltInHTMLElement.prototype;\n HTMLElement.prototype.constructor = HTMLElement;\n Object.setPrototypeOf(HTMLElement, BuiltInHTMLElement);\n })();","/*! (C) Andrea Giammarchi - @WebReflection - ISC Style License */\n!function(e,t){\"use strict\";function n(){var e=A.splice(0,A.length);for(et=0;e.length;)e.shift().call(null,e.shift())}function r(e,t){for(var n=0,r=e.length;n1)&&H(this)}}}),_e(l,j,{value:function(e){-1>0,_=\"__\"+R+U,k=\"addEventListener\",x=\"attached\",q=\"Callback\",B=\"detached\",Z=\"extends\",j=\"attributeChanged\"+q,G=x+q,z=\"connected\"+q,K=\"disconnected\"+q,X=\"created\"+q,$=B+q,Q=\"ADDITION\",W=\"REMOVAL\",Y=\"DOMAttrModified\",J=\"DOMContentLoaded\",ee=\"DOMSubtreeModified\",te=\"<\",ne=\"=\",re=/^[A-Z][._A-Z0-9]*-[-._A-Z0-9]*$/,oe=[\"ANNOTATION-XML\",\"COLOR-PROFILE\",\"FONT-FACE\",\"FONT-FACE-SRC\",\"FONT-FACE-URI\",\"FONT-FACE-FORMAT\",\"FONT-FACE-NAME\",\"MISSING-GLYPH\"],le=[],ae=[],ie=\"\",ue=y.documentElement,ce=le.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},se=C.prototype,me=se.hasOwnProperty,fe=se.isPrototypeOf,de=C.defineProperty,pe=[],he=C.getOwnPropertyDescriptor,Te=C.getOwnPropertyNames,Le=C.getPrototypeOf,Me=C.setPrototypeOf,Ee=!!C.__proto__,ve=!1,He=\"__dreCEv1\",ge=e.customElements,be=!/^force/.test(t.type)&&!!(ge&&ge.define&&ge.get&&ge.whenDefined),ye=C.create||C,Ce=e.Map||function(){var e,t=[],n=[];return{get:function(e){return n[ce.call(t,e)]},set:function(r,o){e=ce.call(t,r),e<0?n[t.push(r)-1]=o:n[e]=o}}},we=e.Promise||function(e){function t(e){for(r=!0;n.length;)n.shift()(e)}var n=[],r=!1,o={\"catch\":function(){return o},then:function(e){return n.push(e),r&&setTimeout(t,1),o}};return e(t),o},Ae=!1,Oe=ye(null),Ne=ye(null),De=new Ce,Ie=function(e){return e.toLowerCase()},Fe=C.create||function ct(e){return e?(ct.prototype=e,new ct):this},Se=Me||(Ee?function(e,t){return e.__proto__=t,e}:Te&&he?function(){function e(e,t){for(var n,r=Te(t),o=0,l=r.length;o
    \",new Ve(function(e,t){if(e[0]&&\"childList\"==e[0].type&&!e[0].removedNodes[0].childNodes.length){P=he(Re,\"innerHTML\");var n=P&&P.set;n&&de(Re,\"innerHTML\",{set:function(e){for(;this.lastChild;)this.removeChild(this.lastChild);n.call(this,e)}})}t.disconnect(),P=null}).observe(P,{childList:!0,subtree:!0}),P.innerHTML=\"\"),tt||(Me||Ee?(S=function(e,t){fe.call(t,e)||d(e,t)},V=d):(S=function(e,t){e[_]||(e[_]=C(!0),d(e,t))},V=S),Ue?(ot=!1,function(){var e=he(Re,k),t=e.value,n=function(e){var t=new CustomEvent(Y,{bubbles:!0});t.attrName=e,t.prevValue=Ge.call(this,e),t.newValue=null,t[W]=t.attrChange=2,Ke.call(this,e),je.call(this,t)},r=function(e,t){var n=ze.call(this,e),r=n&&Ge.call(this,e),o=new CustomEvent(Y,{bubbles:!0});Xe.call(this,e,t),o.attrName=e,o.prevValue=n?r:null,o.newValue=t,n?o.MODIFICATION=o.attrChange=1:o[Q]=o.attrChange=0,je.call(this,o)},o=function(e){var t,n=e.currentTarget,r=n[_],o=e.propertyName;r.hasOwnProperty(o)&&(r=r[o],t=new CustomEvent(Y,{bubbles:!0}),t.attrName=r.name,t.prevValue=r.value||null,t.newValue=r.value=n[o]||null,null==t.prevValue?t[Q]=t.attrChange=0:t.MODIFICATION=t.attrChange=1,je.call(n,t))};e.value=function(e,l,a){e===Y&&this[j]&&this.setAttribute!==r&&(this[_]={className:{name:\"class\",value:this.className}},this.setAttribute=r,this.removeAttribute=n,t.call(this,\"propertychange\",o)),t.call(this,e,l,a)},de(Re,k,e)}()):Ve||(ue[k](Y,Je),ue.setAttribute(_,1),ue.removeAttribute(_),ot&&(O=function(e){var t,n,r,o=this;if(o===e.target){t=o[_],o[_]=n=D(o);for(r in n){if(!(r in t))return N(0,o,r,t[r],n[r],Q);if(n[r]!==t[r])return N(1,o,r,t[r],n[r],\"MODIFICATION\")}for(r in t)if(!(r in n))return N(2,o,r,t[r],n[r],W)}},N=function(e,t,n,r,o,l){var a={attrChange:e,currentTarget:t,attrName:n,prevValue:r,newValue:o};a[l]=e,u(a)},D=function(e){for(var t,n,r={},o=e.attributes,l=0,a=o.length;l$\");if(n[Z]=\"a\",t.prototype=Fe(Pe.prototype),t.prototype.constructor=t,e.customElements.define(r,t,n),!o.test(y.createElement(\"a\",{is:r}).outerHTML)||!o.test((new t).outerHTML))throw n}(function st(){return Reflect.construct(Pe,[],st)},{},\"document-register-element-a\"+U)}catch(it){b()}if(!t.noBuiltIn)try{if($e.call(y,\"a\",\"a\").outerHTML.indexOf(\"is\")<0)throw{}}catch(ut){Ie=function(e){return{is:e.toLowerCase()}}}}(window);\n","import \"./help.md\";\nimport \"../info-page.ts\";\nimport \"../../features/help/HotkeyViewerElement\";\nimport \"../../features/help/GestureViewerElement\";","module.exports = __webpack_public_path__ + \"_help.html\";","\"use strict\";\n\nif (!require(\"./is-implemented\")()) {\n\tObject.defineProperty(require(\"ext/global-this\"), \"Symbol\", {\n\t\tvalue: require(\"./polyfill\"),\n\t\tconfigurable: true,\n\t\tenumerable: false,\n\t\twritable: true\n\t});\n}\n","\"use strict\";\n\nvar global = require(\"ext/global-this\")\n , validTypes = { object: true, symbol: true };\n\nmodule.exports = function () {\n\tvar Symbol = global.Symbol;\n\tvar symbol;\n\tif (typeof Symbol !== \"function\") return false;\n\tsymbol = Symbol(\"test symbol\");\n\ttry { String(symbol); }\n\tcatch (e) { return false; }\n\n\t// Return 'true' also for polyfills\n\tif (!validTypes[typeof Symbol.iterator]) return false;\n\tif (!validTypes[typeof Symbol.toPrimitive]) return false;\n\tif (!validTypes[typeof Symbol.toStringTag]) return false;\n\n\treturn true;\n};\n","\"use strict\";\n\nmodule.exports = function () {\n\tif (typeof globalThis !== \"object\") return false;\n\tif (!globalThis) return false;\n\treturn globalThis.Array === Array;\n};\n","export class Formatting {\n public static date(source: string): string {\n const date = new Date(source);\n const monthNames = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n return `${date.getDate()} ${monthNames[date.getMonth()]}, ${date.getFullYear()}`;\n }\n\n public static shortDate(source: string): string {\n const date = new Date(source);\n\n return `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`;\n }\n\n public static shortDateTime(date: Date): string {\n return `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()} ${date.getHours()}:${Formatting.pad(date.getMinutes().toString())}`;\n }\n\n public static shortDateNamedMonth(source: string): string {\n const date = new Date(source);\n const monthNames = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"June\", \"July\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n return `${monthNames[date.getMonth()]} ${date.getDate()} ${date.getFullYear()}`;\n }\n\n public static pad(source = \"\", wantedLength = 2, symbol = \"0\") {\n return source.length >= wantedLength ? source : new Array(wantedLength - source.length + 1).join(symbol) + source;\n }\n\n public static slugify(text) {\n return text.toString().toLowerCase()\n .replace(/\\s+/g, \"-\") // Replace spaces with -\n .replace(/[^\\w\\-]+/g, \"\") // Remove all non-word chars\n .replace(/\\-\\-+/g, \"-\") // Replace multiple - with single -\n .replace(/^-+/, \"\") // Trim - from start of text\n .replace(/-+$/, \"\"); // Trim - from end of text\n }\n\n public static range = (lowEnd: number, highEnd: number): number[] => {\n if (highEnd < lowEnd)\n return [];\n\n const arr = []\n let c = highEnd - lowEnd + 1;\n while (c--) {\n arr[c] = highEnd--\n }\n return arr;\n }\n\n public static mapAny(obj: any): string[][] {\n const arr = [];\n\n for (const key in obj)\n arr.push([key, obj[key]]);\n\n return arr;\n }\n\n public static areEqual(a1: string[], a2: string[]) {\n return a1.length === a2.length && a1.every((v, i) => v === a2[i]);\n }\n\n public static capitalize(source: string) {\n return source.charAt(0).toUpperCase() + source.slice(1);\n }\n\n public static titleize(source: string) {\n let arr = source.split(\" \");\n arr = arr.map(str => Formatting.capitalize(source));\n\n return arr.join(\" \");\n }\n\n private static wordSplitRegex = new RegExp(\"[\\-_\\.]\");\n private static uppercase = new RegExp(\"[A-Z]\");\n private static multipleWhitespace = new RegExp(\"\\s{2,}\");\n private static titleizeRegex = new RegExp(\"\\b([a-z])\");\n\n\n static deslugify(source: string): string {\n if (!source || source === \"\")\n return \"\";\n\n // all uppercase?\n if (source.toUpperCase() === source)\n source = source.toLowerCase();\n\n // replace symbols with spaces\n source = source.replace(Formatting.wordSplitRegex, \" \");\n\n // replace uppercase letters with spaces, if no spaces\n if (source.trim().indexOf(\" \") === -1)\n source = source.replace(Formatting.uppercase, \" $0\");\n\n // single space only\n source = source.replace(Formatting.multipleWhitespace, \" \");\n\n // titielize (this is test -> This Is Test)\n source = source.replace(Formatting.titleizeRegex, \"$0\".toUpperCase());\n\n return source.trim();\n }\n\n public static nameof = (name: keyof T) => name;\n\n public static htmlEscape(literals, ...placeholders) {\n let result = \"\";\n\n // interleave the literals with the placeholders\n for (let i = 0; i < placeholders.length; i++) {\n\n if (literals[i]) {\n if (!literals[i].endsWith(\"$\"))\n result += literals[i];\n else\n result += literals[i].substring(0, literals[i].length - 1);\n }\n\n\n if (placeholders[i])\n if (Array.isArray(placeholders[i]))\n result += placeholders[i].join(\"\");\n else if (literals[i].endsWith(\"$\"))\n result += placeholders[i];\n else if (placeholders[i] && placeholders[i].toLocaleLowerCase && placeholders[i].toLocaleLowerCase().indexOf(\"/g, \">\");\n }\n\n }\n\n // add the last literal\n result += literals[literals.length - 1];\n return result;\n }\n\n static htmlDecode(text) {\n const div = document.createElement(\"div\") as HTMLDivElement;\n div.innerHTML = text;\n return div.textContent;\n }\n\n static htmlEncode(str) {\n const div = document.createElement(\"div\");\n div[(\"textContent\" in div) ? \"textContent\" : \"innerText\"] = str;\n return div.innerHTML;\n }\n\n static htmlEncode2(str) {\n return String(str).replace(/&/g, \"&\").replace(//g, \">\"); //.replace(/\"/g, \""\");\n }\n\n static prettyfyUrl(source: string): string {\n let url: URL;\n try {\n url = new URL(source);\n } catch (error) {\n //console.log(\"unable to parse url\", error);\n return source;\n }\n \n let result = url.host;\n\n const path = decodeURI(url.pathname);\n if (path !== \"/\")\n result += path;\n\n // if (url.hash !== \"\")\n // result += url.hash;\n\n return result;\n }\n}","var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of Object.prototype being sealed (via preventExtensions, seal or freeze)\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ is resolved with global context, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n","// ES2015 Symbol polyfill for environments that do not (or partially) support it\n\n\"use strict\";\n\nvar d = require(\"d\")\n , validateSymbol = require(\"./validate-symbol\")\n , NativeSymbol = require(\"ext/global-this\").Symbol\n , generateName = require(\"./lib/private/generate-name\")\n , setupStandardSymbols = require(\"./lib/private/setup/standard-symbols\")\n , setupSymbolRegistry = require(\"./lib/private/setup/symbol-registry\");\n\nvar create = Object.create\n , defineProperties = Object.defineProperties\n , defineProperty = Object.defineProperty;\n\nvar SymbolPolyfill, HiddenSymbol, isNativeSafe;\n\nif (typeof NativeSymbol === \"function\") {\n\ttry {\n\t\tString(NativeSymbol());\n\t\tisNativeSafe = true;\n\t} catch (ignore) {}\n} else {\n\tNativeSymbol = null;\n}\n\n// Internal constructor (not one exposed) for creating Symbol instances.\n// This one is used to ensure that `someSymbol instanceof Symbol` always return false\nHiddenSymbol = function Symbol(description) {\n\tif (this instanceof HiddenSymbol) throw new TypeError(\"Symbol is not a constructor\");\n\treturn SymbolPolyfill(description);\n};\n\n// Exposed `Symbol` constructor\n// (returns instances of HiddenSymbol)\nmodule.exports = SymbolPolyfill = function Symbol(description) {\n\tvar symbol;\n\tif (this instanceof Symbol) throw new TypeError(\"Symbol is not a constructor\");\n\tif (isNativeSafe) return NativeSymbol(description);\n\tsymbol = create(HiddenSymbol.prototype);\n\tdescription = description === undefined ? \"\" : String(description);\n\treturn defineProperties(symbol, {\n\t\t__description__: d(\"\", description),\n\t\t__name__: d(\"\", generateName(description))\n\t});\n};\n\nsetupStandardSymbols(SymbolPolyfill);\nsetupSymbolRegistry(SymbolPolyfill);\n\n// Internal tweaks for real symbol producer\ndefineProperties(HiddenSymbol.prototype, {\n\tconstructor: d(SymbolPolyfill),\n\ttoString: d(\"\", function () { return this.__name__; })\n});\n\n// Proper implementation of methods exposed on Symbol.prototype\n// They won't be accessible on produced symbol instances as they derive from HiddenSymbol.prototype\ndefineProperties(SymbolPolyfill.prototype, {\n\ttoString: d(function () { return \"Symbol (\" + validateSymbol(this).__description__ + \")\"; }),\n\tvalueOf: d(function () { return validateSymbol(this); })\n});\ndefineProperty(\n\tSymbolPolyfill.prototype,\n\tSymbolPolyfill.toPrimitive,\n\td(\"\", function () {\n\t\tvar symbol = validateSymbol(this);\n\t\tif (typeof symbol === \"symbol\") return symbol;\n\t\treturn symbol.toString();\n\t})\n);\ndefineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toStringTag, d(\"c\", \"Symbol\"));\n\n// Proper implementaton of toPrimitive and toStringTag for returned symbol instances\ndefineProperty(\n\tHiddenSymbol.prototype, SymbolPolyfill.toStringTag,\n\td(\"c\", SymbolPolyfill.prototype[SymbolPolyfill.toStringTag])\n);\n\n// Note: It's important to define `toPrimitive` as last one, as some implementations\n// implement `toPrimitive` natively without implementing `toStringTag` (or other specified symbols)\n// And that may invoke error in definition flow:\n// See: https://github.com/medikoo/es6-symbol/issues/13#issuecomment-164146149\ndefineProperty(\n\tHiddenSymbol.prototype, SymbolPolyfill.toPrimitive,\n\td(\"c\", SymbolPolyfill.prototype[SymbolPolyfill.toPrimitive])\n);\n","\"use strict\";\n\nvar isFunction = require(\"../function/is\");\n\nvar classRe = /^\\s*class[\\s{/}]/, functionToString = Function.prototype.toString;\n\nmodule.exports = function (value) {\n\tif (!isFunction(value)) return false;\n\tif (classRe.test(functionToString.call(value))) return false;\n\treturn true;\n};\n","\"use strict\";\n\nvar isPrototype = require(\"../prototype/is\");\n\nmodule.exports = function (value) {\n\tif (typeof value !== \"function\") return false;\n\n\tif (!hasOwnProperty.call(value, \"length\")) return false;\n\n\ttry {\n\t\tif (typeof value.length !== \"number\") return false;\n\t\tif (typeof value.call !== \"function\") return false;\n\t\tif (typeof value.apply !== \"function\") return false;\n\t} catch (error) {\n\t\treturn false;\n\t}\n\n\treturn !isPrototype(value);\n};\n","\"use strict\";\n\nvar isObject = require(\"../object/is\");\n\nmodule.exports = function (value) {\n\tif (!isObject(value)) return false;\n\ttry {\n\t\tif (!value.constructor) return false;\n\t\treturn value.constructor.prototype === value;\n\t} catch (error) {\n\t\treturn false;\n\t}\n};\n","\"use strict\";\n\nvar isValue = require(\"../value/is\");\n\n// prettier-ignore\nvar possibleTypes = { \"object\": true, \"function\": true, \"undefined\": true /* document.all */ };\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) return false;\n\treturn hasOwnProperty.call(possibleTypes, typeof value);\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.assign : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\tvar assign = Object.assign, obj;\n\tif (typeof assign !== \"function\") return false;\n\tobj = { foo: \"raz\" };\n\tassign(obj, { bar: \"dwa\" }, { trzy: \"trzy\" });\n\treturn obj.foo + obj.bar + obj.trzy === \"razdwatrzy\";\n};\n","\"use strict\";\n\nvar keys = require(\"../keys\")\n , value = require(\"../valid-value\")\n , max = Math.max;\n\nmodule.exports = function (dest, src/*, …srcn*/) {\n\tvar error, i, length = max(arguments.length, 2), assign;\n\tdest = Object(value(dest));\n\tassign = function (key) {\n\t\ttry {\n\t\t\tdest[key] = src[key];\n\t\t} catch (e) {\n\t\t\tif (!error) error = e;\n\t\t}\n\t};\n\tfor (i = 1; i < length; ++i) {\n\t\tsrc = arguments[i];\n\t\tkeys(src).forEach(assign);\n\t}\n\tif (error !== undefined) throw error;\n\treturn dest;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? Object.keys : require(\"./shim\");\n","\"use strict\";\n\nmodule.exports = function () {\n\ttry {\n\t\tObject.keys(\"primitive\");\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n","\"use strict\";\n\nvar isValue = require(\"../is-value\");\n\nvar keys = Object.keys;\n\nmodule.exports = function (object) { return keys(isValue(object) ? Object(object) : object); };\n","\"use strict\";\n\n// eslint-disable-next-line no-empty-function\nmodule.exports = function () {};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) throw new TypeError(\"Cannot use null or undefined\");\n\treturn value;\n};\n","\"use strict\";\n\nvar isValue = require(\"./is-value\");\n\nvar forEach = Array.prototype.forEach, create = Object.create;\n\nvar process = function (src, obj) {\n\tvar key;\n\tfor (key in src) obj[key] = src[key];\n};\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function (opts1/*, …options*/) {\n\tvar result = create(null);\n\tforEach.call(arguments, function (options) {\n\t\tif (!isValue(options)) return;\n\t\tprocess(Object(options), result);\n\t});\n\treturn result;\n};\n","\"use strict\";\n\nmodule.exports = require(\"./is-implemented\")() ? String.prototype.contains : require(\"./shim\");\n","\"use strict\";\n\nvar str = \"razdwatrzy\";\n\nmodule.exports = function () {\n\tif (typeof str.contains !== \"function\") return false;\n\treturn str.contains(\"dwa\") === true && str.contains(\"foo\") === false;\n};\n","\"use strict\";\n\nvar indexOf = String.prototype.indexOf;\n\nmodule.exports = function (searchString/*, position*/) {\n\treturn indexOf.call(this, searchString, arguments[1]) > -1;\n};\n","\"use strict\";\n\nmodule.exports = function (value) {\n\tif (!value) return false;\n\tif (typeof value === \"symbol\") return true;\n\tif (!value.constructor) return false;\n\tif (value.constructor.name !== \"Symbol\") return false;\n\treturn value[value.constructor.toStringTag] === \"Symbol\";\n};\n","\"use strict\";\n\nvar d = require(\"d\");\n\nvar create = Object.create, defineProperty = Object.defineProperty, objPrototype = Object.prototype;\n\nvar created = create(null);\nmodule.exports = function (desc) {\n\tvar postfix = 0, name, ie11BugWorkaround;\n\twhile (created[desc + (postfix || \"\")]) ++postfix;\n\tdesc += postfix || \"\";\n\tcreated[desc] = true;\n\tname = \"@@\" + desc;\n\tdefineProperty(\n\t\tobjPrototype,\n\t\tname,\n\t\td.gs(null, function (value) {\n\t\t\t// For IE11 issue see:\n\t\t\t// https://connect.microsoft.com/IE/feedbackdetail/view/1928508/\n\t\t\t// ie11-broken-getters-on-dom-objects\n\t\t\t// https://github.com/medikoo/es6-symbol/issues/12\n\t\t\tif (ie11BugWorkaround) return;\n\t\t\tie11BugWorkaround = true;\n\t\t\tdefineProperty(this, name, d(value));\n\t\t\tie11BugWorkaround = false;\n\t\t})\n\t);\n\treturn name;\n};\n","import { DOMLite } from \"lib/DOMLite\";\n\nexport class DOM extends DOMLite {\n private static elementsQuery = (form: HTMLElement) => [].slice.call(form.querySelectorAll(\"input, textarea\"));\n\n static serializeInto(root: HTMLElement, source: any): void {\n DOM.elementsQuery(root).forEach((element: HTMLInputElement) => {\n\n const path = element.name.split(\".\");\n\n let leaf = source;\n path.forEach(pathElement => {\n if (pathElement === path[path.length - 1]) {\n\n if (Array.isArray(leaf[pathElement]))\n leaf[pathElement] = element.value.split(\",\");\n else if (element.type === \"checkbox\") {\n leaf[pathElement] = element.checked;\n } else\n leaf[pathElement] = element.value;\n return;\n }\n\n leaf = leaf[pathElement] || {};\n });\n });\n }\n\n static serialize(root: HTMLElement) {\n const source = {};\n DOM.elementsQuery(root).forEach((element: HTMLInputElement) => {\n source[element.name] = element.value;\n });\n return source;\n }\n\n static deserialize(root: HTMLElement, source: TSource) {\n DOM.elementsQuery(root).forEach((element: HTMLInputElement) => {\n element.value = source[element.name];\n });\n }\n\n static toggleAttribute(element: HTMLElement, name: string): boolean {\n if (element.hasAttribute(name)) {\n element.removeAttribute(name);\n return false;\n } else {\n element.setAttribute(name, \"\");\n return true;\n }\n \n }\n\n static ready(): Promise {\n return new Promise((resolve) => {\n if(\n document.readyState === \"complete\" ||\n (document.readyState !== \"loading\" && !(document).documentElement.doScroll)\n ) {\n resolve(undefined);\n } else {\n document.addEventListener(\"DOMContentLoaded\", resolve);\n }\n });\n }\n\n static getCookie(name:string) : string {\n const b = document.cookie.match(`(^|;)\\\\s*${name}\\\\s*=\\\\s*([^;]+)`);\n return b ? b.pop() : \"\";\n }\n\n static removecookie(name: string) {\n document.cookie = `${name}=; Path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;`;\n };\n\n static async configurePage() {\n await DOM.ready();\n document.querySelector(\"html\").classList.remove(\"no-js\");\n\n // document.documentElement.classList.remove(\"no-js\");\n // document.documentElement.classList.add(\"js\");\n }\n\n static fadeOut(element: HTMLElement, speed = .1) {\n return new Promise(resolve => {\n element.style.opacity = \"1\";\n \n const fade = () => {\n let opacity = parseFloat(element.style.opacity);\n\n if ((opacity -= speed) < 0) {\n element.style.display = \"none\";\n resolve(undefined);\n } else {\n element.style.opacity = opacity.toString();\n requestAnimationFrame(fade);\n }\n };\n fade();\n });\n }\n \n static parse(html: string) : HTMLElement {\n const element = document.createElement(\"div\");\n element.innerHTML = html;\n return element.firstElementChild as HTMLElement;\n }\n\n static fadeIn(element: HTMLElement, display: string = \"block\", speed = .1) {\n return new Promise(resolve => {\n element.style.opacity = \"0\";\n element.style.display = display;\n \n const fade = () => {\n let opacity = parseFloat(element.style.opacity);\n\n if (!((opacity += speed) > 1)) {\n element.style.opacity = opacity.toString();\n requestAnimationFrame(fade);\n } else {\n resolve(undefined);\n }\n };\n fade();\n });\n }\n\n static expand(element: HTMLElement, speed = .1) {\n return new Promise(resolve => {\n let pos = 0;\n element.style.transformOrigin = \"top\";\n element.style.transform = \"scaleY(0)\";\n \n const f = () => {\n if (!((pos += speed) > 1)) {\n element.style.transform = `scaleY(${pos})`;\n requestAnimationFrame(f);\n } else {\n resolve(undefined);\n }\n };\n f();\n });\n }\n\n static slideUp(element: HTMLElement) {\n return new Promise(resolve => {\n element.style.transform = \"translate(0, 100%)\";\n element.style.transition = \"0.2s ease-out\";\n \n requestAnimationFrame(() => {\n element.style.transform = \"translate(0, 0)\"\n });\n\n });\n }\n\n static sort(elements: HTMLElement[], comparer: (element:HTMLElement) => string) {\n const parent = elements[0].parentElement;\n const sorted = elements.sort( (a: HTMLElement, b: HTMLElement) => comparer(a) > comparer(b) ? 1 : -1 );\n sorted.forEach( (element: HTMLElement) => {\n parent.appendChild(element);\n });\n }\n\n static isElementInViewport (element: HTMLElement) {\n const rectangle = element.getBoundingClientRect();\n \n return (\n rectangle.top >= 0 &&\n rectangle.left >= 0 &&\n rectangle.bottom <= (window.innerHeight || document.documentElement.clientHeight) && /*or $(window).height() */\n rectangle.right <= (window.innerWidth || document.documentElement.clientWidth) /*or $(window).width() */\n );\n }\n\n static isScrolledToBottom (element: HTMLElement) {\n return element.scrollTop >= (element.scrollHeight - element.offsetHeight);\n }\n}\n\nDOM.configurePage().catch(console.log);\n\n\nexport class HeightFollower {\n constructor(private source: HTMLElement, private target: HTMLElement, private padding: number) {\n window.addEventListener(\"resize\", this.adjustHandler, {passive: true});\n this.adjustHandler();\n }\n\n private adjustHandler = () => {\n this.target.style.height = `${this.source.clientHeight - this.padding}px`;\n }\n\n destroy() {\n window.removeEventListener(\"resize\", this.adjustHandler);\n }\n}","\"use strict\";\n\nvar d = require(\"d\")\n , NativeSymbol = require(\"ext/global-this\").Symbol;\n\nmodule.exports = function (SymbolPolyfill) {\n\treturn Object.defineProperties(SymbolPolyfill, {\n\t\t// To ensure proper interoperability with other native functions (e.g. Array.from)\n\t\t// fallback to eventual native implementation of given symbol\n\t\thasInstance: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.hasInstance) || SymbolPolyfill(\"hasInstance\")\n\t\t),\n\t\tisConcatSpreadable: d(\n\t\t\t\"\",\n\t\t\t(NativeSymbol && NativeSymbol.isConcatSpreadable) ||\n\t\t\t\tSymbolPolyfill(\"isConcatSpreadable\")\n\t\t),\n\t\titerator: d(\"\", (NativeSymbol && NativeSymbol.iterator) || SymbolPolyfill(\"iterator\")),\n\t\tmatch: d(\"\", (NativeSymbol && NativeSymbol.match) || SymbolPolyfill(\"match\")),\n\t\treplace: d(\"\", (NativeSymbol && NativeSymbol.replace) || SymbolPolyfill(\"replace\")),\n\t\tsearch: d(\"\", (NativeSymbol && NativeSymbol.search) || SymbolPolyfill(\"search\")),\n\t\tspecies: d(\"\", (NativeSymbol && NativeSymbol.species) || SymbolPolyfill(\"species\")),\n\t\tsplit: d(\"\", (NativeSymbol && NativeSymbol.split) || SymbolPolyfill(\"split\")),\n\t\ttoPrimitive: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.toPrimitive) || SymbolPolyfill(\"toPrimitive\")\n\t\t),\n\t\ttoStringTag: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.toStringTag) || SymbolPolyfill(\"toStringTag\")\n\t\t),\n\t\tunscopables: d(\n\t\t\t\"\", (NativeSymbol && NativeSymbol.unscopables) || SymbolPolyfill(\"unscopables\")\n\t\t)\n\t});\n};\n","\"use strict\";\n\nvar d = require(\"d\")\n , validateSymbol = require(\"../../../validate-symbol\");\n\nvar registry = Object.create(null);\n\nmodule.exports = function (SymbolPolyfill) {\n\treturn Object.defineProperties(SymbolPolyfill, {\n\t\tfor: d(function (key) {\n\t\t\tif (registry[key]) return registry[key];\n\t\t\treturn (registry[key] = SymbolPolyfill(String(key)));\n\t\t}),\n\t\tkeyFor: d(function (symbol) {\n\t\t\tvar key;\n\t\t\tvalidateSymbol(symbol);\n\t\t\tfor (key in registry) {\n\t\t\t\tif (registry[key] === symbol) return key;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t})\n\t});\n};\n","'use strict';(function(r){function x(){}function y(){}var z=String.fromCharCode,v={}.toString,A=v.call(r.SharedArrayBuffer),B=v(),q=r.Uint8Array,t=q||Array,w=q?ArrayBuffer:t,C=w.isView||function(g){return g&&\"length\"in g},D=v.call(w.prototype);w=y.prototype;var E=r.TextEncoder,a=new (q?Uint16Array:t)(32);x.prototype.decode=function(g){if(!C(g)){var l=v.call(g);if(l!==D&&l!==A&&l!==B)throw TypeError(\"Failed to execute 'decode' on 'TextDecoder': The provided value is not of type '(ArrayBuffer or ArrayBufferView)'\");\ng=q?new t(g):g||[]}for(var f=l=\"\",b=0,c=g.length|0,u=c-32|0,e,d,h=0,p=0,m,k=0,n=-1;b>4){case 15:m=g[b=b+1|0]&255;if(2!==m>>6||247>6?p+4|0:24,d=d+256&768;case 13:case 12:m=g[b=b+1|0]&255,h<<=6,h|=(d&31)<<6|m&63,p=p+7|0,b>6&&h>>p&&1114112>h?(d=h,h=h-65536|0,0<=h&&(n=(h>>10)+55296|0,d=(h&1023)+56320|0,31>k?(a[k]=n,k=k+1|0,n=-1):\n(m=n,n=d,d=m))):(d>>=8,b=b-d-1|0,d=65533),h=p=0,e=b<=u?32:c-b|0;default:a[k]=d;continue;case 11:case 10:case 9:case 8:}a[k]=65533}f+=z(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17],a[18],a[19],a[20],a[21],a[22],a[23],a[24],a[25],a[26],a[27],a[28],a[29],a[30],a[31]);32>k&&(f=f.slice(0,k-32|0));if(b>>31,n=-1,f.length=e)f[c]=e;else{if(2047>=e)f[c]=192|e>>6;else{a:{if(55296<=e)if(56319>=e){var d=g.charCodeAt(b=b+1|0)|0;if(56320<=d&&57343>=d){e=(e<<10)+d-56613888|0;if(65535>18;f[c=c+1|0]=128|e>>12&63;f[c=c+1|0]=128|e>>6&63;f[c=c+1|0]=128|e&63;continue}break a}e=65533}else 57343>=e&&(e=65533);!u&&b<<1>12;f[c=c+1|0]=128|e>>6&63}f[c=c+1|0]=128|e&63}}return q?\nf.subarray(0,c):f.slice(0,c)};E||(r.TextDecoder=x,r.TextEncoder=y)})(\"\"+void 0==typeof global?\"\"+void 0==typeof self?this:self:global);//AnonyCo\n//# sourceMappingURL=https://cdn.jsdelivr.net/gh/AnonyCo/FastestSmallestTextEncoderDecoder/EncoderDecoderTogether.min.js.map\n","if (!Element.prototype.toggleAttribute) {\n Element.prototype.toggleAttribute = function(name, force) {\n if(force !== void 0) force = !!force \n \n if (this.getAttribute(name) !== null) {\n if (force) return true;\n \n this.removeAttribute(name);\n return false;\n } else {\n if (force === false) return false;\n \n this.setAttribute(name, \"\");\n return true;\n }\n };\n }","module.exports = __webpack_public_path__ + \"_SiteHeader-static.html\";","module.exports = __webpack_public_path__ + \"_SiteHeader-logged-in-static.html\";","module.exports = __webpack_public_path__ + \"_SiteFooter-static.html\";"],"sourceRoot":""}