{"version":3,"sources":["ajaxNavigation.min.js"],"names":["EBContext","modules","AjaxNavigation","self","enabled","navigationEnabled","version","Date","getTime","env","crcTable","ajaxQueue","defaultLoader","useOverlay","fnLoaderStart","loader","options","document","body","setTimeout","overlayEl","getElementById","createElement","id","style","cssText","appendChild","loadingElement","className","fnLoaderEnd","parentNode","removeChild","fnLoaderUpdate","length","ready","defaultReload","defaultSubPage","defaultBindElement","initElements","fnBlockInit","scope","debug","console","info","utils","element","getSelector","consoleStyles","infoMsg","fnPageInit","fnOnNavigation","scrollTop","mobileOnly","upOnly","maxScreenWidth","defaultElement","topOffset","behavior","block","inline","saveElementsState","templates","default","ignoreElements","bindElements","link","selector","fnTestElement","host","window","location","getAttribute","pathname","indexOf","target","test","href","matches","fnBindElement","setOverride","parseObj","reload","join","url","createURL","ajaxURL","createAjaxURL","postData","navigationTrigger","form","virtualAnchor","createAnchor","action","hash","prepareForm","processedForm","processForm","saveState","res","overrideURL","fnAjaxError","response","verbose","error","errorMsg","groupCollapsed","errorBtn","groupEnd","code","infoBtn","fnErrorNotify","text","heading","resource","origin","urlStr","responseObj","eval","substring","getObj","responseStatus","statusStr","replace","formatCode","codeStr","toString","search","log","stack","require","errPopup","confirm","resp","split","cb","ajaxNav","ajaxCall","callback","post","xmlHttp","contentClass","btnEsc","show","btnOK","title","btnCancel","textSelector","modalEl","requestQueue","ignoreNonNavOnNav","cancelOldNavOnNav","events","Event","navigate","navigated","bodyReload","bodyReloaded","elementsRestored","ajaxResponses","currentState","extendObj","historyId","currentURL","history","state","dump","onload","navigationStatus","reloadsHistory","onAfterNavigation","subPageScriptEvt","getReloadBlocks","targetId","samePage","startId","endId","reloadBlocks","i","blocksArr","b","push","setEnv","key","val","str","_makeCRCTable","crc","charCodeAt","JSON","stringify","warn","c","n","k","init","setObj","scrollRestoration","addEventListener","event","scrollAnchorId","scrollAnchorEl","scrollTo","top","offsetTop","left","httpStatus","returnURL","processPostData","popstateCallback","go","warnMsg","readyState","once","Object","keys","findElements","async","elementType","searchScope","typeOptions","querySelectorAll","NodeList","HTMLCollection","Array","prototype","slice","call","Element","HTMLDocument","jQuery","isArray","elements","concat","elementsArray","setAttribute","navigation","constructor","name","paramsObjToStr","FormData","paramsStrToObj","mergeObj","PopStateEvent","scroll","scrollX","scrollY","savedElements","createElementsState","pushState","replaceState","updateURL","cancelled","beforeProcess","respOptions","historyNavigation","dispatchEvent","userId","session","user","replaceURL","innerWidth","querySelector","ppd","beforeEval","el","head","hasOwnProperty","meta","metaEl","HTMLMetaElement","content","setElementsState","return","afterEval","ctype","originalUrl","timeout","restoreElementState","elemObj","hState","elementsStates","filter","attributes","value","attr","prop","properties","trace","obj","elms","elm","find","getNamedItem","elem","saveElemList","getElementState","nodeName","toLowerCase","ignoreAttributes","includes","array","merge","updateElementState","elementState","index","createJSCSSFile","filename","filetype","fileref","removeJSCSSFile","targetelement","targetattr","allsuspects","getElementsByTagName","evalJS","success","scripts","match","x","rnd","Math","random","Loader","entries","forEach","ent","isPlainObj","xhrCallback","ok","status","ajaxResponse","err","noResponse","evalError","redirect","expectedURL","xhr","ignoreRedirects","urlArr","responseURL","urlAnchor","urlParams","urlBase","ebpageitemupdate","ajax","userid","ver","paramsStr","newURL","unshift","method","data","charset","headers","params","requestParams","nextResponse","pop","nextRequest","oldestRequest","callbackObj","pageTime","errCallback","onError","notification","alert","requiredAge","validateAge","warnBtn","eblogEl","logStr","ebLogHTML","ebLog","innerHTML","responseUrl","currentUserId","responseUserId","currentVersion","responseVersion","oldUser","newUser","respParams","responseparams","skipReloads","skipReload","clearSession","tabSync","update","searchObj","notify","logout","login","subPage","r","pageOID","config","currentPage","pageVersion","crlf","html","append","elemId","parserEl","substr","tagName","firstChild","beforeHeadUpdate","OID","subPageScript","subPageStyle","removeEventListener","pageData","dependent","insertBefore","beforeScopedInit","eventListeners","elObj","eName","eHandler","eCapture","activeElement","blur","classList","add","actions","goto","ebc","an"],"mappings":"AAKAA,SAAS,CAACC,OAAV,CAAkBC,cAAlB,CAAmC,UAAY,CAC9C,GAAIC,CAAAA,IAAI,CAAG,IAAX,CAEA,KAAKC,OAAL,GAH8C,CAI9C,KAAKC,iBAAL,GAJ8C,CAK9C,KAAKC,OAAL,CAAe,GAAIC,CAAAA,IAAJ,GAAWC,OAAX,EAL+B,CAM9C,KAAKC,GAAL,CAAW,EANmC,CAO9C,KAAKC,QAAL,CAAgB,IAP8B,CAY9C,KAAKC,SAAL,CAAiB,EAZ6B,CAc9C,GAAIC,CAAAA,aAAa,CAAG,CACnBR,OAAO,GADY,CAEnBS,UAAU,GAFS,CAGnBF,SAAS,CAAER,IAAI,CAACQ,SAHG,CAInBG,aAAa,CAAE,SAAUC,CAAV,CAAkB,CAEhC,GADSA,CAAM,CAAGA,CAAM,EAAI,KAAKC,OAAL,CAAaD,MACzC,CAAG,CAACE,QAAQ,CAACC,IAAb,CAAmB,MAAOC,CAAAA,UAAU,CAAC,IAAIJ,CAAM,CAACD,aAAP,CAAqBC,CAArB,CAAL,CAAmC,EAAnC,CAAjB,CACnB,GAAIA,CAAM,CAACF,UAAX,CAAuB,CACtB,GAAIO,CAAAA,CAAS,CAAGH,QAAQ,CAACI,cAAT,CAAwB,qBAAxB,GAAkDJ,QAAQ,CAACK,aAAT,CAAuB,KAAvB,CAAlE,CACAF,CAAS,CAACG,EAAV,CAAe,qBAFO,CAGtBH,CAAS,CAACI,KAAV,CAAgBC,OAAhB,CAA0B,yFAHJ,CAItBR,QAAQ,CAACC,IAAT,CAAcQ,WAAd,CAA0BN,CAA1B,CACA,CAED,GAAIO,CAAAA,CAAc,CAAGV,QAAQ,CAACI,cAAT,CAAwB,YAAxB,GAAyCJ,QAAQ,CAACK,aAAT,CAAuB,KAAvB,CAA9D,CACAK,CAAc,CAACJ,EAAf,CAAoB,YAXY,CAYhCI,CAAc,CAACC,SAAf,CAA2B,eAZK,CAahCD,CAAc,CAACH,KAAf,CAAqBC,OAArB,CAA+B,4IAbC,CAchCR,QAAQ,CAACC,IAAT,CAAcQ,WAAd,CAA0BC,CAA1B,CACA,CAnBkB,CAoBnBE,WAAW,CAAE,SAAUd,CAAV,CAAkB,CACrBA,CAAM,CAAGA,CAAM,EAAI,KAAKC,OAAL,CAAaD,MADX,CAE9B,GAAIY,CAAAA,CAAc,CAAGV,QAAQ,CAACI,cAAT,CAAwB,YAAxB,CAArB,CACIM,CAH0B,EAGVA,CAAc,CAACG,UAAf,CAA0BC,WAA1B,CAAsCJ,CAAtC,CAHU,CAK9B,GAAIP,CAAAA,CAAS,CAAGH,QAAQ,CAACI,cAAT,CAAwB,qBAAxB,CAAhB,CACID,CAN0B,EAMfA,CAAS,CAACU,UAAV,CAAqBC,WAArB,CAAiCX,CAAjC,CACf,CA3BkB,CA4BnBY,cAAc,CAAE,SAAUjB,CAAV,CAAkB,CACxBA,CAAM,CAAGA,CAAM,EAAI,KAAKC,OAAL,CAAaD,MADR,CAED,CAA5B,GAAAA,CAAM,CAACJ,SAAP,CAAiBsB,MAFY,EAGhCjC,SAAS,CAACkC,KAAV,CAAgB,IAAInB,CAAM,CAACc,WAAP,CAAmBd,CAAnB,CAApB,CAID,CAnCkB,CAApB,CA+9CA,MA72CA,MAAKC,OAAL,CAAe,CACdmB,aAAa,CAAE,CAAC,MAAD,CADD,CAEdC,cAAc,CAAE,SAFF,CAGdC,kBAAkB,CAAE,MAHN,CAIdC,YAAY,CAAE,IAJA,CAKdC,WAAW,CAAE,SAAUC,CAAV,CAAiB,CAE7B,MADIrC,CAAAA,IAAI,CAACa,OAAL,CAAayB,KACjB,EADwBC,OAAO,CAACC,IAAR,CAAa,kDAAqD3C,SAAS,CAAC4C,KAAV,CAAgBC,OAAhB,CAAwBC,WAAxB,CAAoCN,CAApC,CAArD,CAAkG,KAA/G,CAAuHxC,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgCC,OAAvJ,CACxB,GACA,CARa,CASdC,UAAU,CAAE,UAAY,CAEvB,MADI9C,CAAAA,IAAI,CAACa,OAAL,CAAayB,KACjB,EADwBC,OAAO,CAACC,IAAR,CAAa,uCAAb,CAAsD3C,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgCC,OAAtF,CACxB,GACA,CAZa,CAadE,cAAc,CAAE,UAAY,CAE3B,MADI/C,CAAAA,IAAI,CAACa,OAAL,CAAayB,KACjB,EADwBC,OAAO,CAACC,IAAR,CAAa,4CAAb,CAA2D3C,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgCC,OAA3F,CACxB,GACA,CAhBa,CAiBdjC,MAAM,CAAEH,aAjBM,CAkBduC,SAAS,CAAE,CACV/C,OAAO,GADG,CAEVgD,UAAU,GAFA,CAGVC,MAAM,GAHI,CAIVC,cAAc,CAAE,GAJN,CAKVC,cAAc,CAAE,MALN,CAMVC,SAAS,CAAE,CAND,CAOVxC,OAAO,CAAE,CACRyC,QAAQ,CAAE,QADF,CAERC,KAAK,CAAE,OAFC,CAGRC,MAAM,CAAE,OAHA,CAPC,CAlBG,CA+BdC,iBAAiB,CAAE,CAClBxD,OAAO,GADW,CAElByD,SAAS,CAAE,CACV,uBAAwB,CAAC,WAAD,CADd,CAEVC,OAAO,CAAE,CAAC,OAAD,CAAU,SAAV,CAAqB,UAArB,CAAiC,UAAjC,CAA6C,UAA7C,CAAyD,UAAzD,CAAqE,UAArE,CAAiF,KAAjF,CAAwF,KAAxF,CAA+F,MAA/F,CAFC,CAFO,CA/BL,CAsCdC,cAAc,CAAE,IAtCF,CAuCdC,YAAY,CAAE,CACbC,IAAI,CAAE,CACLC,QAAQ,CAAE,GADL,CAELC,aAAa,CAAE,SAAUtB,CAAV,CAAmB,CACjC,MACCA,CAAAA,CAAO,CAACuB,IAAR,GAAiBC,MAAM,CAACC,QAAP,CAAgBF,IAAjC,EACsC,KAAtC,GAAAvB,CAAO,CAAC0B,YAAR,CAAqB,WAArB,CADA,EAG0C,CAA1C,CAAA1B,CAAO,CAAC2B,QAAR,CAAiBC,OAAjB,CAAyB,aAAzB,CAHA,EAIyC,CAAzC,CAAA5B,CAAO,CAAC2B,QAAR,CAAiBC,OAAjB,CAAyB,YAAzB,CAJA,EAKsC,CAAtC,CAAA5B,CAAO,CAAC2B,QAAR,CAAiBC,OAAjB,CAAyB,SAAzB,CALA,EAMmB,EAAnB,GAAA5B,CAAO,CAAC6B,MANR,EAOA,CAAE,iBAAD,CAAoBC,IAApB,CAAyB9B,CAAO,CAAC+B,IAAjC,CAPD,EAQA,EAAEzE,IAAI,CAACa,OAAL,CAAa+C,cAAb,EAA+BlB,CAAO,CAACgC,OAAR,CAAgB1E,IAAI,CAACa,OAAL,CAAa+C,cAA7B,CAAjC,CAED,CAdI,CAeLe,aAAa,CAAE,SAAUjC,CAAV,CAAmB,CACjC7C,SAAS,CAAC4C,KAAV,CAAgBC,OAAhB,CAAwBkC,WAAxB,CAAoClC,CAApC,CAA6C,SAA7C,CAAwD,UAAU,CACjE,GAAGA,CAAO,CAAC2B,QAAR,GAAqBH,MAAM,CAACC,QAAP,CAAgBE,QAArC,EAA8E,CAA7B,EAAA3B,CAAO,CAAC+B,IAAR,CAAaH,OAAb,CAAqB,GAArB,CAApD,CAAoF,SACpF,GAAIzD,CAAAA,CAAO,CAAGhB,SAAS,CAAC4C,KAAV,CAAgBoC,QAAhB,CAAyBnC,CAAO,CAAC0B,YAAR,CAAqB,WAArB,CAAzB,CAAd,CACAvD,CAAO,CAACiE,MAAR,CAAiBjE,CAAO,CAACiE,MAAR,EAAkB9E,IAAI,CAACa,OAAL,CAAamB,aAAb,CAA2B+C,IAA3B,CAAgC,GAAhC,CAH8B,IAI7DC,CAAAA,CAAG,CAAGnF,SAAS,CAAC4C,KAAV,CAAgBwC,SAAhB,CAA0BvC,CAA1B,CAAmC7B,CAAnC,CAJuD,CAK7DqE,CAAO,CAAGrF,SAAS,CAAC4C,KAAV,CAAgB0C,aAAhB,CAA8BzC,CAA9B,CAAuC7B,CAAvC,CALmD,CAO7DuE,CAAQ,CAAGvE,CAAO,CAACuE,QAAR,EAAoB,IAP8B,CAUjE,MAFuB,UAApB,QAAOA,CAAAA,CAEV,GAFmCA,CAAQ,CAAGA,CAAQ,EAEtD,EAAOpF,IAAI,CAACqF,iBAAL,CAAuBL,CAAvB,CAA4BE,CAA5B,CAAqCE,CAArC,CAA+CvE,CAA/C,CACP,CAXD,IAYA,CA5BI,CADO,CA+BbyE,IAAI,CAAE,CACLvB,QAAQ,CAAE,MADL,CAELC,aAAa,CAAE,SAAUtB,CAAV,CAAmB,CACjC,GAAI6C,CAAAA,CAAa,CAAG1F,SAAS,CAAC4C,KAAV,CAAgB+C,YAAhB,CAA6B9C,CAAO,CAAC+C,MAArC,CAApB,CACA,MACC,CAAC,CAAC/C,CAAO,CAAC0B,YAAR,CAAqB,QAArB,CAAD,EAAmCmB,CAAa,CAACtB,IAAd,GAAuBC,MAAM,CAACC,QAAP,CAAgBF,IAA3E,GACsC,KAAtC,GAAAvB,CAAO,CAAC0B,YAAR,CAAqB,WAArB,CADA,EAEgD,CAAhD,CAAAmB,CAAa,CAAClB,QAAd,CAAuBC,OAAvB,CAA+B,aAA/B,CAFA,EAG+C,CAA/C,CAAAiB,CAAa,CAAClB,QAAd,CAAuBC,OAAvB,CAA+B,YAA/B,CAHA,GAIoB,EAAnB,GAAA5B,CAAO,CAAC6B,MAAR,EAA4C,OAAnB,GAAA7B,CAAO,CAAC6B,MAJlC,GAKA,EAAEvE,IAAI,CAACa,OAAL,CAAa+C,cAAb,EAA+BlB,CAAO,CAACgC,OAAR,CAAgB1E,IAAI,CAACa,OAAL,CAAa+C,cAA7B,CAAjC,CALA,GAME2B,CAAa,CAAClB,QAAd,GAA2BH,MAAM,CAACC,QAAP,CAAgBE,QAA3C,EAA8E,EAAvB,GAAAkB,CAAa,CAACG,IANvE,CAQD,CAbI,CAcLf,aAAa,CAAE,SAAUjC,CAAV,CAAmB,CACjC7C,SAAS,CAAC4C,KAAV,CAAgBkD,WAAhB,CAA4BjD,CAA5B,CADiC,CAEjC7C,SAAS,CAAC4C,KAAV,CAAgBC,OAAhB,CAAwBkC,WAAxB,CAAoClC,CAApC,CAA6C,UAA7C,CAAyD,UAAW,CACnE,GAAIkD,CAAAA,CAAa,CAAG/F,SAAS,CAAC4C,KAAV,CAAgBoD,WAAhB,CAA4BnD,CAA5B,CAApB,CACA,GAAG,CAACkD,CAAJ,CAAmB,SACnB5F,IAAI,CAAC8F,SAAL,EAHmE,CAInE,GAAIC,CAAAA,CAAG,CAAG/F,IAAI,CAACqF,iBAAL,CAAuBO,CAAa,CAACL,aAAd,CAA4Bd,IAAnD,CAAyDmB,CAAa,CAACV,OAAvE,CAAgFU,CAAa,CAACR,QAA9F,CAAwGQ,CAAa,CAAC/E,OAAtH,CAAV,CAJmE,QAKhE+E,CAAa,CAAC/E,OAAd,CAAsBmF,WAL0C,EAM5DD,CACP,CAPD,IAQA,CAxBI,CA/BO,CAvCA,CAiGdE,WAAW,CAAE,SAAUC,CAAV,CAAoBrF,CAApB,CAA6B,CA+BzC,MA9BAA,CAAAA,CAAO,CAAGA,CAAO,EAAI,EA8BrB,CA7BAA,CAAO,CAACsF,OAAR,CAAkBtF,CAAO,CAACsF,OAAR,EAAmB,kBA6BrC,CA5BA5D,OAAO,CAAC6D,KAAR,CAAc,iBAAmBvF,CAAO,CAACsF,OAA3B,CAAqC,kBAAnD,CAAuEtG,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgCyD,QAAvG,CA4BA,CA1BIxF,CAAO,CAACuF,KA0BZ,GAzBC7D,OAAO,CAAC+D,cAAR,CAAuB,cAAvB,CAAuCzG,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgC2D,QAAvE,CAyBD,CAxBChE,OAAO,CAAC6D,KAAR,CAAcvF,CAAO,CAACuF,KAAtB,CAwBD,CAvBC7D,OAAO,CAACiE,QAAR,EAuBD,EApBI3F,CAAO,CAAC4F,IAoBZ,GAnBClE,OAAO,CAAC+D,cAAR,CAAuB,aAAvB,CAAsCzG,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgC8D,OAAtE,CAmBD,CAlBCnE,OAAO,CAACC,IAAR,CAAa,KAAO3B,CAAO,CAAC4F,IAA5B,CAAkC5G,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgC6D,IAAlE,CAkBD,CAjBClE,OAAO,CAACiE,QAAR,EAiBD,EAdAjE,OAAO,CAAC+D,cAAR,CAAuB,sBAAvB,CAA+CzG,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgC8D,OAA/E,CAcA,CAbAnE,OAAO,CAACC,IAAR,CAAa,KAAO0D,CAApB,CAA8BrG,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgC6D,IAA9D,CAaA,CAZAlE,OAAO,CAACiE,QAAR,EAYA,CALSxG,IAAI,CAACa,OAAL,CAAa8F,aAAb,EAAoE,UAAtC,QAAO3G,CAAAA,IAAI,CAACa,OAAL,CAAa8F,aAK3D,EAHC3G,IAAI,CAACa,OAAL,CAAa8F,aAAb,CAA2BT,CAA3B,CAAqCrF,CAArC,CAGD,CADAA,CAAO,CAACD,MAAR,CAAec,WAAf,CAA2Bb,CAAO,CAACD,MAAnC,CACA,GACA,CAjIa,CAkId+F,aAAa,CAAE,SAAUT,QAAV,CAAoBrF,OAApB,CAA6B,IAEvCmE,CAAAA,GAFuC,CAGvC4B,IAHuC,CAGjCC,OAHiC,CAIvCvE,KAAK,CAAGtC,IAAI,CAACa,OAAL,CAAayB,KAJkB,CAM3C,GADAsE,IAAI,CAAG/G,SAAS,CAACiH,QAAV,CAAmB,sBAAnB,CACP,CAAIZ,QAAJ,CAAc,CAEb,GAAIlB,CAAAA,GAAG,CAAGnE,OAAO,CAACmE,GAAlB,CACc,GAAX,GAAAA,GAAG,CAAC,CAAD,CAHO,GAGMA,GAAG,CAAGd,MAAM,CAACC,QAAP,CAAgB4C,MAAhB,CAAyB/B,GAHrC,EAIb,GAAIgC,CAAAA,MAAM,CAAG,aAAchC,GAAd,CAAoB,KAApB,CAA2BA,GAA3B,CAAiC,MAA9C,CACA,GAAI,CACH,GAAIiC,CAAAA,WAAJ,CACAC,IAAI,CAAC,iBAAmBhB,QAAQ,CAACiB,SAAT,CAAmBjB,QAAQ,CAAC5B,OAAT,CAAiB,GAAjB,CAAnB,CAApB,CAFD,CAGHuC,OAAO,CAAGhH,SAAS,CAAC4C,KAAV,CAAgB2E,MAAhB,CAAuB,CAAC,MAAD,CAAS,OAAT,CAAvB,CAA0CH,WAA1C,GAA0DpG,OAAO,CAACwG,cAHzE,CAIHT,IAAI,CAAG/G,SAAS,CAAC4C,KAAV,CAAgB2E,MAAhB,CAAuB,CAAC,MAAD,CAAS,MAAT,CAAvB,CAAyCH,WAAzC,GAAyDpG,OAAO,CAACsF,OAAjE,EAA4ES,IACnF,CAAC,MAAOR,CAAP,CAAc,CACf,GAAgC,CAA7B,GAAAF,QAAQ,CAAC5B,OAAT,CAAiB,MAAjB,GAA8D,CAA5B,CAAA4B,QAAQ,CAAC5B,OAAT,CAAiB,OAAjB,CAArC,CAAmE,CAClE,GAAIgD,CAAAA,CAAS,CAAG,uFAAwFzG,OAAO,CAACwG,cAAhG,CAAiH,uBAAjH,CAAwIxG,OAAO,CAACwG,cAAhJ,CAAiK,MAAjL,CACAT,IAAI,CAAGA,IAAI,CAAG,WAAP,CAAqBV,QAAQ,CAACqB,OAAT,CAAiB,MAAjB,CAAyB,WAAzB,EAAsCA,OAAtC,CAA8C,OAA9C,CAAuD,sCAAvD,CAArB,CAAoHD,CAApH,CAAgI,WAAhI,CAA8IN,MAA9I,CAAuJ,kBAF5F,CAGlEzE,OAAO,CAAC6D,KAAR,CAAc,uDAAd,CACA,CACD,CACD,GAAGpG,IAAI,CAACa,OAAL,CAAayB,KAAhB,CAAsB,CACrB,GAAIkF,CAAAA,CAAU,CAAGC,CAAO,EAAE,KACzBA,CAAO,CAAGA,CAAO,CAACC,QAAR,EADe,CAEzBD,CAAO,CAAGA,CAAO,CAACF,OAAR,CAAgB,OAAhB,CAAyB,IAAzB,CAFe,CAGS,CAAC,CAA7B,CAAAE,CAAO,CAACE,MAAR,CAAe,SAAf,GAAmE,CAAC,CAAlC,GAAAF,CAAO,CAACE,MAAR,CAAe,YAAf,CAHf,EAGoDF,CAAO,CAAGA,CAAO,CAACF,OAAR,CAAgB,OAAhB,CAAyB,IAAzB,CAAV,CAC7E,MAAOE,CAAAA,CAAO,CAACF,OAAR,CAAgB,KAAhB,CAAuB,MAAvB,CACP,CALD,CAMAhF,OAAO,CAACqF,GAAR,CAAY/G,OAAZ,CAPqB,CAQlBA,OAAO,CAAC4F,IARU,GASpBG,IAAI,EAAI,yDAAyD/G,SAAS,CAACiH,QAAV,CAAmB,KAAnB,CAAzD,CAAqF,iEAArF,CAAuJU,CAAU,CAAC3G,OAAO,CAAC4F,IAAT,CAAjK,CAAkL,yBATtK,EAWrBG,IAAI,EAAI,yDAAyD/G,SAAS,CAACiH,QAAV,CAAmB,aAAnB,CAAzD,CAA6F,iEAA7F,CAA+JU,CAAU,CAACtB,QAAD,CAAzK,CAAsL,yBAXzK,CAYlBrF,OAAO,CAACuF,KAAR,EAAiBvF,OAAO,CAACuF,KAAR,CAAcyB,KAZb,GAapBjB,IAAI,EAAI,2DAA2D/G,SAAS,CAACiH,QAAV,CAAmB,OAAnB,CAA3D,CAAyF,iEAAzF,CAA2JjG,OAAO,CAACuF,KAAR,CAAcyB,KAAzK,CAAiL,yBAbrK,CAerB,CACDhB,OAAO,CAAGA,OAAO,EAAIhH,SAAS,CAACiH,QAAV,CAAmB,eAAnB,CACrB,CACDgB,OAAO,CAAC,CAAC,iBAAD,CAAD,CAAsB,IAAI,CAChC,GAAIC,CAAAA,CAAQ,CAAGlI,SAAS,CAACmI,OAAV,CACdpB,IADc,CAEd,SAAUqB,CAAV,CAAgB,CACf,GAAIA,CAAJ,CAAU,CACTjD,GAAG,CAAG,CAACnE,OAAO,CAACmE,GAAR,CAAc,OAAf,EAAwBkD,KAAxB,CAA8B,OAA9B,EAAuC,CAAvC,CADG,CAET,GAAIC,CAAAA,CAAE,CAAG,IAAI,CAACtI,SAAS,CAACuI,OAAV,CAAkBC,QAAlB,CAA2BrD,GAA3B,CAAgCnE,OAAO,CAACyH,QAAxC,CAAkDzH,OAAO,CAAC0H,IAA1D,CAAgE1H,OAAO,CAACA,OAAxE,CAAiF,CAA/F,CACA,GAAG,CAACyB,KAAD,EAAUzC,SAAS,CAACgB,OAAV,CAAkByB,KAA/B,CACC,MAAO6F,CAAAA,CAAE,EAAT,CAEDtI,SAAS,CAAC4C,KAAV,CAAgB+F,OAAhB,CAAwB,CACvBxD,GAAG,CAAE,WADkB,CAEvBsD,QAAQ,CAAE,IAAI,CACbzI,SAAS,CAACgB,OAAV,CAAkByB,KAAlB,GADa,CAEb6F,CAAE,EACF,CALsB,CAAxB,CAOA,CAbD,IAcCjE,CAAAA,MAAM,CAACC,QAAP,CAAgBM,IAAhB,CAAuB,GAExB,CAnBa,CAmBX,CACFoC,OAAO,CAAEA,OADP,CAEF4B,YAAY,CAAE,UAFZ,CAGFC,MAAM,CAAE,CAAEC,IAAI,GAAN,CAHN,CAIFC,KAAK,CAAE,CACNhC,IAAI,CAAE/G,SAAS,CAACiH,QAAV,CAAmB,UAAnB,GAAkCxE,KAAK,CAAG,UAAH,CAAgB,EAAvD,CADA,CAENuG,KAAK,CAAEhJ,SAAS,CAACiH,QAAV,CAAmB,UAAnB,CAFD,CAJL,CAQFgC,SAAS,CAAE,CACVlC,IAAI,CAAE/G,SAAS,CAACiH,QAAV,CAAmB,QAAnB,CADI,CAEV+B,KAAK,CAAEhJ,SAAS,CAACiH,QAAV,CAAmB,QAAnB,CAFG,CART,CAnBW,CAAf,CAiCGiC,YAlC6B,EAkCfA,YAAY,CAAChB,CAAQ,CAACiB,OAAV,CAC7B,CAnCM,CAoCP,CA/Ma,CAgNdC,YAAY,CAAE,CACbC,iBAAiB,GADJ,CAEbC,iBAAiB,GAFJ,CAhNA,CAoNd7G,KAAK,CAAEzC,SAAS,CAAC4C,KAAV,CAAgB2E,MAAhB,CAAuB,4BAAvB,CAAqDvH,SAArD,CApNO,CA62Cf,CAvpCA,KAAKuJ,MAAL,CAAc,CACbrH,KAAK,CAAE,GAAIsH,CAAAA,KAAJ,CAAU,yBAAV,CAAqC,CAAC,UAAD,CAAkB,cAAlB,CAAwC,WAAxC,CAArC,CADM,CAEbC,QAAQ,CAAE,GAAID,CAAAA,KAAJ,CAAU,4BAAV,CAAwC,CAAC,UAAD,CAAkB,cAAlB,CAAwC,WAAxC,CAAxC,CAFG,CAGbE,SAAS,CAAE,GAAIF,CAAAA,KAAJ,CAAU,6BAAV,CAAyC,CAAC,UAAD,CAAkB,cAAlB,CAAwC,WAAxC,CAAzC,CAHE,CAIbG,UAAU,CAAE,GAAIH,CAAAA,KAAJ,CAAU,8BAAV,CAA0C,CAAC,UAAD,CAAkB,cAAlB,CAAwC,WAAxC,CAA1C,CAJC,CAKbI,YAAY,CAAE,GAAIJ,CAAAA,KAAJ,CAAU,gCAAV,CAA4C,CAAC,UAAD,CAAkB,cAAlB,CAAwC,WAAxC,CAA5C,CALD,CAMbK,gBAAgB,CAAE,GAAIL,CAAAA,KAAJ,CAAU,oCAAV,CAAgD,CAAC,UAAD,CAAkB,cAAlB,CAAwC,WAAxC,CAAhD,CANL,CAupCd,CA1mCA,KAAKM,aAAL,CAAqB,EA0mCrB,CArlCA,KAAKC,YAAL,CAAoB/J,SAAS,CAAC4C,KAAV,CAAgBoH,SAAhB,IAAiC,CACpDC,SAAS,CAAE,CADyC,CAEpDC,UAAU,CAAE7F,MAAM,CAACC,QAAP,CAAgBM,IAFwB,CAAjC,CAGhBP,MAAM,CAAC8F,OAAP,CAAeC,KAAf,CAAuB/F,MAAM,CAAC8F,OAAP,CAAeC,KAAtC,CAA8C,EAH9B,CAGmC,CAACC,IAAI,CAAE,EAAP,CAHnC,CAqlCpB,CA7kCA,KAAKC,MAAL,CAAc,EA6kCd,CA3kCA,KAAKC,gBAAL,CAAwB,EA2kCxB,CAtkCA,KAAKC,cAAL,CAAsB,EAskCtB,CAjkCA,KAAKC,iBAAL,CAAyB,IAikCzB,CA5jCA,KAAKC,gBAAL,CAAwB,IA4jCxB,CAtjCA,KAAKC,eAAL,CAAuB,SAAUC,CAAV,CAAoBC,CAApB,CAA8B,CACpD,GAAIC,CAAAA,CAAJ,CAAaC,CAAb,CACI5K,IAAI,CAAC4J,YAAL,CAAkBE,SAAlB,CAA8BW,CAFkB,EAGnDE,CAAO,CAAGF,CAAQ,CAAG,CAH8B,CAInDG,CAAK,CAAG5K,IAAI,CAAC4J,YAAL,CAAkBE,SAJyB,GAMnDa,CAAO,CAAG3K,IAAI,CAAC4J,YAAL,CAAkBE,SAAlB,CAA8B,CANW,CAOnDc,CAAK,CAAGH,CAP2C,EAUpD,OADII,CAAAA,CAAY,CAAG,EACnB,CAASC,CAAC,CAAGH,CAAb,CAAsBG,CAAC,EAAIF,CAA3B,CAAkCE,CAAC,EAAnC,CACC,GAAI9K,IAAI,CAACqK,cAAL,CAAoBS,CAApB,CAAJ,CAA4B,CAC3B,GAAIC,CAAAA,CAAS,CAAG/K,IAAI,CAACqK,cAAL,CAAoBS,CAApB,EAAuB5C,KAAvB,CAA6B,GAA7B,CAAhB,CACA,GAAG,CAACwC,CAAJ,CACC,IAAI,GAAIM,CAAAA,CAAC,CAAG,CAAZ,CAAeA,CAAC,CAAGD,CAAS,CAACjJ,MAA7B,CAAqCkJ,CAAC,EAAtC,CACCD,CAAS,CAACC,CAAD,CAAT,CAAeD,CAAS,CAACC,CAAD,CAAT,CAAazD,OAAb,CAAqB,KAArB,CAA4B,EAA5B,CADhB,CAEyC,CAArC,CAAAsD,CAAY,CAACvG,OAAb,CAAqByG,CAAS,CAACC,CAAD,CAA9B,CAFJ,EAE4CH,CAAY,CAACI,IAAb,CAAkBF,CAAS,CAACC,CAAD,CAA3B,CAG7C,CAGF,MAAOH,CAAAA,CACP,CA+hCD,CA7hCA,KAAKK,MAAL,CAAc,SAASC,CAAT,CAAcC,CAAd,CAAmB,CAW5BD,CAX4B,GAWvBnL,IAAI,CAACM,GAAL,CAAS6K,CAAT,EAAgBC,CAXO,EAYhCpL,IAAI,CAACG,OAAL,CAXA,SAAekL,CAAf,CAAoB,CAIhB,OAHI9K,CAAAA,CAAQ,CAAGP,IAAI,CAACO,QAAL,GAAkBP,IAAI,CAACO,QAAL,CAAgBP,IAAI,CAACsL,aAAL,EAAlC,CAGf,CAFIC,CAAG,GAEP,CAAST,CAAC,CAAG,CAAb,CAAgBA,CAAC,CAAGO,CAAG,CAACvJ,MAAxB,CAAgCgJ,CAAC,EAAjC,CACIS,CAAG,CAAIA,CAAG,GAAK,CAAT,CAAchL,CAAQ,CAA6B,GAA5B,EAACgL,CAAG,CAAGF,CAAG,CAACG,UAAJ,CAAeV,CAAf,CAAP,CAAD,CAA5B,CAGJ,MAAO,CAAQ,CAAC,CAAR,CAAAS,CAAD,IAAiB,CAC3B,CAEc,CAAME,IAAI,CAACC,SAAL,CAAe1L,IAAI,CAACM,GAApB,CAAN,CAZiB,CAahCiC,OAAO,CAACoJ,IAAR,CAAa,SAAb,CAAwBR,CAAxB,CAA6BC,CAA7B,CAAkCpL,IAAI,CAACG,OAAvC,CACA,CA+gCD,CA7gCA,KAAKmL,aAAL,CAAqB,UAAU,CAG3B,OAFIM,CAAAA,CAEJ,CADIrL,CAAQ,CAAG,EACf,CAAQsL,CAAC,CAAE,CAAX,CAAkB,GAAJ,CAAAA,CAAd,CAAuBA,CAAC,EAAxB,CAA2B,CACvBD,CAAC,CAAGC,CADmB,CAEvB,IAAI,GAAIC,CAAAA,CAAC,CAAE,CAAX,CAAkB,CAAJ,CAAAA,CAAd,CAAqBA,CAAC,EAAtB,CACIF,CAAC,CAAO,CAAF,CAAAA,CAAD,CAAS,WAAcA,CAAC,GAAK,CAA7B,CAAoCA,CAAC,GAAK,CAA/C,CAEJrL,CAAQ,CAACsL,CAAD,CAAR,CAAcD,CACjB,CACD,MAAOrL,CAAAA,CACV,CAkgCD,CA7/BA,KAAKwL,IAAL,CAAY,SAAUlL,CAAV,CAAmB,CAC9Bb,IAAI,CAACkL,MAAL,CAAY,SAAZ,CAAuB,GAAI9K,CAAAA,IAAJ,GAAWC,OAAX,EAAvB,CAD8B,CAE9BQ,CAAO,CAAGA,CAAO,EAAI,EAFS,CAG9BhB,SAAS,CAAC4C,KAAV,CAAgBoH,SAAhB,IAAgC7J,IAAI,CAACa,OAArC,CAA8CA,CAA9C,CAH8B,CAK1BhB,SAAS,CAAC4C,KAAV,CAAgB2E,MAAhB,CAAuB,iBAAvB,CAA0CvH,SAA1C,CAL0B,EAK4BA,SAAS,CAAC4C,KAAV,CAAgBuJ,MAAhB,CAAuBnM,SAAvB,CAAkC,iBAAlC,CAAqD,EAArD,CAL5B,CAO1B,qBAAuBmK,CAAAA,OAPG,GAQ7BA,OAAO,CAACiC,iBAAR,CAA4B,QARC,EAY9B/H,MAAM,CAACgI,gBAAP,CAAyB,cAAgBhI,CAAAA,MAAhB,CAAyB,UAAzB,CAAsC,QAA/D,CAA0E,UAAY,CACrFlE,IAAI,CAAC8F,SAAL,EACA,CAFD,CAZ8B,CAiB9B5B,MAAM,CAACgI,gBAAP,CAAwB,UAAxB,CAAoC,SAAUC,CAAV,CAAiB,CACpD,GAAI,CAACjI,MAAM,CAACC,QAAP,CAAgBM,IAAhB,CAAqBiD,QAArB,GAAkC,GAAnC,EAAwCQ,KAAxC,CAA8C,GAA9C,EAAmD,CAAnD,IAA0D,CAAClI,IAAI,CAAC4J,YAAL,CAAkBG,UAAlB,CAA+B,GAAhC,EAAqC7B,KAArC,CAA2C,GAA3C,EAAgD,CAAhD,CAA9D,CAAkH,CACjH,GAAIkE,CAAAA,CAAc,CAAG,CAAClI,MAAM,CAACC,QAAP,CAAgBM,IAAhB,CAAqBiD,QAArB,GAAkC,GAAnC,EAAwCQ,KAAxC,CAA8C,GAA9C,EAAmD,CAAnD,CAArB,CACA,GAAGkE,CAAH,CAAkB,CACjB,GAAIC,CAAAA,CAAc,CAAGvL,QAAQ,CAACI,cAAT,CAAwBkL,CAAxB,CAArB,CACGC,CAFc,EAGhBnI,MAAM,CAACoI,QAAP,CAAgB,CAACC,GAAG,CAAEF,CAAc,CAACG,SAArB,CAAgCC,IAAI,CAAE,CAAtC,CAAyCnJ,QAAQ,CAAC,QAAlD,CAAhB,CAED,CACD,QACA,CACD,GAAI6I,CAAK,CAAClC,KAAN,EAAejK,IAAI,CAAC4J,YAAL,CAAkB8C,UAAjC,EAA8E,GAA/B,CAAA1M,IAAI,CAAC4J,YAAL,CAAkB8C,UAArE,CAAuF,CACtF,GAAIP,CAAK,CAAClC,KAAN,CAAY0C,SAAhB,CAA2B,IACtB7H,CAAAA,CAAM,CAAG9E,IAAI,CAACwK,eAAL,CAAqB2B,CAAK,CAAClC,KAAN,CAAYH,SAAjC,CAA2E,CAA9B,GAAAqC,CAAK,CAAClC,KAAN,CAAY2C,eAAzD,EAA+E7H,IAA/E,CAAoF,GAApF,CADa,CAEtBK,CAAQ,CAAI+G,CAAK,CAAClC,KAAN,CAAY2C,eAAZ,CAA8BT,CAAK,CAAClC,KAAN,CAAY7E,QAA1C,CAAqD,IAF3C,CAGtByH,CAAgB,CAAG,IAAI,CAC1B7M,IAAI,CAACqF,iBAAL,CAAuBlB,QAAQ,CAACM,IAAhC,CAAsC,IAAtC,CAA4CW,CAA5C,CAAsD,CACrDN,MAAM,CAAEA,CAD6C,CAAtD,CAEGqH,CAFH,CAGA,CAPyB,CAmB1B,MAXG/G,CAAAA,CAAQ,EAAoC,CAAhC,GAAA+G,CAAK,CAAClC,KAAN,CAAY2C,eAW3B,CAVC/M,SAAS,CAACmI,OAAV,CAAkBnI,SAAS,CAACiH,QAAV,CAAmB,4BAAnB,CAAlB,CAAoEmB,CAAI,EAAE,CACtEA,CADsE,CAExE4E,CAAgB,EAFwD,CAIxE7C,OAAO,CAAC8C,EAAR,CAAW9M,IAAI,CAAC4J,YAAL,CAAkBE,SAAlB,CAA8BqC,CAAK,CAAClC,KAAN,CAAYH,SAArD,CAED,CAND,CAMG,CAACjD,OAAO,CAAEhH,SAAS,CAACiH,QAAV,CAAmB,wBAAnB,CAAV,CANH,CAUD,CAFC+F,CAAgB,EAEjB,GACA,CACG7M,IAAI,CAACa,OAAL,CAAayB,KAtBqE,EAsB9DC,OAAO,CAACoJ,IAAR,CAAa,6BAAb,CAA4C9L,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgCmK,OAA5E,CACxB,CAGD,MAFI/M,CAAAA,IAAI,CAACa,OAAL,CAAayB,KAEjB,EAFwBC,OAAO,CAACoJ,IAAR,CAAa,8BAAb,CAA6C9L,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgCmK,OAA7E,CAExB,CADA7I,MAAM,CAACC,QAAP,CAAgBW,MAAhB,EACA,GACA,CAtCD,CAjB8B,CA0DH,UAAxB,GAAAhE,QAAQ,CAACkM,UA1DkB,CA2D7BhN,IAAI,CAAC+B,KAAL,EA3D6B,CA6D7BmC,MAAM,CAACgI,gBAAP,CAAwB,MAAxB,CAAgC,UAAU,CACzClM,IAAI,CAAC+B,KAAL,EACA,CAFD,CAEG,CAACkL,IAAI,GAAL,CAFH,CA7D6B,CAmE9B,GAAI9K,CAAAA,CAAY,CAAG,UAAY,IAC1B2I,CAAAA,CAD0B,CAE1BjH,CAAY,CAAG7D,IAAI,CAACa,OAAL,CAAasB,YAAb,EAA6B+K,MAAM,CAACC,IAAP,CAAYnN,IAAI,CAACa,OAAL,CAAagD,YAAzB,CAFlB,CAG9B,IAAIiH,CAAC,CAAC,CAAN,CAAQA,CAAC,CAACjH,CAAY,CAAC/B,MAAvB,CAA8BgJ,CAAC,EAA/B,CACC9K,IAAI,CAAC6D,YAAL,CAAkB7D,IAAI,CAACoN,YAAL,CAAkBvJ,CAAY,CAACiH,CAAD,CAA9B,CAAlB,CAAsDjH,CAAY,CAACiH,CAAD,CAAlE,CAED,CAND,CAO2D,CAAC,CAA3D,EAAC,UAAD,CAAY,aAAZ,EAA2BxG,OAA3B,CAAmCxD,QAAQ,CAACkM,UAA5C,EAA+D7K,CAAY,CAACrB,QAAQ,CAACkM,UAAV,CAA3E,CAAmGlM,QAAQ,CAACoL,gBAAT,CAA0B,kBAA1B,CAA8C/J,CAA9C,CA1EtE,CA4E9BrB,QAAQ,CAACoL,gBAAT,CAA0B,4BAA1B,CAAwDlM,IAAI,CAACa,OAAL,CAAakC,cAArE,CA5E8B,CA6E9BjC,QAAQ,CAACoL,gBAAT,CAA0B,6BAA1B,CAAyDlM,IAAI,CAACa,OAAL,CAAaiC,UAAtE,CA7E8B,CAgF9BoB,MAAM,CAACmE,QAAP,CAAkB,SAAUrD,CAAV,CAAeqI,CAAf,CAAsB/E,CAAtB,CAAgCC,CAAhC,CAAsC1H,CAAtC,CAA+C,CAC3DA,CAD2D,GAClDA,CAAO,CAAG,IADwC,EAE3D0H,CAF2D,GAErDA,CAAI,CAAG,IAF8C,EAG3DD,CAH2D,GAGjDA,CAAQ,CAAG,IAHsC,EAI3D+E,CAJ2D,EAIpD9K,OAAO,CAACoJ,IAAR,CAAa,yFAAb,CAAwG9L,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgC6D,IAAxI,CAJoD,CAKhEzG,IAAI,CAACqI,QAAL,CAAcrD,CAAd,CAAmBsD,CAAnB,CAA6BC,CAA7B,CAAmC1H,CAAnC,CACA,CACD,CAs6BD,CA/5BA,KAAKuM,YAAL,CAAoB,SAAUE,CAAV,CAAuBC,CAAvB,CAAoC,CACvDA,CAAW,CAAGA,CAAW,EAAIzM,QAD0B,CAElDwM,CAAD,EAAkBA,CAAW,GAAItN,CAAAA,IAAI,CAACa,OAAL,CAAagD,YAFK,GAGlD7D,IAAI,CAACa,OAAL,CAAayB,KAHqC,EAG9BC,OAAO,CAACC,IAAR,CAAa,0CAA4C8K,CAAW,EAAI,MAA3D,EAAqE,0CAArE,CAAkHtN,IAAI,CAACa,OAAL,CAAaqB,kBAA/H,CAAoJ,MAAjK,CAAyKrC,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgCC,OAAzM,CAH8B,CAItDyK,CAAW,CAAGtN,IAAI,CAACa,OAAL,CAAaqB,kBAJ2B,EAMvD,GAAIsL,CAAAA,CAAW,CAAGxN,IAAI,CAACa,OAAL,CAAagD,YAAb,CAA0ByJ,CAA1B,CAAlB,CAEA,GAA2B,QAAvB,QAAOC,CAAAA,CAAX,CACC,MAAOvN,CAAAA,IAAI,CAACoN,YAAL,CAAkBE,CAAlB,CAA+BxM,QAAQ,CAAC2M,gBAAT,CAA0BF,CAA1B,CAA/B,CAAP,CACM,GAAIA,CAAW,WAAYG,CAAAA,QAAvB,EAAmCH,CAAW,WAAYI,CAAAA,cAA9D,CACN,MAAO3N,CAAAA,IAAI,CAACoN,YAAL,CAAkBE,CAAlB,CAA+BM,KAAK,CAACC,SAAN,CAAgBC,KAAhB,CAAsBC,IAAtB,CAA2BR,CAA3B,CAA/B,CAAP,CACM,GAAIA,CAAW,WAAYS,CAAAA,OAAvB,EAAkCT,CAAW,WAAYU,CAAAA,YAA7D,CACN,MAAOL,CAAAA,KAAK,CAACC,SAAN,CAAgBC,KAAhB,CAAsBC,IAAtB,CAA2BR,CAAW,CAACE,gBAAZ,CAA6BD,CAAW,CAACzJ,QAAzC,CAA3B,CAAP,CACM,GAAKG,MAAM,CAACgK,MAAP,EAAiBX,CAAW,WAAYW,CAAAA,MAAzC,EAAoDN,KAAK,CAACO,OAAN,CAAcZ,CAAd,CAAxD,CAAoF,CAE1F,OADIa,CAAAA,CAAQ,CAAG,EACf,CAAStD,CAAC,CAAG,CAAb,CAAgBA,CAAC,CAAGyC,CAAW,CAACzL,MAAhC,CAAwCgJ,CAAC,EAAzC,EACKyC,CAAW,CAACzC,CAAD,CAAX,UAA0BkD,CAAAA,OAA1B,EAAqCT,CAAW,CAACzC,CAAD,CAAX,UAA0BmD,CAAAA,YADpE,IAEEG,CAAQ,CAAGA,CAAQ,CAACC,MAAT,CAAgBT,KAAK,CAACC,SAAN,CAAgBC,KAAhB,CAAsBC,IAAtB,CAA2B/N,IAAI,CAACoN,YAAL,CAAkBE,CAAlB,CAA+BC,CAAW,CAACzC,CAAD,CAA1C,CAA3B,CAAhB,CAFb,EAKA,MAAOsD,CAAAA,CACP,CAEA,MADA7L,CAAAA,OAAO,CAAC6D,KAAR,CAAc,KAAOmH,CAAW,CAAC7F,QAAZ,EAAP,CAAgC,uGAA9C,CAAuJ7H,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgCyD,QAAvL,CACA,CAAO,IAER,CAq4BD,CA93BA,KAAKxC,YAAL,CAAoB,SAAUyK,CAAV,CAAyBhB,CAAzB,CAAsC,CACpDA,CAAD,EAAkBA,CAAW,GAAItN,CAAAA,IAAI,CAACa,OAAL,CAAagD,YADO,GAEpD7D,IAAI,CAACa,OAAL,CAAayB,KAFuC,EAEhCC,OAAO,CAACC,IAAR,CAAa,0CAA4C8K,CAAW,EAAI,MAA3D,EAAqE,0CAArE,CAAkHtN,IAAI,CAACa,OAAL,CAAaqB,kBAA/H,CAAoJ,MAAjK,CAAyKrC,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgCC,OAAzM,CAFgC,CAGxDyK,CAAW,CAAGtN,IAAI,CAACa,OAAL,CAAaqB,kBAH6B,EAKzD,GAAIsL,CAAAA,CAAW,CAAGxN,IAAI,CAACa,OAAL,CAAagD,YAAb,CAA0ByJ,CAA1B,CAAlB,CACA,GAA2B,CAAvB,CAAAgB,CAAa,CAACxM,MAAlB,CAA8B,CAC7B,IAAK,GAAIgJ,CAAAA,CAAC,CAAG,CAAb,CAAgBA,CAAC,CAAGwD,CAAa,CAACxM,MAAlC,CAA0CgJ,CAAC,EAA3C,CACC,GAAI0C,CAAW,CAACxJ,aAAZ,CAA0BsK,CAAa,CAACxD,CAAD,CAAvC,CAAJ,CAAiD,CAChD,GAAkD,IAA9C,GAAAwD,CAAa,CAACxD,CAAD,CAAb,CAAiB1G,YAAjB,CAA8B,UAA9B,CAAJ,CAEC,SAEDoJ,CAAW,CAAC7I,aAAZ,CAA0B2J,CAAa,CAACxD,CAAD,CAAvC,CALgD,CAMhDwD,CAAa,CAACxD,CAAD,CAAb,CAAiByD,YAAjB,CAA8B,UAA9B,CAA0C,EAA1C,CACA,CAEF,QACA,CACD,QACA,CA02BD,CAh2BA,KAAKlJ,iBAAL,CAAyB,SAAUL,CAAV,CAAeE,CAAf,CAAwBE,CAAxB,CAAkCvE,CAAlC,CAA2CsL,CAA3C,CAAkD,CAC1EtL,CAAO,CAAGA,CAAO,EAAI,EADqD,CAE1E,GAAI2N,CAAAA,CAAU,CAAI,EAAE,cAAgB3N,CAAAA,CAAlB,GAA8BA,CAAO,CAAC2N,UAAxD,CACA,GAAI,CAACxO,IAAI,CAACC,OAAN,EAAkBuO,CAAU,EAAI,CAACxO,IAAI,CAACE,iBAA1C,CAA8D,SAC9D8E,CAAG,CAAGA,CAAG,EAAId,MAAM,CAACC,QAAP,CAAgBM,IAJ6C,CAK1EW,CAAQ,CAAGA,CAAQ,EAAI,IALmD,CAMtEA,CANsE,GAOlD,UAApB,QAAOA,CAAAA,CAP+D,GAQxEA,CAAQ,CAAGA,CAAQ,EARqD,EAUxC,QAA9B,GAAAA,CAAQ,CAACqJ,WAAT,CAAqBC,IAViD,GAWxEtJ,CAAQ,CAAGvF,SAAS,CAAC4C,KAAV,CAAgBkM,cAAhB,CAA+BvJ,CAA/B,CAX6D,EAatE,EAAEA,CAAQ,WAAYwJ,CAAAA,QAAtB,GAAuD,QAApB,QAAOxJ,CAAAA,CAb4B,GAcxEA,CAAQ,CAAGA,CAAQ,CAACsC,QAAT,EAd6D,MAiBtE1E,CAAAA,CAAS,CAAI,aAAenC,CAAAA,CAAf,EAA0BA,CAAO,CAACmC,SAAlC,CAA8CnC,CAAO,CAACmC,SAAtD,CAAmEwL,CAAU,CAAGxO,IAAI,CAACa,OAAL,CAAamC,SAAb,CAAuBI,cAA1B,CAA2C,EAjB/D,CAkBtE0B,CAAM,CAAIjE,CAAO,CAACiE,MAAR,EAAkB9E,IAAI,CAACa,OAAL,CAAamB,aAAb,CAA2B+C,IAA3B,CAAgC,GAAhC,CAlB0C,CAmBvEG,CAnBuE,GAoB/C,CAAC,CAAxB,CAAAA,CAAO,CAACZ,OAAR,CAAgB,GAAhB,CApBsE,CAqBxEQ,CAAM,CAAGjF,SAAS,CAAC4C,KAAV,CAAgBoM,cAAhB,CAA+B3J,CAAO,CAACgD,KAAR,CAAc,GAAd,EAAmB,CAAnB,CAA/B,qBArB+D,CAuBxEhD,CAAO,CAAG,IAvB8D,EA0BtEA,CA1BsE,GA2BzEA,CAAO,CAAGrF,SAAS,CAAC4C,KAAV,CAAgB0C,aAAhB,CAA8BH,CAA9B,CAAmCnF,SAAS,CAAC4C,KAAV,CAAgBqM,QAAhB,IAAgCjO,CAAhC,CAAyC,CAACiE,MAAM,CAAEA,CAAT,CAAzC,CAAnC,CA3B+D,EAgCtE0J,CAAU,EAAKrC,CAAK,EAAIA,CAAK,WAAY4C,CAAAA,aAhC6B,EAiCzE/O,IAAI,CAACoK,gBAAL,CAAwB,SAjCiD,CAkCzEpK,IAAI,CAAC4J,YAAL,CAAkBG,UAAlB,CAA+B7F,MAAM,CAACC,QAAP,CAAgBM,IAlC0B,CAmCzEzE,IAAI,CAAC4J,YAAL,CAAkB+C,SAAlB,CAA8B9M,SAAS,CAAC4C,KAAV,CAAgB0C,aAAhB,CAA8BjB,MAAM,CAACC,QAAP,CAAgBM,IAA9C,CAAoD,CACjFK,MAAM,CAAEA,CADyE,CAApD,CAnC2C,CAsCzE9E,IAAI,CAAC8F,SAAL,EAtCyE,EAyCzE9F,IAAI,CAACoK,gBAAL,CAAwB,EAzCiD,CA2C1EpK,IAAI,CAAC4J,YAAL,CAAkBoF,MAAlB,CAA2B,CAAC9K,MAAM,CAAC+K,OAAR,CAAgB/K,MAAM,CAACgL,OAAvB,CA3C+C,CA8CtEV,CAAU,EAAI,EAAErC,CAAK,EAAIA,CAAK,WAAY4C,CAAAA,aAA5B,CA9CwD,EA+CtE/O,IAAI,CAACa,OAAL,CAAa4C,iBAAb,CAA+BxD,OA/CuC,GA+C9BD,IAAI,CAAC4J,YAAL,CAAkBuF,aAAlB,CAAkCnP,IAAI,CAACoP,mBAAL,EA/CJ,EAgDzEpP,IAAI,CAAC8F,SAAL,EAhDyE,CAiDzE5B,MAAM,CAAC8F,OAAP,CAAeqF,SAAf,CAAyBrP,IAAI,CAAC4J,YAA9B,CAA4C,EAA5C,CAAgD5E,CAAhD,CAjDyE,EAqDjEmH,CAAK,EAAIA,CAAK,WAAY4C,CAAAA,aArDuC,GAsDzE/O,IAAI,CAAC4J,YAAL,CAAoBuC,CAAK,CAAClC,KAtD+C,EA0D1E/F,MAAM,CAAC8F,OAAP,CAAesF,YAAf,CAA4BtP,IAAI,CAAC4J,YAAjC,CAA+C,IAA/C,CAAuD4E,CAAU,EAAI3N,CAAO,CAAC0O,SAAvB,CAAoCvK,CAApC,CAA0Cd,MAAM,CAACC,QAAP,CAAgBM,IAAhH,CA1D0E,CA4D1E,GAAIqG,CAAAA,CAAJ,CACA,GAAI0D,CAAU,EAAIxO,IAAI,CAACa,OAAL,CAAaoI,YAAb,CAA0BE,iBAA5C,CACC,IAAK2B,CAAC,CAAG,CAAT,CAAYA,CAAC,CAAG9K,IAAI,CAACQ,SAAL,CAAesB,MAA/B,CAAuCgJ,CAAC,EAAxC,CACC9K,IAAI,CAACQ,SAAL,CAAesK,CAAf,EAAkB0E,SAAlB,IAFF,IAIO,IAAI,CAAChB,CAAD,EAAexO,IAAI,CAACa,OAAL,CAAaoI,YAAb,CAA0BC,iBAA7C,CACN,IAAK4B,CAAC,CAAG,CAAT,CAAYA,CAAC,CAAG9K,IAAI,CAACQ,SAAL,CAAesB,MAA/B,CAAuCgJ,CAAC,EAAxC,CACC,GAAI,CAAC9K,IAAI,CAACQ,SAAL,CAAesK,CAAf,EAAkB0E,SAAnB,EAAgCxP,IAAI,CAACQ,SAAL,CAAesK,CAAf,EAAkB0D,UAAtD,CACC,SAgGH,MA3FAxO,CAAAA,IAAI,CAACqI,QAAL,CAAcnD,CAAd,CAAuB,CACtBuK,aAAa,CAAE,SAAUvJ,CAAV,CAAoBwJ,CAApB,CAAiC,CAC/C,GAAIC,CAAAA,CAAiB,CAAG,CAAxB,CAMA,GALGvK,CAAQ,WAAYwJ,CAAAA,QAKvB,GALiCxJ,CAAQ,CAAG,EAK5C,EAHIoJ,CAGJ,EAHgB1N,QAAQ,CAAC8O,aAAT,CAAuB5P,IAAI,CAACoJ,MAAL,CAAYE,QAAnC,CAGhB,CAFe,MAAX,GAAAxE,CAEJ,EAFuBhE,QAAQ,CAAC8O,aAAT,CAAuB5P,IAAI,CAACoJ,MAAL,CAAYI,UAAnC,CAEvB,CAAI2C,CAAK,EAAIA,CAAK,WAAY4C,CAAAA,aAA9B,CACCY,CAAiB,CAAGxD,CAAK,CAAClC,KAAN,CAAYH,SAAZ,CAAwB9J,IAAI,CAAC4J,YAAL,CAAkBE,SAD/D,CAEC9J,IAAI,CAAC4J,YAAL,CAAoBuC,CAAK,CAAClC,KAF3B,CAGCjK,IAAI,CAACoK,gBAAL,CAAwB,WAHzB,KAIO,IAAIoE,CAAJ,CAAgB,CACtBmB,CAAiB,CAAG,CADE,CAEtB3P,IAAI,CAACoK,gBAAL,CAAwB,WAFF,CAGtB,GAAIN,CAAAA,CAAS,CAAG9J,IAAI,CAAC4J,YAAL,CAAkBE,SAAlB,EAA+B,CAA/C,CACAA,CAAS,EAJa,CAMtB9J,IAAI,CAAC4J,YAAL,CAAoB,CACnBiG,MAAM,CAAEhQ,SAAS,CAACiQ,OAAV,CAAkBC,IAAlB,CAAuB3O,EAAvB,EAA6B,EADlB,CAEnBuL,SAAS,CAAEzH,CAFQ,CAGnBE,QAAQ,CAAEA,CAHS,CAInB0E,SAAS,CAAEA,CAJQ,CAKnB4C,UAAU,CAAEgD,CAAW,CAACrI,cALL,CAMnB6C,IAAI,CAAE,EANa,CANE,CAelB,cAAgBrJ,CAAAA,CAAhB,EAAkD,EAAvB,GAAAA,CAAO,CAACmP,UAfjB,GAgBrBhL,CAAG,CAAGnE,CAAO,CAACmP,UAhBO,CAiBrB9L,MAAM,CAAC8F,OAAP,CAAesF,YAAf,CAA4BtP,IAAI,CAAC4J,YAAjC,CAA+C9I,QAAQ,CAAC+H,KAAxD,CAA+D7D,CAA/D,CAjBqB,EAmBtBhF,IAAI,CAAC4J,YAAL,CAAkBG,UAAlB,CAA+B7F,MAAM,CAACC,QAAP,CAAgBM,IAnBzB,CAoBtBzE,IAAI,CAACqK,cAAL,CAAoBrK,IAAI,CAAC4J,YAAL,CAAkBE,SAAtC,EAAmDhF,CACnD,CAEG,CAAuB,CAAtB,EAAA6K,CAAiB,EAAU3M,CAA5B,IAA2C,CAAChD,IAAI,CAACa,OAAL,CAAamC,SAAb,CAAuBC,UAAxB,EAAsCiB,MAAM,CAAC+L,UAAP,EAAqBjQ,IAAI,CAACa,OAAL,CAAamC,SAAb,CAAuBG,cAA7H,CAlC2C,GAmC1C,CAACnD,IAAI,CAACa,OAAL,CAAamC,SAAb,CAAuBE,MAAxB,EAAiG,CAA/D,CAAAgB,MAAM,CAACgL,OAAP,CAAiBpO,QAAQ,CAACoP,aAAT,CAAuBlN,CAAvB,EAAkCwJ,SAnC3C,GAoC7CtI,MAAM,CAACoI,QAAP,CAAgB,CAAhB,CAAmBxL,QAAQ,CAACoP,aAAT,CAAuBlN,CAAvB,EAAkCwJ,SAAlC,CAA8CxM,IAAI,CAACa,OAAL,CAAamC,SAAb,CAAuBK,SAAxF,CApC6C,CAuC/C,GAAI8M,CAAAA,CAAG,CAAGnQ,IAAI,CAAC4J,YAAL,CAAkBgD,eAAlB,EAAqC,CAA/C,CACA5M,IAAI,CAAC4J,YAAL,CAAkBgD,eAAlB,CAAqC4B,CAAU,CAAG,CAAH,CAAO2B,CAxCP,CAyC/CnQ,IAAI,CAAC8F,SAAL,EACA,CA3CqB,CA4CtBsK,UAAU,CAAE,SAAUlK,CAAV,CAAoB,CAC/B,GAAGsI,CAAH,CAAc,CACb1N,QAAQ,CAAC+H,KAAT,CAAiB,EADJ,CAEb,GAAIwH,CAAAA,CAAJ,CAUA,GATAA,CAAE,CAAGvP,QAAQ,CAACwP,IAAT,CAAcJ,aAAd,CAA4B,uBAA5B,CASL,CARGG,CAQH,EAROA,CAAE,CAAC9B,YAAH,CAAgB,SAAhB,CAA2B,EAA3B,CAQP,CAPA8B,CAAE,CAAGvP,QAAQ,CAACwP,IAAT,CAAcJ,aAAd,CAA4B,0BAA5B,CAOL,CANGG,CAMH,EANOA,CAAE,CAAC9B,YAAH,CAAgB,SAAhB,CAA2B,EAA3B,CAMP,CALA8B,CAAE,CAAGvP,QAAQ,CAACwP,IAAT,CAAcJ,aAAd,CAA4B,6BAA5B,CAKL,CAJGG,CAIH,EAJOA,CAAE,CAAC9B,YAAH,CAAgB,SAAhB,CAA2B,EAA3B,CAIP,CAHA8B,CAAE,CAAGvP,QAAQ,CAACwP,IAAT,CAAcJ,aAAd,CAA4B,mCAA5B,CAGL,CAFGG,CAEH,EAFOA,CAAE,CAAC9B,YAAH,CAAgB,SAAhB,CAA2B,EAA3B,CAEP,CAAIrI,CAAQ,CAACqK,cAAT,CAAwB,MAAxB,CAAJ,GACKrK,CAAQ,CAACoK,IAAT,CAAcC,cAAd,CAA6B,OAA7B,CADL,GAEEzP,QAAQ,CAAC+H,KAAT,CAAiB3C,CAAQ,CAACoK,IAAT,CAAczH,KAFjC,EAIK3C,CAAQ,CAACoK,IAAT,CAAcC,cAAd,CAA6B,MAA7B,GAAsE,QAA9B,QAAOrK,CAAAA,CAAQ,CAACoK,IAAT,CAAcE,IAJlE,EAKE,IAAK,GAAIrF,CAAAA,CAAT,GAAgBjF,CAAAA,CAAQ,CAACoK,IAAT,CAAcE,IAA9B,CAAoC,CACnC,GAAIC,CAAAA,CAAM,CAAG3P,QAAQ,CAACoP,aAAT,CAAuB,eAAgB/E,CAAhB,CAAsB,KAA7C,CAAb,CACIsF,CAAM,WAAYC,CAAAA,eAFa,GAGlCD,CAAM,CAACE,OAAP,CAAiBzK,CAAQ,CAACoK,IAAT,CAAcE,IAAd,CAAmBrF,CAAnB,CAHiB,CAKnC,CAGH,CACEnL,IAAI,CAAC4J,YAAL,CAAkBuF,aAAlB,EAAmCnP,IAAI,CAAC4J,YAAL,CAAkBiG,MAAlB,GAA6BhQ,SAAS,CAACiQ,OAAV,CAAkBC,IAAlB,CAAuB3O,EA3B3D,EA4B9BpB,IAAI,CAAC4Q,gBAAL,CAAsB5Q,IAAI,CAAC4J,YAAL,CAAkBuF,aAAxC,CA5B8B,CA8B5BtO,CAAO,CAACyH,QAAR,EAAgD,UAA5B,QAAOzH,CAAAA,CAAO,CAACyH,QA9BP,EA8BgCzH,CAAO,CAACyH,QAAR,CAAiBpC,CAAQ,CAAC2K,MAA1B,CAC/D,CA3EqB,CA4EtBC,SAAS,CAAE,UAAY,CAClBtC,CADkB,EACN1N,QAAQ,CAAC8O,aAAT,CAAuB5P,IAAI,CAACoJ,MAAL,CAAYG,SAAnC,CADM,CAEP,MAAX,GAAAzE,CAFkB,EAEChE,QAAQ,CAAC8O,aAAT,CAAuB5P,IAAI,CAACoJ,MAAL,CAAYK,YAAnC,CAFD,CAGlB0C,CAAK,EAAIA,CAAK,WAAY4C,CAAAA,aAA1B,EAA2C5C,CAAK,CAAClC,KAAjD,EAA0DkC,CAAK,CAAClC,KAAN,CAAY+E,MAHpD,EAIrBnP,SAAS,CAACkC,KAAV,CAAgB,IAAImC,MAAM,CAAC8K,MAAP,CAAc,CAACvC,IAAI,CAAEN,CAAK,CAAClC,KAAN,CAAY+E,MAAZ,CAAmB,CAAnB,CAAP,CAA8BzC,GAAG,CAAEJ,CAAK,CAAClC,KAAN,CAAY+E,MAAZ,CAAmB,CAAnB,CAAnC,CAA0D1L,QAAQ,CAAE,MAApE,CAAd,CAApB,CAJqB,CAMtBtD,IAAI,CAACoK,gBAAL,CAAwB,UACxB,CAnFqB,CAAvB,CAoFGhF,CApFH,CAoFa,CACZ2L,KAAK,CAAElQ,CAAO,CAACkQ,KADH,CAEZvC,UAAU,CAAEA,CAFA,CAGZwC,WAAW,CAAEhM,CAHD,CAIZpE,MAAM,CAAEC,CAAO,CAACD,MAJJ,CAKZqQ,OAAO,CAAEpQ,CAAO,CAACoQ,OALL,CApFb,CA2FA,GACA,CA2rBD,CAtrBA,KAAKnL,SAAL,CAAiB,UAAY,CAC5B5B,MAAM,CAAC8F,OAAP,CAAesF,YAAf,CAA4BtP,IAAI,CAAC4J,YAAjC,CAA+C9I,QAAQ,CAAC+H,KAAxD,CAA+D3E,MAAM,CAACC,QAAP,CAAgBM,IAA/E,CACA,CAorBD,CAlrBA,KAAKyM,mBAAL,CAA2B,SAAUxO,CAAV,CAAmByO,CAAnB,CAA4B,CACtD,GAAG,CAACA,CAAJ,CAAY,IACPC,CAAAA,CAAM,CAAGpH,OAAO,CAACC,KAAR,EAAiB,EADnB,CAEPkF,CAAa,CAAGiC,CAAM,CAACjC,aAAP,EAAwB,EAFjC,CAGPkC,CAAc,CAAGlC,CAAa,CAACmC,MAAd,CAAqBjB,CAAE,EAAEA,CAAE,CAACkB,UAAH,CAAcnQ,EAAd,GAAmBsB,CAAO,CAACtB,EAApD,CAHV,CAMX,GAF2B,CAAxB,GAAAiQ,CAAc,CAACvP,MAElB,GAF8BuP,CAAc,CAAGlC,CAAa,CAACmC,MAAd,CAAqBjB,CAAE,EAAGA,CAAE,CAACkB,UAAH,CAAc7C,IAAd,GAAqBhM,CAAO,CAACgM,IAA7B,EAAqC2B,CAAE,CAACkB,UAAH,CAAcC,KAAd,GAAsB9O,CAAO,CAAC8O,KAA7F,CAE/C,EAD2B,CAAxB,GAAAH,CAAc,CAACvP,MAClB,GAD8BuP,CAAc,CAAGlC,CAAa,CAACmC,MAAd,CAAqBjB,CAAE,EAAGA,CAAE,CAACkB,UAAH,CAAc7C,IAAd,GAAqBhM,CAAO,CAACgM,IAAvD,CAC/C,EAAyB,CAAtB,CAAA2C,CAAc,CAACvP,MAAlB,CAA4B,MAAOS,CAAAA,OAAO,CAAC6D,KAAR,CAAc,qCAAd,CAAP,CAC5B+K,CAAO,CAAGE,CAAc,CAAC,CAAD,CACxB,CACD,GAAIF,CAAJ,EACA,IAAKM,IAAL,GAAaN,CAAAA,CAAO,CAACI,UAArB,CACC7O,CAAO,CAAC6L,YAAR,CAAqBkD,IAArB,CAA2BN,CAAO,CAACI,UAAR,CAAmBE,IAAnB,CAA3B,EAED,IAAKC,IAAL,GAAaP,CAAAA,CAAO,CAACQ,UAArB,CACCjP,CAAO,CAACgP,IAAD,CAAP,CAAgBP,CAAO,CAACQ,UAAR,CAAmBD,IAAnB,CALjB,CAOA,CAiqBD,CA/pBA,KAAKd,gBAAL,CAAwB,SAAUxC,CAAV,CAAoB/L,CAApB,CAA2B,CAClDE,OAAO,CAACqP,KAAR,CAAc,4BAAd,CAA4C,4BAA5C,CAA0ExD,CAA1E,CADkD,CAKlD,IAAK,GAAIyD,CAAAA,CAAT,GADAxP,CAAAA,CAAK,CAAGA,CAAK,EAAIvB,QACjB,CAAgBsN,CAAhB,CAA0B,CACzB,GAAI+C,CAAAA,CAAO,CAAG/C,CAAQ,CAACyD,CAAD,CAAtB,CACA,GAAI,MAAQV,CAAAA,CAAO,CAACI,UAApB,CAAgC,CAC/B,GAAI7O,CAAAA,CAAO,CAAGL,CAAK,CAAC6N,aAAN,CAAoB,IAAIiB,CAAO,CAACI,UAAR,CAAmBnQ,EAA3C,CAAd,CACIsB,CAF2B,EAElB,KAAKwO,mBAAL,CAAyBxO,CAAzB,CAAkCyO,CAAlC,CACb,CAHD,IAGO,IAAI,QAAUA,CAAAA,CAAO,CAACI,UAAtB,CAAkC,CACxC,GAAIO,CAAAA,CAAI,CAAGzP,CAAK,CAACoL,gBAAN,CAAuB,WAAY0D,CAAO,CAACI,UAAR,CAAmB7C,IAA/B,CAAsC,KAA7D,CAAX,CACA,GAAoB,CAAhB,GAAAoD,CAAI,CAAChQ,MAAT,CAAuB,KAAKoP,mBAAL,CAAyBY,CAAI,CAAC,CAAD,CAA7B,CAAkCX,CAAlC,EAAvB,IACK,IAAIA,CAAO,CAACI,UAAR,CAAmBC,KAAvB,CAA8B,CAClC,GAAIO,CAAAA,CAAG,CAAG,CAAC,GAAGD,CAAJ,EAAUE,IAAV,CAAe3B,CAAE,EAAEA,CAAE,CAACkB,UAAH,CAAcU,YAAd,CAA2B,OAA3B,IAAwCC,IAAI,CAACX,UAAL,CAAgBC,KAA3E,CAAV,CACGO,CAF+B,EAE1B,KAAKb,mBAAL,CAAyBa,CAAzB,CAA8BZ,CAA9B,CACR,CAHI,IAIJ5O,CAAAA,OAAO,CAACoJ,IAAR,CAAa,iDAAoDwF,CAAO,CAACI,UAAR,CAAmB7C,IAAvE,CAA8E,YAA9E,CAA+FyC,CAAO,CAACI,UAAR,CAAmBC,KAA/H,CAAsI3R,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgCmK,OAAtK,CAED,CACD,CACDxK,OAAO,CAACD,KAAR,CAAc,2BAAd,CAA2C,4BAA3C,CArBkD,CAsBlDxB,QAAQ,CAAC8O,aAAT,CAAuB5P,IAAI,CAACoJ,MAAL,CAAYM,gBAAnC,CACA,CAwoBD,CAnoBA,KAAK0F,mBAAL,CAA2B,SAAU/M,CAAV,CAAiB,CAC3CA,CAAK,CAAGA,CAAK,EAAIvB,QAD0B,CAI3C,OAFIqR,CAAAA,CAAY,CAAG9P,CAAK,CAACoL,gBAAN,CAAuB,sEAAvB,CAEnB,CADI0B,CAAa,CAAG,EACpB,CAASrE,CAAC,CAAG,CAAb,CAAgBA,CAAC,CAAGqH,CAAY,CAACrQ,MAAjC,CAAyCgJ,CAAC,EAA1C,CACKqH,CAAY,CAACrH,CAAD,CAAZ,CAAgBpG,OAAhB,CAAwB,qBAAxB,CADL,EAEEyK,CAAa,CAAClE,IAAd,CAAmBjL,IAAI,CAACoS,eAAL,CAAqBD,CAAY,CAACrH,CAAD,CAAjC,CAAnB,CAFF,CAMA,MADAvI,CAAAA,OAAO,CAACqP,KAAR,CAAc,yBAAd,CAAyC,4BAAzC,CAAuEzC,CAAvE,CACA,CAAOA,CACP,CAwnBD,CAjnBA,KAAKiD,eAAL,CAAuB,SAAU1P,CAAV,CAAmB,CACzC,GAAIyO,CAAAA,CAAO,CAAG,CACNzO,OADM,CACIA,CAAO,CAAC2P,QAAR,CAAiBC,WAAjB,EADJ,CAENf,UAFM,CAEO,EAFP,CAGNI,UAHM,CAGO,EAHP,CAAd,CAIA,GAAIY,CAAAA,CAAgB,CAAG,CAAC,SAAD,CAAW,UAAX,CAAvB,CACA,IAAK,GAAIzH,CAAAA,CAAC,CAAG,CAAb,CAAgBA,CAAC,CAAGpI,CAAO,CAAC6O,UAAR,CAAmBzP,MAAvC,CAA+CgJ,CAAC,EAAhD,CACKyH,CAAgB,CAACC,QAAjB,CAA0B9P,CAAO,CAAC6O,UAAR,CAAmBzG,CAAnB,EAAsB4D,IAAhD,CADL,GAC4DyC,CAAO,CAACI,UAAR,CAAmB7O,CAAO,CAAC6O,UAAR,CAAmBzG,CAAnB,EAAsB4D,IAAzC,EAAiDhM,CAAO,CAAC6O,UAAR,CAAmBzG,CAAnB,EAAsB0G,KADnI,EAIA,GAAIG,CAAAA,CAAU,CAAG3R,IAAI,CAACa,OAAL,CAAa4C,iBAAb,CAA+BC,SAA/B,CAAyCC,OAA1D,CACA,IAAK,GAAII,CAAAA,CAAT,GAAqB/D,CAAAA,IAAI,CAACa,OAAL,CAAa4C,iBAAb,CAA+BC,SAApD,CACKhB,CAAO,CAACgC,OAAR,CAAgBX,CAAhB,CADL,GAEE4N,CAAU,CAAG9R,SAAS,CAAC4C,KAAV,CAAgBgQ,KAAhB,CAAsBC,KAAtB,CAA4Bf,CAA5B,CAAwC3R,IAAI,CAACa,OAAL,CAAa4C,iBAAb,CAA+BC,SAA/B,CAAyCK,CAAzC,CAAxC,CAFf,EAKA,IAAK+G,CAAC,CAAG,CAAT,CAAYA,CAAC,CAAG6G,CAAU,CAAC7P,MAA3B,CAAmCgJ,CAAC,EAApC,CACKpI,CAAO,CAACiP,CAAU,CAAC7G,CAAD,CAAX,CADZ,GAEEqG,CAAO,CAACQ,UAAR,CAAmBA,CAAU,CAAC7G,CAAD,CAA7B,EAAoCpI,CAAO,CAACiP,CAAU,CAAC7G,CAAD,CAAX,CAF7C,EAKA,MAAOqG,CAAAA,CACP,CA2lBD,CAzlBA,KAAKwB,kBAAL,CAA0B,SAAUjQ,CAAV,CAAmB,IAExC0O,CAAAA,CAAM,CAAGpH,OAAO,CAACC,KAAR,EAAiB,EAFc,CAGxCkF,CAAa,CAAGiC,CAAM,CAACjC,aAAP,EAAwB,EAHA,CAIxCkC,CAAc,CAAGlC,CAAa,CAACmC,MAAd,CAAqBjB,CAAE,EAAEA,CAAE,CAACkB,UAAH,CAAcnQ,EAAd,GAAmBsB,CAAO,CAACtB,EAApD,CAJuB,CAO5C,GAF2B,CAAxB,GAAAiQ,CAAc,CAACvP,MAElB,GAF8BuP,CAAc,CAAGlC,CAAa,CAACmC,MAAd,CAAqBjB,CAAE,EAAGA,CAAE,CAACkB,UAAH,CAAc7C,IAAd,GAAqBhM,CAAO,CAACgM,IAA7B,EAAqC2B,CAAE,CAACkB,UAAH,CAAcC,KAAd,GAAsB9O,CAAO,CAAC8O,KAA7F,CAE/C,EAD2B,CAAxB,GAAAH,CAAc,CAACvP,MAClB,GAD8BuP,CAAc,CAAGlC,CAAa,CAACmC,MAAd,CAAqBjB,CAAE,EAAGA,CAAE,CAACkB,UAAH,CAAc7C,IAAd,GAAqBhM,CAAO,CAACgM,IAAvD,CAC/C,EAAyB,CAAtB,CAAA2C,CAAc,CAACvP,MAAlB,CAA4B,MAAOS,CAAAA,OAAO,CAAC6D,KAAR,CAAc,qCAAd,CAAP,CAPgB,GAQxCwM,CAAAA,CAAY,CAAGvB,CAAc,CAAC,CAAD,CARW,CASxCwB,CAAK,CAAG1D,CAAa,CAAC7K,OAAd,CAAsBsO,CAAtB,CATgC,CAUjC,CAAC,CAAT,CAAAC,CAVyC,CAW3C1D,CAAa,CAAC0D,CAAD,CAAb,CAAuBhT,SAAS,CAACuI,OAAV,CAAkBgK,eAAlB,CAAkC1P,CAAlC,CAXoB,CAa3CyM,CAAa,CAAClE,IAAd,CAAmBpL,SAAS,CAACuI,OAAV,CAAkBgK,eAAlB,CAAkC1P,CAAlC,CAAnB,CAb2C,CAe5C0O,CAAM,CAACjC,aAAP,CAAuBA,CAfqB,CAgB5CnF,OAAO,CAACsF,YAAR,CAAqB8B,CAArB,CAA6B,IAA7B,CACA,CAwkBD,CAjkBA,KAAK0B,eAAL,CAAuB,SAAUC,CAAV,CAAoBC,CAApB,CAA8B,CACpD,GAAIC,CAAAA,CAAJ,CAUA,MATgB,IAAZ,EAAAD,CASJ,EARCC,CAAO,CAAGnS,QAAQ,CAACK,aAAT,CAAuB,QAAvB,CAQX,CAPC8R,CAAO,CAAC1E,YAAR,CAAqB,KAArB,CAA4BwE,CAA5B,CAOD,EANuB,KAAZ,EAAAC,CAMX,GALCC,CAAO,CAAGnS,QAAQ,CAACK,aAAT,CAAuB,MAAvB,CAKX,CAJC8R,CAAO,CAAC1E,YAAR,CAAqB,KAArB,CAA4B,YAA5B,CAID,CAHC0E,CAAO,CAAC1E,YAAR,CAAqB,MAArB,CAA6B,UAA7B,CAGD,CAFC0E,CAAO,CAAC1E,YAAR,CAAqB,MAArB,CAA6BwE,CAA7B,CAED,EAAOE,CACP,CAqjBD,CA9iBA,KAAKC,eAAL,CAAuB,SAAUH,CAAV,CAAoBC,CAApB,CAA8B,CAIpD,OAHIG,CAAAA,CAAa,CAAgB,IAAZ,EAAAH,CAAQ,CAAW,QAAX,CAAmC,KAAZ,EAAAA,CAAQ,CAAY,MAAZ,CAAqB,MAGjF,CAFII,CAAU,CAAgB,IAAZ,EAAAJ,CAAQ,CAAW,KAAX,CAAgC,KAAZ,EAAAA,CAAQ,CAAY,MAAZ,CAAqB,MAE3E,CADIK,CAAW,CAAGvS,QAAQ,CAACwS,oBAAT,CAA8BH,CAA9B,CAClB,CAASrI,CAAC,CAAGuI,CAAW,CAACvR,MAAzB,CAAsC,CAAL,EAAAgJ,CAAjC,CAAyCA,CAAC,EAA1C,CACKuI,CAAW,CAACvI,CAAD,CAAX,EAA6D,IAA3C,EAAAuI,CAAW,CAACvI,CAAD,CAAX,CAAe1G,YAAf,CAA4BgP,CAA5B,CAAlB,EAAkI,CAAC,CAA9D,EAAAC,CAAW,CAACvI,CAAD,CAAX,CAAe1G,YAAf,CAA4BgP,CAA5B,EAAwC9O,OAAxC,CAAgDyO,CAAhD,CAD1E,EAEEM,CAAW,CAACvI,CAAD,CAAX,CAAenJ,UAAf,CAA0BC,WAA1B,CAAsCyR,CAAW,CAACvI,CAAD,CAAjD,CAFF,CAIA,MAA6B,EAArB,CAAAuI,CAAW,CAACvR,MACpB,CAqiBD,CA9hBA,KAAKyR,MAAL,CAAc,SAAUrN,CAAV,CAA6B,IACtCsN,CAAAA,CAAO,GAD+B,CAGtCC,CAAO,CAAGvN,CAAQ,CAACwN,KAAT,CADA,qEACA,CAH4B,CAI1C,GAAID,CAAJ,CACC,IAAK,GAAIE,CAAAA,CAAC,CAAG,CAAb,CAAgBA,CAAC,EAAIF,CAAO,CAAC3R,MAAR,CAAiB,CAAtC,CAAyC6R,CAAC,EAA1C,CAA8C,IAEzClN,CAAAA,CAAI,CAAGgN,CAAO,CAACE,CAAD,CAAP,CAAWpM,OAAX,CAAmB,8EAAnB,CAAmG,EAAnG,CAFkC,CAG7Cd,CAAI,CAAGA,CAAI,CAACc,OAAL,CAAa,cAAb,CAA6B,EAA7B,EAAiCA,OAAjC,SAA+C,IAA/C,CAHsC,CAI7C,GAAI,CACHrD,MAAM,CAACgD,IAAP,CAAYT,CAAZ,CACA,CAAC,MAAOL,CAAP,CAAc,CAOf7D,OAAO,CAAC6D,KAAR,CAAc,+BAAd,CAA+CK,CAA/C,CAAqDL,CAArD,CAPe,CAQfoN,CAAO,GACP,CACD,CAEF,MAAOA,CAAAA,CACP,CAsgBD,CA7fA,KAAKnL,QAAL,CAAgB,SAAUrD,CAAV,CAAesD,CAAf,CAAyBC,CAAzB,CAA+B1H,CAA/B,CAAwC,IACnD+S,CAAAA,CAAG,CAAG,GAAIxT,CAAAA,IAAJ,GAAWC,OAAX,GAAuBwT,IAAI,CAACC,MAAL,EADsB,CAEnD/C,CAAK,CAAG,IAF2C,CAGnDlQ,CAHmD,GAI/B,QAAnB,QAAOA,CAAAA,CAAP,EAA+BA,CAAO,CAAC4N,WAAR,GAAwBvB,MAJL,CAKjDrM,CAAO,CAAC0P,cAAR,CAAuB,OAAvB,CALiD,GAKhBQ,CAAK,CAAGlQ,CAAO,CAACkQ,KALA,EAMzB,QAAlB,QAAOlQ,CAAAA,CANoC,GAOrDkQ,CAAK,CAAGlQ,CAP6C,CAQrDA,CAAO,CAAG,EAR2C,GAYvDA,CAAO,CAAGA,CAAO,EAAI,EAZkC,CAalDA,CAAO,CAACD,MAb0C,GActDC,CAAO,CAACD,MAAR,CAAiBZ,IAAI,CAACa,OAAL,CAAaD,MAdwB,EAgBnDf,SAAS,CAACC,OAAV,CAAkBiU,MAAnB,EAA+BlT,CAAO,CAACD,MAAR,WAA0Bf,CAAAA,SAAS,CAACC,OAAV,CAAkBiU,MAhBvB,EAiBtD7G,MAAM,CAAC8G,OAAP,CAAehU,IAAI,CAACa,OAAL,CAAaD,MAA5B,EAAoCqT,OAApC,CAA4CC,CAAG,EAAE,CAC5CrT,CAAO,CAACD,MAAR,CAAe2P,cAAf,CAA8B2D,CAAG,CAAC,CAAD,CAAjC,CAD4C,GACLrT,CAAO,CAACD,MAAR,CAAesT,CAAG,CAAC,CAAD,CAAlB,EAAyBA,CAAG,CAAC,CAAD,CADvB,CAEhD,CAFD,CAjBsD,CAqBnDrT,CAAO,CAACD,MAAR,CAAeX,OAAf,EAA6D,CAAnC,EAAAY,CAAO,CAACD,MAAR,CAAeJ,SAAf,CAAyBsB,MArBA,EAqBajB,CAAO,CAACD,MAAR,CAAeD,aAAf,CAA6BE,CAAO,CAACD,MAArC,CArBb,CAsBpDf,SAAS,CAAC4C,KAAV,CAAgB0R,UAAhB,CAA2B5L,CAA3B,CAtBoD,GAsBlBA,CAAI,CAAG1I,SAAS,CAAC4C,KAAV,CAAgBkM,cAAhB,CAA+BpG,CAA/B,CAtBW,EAwBvD1H,CAAO,CAACmE,GAAR,CAAcA,CAxByC,CAyBvDnE,CAAO,CAAC0H,IAAR,CAAeA,CAzBwC,CA0BvD1H,CAAO,CAACyH,QAAR,CAAmBA,CA1BoC,CA4BvD,GAAI8L,CAAAA,CAAW,CAAGvU,SAAS,CAAC4C,KAAV,CAAgBoH,SAAhB,IAAiC,CAClDwK,EAAE,CAAE,SAAUnO,CAAV,CAAoBoO,CAApB,CAA4B,CAC/BzT,CAAO,CAACwG,cAAR,CAAyBiN,CADM,CAE/BtU,IAAI,CAACuU,YAAL,CAAkBvP,CAAlB,CAAuBkB,CAAvB,CAAiCoC,CAAjC,CAA2CzH,CAA3C,CACA,CAJiD,CAKlD2T,GAAG,CAAE,SAAUtO,CAAV,CAAoBoO,CAApB,CAA4B,CAChCzT,CAAO,CAACwG,cAAR,CAAyBiN,CADO,CAElB,GAAX,GAAAA,CAAM,EAAuB,GAAX,GAAAA,CAFW,EAI/BtU,IAAI,CAAC4J,YAAL,CAAkBG,UAAlB,CAA+B/E,CAJA,CAK/BhF,IAAI,CAAC4J,YAAL,CAAkB+C,SAAlB,CAA8B9M,SAAS,CAAC4C,KAAV,CAAgB0C,aAAhB,CAA8BjB,MAAM,CAACC,QAAP,CAAgBM,IAA9C,CAAoD,CAACK,MAAM,CAAE,MAAT,CAApD,CALC,CAM/B9E,IAAI,CAAC8F,SAAL,EAN+B,CAS/B9F,IAAI,CAACuU,YAAL,CAAkBvP,CAAlB,CAAuBkB,CAAvB,CAAiCoC,CAAjC,CAA2CzH,CAA3C,CAT+B,EAW/Bb,IAAI,CAACuU,YAAL,CAAkBvP,CAAlB,CAAuBkB,CAAvB,CAAiC,CAChCuO,UAAU,CAAEzU,IAAI,CAACa,OAAL,CAAaoF,WADO,CAEhC6K,SAAS,CAAE9Q,IAAI,CAACa,OAAL,CAAaoF,WAFQ,CAGhCyO,SAAS,CAAE1U,IAAI,CAACa,OAAL,CAAaoF,WAHQ,CAAjC,CAIGpF,CAJH,CAMD,CAtBiD,CAuBlD8T,QAAQ,CAAE,SAAUC,CAAV,CAAuBC,CAAvB,CAA4B,CACrC,GAAGhU,CAAO,CAACiU,eAAX,CAA4B,OADS,GAEjCC,CAAAA,CAAM,CAAG,CAACF,CAAG,CAACG,WAAJ,CAAgB,GAAjB,EAAsB9M,KAAtB,CAA4B,GAA5B,CAFwB,CAGjC+M,CAAS,CAAGF,CAAM,CAAC,CAAD,CAHe,CAIrCA,CAAM,CAAG,CAACA,CAAM,CAAC,CAAD,CAAN,CAAU,GAAX,EAAgB7M,KAAhB,CAAsB,GAAtB,CAJ4B,IAKjCgN,CAAAA,CAAS,CAAGrV,SAAS,CAAC4C,KAAV,CAAgBoM,cAAhB,CAA+BkG,CAAM,CAAC,CAAD,CAArC,IALqB,CAMjCI,CAAO,CAAGJ,CAAM,CAAC,CAAD,CANiB,CAQrC,MAAOG,CAAAA,CAAS,CAACE,gBARoB,CASrC,MAAOF,CAAAA,CAAS,CAACG,IAToB,CAUrC,MAAOH,CAAAA,CAAS,CAACI,MAVoB,CAWrC,MAAOJ,CAAAA,CAAS,CAACK,GAXoB,IAajCC,CAAAA,CAAS,CAAG3V,SAAS,CAAC4C,KAAV,CAAgBkM,cAAhB,CAA+BuG,CAA/B,CAbqB,CAcjCO,CAAM,CAAGN,CAAO,EAAIK,CAAS,CAAG,IAAMA,CAAT,CAAqB,EAAlC,CAdiB,CAerC3U,CAAO,CAACmP,UAAR,CAAqByF,CAfgB,CAgBlC5U,CAAO,EAAIA,CAAO,CAAC2N,UAhBe,CAiBpCtK,MAAM,CAAC8F,OAAP,CAAeqF,SAAf,CAAyBrP,IAAI,CAAC4J,YAA9B,CAA4C,IAA5C,CAAkD6L,CAAlD,CAjBoC,CAmBpCvR,MAAM,CAAC8F,OAAP,CAAesF,YAAf,CAA4BtP,IAAI,CAAC4J,YAAjC,CAA+C,IAA/C,CAAqD6L,CAArD,CAED,CA5CiD,CA6ClDxE,OAAO,CAAE,IA7CyC,CAAjC,CA8CfpQ,CAAO,CAACuT,WA9CO,CAAlB,CAqEA,MAjBIvU,CAAAA,SAAS,CAACiQ,OAAV,EAAqBjQ,SAAS,CAACiQ,OAAV,CAAkBC,IAiB3C,GAjBiD/K,CAAG,EAAI,WAAanF,SAAS,CAACiQ,OAAV,CAAkBC,IAAlB,CAAuB3O,EAiB5F,EAhBA4D,CAAG,EAAI,QAAQhF,IAAI,CAACG,OAgBpB,CAfAU,CAAO,CAACD,MAAR,CAAeJ,SAAf,CAAyBkV,OAAzB,CAAiC,CAChC1Q,GAAG,CAAEA,CAD2B,CAEhCwK,SAAS,GAFuB,CAGhChB,UAAU,CAAI3N,CAAO,EAAIA,CAAO,CAAC2N,UAApB,IAHmB,CAAjC,CAeA,CAVA3O,SAAS,CAAC4C,KAAV,CAAgB+F,OAAhB,CAAwB,CACvBxD,GAAG,CAAEA,CADkB,CAEvB2Q,MAAM,CAAGpN,CAAI,CAAG,MAAH,CAAY,KAFF,CAGvBqN,IAAI,CAAErN,CAHiB,CAIvBwI,KAAK,CAAEA,CAJgB,CAKvB8E,OAAO,CAhBM,IAWU,CAMvB5E,OAAO,CAAEpQ,CAAO,CAACoQ,OAAR,EAAmB,GANL,CAOvB6E,OAAO,CAjBM,EAUU,CAQvBxN,QAAQ,CAAE8L,CARa,CAAxB,CAUA,GACA,CA2ZD,CAzZA,KAAKrG,IAAL,CAAY,SAASA,CAAT,CAAezF,CAAf,CAAyBC,CAAzB,CAA+BvD,CAA/B,CAAoC+Q,CAApC,CAA4ClV,CAA5C,CAAoD,CAC/DmE,CAAG,CAAGA,CAAG,EAAId,MAAM,CAACC,QAAP,CAAgBM,IADkC,CAE/D,GAAIS,CAAAA,CAAO,CAAGrF,SAAS,CAAC4C,KAAV,CAAgB0C,aAAhB,CAA8BH,CAA9B,CAAmC,CAAC+I,IAAI,CAAEA,CAAP,CAAaiI,aAAa,CAAED,CAA5B,CAAnC,CAAd,CACA/V,IAAI,CAACqI,QAAL,CAAcnD,CAAd,CAAuBoD,CAAvB,CAAiCC,CAAjC,CAAuC1H,CAAvC,CACA,CAqZD,CA5YA,KAAK0T,YAAL,CAAoB,SAAUvP,GAAV,CAAekB,QAAf,CAAyBoC,QAAzB,CAAmCzH,OAAnC,CAA4C,CAC3Db,IAAI,CAACa,OAAL,CAAayB,KAD8C,EACvCC,OAAO,CAACqF,GAAR,CAAY,mBAAsB5C,GAAtB,CAA4B,aAAxC,CAAwDnF,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgCC,OAAxF,CADuC,IAE3DoT,CAAAA,YAAY,CAAG,UAAY,CAI9B,GAHApV,OAAO,CAACD,MAAR,CAAeJ,SAAf,CAAyB0V,GAAzB,EAGA,CAFA,MAAOlW,CAAAA,IAAI,CAAC2J,aAAL,CAAmB3E,GAAnB,CAEP,CAAsC,CAAlC,CAAAnE,OAAO,CAACD,MAAR,CAAeJ,SAAf,CAAyBsB,MAA7B,CAAyC,CACxC,GAAIqU,CAAAA,CAAW,CAAGtV,OAAO,CAACD,MAAR,CAAeJ,SAAf,CAAyBK,OAAO,CAACD,MAAR,CAAeJ,SAAf,CAAyBsB,MAAzB,CAAkC,CAA3D,CAAlB,CAGA,GADI9B,IAAI,CAACa,OAAL,CAAayB,KACjB,EADwBC,OAAO,CAACqF,GAAR,CAAY,kBAAqBuO,CAAW,CAACnR,GAAjC,CAAuC,GAAnD,CACxB,CAAImR,CAAW,CAACnR,GAAZ,GAAmBhF,CAAAA,IAAI,CAAC2J,aAA5B,CAA2C,CAC1C,GAAIsM,CAAAA,CAAY,CAAGjW,IAAI,CAAC2J,aAAL,CAAmBwM,CAAW,CAACnR,GAA/B,CAAnB,CACA,MAAOhF,CAAAA,IAAI,CAACuU,YAAL,CAAkB4B,CAAW,CAACnR,GAA9B,CAAmCiR,CAAY,CAAC/P,QAAhD,CAA0D+P,CAAY,CAAC3N,QAAvE,CAAiF2N,CAAY,CAACpV,OAA9F,CACP,CACD,CARD,IASChB,CAAAA,SAAS,CAACkC,KAAV,CAAgB,IAAIlB,OAAO,CAACD,MAAR,CAAec,WAAf,CAA2Bb,OAAO,CAACD,MAAnC,CAApB,CATD,CAWA,QACA,CAlB8D,CAoB3DwV,aAAa,CAAGvV,OAAO,CAACD,MAAR,CAAeJ,SAAf,CAAyBK,OAAO,CAACD,MAAR,CAAeJ,SAAf,CAAyBsB,MAAzB,CAAkC,CAA3D,CApB2C,CAqB/D,GAAIsU,aAAa,EAAIA,aAAa,CAACpR,GAAd,GAAsBA,GAA3C,CAAgD,CAI/C,GAHIhF,IAAI,CAACa,OAAL,CAAayB,KAGjB,EAHwBC,OAAO,CAACqF,GAAR,CAAY,+BAAkC5C,GAAlC,CAAwC,IAApD,CAA2DnF,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgCC,OAA3F,CAGxB,CAAIuT,aAAa,CAAC5G,SAAlB,CAEC,MADIxP,CAAAA,IAAI,CAACa,OAAL,CAAayB,KACjB,EADwBC,OAAO,CAACqF,GAAR,CAAY,oBAAuB5C,GAAvB,CAA6B,kBAAzC,CAA8DnF,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgCC,OAA9F,CACxB,CAAOoT,YAAY,EAAnB,CAID,GAAII,CAAAA,WAAW,CAAG,EAAlB,CAYA,GAXI/N,QAAQ,EAAwB,QAApB,QAAOA,CAAAA,QAWvB,GAVC+N,WAAW,CAAG/N,QAUf,CATCA,QAAQ,CAAG,IASZ,CARK+N,WAAW,CAACvF,SAAZ,EAA0D,UAAjC,QAAOuF,CAAAA,WAAW,CAACvF,SAQjD,GAR2ExI,QAAQ,CAAG+N,WAAW,CAACvF,SAQlG,GANIjQ,OAAO,CAAC2N,UAMZ,GALCxO,IAAI,CAAC4J,YAAL,CAAkB8C,UAAlB,CAA+B7L,OAAO,CAACwG,cAKxC,CAJCrH,IAAI,CAAC8F,SAAL,EAID,EAAII,QAAJ,CAAc,CAEb,GAAIe,CAAAA,WAAW,CAAG,EAAlB,CAGA,GAAIoP,WAAW,CAAC5G,aAAZ,EAAkE,UAArC,QAAO4G,CAAAA,WAAW,CAAC5G,aAApD,CACC,GAAI,CACH4G,WAAW,CAAC5G,aAAZ,CAA0BvJ,QAA1B,CAAoCrF,OAApC,CACA,CAAC,MAAOuF,CAAP,CAAc,CACfpG,IAAI,CAACa,OAAL,CAAaoF,WAAb,CAAyBC,QAAzB,CAAmCrG,SAAS,CAAC4C,KAAV,CAAgBqM,QAAhB,IAAgCjO,OAAhC,CAAyC,CAC3EuF,KAAK,CAAEA,CADoE,CAE3EK,IAAI,CAAE4P,WAAW,CAAC5G,aAAZ,CAA0B/H,QAA1B,EAFqE,CAG3EvB,OAAO,CAAE,oDAHkE,CAAzC,CAAnC,CAKA,CAIF,GAAI,CACHe,IAAI,CAAC,iBAAmBhB,QAAQ,CAACiB,SAAT,CAAmBjB,QAAQ,CAAC5B,OAAT,CAAiB,GAAjB,CAAnB,CAApB,CACJ,CAAC,MAAO8B,CAAP,CAAc,CACf,GAAIiQ,WAAW,CAAC3B,SAAZ,EAA0D,UAAjC,QAAO2B,CAAAA,WAAW,CAAC3B,SAAhD,CACC2B,WAAW,CAAC3B,SAAZ,CAAsBxO,QAAtB,CAAgCrF,OAAhC,CADD,KAEO,CACN,GAAI6T,CAAAA,SAAS,CAAG,CAAC2B,WAAW,CAAC3B,SAAZ,EAAyB,WAA1B,EAAuChN,QAAvC,EAAhB,CACA1H,IAAI,CAACa,OAAL,CAAaoF,WAAb,CAAyBC,QAAzB,CAAmCrG,SAAS,CAAC4C,KAAV,CAAgBqM,QAAhB,IAAgCjO,OAAhC,CAAyC,CAC3EuF,KAAK,CAAEA,CADoE,CAE3EK,IAAI,CAAEiO,SAFqE,CAG3EvO,OAAO,CAAE,iCAHkE,CAAzC,CAAnC,CAKA,CACD,MAAO8P,CAAAA,YAAY,EACnB,CAGD,GAFIjW,IAAI,CAACa,OAAL,CAAayB,KAEjB,EAFwBC,OAAO,CAACqF,GAAR,CAAY,UAAZ,CAAwBX,WAAW,CAACqP,QAApC,CAA8CtR,GAA9C,CAExB,CAA6B,GAAzB,CAAAnE,OAAO,CAACwG,cAAR,EAA8E,CAAC,CAA/C,IAAC,GAAD,CAAK,GAAL,EAAU/C,OAAV,CAAkBzD,OAAO,CAACwG,cAA1B,CAApC,CAAsF,CACrF,GAAIkP,CAAAA,WAAW,CAAGF,WAAW,CAACG,OAAZ,EAAuBxW,IAAI,CAACa,OAAL,CAAaoF,WAAtD,CAKA,MAJAsQ,CAAAA,WAAW,CAACrQ,QAAD,CAAWrG,SAAS,CAAC4C,KAAV,CAAgBqM,QAAhB,IAAgCjO,OAAhC,CAAyC,CAC9DsF,OAAO,CAAEtG,SAAS,CAAC4C,KAAV,CAAgB2E,MAAhB,CAAuB,YAAvB,CAAqCH,WAArC,GAAqDpH,SAAS,CAACiH,QAAV,CAAmB,aAAejG,OAAO,CAACwG,cAA1C,CADA,CAE9DZ,IAAI,CAAEP,QAFwD,CAAzC,CAAX,CAIX,CAAO+P,YAAY,EACnB,CAcD,GAbIhP,WAAW,CAACwP,YAahB,EAZC3O,OAAO,CAAC,CAAC,iBAAD,CAAD,CAAsB,IAAI,CAChCjI,SAAS,CAAC6W,KAAV,CAAgBzP,WAAW,CAACwP,YAA5B,CAA0C,IAA1C,CAAgD,CAAE5P,OAAO,CAAEhH,SAAS,CAACiH,QAAV,CAAmB,YAAnB,CAAX,CAAhD,CACA,CAFM,CAYR,CARIG,WAAW,CAAC0P,WAQhB,EAPC7O,OAAO,CAAC,CAAC,wBAAD,CAAD,CAA6B,IAAI,CACvCjI,SAAS,CAACkC,KAAV,CAAgB,IAAMlC,SAAS,CAACiQ,OAAV,CAAkB8G,WAAlB,CAA8B3P,WAAW,CAAC0P,WAA1C,CAAtB,CACA,CAFM,CAOR,CAHG1P,WAAW,CAAC6I,OAGf,EAFCjQ,SAAS,CAAC4C,KAAV,CAAgBoH,SAAhB,IAAiChK,SAAS,CAAC+V,IAAV,CAAe9F,OAAhD,CAAyD7I,WAAW,CAAC6I,OAArE,CAED,CAAG7I,WAAW,CAACiD,IAAZ,EAAoBgD,MAAM,CAACC,IAAP,CAAYlG,WAAW,CAACiD,IAAxB,EAA8BpI,MAArD,CAA4D,CAC3DjC,SAAS,CAACuI,OAAV,CAAkBwB,YAAlB,CAA+BM,IAA/B,CAAoCe,IAApC,CAAyC,CAACjG,GAAG,CAAEA,GAAN,CAAWkF,IAAI,CAAEjD,WAAW,CAACiD,IAA7B,CAAzC,CAD2D,CAE3D3H,OAAO,CAACD,KAAR,CAAc,sBAAd,CAAsCzC,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgCiU,OAAtE,CAA+E,EAA/E,CAAmF7R,GAAnF,CAAwFiC,WAAW,CAACiD,IAApG,CAF2D,CAG3D,GAAI4M,CAAAA,CAAO,CAAGhW,QAAQ,CAACI,cAAT,CAAwB,OAAxB,CAAd,CACA,GAAG4V,CAAH,CAAW,CACV,GAAIC,CAAAA,CAAM,CAAG9P,WAAW,CAACiD,IAAZ,CAAiB8M,SAAjB,EAA8B/P,WAAW,CAACiD,IAAZ,CAAiB+M,KAAjB,CAAuBlS,IAAvB,CAA4B,MAA5B,CAA3C,CACGlE,OAAO,CAAC2N,UAFD,CAGTsI,CAAO,CAACI,SAAR,CAAoBH,CAHX,CAKTD,CAAO,CAACI,SAAR,EAAqB,qEAAqElS,GAArE,CAA2E,oCAA3E,CAAgH+R,CAAhH,CAAyH,kBAE/I,CACD,CACDxU,OAAO,CAACoJ,IAAR,CAAa,sBAAb,CAAqC,+EAArC,CAAsH,CACrHwL,WAAW,CAAEnS,GADwG,CAErHoS,aAAa,CAAEvX,SAAS,CAACiQ,OAAV,CAAkBC,IAAlB,CAAuB3O,EAF+E,CAGrHiW,cAAc,CAAEpQ,WAAW,CAAC4I,MAHyF,CAIrHyH,cAAc,CAAE,CAACzX,SAAS,CAAC+V,IAAX,EAAmB,CAAC/V,SAAS,CAAC+V,IAAV,CAAe9F,OAAnC,EAA8CjQ,SAAS,CAAC+V,IAAV,CAAe9F,OAAf,CAAuB3P,OAJgC,CAKrHoX,eAAe,CAAEtQ,WAAW,CAAC9G,OALwF,CAAtH,CArEa,IA4ETqX,CAAAA,OAAO,CAAG3X,SAAS,CAACiQ,OAAV,CAAkBC,IAAlB,CAAuB3O,EAAvB,EAA6B,EA5E9B,CA6ETqW,OAAO,CAAGxQ,WAAW,CAAC4I,MA7Eb,CA8ET6H,UAAU,CAAGzQ,WAAW,CAAC0Q,cAAZ,EAA8B,EA9ElC,CA+Eb,GAAG,CAAC9W,OAAO,CAAC2N,UAAT,EAAuBxO,IAAI,CAAC4X,WAA/B,MAEO,IAAIH,OAAO,GAAKD,OAAZ,EAAuB,CAAC3X,SAAS,CAAC+V,IAAlC,EAA0C,CAAC/V,SAAS,CAAC+V,IAAV,CAAe9F,OAA1D,EAAqEjQ,SAAS,CAAC+V,IAAV,CAAe9F,OAAf,CAAuB3P,OAAvB,GAAmC8G,WAAW,CAAC9G,OAAxH,CAAiI,CAUvI,GATAH,IAAI,CAAC6X,UAAL,GASA,CARGJ,OAAO,GAAKD,OAQf,EAPC1P,OAAO,CAAC,CAAC,wBAAD,CAA0B,mBAA1B,CAAD,CAAiD,IAAI,CACtCjI,SAAS,CAACiQ,OAAV,CAAkBC,IAAlB,CAAuB+H,YAAvB,EADsC,CAExDjY,SAAS,CAACiQ,OAAV,CAAkBC,IAAlB,CAAuB3O,EAAvB,CAA4B6F,WAAW,CAAC4I,MAFgB,CAGxDhQ,SAAS,CAACkY,OAAV,CAAkBC,MAAlB,CAAyB,QAAzB,CAAmC/Q,WAAW,CAAC4I,MAA/C,CACe,CAJZ,CAOR,CADAtN,OAAO,CAACoJ,IAAR,CAAa,QAAb,CAAsB9L,SAAS,CAACiQ,OAAV,CAAkBC,IAAlB,CAAuB3O,EAA7C,CAAiD6F,WAAW,CAAC4I,MAA7D,CAAqEhQ,SAAS,CAAC4C,KAAV,CAAgBwV,SAAhB,CAA0BpY,SAA1B,CAAqC,sBAArC,CAArE,CAAmIoH,WAAW,CAAC9G,OAA/I,CACA,CAAGU,OAAO,CAAC2N,UAAR,EAAsB3O,SAAS,CAAC+V,IAAV,CAAe9F,OAAf,CAAuB3P,OAAvB,GAAmC8G,WAAW,CAAC9G,OAAxE,CAAiF,MAAO+D,CAAAA,MAAM,CAACC,QAAP,CAAgBW,MAAhB,EAAP,CACjFjF,SAAS,CAACuI,OAAV,CAAkB/C,iBAAlB,CAAoCqS,UAAU,CAAC/C,QAA/C,CAAyD,IAAzD,CAA+D,IAA/D,CAAqE,CAAC7P,MAAM,CAAE,MAAT,CAAiB0J,UAAU,GAA3B,CAAoCe,SAAS,GAA7C,CAAqDyG,aAAa,CAAE,CAAClG,OAAO,CAAE,CAAV,CAApE,CAAkFxH,QAAQ,CAAE,IAAI,CACpK/F,OAAO,CAACqF,GAAR,CAAY,aAAZ,CADoK,CAEhK6P,OAAO,GAAKD,OAFoJ,GAGnJ,EAAZ,GAAAC,OAH+J,CAIlK3P,OAAO,CAAC,CAAC,wBAAD,CAAD,CAA6B,IAAI,CACvCjI,SAAS,CAACiQ,OAAV,CAAkBoI,MAAlB,CAAyBrY,SAAS,CAACiH,QAAV,CAAmB,oBAAnB,CAAzB,CAAmE,SAAnE,CADuC,CAEvChG,QAAQ,CAAC8O,aAAT,CAAuB/P,SAAS,CAACiQ,OAAV,CAAkB1G,MAAlB,CAAyB+O,MAAhD,CAFuC,CAGvC5V,OAAO,CAACC,IAAR,CAAa,gBAAb,CACA,CAJM,CAJ2J,CAWlKsF,OAAO,CAAC,CAAC,wBAAD,CAAD,CAA6B,IAAI,CACvCjI,SAAS,CAACiQ,OAAV,CAAkBoI,MAAlB,CAAyBrY,SAAS,CAACiH,QAAV,CAAmB,mBAAnB,CAAzB,CAAkE,SAAlE,CADuC,CAEvChG,QAAQ,CAAC8O,aAAT,CAAuB/P,SAAS,CAACiQ,OAAV,CAAkB1G,MAAlB,CAAyBgP,KAAhD,CAFuC,CAGvC7V,OAAO,CAACC,IAAR,CAAa,eAAb,CACA,CAJM,CAX2J,CAkBpK,CAlBoE,CAArE,CAmBA,CAED,GAAI6V,CAAAA,OAAO,CAAGvX,QAAQ,CAACI,cAAT,CAAwBlB,IAAI,CAACa,OAAL,CAAaoB,cAArC,GAAwDnB,QAAQ,CAACC,IAA/E,CAjHa,GAyHTgR,CAAAA,GAzHS,CAyHJuG,CAzHI,CAuHTC,OAAO,CAAG1Y,SAAS,CAAC2Y,MAAV,CAAiBC,WAvHlB,CAwHTC,WAAW,CAAG7Y,SAAS,CAAC2Y,MAAV,CAAiBrY,OAxHtB,CA4HTwY,IAAI,QA5HK,CA6Hb,IAAKL,CAAL,GAAUrR,CAAAA,WAAW,CAAC2R,IAAtB,CAA4B,CAClB,MAAN,GAAAN,CADwB,GACVD,OAAO,CAAGvX,QAAQ,CAACC,IADT,KAGvB8X,CAAAA,MAAM,GAHiB,CAIvBC,MAAM,CAAGR,CAJc,CAKvBS,QAAQ,CAAG,IALY,CAW3B,GALqB,GAAjB,GAAAT,CAAC,CAACU,MAAF,CAAS,CAAC,CAAV,CAKJ,GAJCH,MAAM,GAIP,CAHCC,MAAM,CAAGR,CAAC,CAACU,MAAF,CAAS,CAAT,CAAYV,CAAC,CAACxW,MAAF,CAAW,CAAvB,CAGV,EADAiQ,GAAG,CAAGjR,QAAQ,CAACI,cAAT,CAAwB4X,MAAxB,CACN,CAAI/G,GAAJ,CAAS,CACR,GAAI8G,MAAJ,KACCE,QAAQ,CAAGjY,QAAQ,CAACK,aAAT,CAAuB4Q,GAAG,CAACkH,OAA3B,CADZ,CAICF,QAAQ,CAAC7B,SAAT,CAAqBjQ,WAAW,CAAC2R,IAAZ,CAAiBN,CAAjB,EAAoB/Q,OAApB,CAA4BoR,IAA5B,CAAkC,IAAlC,CAJtB,CAKQI,QAAQ,CAACG,UALjB,EAMEnH,GAAG,CAACxQ,WAAJ,CAAgBwX,QAAQ,CAACnX,WAAT,CAAqBmX,QAAQ,CAACG,UAA9B,CAAhB,EANF,IAUCnH,CAAAA,GAAG,CAACmF,SAAJ,CAAgBjQ,WAAW,CAAC2R,IAAZ,CAAiBN,CAAjB,EAAoB/Q,OAApB,CAA4BoR,IAA5B,CAAkC,IAAlC,CAVjB,CAYA,IAAK,GAAIrL,CAAAA,WAAT,GAAwBtN,CAAAA,IAAI,CAACa,OAAL,CAAagD,YAArC,CACC7D,IAAI,CAAC6D,YAAL,CAAkB7D,IAAI,CAACoN,YAAL,CAAkBE,WAAlB,CAA+ByE,GAA/B,CAAlB,CAAuDzE,WAAvD,CAED,CAhBD,IAiBC/K,CAAAA,OAAO,CAAC6D,KAAR,CAAc,oDAAsD0S,MAAtD,CAA+D,iBAA7E,CAAgGjZ,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgCyD,QAAhI,CAED,CAED,GAAIgQ,WAAW,CAAC8C,gBAAZ,EAAwE,UAAxC,QAAO9C,CAAAA,WAAW,CAAC8C,gBAAvD,CACC,GAAI,CACH9C,WAAW,CAAC8C,gBAAZ,CAA6BlS,WAAW,CAAC4J,MAAzC,CAAiDhQ,OAAjD,CACA,CAAC,MAAOuF,CAAP,CAAc,CACfpG,IAAI,CAACa,OAAL,CAAaoF,WAAb,CAAyBC,QAAzB,CAAmCrG,SAAS,CAAC4C,KAAV,CAAgBqM,QAAhB,IAAgCjO,OAAhC,CAAyC,CAC3EuF,KAAK,CAAEA,CADoE,CAE3EK,IAAI,CAAE4P,WAAW,CAAC8C,gBAAZ,CAA6BzR,QAA7B,EAFqE,CAG3EvB,OAAO,CAAE,uDAHkE,CAAzC,CAAnC,CAKA,CAOF,GAHIc,WAAW,CAACsJ,cAAZ,CAA2B,KAA3B,CAGJ,GAHuCgI,OAAO,CAAGtR,WAAW,CAACmS,GAG7D,EAFInS,WAAW,CAACsJ,cAAZ,CAA2B,SAA3B,CAEJ,GAF2CmI,WAAW,CAAGzR,WAAW,CAAC9G,OAErE,EADIH,IAAI,CAACuQ,cAAL,CAAoB,mBAApB,CACJ,EAD8C,MAAOvQ,CAAAA,IAAI,CAACsK,iBAC1D,CAAI,CAACiO,OAAO,GAAK1Y,SAAS,CAAC2Y,MAAV,CAAiBC,WAA7B,EAA4CC,WAAW,GAAK7Y,SAAS,CAAC2Y,MAAV,CAAiBrY,OAA9E,GAA+G,EAArB,GAAA8G,WAAW,CAAC2R,IAA1G,CAAuH,CACtH5Y,IAAI,CAACkT,eAAL,CAAqB,mCAAqCrT,SAAS,CAAC2Y,MAAV,CAAiBC,WAAtD,CAAoE,WAApE,CAAkF5Y,SAAS,CAAC2Y,MAAV,CAAiBrY,OAAxH,CAAiI,KAAjI,CADsH,CAEtHH,IAAI,CAACkT,eAAL,CAAqB,kCAAoCrT,SAAS,CAAC2Y,MAAV,CAAiBC,WAArD,CAAmE,WAAnE,CAAiF5Y,SAAS,CAAC2Y,MAAV,CAAiBrY,OAAvH,CAAgI,IAAhI,CAFsH,CAItHN,SAAS,CAAC2Y,MAAV,CAAiBC,WAAjB,CAA+BF,OAAO,EAAI,EAJ4E,CAKtH1Y,SAAS,CAAC2Y,MAAV,CAAiBrY,OAAjB,CAA2BuY,WAAW,EAAI,EAL4E,IAOlHW,CAAAA,aAAa,CAAGrZ,IAAI,CAAC8S,eAAL,CAAqB,kCAAoCjT,SAAS,CAAC2Y,MAAV,CAAiBC,WAArD,CAAmE,WAAnE,CAAiF5Y,SAAS,CAAC2Y,MAAV,CAAiBrY,OAAvH,CAAgI,IAAhI,CAPkG,CAQlHmZ,YAAY,CAAGtZ,IAAI,CAAC8S,eAAL,CAAqB,mCAAqCjT,SAAS,CAAC2Y,MAAV,CAAiBC,WAAtD,CAAoE,WAApE,CAAkF5Y,SAAS,CAAC2Y,MAAV,CAAiBrY,OAAxH,CAAiI,KAAjI,CARmG,CA2DtH,GAjDAH,IAAI,CAACuK,gBAAL,CAAwB,UAAiB,CAIxC,GAHA8O,aAAa,CAACE,mBAAd,CAAkC,MAAlC,CAA0CvZ,IAAI,CAACuK,gBAA/C,IAGA,CAFA8O,aAAa,CAACE,mBAAd,CAAkC,OAAlC,CAA2CvZ,IAAI,CAACuK,gBAAhD,IAEA,CAAI8L,WAAW,CAACjG,UAAZ,EAA4D,UAAlC,QAAOiG,CAAAA,WAAW,CAACjG,UAAjD,CACC,GAAI,CACHiG,WAAW,CAACjG,UAAZ,CAAuBnJ,WAAvB,CAAoCpG,OAApC,CACA,CAAC,MAAOuF,CAAP,CAAc,CACfpG,IAAI,CAACa,OAAL,CAAaoF,WAAb,CAAyBC,QAAzB,CAAmCrG,SAAS,CAAC4C,KAAV,CAAgBqM,QAAhB,IAAgCjO,OAAhC,CAAyC,CAC3EuF,KAAK,CAAEA,CADoE,CAE3EK,IAAI,CAAE4P,WAAW,CAACjG,UAAZ,CAAuB1I,QAAvB,EAFqE,CAG3EvB,OAAO,CAAE,iDAHkE,CAAzC,CAAnC,CAKA,CAEF,IAAKmS,CAAL,GAAUrR,CAAAA,WAAW,CAAC2R,IAAtB,CAA4B5Y,IAAI,CAACuT,MAAL,CAAYtM,WAAW,CAAC2R,IAAZ,CAAiBN,CAAjB,CAAZ,CAAiCzX,OAAjC,EAE5B,GAAIA,OAAO,EAAIA,OAAO,CAAC2N,UAAnB,EAAiCxO,IAAI,CAACsK,iBAAtC,EAA6F,UAAlC,QAAOtK,CAAAA,IAAI,CAACsK,iBAA3E,CACC,GAAI,CACHtK,IAAI,CAACsK,iBAAL,CAAuBtK,IAAI,CAAC4J,YAAL,CAAkB4P,QAAlB,EAA8B,EAArD,CACA,CAAC,MAAOpT,CAAP,CAAc,CACfpG,IAAI,CAACa,OAAL,CAAaoF,WAAb,CAAyBC,QAAzB,CAAmCrG,SAAS,CAAC4C,KAAV,CAAgBqM,QAAhB,IAAgCjO,OAAhC,CAAyC,CAC3EuF,KAAK,CAAEA,CADoE,CAE3EK,IAAI,CAAEzG,IAAI,CAACsK,iBAAL,CAAuB5C,QAAvB,EAFqE,CAG3EvB,OAAO,CAAE,wDAHkE,CAAzC,CAAnC,CAKA,CAIF,GAAImC,QAAQ,EAAwB,UAApB,QAAOA,CAAAA,QAAvB,CACC,GAAI,CACHA,QAAQ,CAACrB,WAAW,CAAC4J,MAAb,CAAqBhQ,OAArB,CACR,CAAC,MAAOuF,CAAP,CAAc,CACfpG,IAAI,CAACa,OAAL,CAAaoF,WAAb,CAAyBC,QAAzB,CAAmCrG,SAAS,CAAC4C,KAAV,CAAgBqM,QAAhB,IAAgCjO,OAAhC,CAAyC,CAC3EuF,KAAK,CAAEA,CADoE,CAE3EK,IAAI,CAAE6B,QAAQ,CAACZ,QAAT,EAFqE,CAG3EvB,OAAO,CAAE,yCAHkE,CAI3EsT,SAAS,GAJkE,CAAzC,CAAnC,CAMA,CAGFzZ,IAAI,CAAC+B,KAAL,EACA,CAKD,CAHAsX,aAAa,CAACnN,gBAAd,CAA+B,MAA/B,CAAuClM,IAAI,CAACuK,gBAA5C,IAGA,CAFA8O,aAAa,CAACnN,gBAAd,CAA+B,OAA/B,CAAwClM,IAAI,CAACuK,gBAA7C,IAEA,CAAG,CAAC8N,OAAJ,CAAa,MAAOnU,CAAAA,MAAM,CAACC,QAAP,CAAgBW,MAAhB,EAAP,CAEbuT,OAAO,CAACqB,YAAR,CAAqBL,aAArB,CAAoChB,OAAO,CAACa,UAA5C,CA7DsH,CA8DtHb,OAAO,CAACqB,YAAR,CAAqBJ,YAArB,CAAmCjB,OAAO,CAACa,UAA3C,CACA,CA/DD,IA+DO,CACN,GAAI7C,WAAW,CAACjG,UAAZ,EAA4D,UAAlC,QAAOiG,CAAAA,WAAW,CAACjG,UAAjD,CACC,GAAI,CACHiG,WAAW,CAACjG,UAAZ,CAAuBnJ,WAAvB,CAAoCpG,OAApC,CACA,CAAC,MAAOuF,CAAP,CAAc,CACfpG,IAAI,CAACa,OAAL,CAAaoF,WAAb,CAAyBC,QAAzB,CAAmCrG,SAAS,CAAC4C,KAAV,CAAgBqM,QAAhB,IAAgCjO,OAAhC,CAAyC,CAC3EuF,KAAK,CAAEA,CADoE,CAE3EK,IAAI,CAAE4P,WAAW,CAACjG,UAAZ,CAAuB1I,QAAvB,EAFqE,CAG3EvB,OAAO,CAAE,iDAHkE,CAAzC,CAAnC,CAKA,CAEF,IAAKmS,CAAL,GAAUrR,CAAAA,WAAW,CAAC2R,IAAtB,CAA4B5Y,IAAI,CAACuT,MAAL,CAAYtM,WAAW,CAAC2R,IAAZ,CAAiBN,CAAjB,CAAZ,CAAiCzX,OAAjC,EAG5B,GAAIyH,QAAQ,EAAwB,UAApB,QAAOA,CAAAA,QAAvB,CACC,GAAI,CACHA,QAAQ,CAACrB,WAAW,CAAC4J,MAAb,CAAqBhQ,OAArB,CACR,CAAC,MAAOuF,CAAP,CAAc,CACfpG,IAAI,CAACa,OAAL,CAAaoF,WAAb,CAAyBC,QAAzB,CAAmCrG,SAAS,CAAC4C,KAAV,CAAgBqM,QAAhB,IAAgCjO,OAAhC,CAAyC,CAC3EuF,KAAK,CAAEA,CADoE,CAE3EK,IAAI,CAAE6B,QAAQ,CAACZ,QAAT,EAFqE,CAG3EvB,OAAO,CAAE,yCAHkE,CAI3EsT,SAAS,GAJkE,CAAzC,CAAnC,CAMA,CAGFzZ,IAAI,CAAC+B,KAAL,EACA,CAED,GAAIsU,WAAW,CAACsD,gBAAZ,EAAwE,UAAxC,QAAOtD,CAAAA,WAAW,CAACsD,gBAAvD,CACC,GAAI,CACHtD,WAAW,CAACsD,gBAAZ,CAA6B1S,WAAW,CAAC4J,MAAzC,CAAiDhQ,OAAjD,CACA,CAAC,MAAOuF,CAAP,CAAc,CACfpG,IAAI,CAACa,OAAL,CAAaoF,WAAb,CAAyBC,QAAzB,CAAmCrG,SAAS,CAAC4C,KAAV,CAAgBqM,QAAhB,IAAgCjO,OAAhC,CAAyC,CAC3EuF,KAAK,CAAEA,CADoE,CAE3EK,IAAI,CAAE4P,WAAW,CAACsD,gBAAZ,CAA6BjS,QAA7B,EAFqE,CAG3EvB,OAAO,CAAE,uDAHkE,CAAzC,CAAnC,CAKA,CAGF,IAAKmS,CAAL,GAAUrR,CAAAA,WAAW,CAAC2R,IAAtB,CACC7G,GAAG,CAAGjR,QAAQ,CAACI,cAAT,CAAwBoX,CAAxB,CADP,CAEKvG,GAAG,EAAwC,UAApC,QAAO/R,CAAAA,IAAI,CAACa,OAAL,CAAauB,WAFhC,EAGEpC,IAAI,CAACa,OAAL,CAAauB,WAAb,CAAyB2P,GAAzB,CAHF,CAvRa,MA8RW,QAApB,QAAO7L,CAAAA,QAAP,EAAgC,SAAAe,WAAW,CAAC4J,MA9RnC,EA+RZoF,YAAY,EA/RA,CAgSRjW,IAAI,CAACa,OAAL,CAAayB,KAhSL,EAgSYC,OAAO,CAACqF,GAAR,CAAY,UAAYX,WAAW,CAAC4J,MAApC,CAhSZ,CAiSL5J,WAAW,CAAC4J,MAjSP,EAmSNoF,YAAY,EACnB,CACA,GAAII,WAAW,CAAC5B,UAAZ,EAA4D,UAAlC,QAAO4B,CAAAA,WAAW,CAAC5B,UAAjD,CACC,GAAI,CACH4B,WAAW,CAAC5B,UAAZ,CAAuBvO,QAAvB,CAAiCrF,OAAjC,CACA,CAAC,MAAOuF,CAAP,CAAc,CACfpG,IAAI,CAACa,OAAL,CAAaoF,WAAb,CAAyBC,QAAzB,CAAmCrG,SAAS,CAAC4C,KAAV,CAAgBqM,QAAhB,IAAgCjO,OAAhC,CAAyC,CAC3EuF,KAAK,CAAEA,CADoE,CAE3EK,IAAI,CAAE4P,WAAW,CAAC5B,UAAZ,CAAuB/M,QAAvB,EAFqE,CAG3EvB,OAAO,CAAE,6BAHkE,CAAzC,CAAnC,CAKA,CATF,IAWCnG,CAAAA,IAAI,CAACa,OAAL,CAAaoF,WAAb,CAAyBC,QAAzB,CAAmCrG,SAAS,CAAC4C,KAAV,CAAgBqM,QAAhB,IAAgCjO,OAAhC,CAAyC,CAC3EsF,OAAO,CAAE,6BADkE,CAAzC,CAAnC,CAXD,CAeA,MAAO8P,CAAAA,YAAY,EAEpB,CACKG,aAlWyD,EAqWzDpW,IAAI,CAACa,OAAL,CAAayB,KArW4C,EAsW5DC,OAAO,CAACqF,GAAR,CAAY,+CAAkD5C,GAAlD,CAAwD,gCAAxD,CAA6FoR,aAAa,CAACpR,GAA3G,CAAiH,GAA7H,CAAmInF,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgCC,OAAnK,CAtW4D,CAwW7D7C,IAAI,CAAC2J,aAAL,CAAmB3E,GAAnB,EAA0B,CACzBkB,QAAQ,CAAEA,QADe,CAEzBoC,QAAQ,CAAEA,QAFe,CAGzBzH,OAAO,CAAEA,OAHgB,CAxWmC,EAmW7D0B,OAAO,CAACqF,GAAR,CAAY,2BAAZ,CAAyC/H,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgCyD,QAAzE,CAYF,CA6BD,CAvBA,KAAKtE,KAAL,CAAa,SAAUuG,CAAV,CAAoB,CAChC,GAAI,MAAAA,CAAJ,CAA2B,MACE,CAArB,CAAAtI,IAAI,CAACmK,MAAL,CAAYrI,MADO,EAEzBwG,CAAQ,CAAGtI,IAAI,CAACmK,MAAL,CAAY+L,GAAZ,EAFc,CAGD,UAApB,QAAO5N,CAAAA,CAHc,CAGWA,CAAQ,EAHnB,CAIpB/F,OAAO,CAAC6D,KAAR,CAAc,mDAAd,CAAmEvG,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgCmK,OAAnG,CAJoB,CAO1B,MADAjM,CAAAA,QAAQ,CAAC8O,aAAT,CAAuB5P,IAAI,CAACoJ,MAAL,CAAYrH,KAAnC,CACA,GACA,CAT+B,MASD,UAApB,QAAOuG,CAAAA,CATc,EAUF,UAA1B,GAAAtI,IAAI,CAACoK,gBAAL,EAAyCpK,IAAI,CAACoK,gBAVlB,CAe9BpK,IAAI,CAACmK,MAAL,CAAYc,IAAZ,CAAiB3C,CAAjB,CAf8B,CAW9BR,OAAO,CAAC,CAAC,wBAAD,CAAD,CAA6B,IAAI,CACvCQ,CAAQ,EACR,CAFM,CAXuB,MAmBhC/F,OAAO,CAAC6D,KAAR,CAAc,+BAAd,CAA+CvG,SAAS,CAACgB,OAAV,CAAkB+B,aAAlB,CAAgCyD,QAA/E,CAnBgC,IAqBhC,CAED,CADA,KAAK0F,IAAL,EACA,CAAO,IACP,C,CAQDlM,SAAS,CAACuI,OAAV,CAAoB,GAAIvI,CAAAA,SAAS,CAACC,OAAV,CAAkBC,c,CAC1Ce,QAAQ,CAACoL,gBAAT,CAA0B,4BAA1B,CAAwD,IAAI,CAC3DrM,SAAS,CAAC4Y,WAAV,CAAsBmB,cAAtB,CAAqC3F,OAArC,CAA6C4F,CAAK,EAAE/Y,QAAQ,CAACyY,mBAAT,CAA6BM,CAAK,CAACC,KAAnC,CAA0CD,CAAK,CAACE,QAAhD,CAA0DF,CAAK,CAACG,QAAhE,CAApD,CAD2D,CAE3Dna,SAAS,CAAC4Y,WAAV,CAAwB,CAACmB,cAAc,CAAE,EAAjB,CACxB,CAHD,C,CAIA9Y,QAAQ,CAACoL,gBAAT,CAA0B,6BAA1B,CAAyD,IAAI,CAC5DpL,QAAQ,CAACmZ,aAAT,CAAuBC,IAAvB,EACA,CAFD,C,CAGApZ,QAAQ,CAACoL,gBAAT,CAA0B,8BAA1B,CAA0D,IAAI,CAC7DpL,QAAQ,CAACC,IAAT,CAAcoZ,SAAd,CAAwBC,GAAxB,CAA4B,iBAA5B,CACA,CAFD,C,CAKAva,SAAS,CAACwa,OAAV,CAAkBC,IAAlB,CAAyB,SAAStV,CAAT,CAAa,CACrCd,MAAM,CAACC,QAAP,CAAgBM,IAAhB,CAAqBO,CACrB,C,CAEDuV,GAAG,CAACC,EAAJ,CAAS3a,SAAS,CAACuI,O","sourcesContent":["/**\r\n * Function to manage asynchronous partial page loads\r\n * @class AjaxNavigation\r\n * @memberof EBContext.modules\r\n */\r\nEBContext.modules.AjaxNavigation = function () {\r\n\tvar self = this;\r\n\t\r\n\tthis.enabled = true;\r\n\tthis.navigationEnabled = true;\r\n\tthis.version = new Date().getTime();\r\n\tthis.env = {};\r\n\tthis.crcTable = null;\r\n\t\r\n\t/** \r\n\t * @property {EBContext.modules.AjaxNavigation.ajaxQueueItem[]} [ajaxQueue=[]] Array of AJAX request representation objects, effectively creating a requests queue\r\n\t */\r\n\tthis.ajaxQueue = [];\r\n\t\r\n\tvar defaultLoader = {\r\n\t\tenabled: true,\r\n\t\tuseOverlay: true,\r\n\t\tajaxQueue: self.ajaxQueue,\r\n\t\tfnLoaderStart: function (loader) {\r\n loader = loader || this.options.loader;\r\n\t\t\tif(!document.body) return setTimeout(()=>loader.fnLoaderStart(loader), 20);\r\n\t\t\tif (loader.useOverlay) {\r\n\t\t\t\tvar overlayEl = document.getElementById('asyncLoadingOverlay') || document.createElement('div');\r\n\t\t\t\toverlayEl.id = 'asyncLoadingOverlay';\r\n\t\t\t\toverlayEl.style.cssText = 'position:fixed;width:100%;height:100%;top:0;left:0;z-index:65530;background-color:#fff5';\r\n\t\t\t\tdocument.body.appendChild(overlayEl);\r\n\t\t\t}\r\n\r\n\t\t\tvar loadingElement = document.getElementById('ajaxLoader') || document.createElement('div');\r\n\t\t\tloadingElement.id = 'ajaxLoader';\r\n\t\t\tloadingElement.className = 'defaultLoader';\r\n\t\t\tloadingElement.style.cssText = 'position:fixed;top:50%;left:50%;margin-top:-1rem;margin-left:-1rem;z-index:65531;width:2rem;height:2rem;padding:1.5rem;border-radius:.5rem';\r\n\t\t\tdocument.body.appendChild(loadingElement);\r\n\t\t},\r\n\t\tfnLoaderEnd: function (loader) {\r\n loader = loader || this.options.loader;\r\n\t\t\tvar loadingElement = document.getElementById('ajaxLoader');\r\n\t\t\tif (loadingElement) loadingElement.parentNode.removeChild(loadingElement);\r\n\r\n\t\t\tvar overlayEl = document.getElementById('asyncLoadingOverlay');\r\n\t\t\tif (overlayEl) overlayEl.parentNode.removeChild(overlayEl);\r\n\t\t},\r\n\t\tfnLoaderUpdate: function (loader) {\r\n loader = loader || this.options.loader;\r\n\t\t\tif (loader.ajaxQueue.length === 0) {\r\n\t\t\t\tEBContext.ready(()=>loader.fnLoaderEnd(loader));\r\n\t\t\t} else {\r\n\t\t\t\t//@TODO - zobraz� po�et zb�vaj�c�ch ajax request� n�kde v loaderu\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * @typedef {Object} EBContext.modules.AjaxNavigation.ajaxQueueItem\r\n\t * @property {string} url URL of ajax request\r\n\t * @property {boolean} [cancelled=false] If `true`, response from this request won't be processed\r\n\t * @property {boolean} navigation Identifies AJAX request as navigational\r\n\t */\r\n\r\n\t/**\r\n\t * @callback EBContext.modules.AjaxNavigation.fnBlockInit\r\n\t * @param {HTMLElement} scope HTML DOM Element as scope to limit effect of this callback only to its descendant elements\r\n\t */\r\n\r\n\t/**\r\n\t * @callback EBContext.modules.AjaxNavigation.fnTestElement\r\n\t * @param {HTMLElement} element HTML DOM Element to test if fit for bind AjaxNavigation\r\n\t * @returns {boolean} If `true`, element is fit for use with AjaxNavigation\r\n\t */\r\n\r\n\t/**\r\n\t * @callback EBContext.modules.AjaxNavigation.fnBindElement\r\n\t * @param {HTMLElement} element HTML DOM Element to bind AjaxNavigation to\r\n\t */\r\n\r\n\t/**\r\n\t * @typedef {Object} EBContext.modules.AjaxNavigation.bindElementsObject\r\n\t * @property {string} selector CSS Selector to find all matching elements to bind\r\n\t * @property {EBContext.modules.AjaxNavigation.fnTestElement} fnTestElement\r\n\t * @property {EBContext.modules.AjaxNavigation.fnBindElement} fnBindElement\r\n\t */\r\n\r\n\t/**\r\n\t * @typedef {Object} EBContext.modules.AjaxNavigation.errorOptions\r\n\t * @param {string} [verbose='unspecified type'] Detailed information about error - verbose description\r\n\t * @param {string} [code] Specific part of code in which error occured\r\n\t * @param {string} [error] Error tree from catch statement\r\n\t * @param {boolean} [dependent=false] indicates, whether the response data are dependent on AJAX requests, or can be obtained by other means (e.g. full reload)\r\n\t */\r\n\r\n\t/**\r\n\t * @callback EBContext.modules.AjaxNavigation.fnAjaxError\r\n\t * @param {string} response Response text to AJAX request in which error occurred\r\n\t * @param {EBContext.modules.AjaxNavigation.errorOptions} [options] Detailed information about error, special error handling options\r\n\t */\r\n\r\n\t/**\r\n\t * @typedef {Object} EBContext.modules.AjaxNavigation.options\r\n\t * @property {string} [defaultReload='page,userMenu'] Enumeration of blocks that will be reloaded by navigation, if not specified otherwise\r\n\t * @property {string} [defaultSubPage='content'] Name of the block with primary 'subPage', to insert links to local JS and CSS files by navigation\r\n\t * @property {string} [defaultBindElement='link'] Name of default 'bindElements' entry to use if type not specified for shorter functions calls\r\n\t * @property {EBContext.modules.AjaxNavigation.fnBlockInit} [fnBlockInit] Callback, that is called for each block replaced by navigation\r\n\t * @property {function} [fnPageInit] Callback, that is called after each navigation request\r\n\t * @property {Object} [loader] Settings Object for default 'loader' functionality\r\n\t * @property {boolean} [loader.enabled=true] Enables or disables use of loader globally\r\n\t * @property {boolean} [loader.useOverlay=true] If enabled, page overlay is shown under loader, disabling user from creating any more requests\r\n\t * @property {function} [loader.fnLoaderStart] Callback to display loader and optionally page overlay\r\n\t * @property {function} [loader.fnLoaderEnd] Callback to remove loader and page overlay\r\n\t * @property {function} [loader.fnLoaderUpdate] Callback to update loader according to 'loader.ajaxQueue' length\r\n\t * @property {Object} [scrollTop] Settings Object for 'scrollTop' behavior on navigation\r\n\t * @property {boolean} [scrollTop.enabled=true] Option to globally enable/disable 'scrollTop' on navigation\r\n\t * @property {boolean} [scrollTop.mobileOnly=false] If `true`, scrollTop will be called only on screens smaller than 'maxScreenWidth' (px)\r\n\t * @property {boolean} [scrollTop.upOnly=false] If `true`, scrollTop will be called only when scrolled below position of 'defaultElement'\r\n\t * @property {number} [scrollTop.maxScreenWidth=767] Represents max width of screen that is still considered mobile\r\n\t * @property {string} [scrollTop.defaultElement='body'] CSS selector of DOM Element to scrollTop to\r\n\t * @property {number} [scrollTop.topOffset=0] Offset (px) from top of 'scrollTop.defaultElement'\r\n\t * @property {Object} [scrollTop.options] Options Object for 'element.scrollIntoView(options)' native JS function\r\n\t * @property {Object} [saveElementsState] Settings Object for 'saveElementsState' behavior on navigation\r\n\t * @property {boolean} [saveElementsState.enabled=true] If `true`, selected properties of all elements having both 'name' and 'id' will be saved to history object\r\n\t * @property {Object.} [saveElementsState.templates] JS Object, where keys are CSS Selectors, and values are string[] with names of DOM Elements attributes\r\n\t * @property {null|string} [ignoreElements=null] HTML DOM selector of elements to ignore while binding ajaxNav events\r\n\t * @property {EBContext.modules.AjaxNavigation.bindElementsObject} [bindElements]\r\n\t * @property {EBContext.modules.AjaxNavigation.fnAjaxError} [fnAjaxError] Callback called on various AJAX-related errors (no response, eval error, etc.)\r\n\t */\r\n\r\n\t/**\r\n\t * @property {EBContext.modules.AjaxNavigation.options} options Navigation options extendable on init\r\n\t */\r\n\tthis.options = {\r\n\t\tdefaultReload: ['page'],\r\n\t\tdefaultSubPage: 'content',\r\n\t\tdefaultBindElement: 'link',\r\n\t\tinitElements: null,\r\n\t\tfnBlockInit: function (scope) {\r\n\t\t\tif (self.options.debug) console.info('%c@fnBlockInit: No block init function (block \\'' + EBContext.utils.element.getSelector(scope) + '\\').', EBContext.options.consoleStyles.infoMsg);\r\n\t\t\treturn true;\r\n\t\t},\r\n\t\tfnPageInit: function () {\r\n\t\t\tif (self.options.debug) console.info('%c@fnPageInit: No page init function.', EBContext.options.consoleStyles.infoMsg);\r\n\t\t\treturn true;\r\n\t\t},\r\n\t\tfnOnNavigation: function () {\r\n\t\t\tif (self.options.debug) console.info('%c@fnOnNavigation: No navigation callback.', EBContext.options.consoleStyles.infoMsg);\r\n\t\t\treturn true;\r\n\t\t},\r\n\t\tloader: defaultLoader,\r\n\t\tscrollTop: {\r\n\t\t\tenabled: true,\r\n\t\t\tmobileOnly: false,\r\n\t\t\tupOnly: false,\r\n\t\t\tmaxScreenWidth: 767,\r\n\t\t\tdefaultElement: 'body',\r\n\t\t\ttopOffset: 0,\r\n\t\t\toptions: {\r\n\t\t\t\tbehavior: 'smooth',\r\n\t\t\t\tblock: 'start',\r\n\t\t\t\tinline: 'start'\r\n\t\t\t}\r\n\t\t},\r\n\t\tsaveElementsState: {\r\n\t\t\tenabled: true,\r\n\t\t\ttemplates: {\r\n\t\t\t\t'[data-save*=\"class\"]': ['className'],\r\n\t\t\t\tdefault: ['value', 'checked', 'selected', 'readonly', 'disabled', 'required', 'multiple', 'min', 'max', 'step']\r\n\t\t\t}\r\n\t\t},\r\n\t\tignoreElements: null,\r\n\t\tbindElements: {\r\n\t\t\tlink: {\r\n\t\t\t\tselector: 'a',\r\n\t\t\t\tfnTestElement: function (element) {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\telement.host === window.location.host &&\r\n\t\t\t\t\t\telement.getAttribute('data-ajax') !== 'off' &&\r\n\t\t\t\t\t\t// element.getAttribute('href') !== '' &&\r\n\t\t\t\t\t\telement.pathname.indexOf('default.asp') < 0 &&\r\n\t\t\t\t\t\telement.pathname.indexOf('update.asp') < 0 &&\r\n\t\t\t\t\t\telement.pathname.indexOf('/files/') < 0 &&\r\n\t\t\t\t\t\telement.target === '' &&\r\n\t\t\t\t\t\t!(/(\\?|\\&)ajax=0/gi).test(element.href) &&\r\n\t\t\t\t\t\t!(self.options.ignoreElements && element.matches(self.options.ignoreElements))\r\n\t\t\t\t\t);\r\n\t\t\t\t},\r\n\t\t\t\tfnBindElement: function (element) {\r\n\t\t\t\t\tEBContext.utils.element.setOverride(element, 'onclick', function(){\r\n\t\t\t\t\t\tif(element.pathname === window.location.pathname && element.href.indexOf('#') >= 0) return true;\r\n\t\t\t\t\t\tvar options = EBContext.utils.parseObj(element.getAttribute('data-ajax'));\r\n\t\t\t\t\t\toptions.reload = options.reload || self.options.defaultReload.join(',');\r\n\t\t\t\t\t\tvar url = EBContext.utils.createURL(element, options);\r\n\t\t\t\t\t\tvar ajaxURL = EBContext.utils.createAjaxURL(element, options);\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tvar postData = options.postData || null;\r\n\t\t\t\t\t\tif(typeof postData === 'function') postData = postData();\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\treturn self.navigationTrigger(url, ajaxURL, postData, options);\r\n\t\t\t\t\t}, true);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tform: {\r\n\t\t\t\tselector: 'form',\r\n\t\t\t\tfnTestElement: function (element) {\r\n\t\t\t\t\tvar virtualAnchor = EBContext.utils.createAnchor(element.action);\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t(!element.getAttribute('action') || virtualAnchor.host === window.location.host) &&\r\n\t\t\t\t\t\telement.getAttribute('data-ajax') !== 'off' &&\r\n\t\t\t\t\t\tvirtualAnchor.pathname.indexOf('default.asp') < 0 &&\r\n\t\t\t\t\t\tvirtualAnchor.pathname.indexOf('update.asp') < 0 &&\r\n\t\t\t\t\t\t(element.target === '' || element.target === 'dummy') &&\r\n\t\t\t\t\t\t!(self.options.ignoreElements && element.matches(self.options.ignoreElements)) &&\r\n\t\t\t\t\t\t!(virtualAnchor.pathname === window.location.pathname && virtualAnchor.hash !== '')\r\n\t\t\t\t\t);\r\n\t\t\t\t},\r\n\t\t\t\tfnBindElement: function (element) {\r\n\t\t\t\t\tEBContext.utils.prepareForm(element);\r\n\t\t\t\t\tEBContext.utils.element.setOverride(element, 'onsubmit', function() {\r\n\t\t\t\t\t\tlet processedForm = EBContext.utils.processForm(element);\r\n\t\t\t\t\t\tif(!processedForm) return false;\r\n\t\t\t\t\t\tself.saveState();\r\n\t\t\t\t\t\tlet res = self.navigationTrigger(processedForm.virtualAnchor.href, processedForm.ajaxURL, processedForm.postData, processedForm.options);\r\n\t\t\t\t\t\tif(processedForm.options.overrideURL) return true;\r\n\t\t\t\t\t\treturn res;\r\n\t\t\t\t\t}, true);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tfnAjaxError: function (response, options) {\r\n\t\t\toptions = options || {};\r\n\t\t\toptions.verbose = options.verbose || 'unspecified type';\r\n\t\t\tconsole.error('%cAJAX error (' + options.verbose + ') - description:', EBContext.options.consoleStyles.errorMsg);\r\n\r\n\t\t\tif (options.error) {\r\n\t\t\t\tconsole.groupCollapsed(\"%cShow error\", EBContext.options.consoleStyles.errorBtn);\r\n\t\t\t\tconsole.error(options.error);\r\n\t\t\t\tconsole.groupEnd();\r\n\t\t\t}\r\n\r\n\t\t\tif (options.code) {\r\n\t\t\t\tconsole.groupCollapsed(\"%cShow code\", EBContext.options.consoleStyles.infoBtn);\r\n\t\t\t\tconsole.info('%c' + options.code, EBContext.options.consoleStyles.code);\r\n\t\t\t\tconsole.groupEnd();\r\n\t\t\t}\r\n\r\n\t\t\tconsole.groupCollapsed(\"%cShow AJAX response\", EBContext.options.consoleStyles.infoBtn);\r\n\t\t\tconsole.info('%c' + response, EBContext.options.consoleStyles.code);\r\n\t\t\tconsole.groupEnd();\r\n\r\n\t\t\t/* Pokud lze v�sledek ajax dotazu z�skat reloadem (!dependent) a nen� zapnut� debug m�d, tak zobrazit confirm k reloadu str�nky */\r\n\t\t\tif (false && !options.dependent && !self.options.debug && confirm(EBContext.resource('ERR_CHYBA_NAVIGACE'))) {\r\n\t\t\t\twindow.location.reload();\r\n\t\t\t}\r\n\t\t\t/* Jinak se alespo� pokusit n�v�t�vn�ka upozornit, �e se n�co nepovedlo */\r\n\t\t\telse if (self.options.fnErrorNotify && typeof self.options.fnErrorNotify === 'function') {\r\n\t\t\t\t// window.history.back();\r\n\t\t\t\tself.options.fnErrorNotify(response, options);\r\n\t\t\t}\r\n\t\t\toptions.loader.fnLoaderEnd(options.loader);\r\n\t\t\treturn false;\r\n\t\t},\r\n\t\tfnErrorNotify: function (response, options) {\r\n\t\t\t// alert(EBContext.resource('ERR_CHYBA_NAVIGACE'));\r\n\t\t\tvar url;\r\n\t\t\tvar text, heading;\r\n\t\t\tvar debug = self.options.debug;\r\n\t\t\ttext = EBContext.resource('ERR_CHYBA_NA_SERVERU');\r\n\t\t\tif (response) {\r\n\t\t\t\t// response = response.replace(/<\\!--[^>]*-->/g, '').replace(/(<[^>]+>)/g, function(occurence){ return occurence.toLowerCase() });\r\n\t\t\t\tlet url = options.url;\r\n\t\t\t\tif(url[0] === '/') url = window.location.origin + url;\r\n\t\t\t\tlet urlStr = '' + url + '';\r\n\t\t\t\ttry {\r\n\t\t\t\t\tvar responseObj;\r\n\t\t\t\t\teval('responseObj = ' + response.substring(response.indexOf('{'))); // jshint ignore:line\r\n\t\t\t\t\theading = EBContext.utils.getObj(['head', 'title'], responseObj) || options.responseStatus;\r\n\t\t\t\t\ttext = EBContext.utils.getObj(['html', 'page'], responseObj) || options.verbose || text; // + '';\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\tif(response.indexOf('

') === 0 && response.indexOf('

') > 0){\r\n\t\t\t\t\t\tlet statusStr = '
HTTP status: ' + options.responseStatus + '';\r\n\t\t\t\t\t\ttext = text + '
' + response.replace('

', '').replace('

', '
') + statusStr + '
URL: ' + urlStr + '
';\r\n\t\t\t\t\t\tconsole.error('Chyba eval response. V response je nejsp�e HTML.');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif(self.options.debug){\r\n\t\t\t\t\tlet formatCode = codeStr=>{\r\n\t\t\t\t\t\tcodeStr = codeStr.toString();\r\n\t\t\t\t\t\tcodeStr = codeStr.replace(/ {4}/g, '\\t');\r\n\t\t\t\t\t\twhile(codeStr.search(/\\n\\t.*/g) > -1 && codeStr.search(/\\n[^\\t].*/g) === -1) codeStr = codeStr.replace(/\\n\\t/g, '\\n');\r\n\t\t\t\t\t\treturn codeStr.replace(/\\t/g, ' ');\r\n\t\t\t\t\t};\r\n\t\t\t\t\tconsole.log(options);\r\n\t\t\t\t\tif(options.code){\r\n\t\t\t\t\t\ttext += '
' + EBContext.resource('KOD') + '
' + formatCode(options.code) + '
';\r\n\t\t\t\t\t}\r\n\t\t\t\t\ttext += '
' + EBContext.resource('PODROBNOSTI') + '
' + formatCode(response) + '
';\r\n\t\t\t\t\tif(options.error && options.error.stack){\r\n\t\t\t\t\t\ttext += '
' + EBContext.resource('CHYBA') + '
' + options.error.stack + '
';\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\theading = heading || EBContext.resource('CHYBA_SERVERU');\r\n\t\t\t}\r\n\t\t\trequire(['EBContext_Modal'], ()=>{\r\n\t\t\t\tlet errPopup = EBContext.confirm(\r\n\t\t\t\t\ttext,\r\n\t\t\t\t\tfunction (resp) {\r\n\t\t\t\t\t\tif (resp) {\r\n\t\t\t\t\t\t\turl = (options.url + '&rnd=').split('&rnd=')[0];\r\n\t\t\t\t\t\t\tlet cb = ()=>{EBContext.ajaxNav.ajaxCall(url, options.callback, options.post, options.options)};\r\n\t\t\t\t\t\t\tif(!debug || EBContext.options.debug) {\r\n\t\t\t\t\t\t\t\treturn cb();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tEBContext.utils.xmlHttp({\r\n\t\t\t\t\t\t\t\turl: '/?debug=1',\r\n\t\t\t\t\t\t\t\tcallback: ()=>{\r\n\t\t\t\t\t\t\t\t\tEBContext.options.debug=true;\r\n\t\t\t\t\t\t\t\t\tcb();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\twindow.location.href = '/';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\theading: heading,\r\n\t\t\t\t\t\tcontentClass: 'errorMsg',\r\n\t\t\t\t\t\tbtnEsc: { show: true },\r\n\t\t\t\t\t\tbtnOK: {\r\n\t\t\t\t\t\t\ttext: EBContext.resource('OPAKOVAT') + (debug ? ' (DEBUG)' : ''),\r\n\t\t\t\t\t\t\ttitle: EBContext.resource('OPAKOVAT')\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tbtnCancel: {\r\n\t\t\t\t\t\t\ttext: EBContext.resource('ODEJIT'),\r\n\t\t\t\t\t\t\ttitle: EBContext.resource('ODEJIT')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tif(textSelector) textSelector(errPopup.modalEl);\r\n\t\t\t});\r\n\t\t},\r\n\t\trequestQueue: {\r\n\t\t\tignoreNonNavOnNav: false,\r\n\t\t\tcancelOldNavOnNav: false\r\n\t\t},\r\n\t\tdebug: EBContext.utils.getObj('data.session.ebServiceMode', EBContext)\r\n\t};\r\n\tthis.events = {\r\n\t\tready: new Event('EBContext.ajaxNav.ready', {'bubbles': true, 'cancellable': false, 'composed': true}),\r\n\t\tnavigate: new Event('EBContext.ajaxNav.navigate', {'bubbles': true, 'cancellable': false, 'composed': true}),\r\n\t\tnavigated: new Event('EBContext.ajaxNav.navigated', {'bubbles': true, 'cancellable': false, 'composed': true}),\r\n\t\tbodyReload: new Event('EBContext.ajaxNav.bodyReload', {'bubbles': true, 'cancellable': false, 'composed': true}),\r\n\t\tbodyReloaded: new Event('EBContext.ajaxNav.bodyReloaded', {'bubbles': true, 'cancellable': false, 'composed': true}),\r\n\t\telementsRestored: new Event('EBContext.ajaxNav.elementsRestored', {'bubbles': true, 'cancellable': false, 'composed': true})\r\n\t};\r\n\r\n\t/**\r\n\t * @callback EBContext.modules.AjaxNavigation.ajaxCallback\r\n\t * @param {string|Object} response\r\n\t * @param {string|Object} respOptions\r\n\t */\r\n\r\n\t/**\r\n\t * @typedef {Object.} EBContext.modules.AjaxNavigation.ajaxCallbackObject\r\n\t * @property {EBContext.modules.AjaxNavigation.ajaxCallback} [beforeProcess] Is called before anything from response is processed, but only if request is not cancelled\r\n\t * @property {EBContext.modules.AjaxNavigation.ajaxCallback} [evalError] Is called on error while evaluating response text as JS object\r\n\t * @property {EBContext.modules.AjaxNavigation.ajaxCallback} [beforeEval] Is called before evaluation of scripts in response's reload blocks HTML\r\n\t * @property {EBContext.modules.AjaxNavigation.ajaxCallback} [beforeHeadUpdate] Is called before title, meta tags, local JS/CSS and current page OID and version are updated\r\n\t * @property {EBContext.modules.AjaxNavigation.ajaxCallback} [beforeScopedInit] Is called before scoped init function (initBlock/options.fnBlockInit) is called for every replaced block\r\n\t * @property {EBContext.modules.AjaxNavigation.ajaxCallback} [noResponse] Is called when there is no text in ajaxCall's response\r\n\t * @property {EBContext.modules.AjaxNavigation.ajaxCallback} [afterEval] Is called after scopedInit of all blocks (when everything has been processed)\r\n\t * @property {EBContext.modules.AjaxNavigation.ajaxCallback|EBContext.modules.AjaxNavigation.fnAjaxError} [onError] Is called in case of a HTTP error\r\n\t */\r\n\r\n\t/**\r\n\t * @typedef {Object} EBContext.modules.AjaxNavigation.ajaxResponseOptions\r\n\t * @property {string} [ctype] represents enctype of data (e.g. when sending data from HTML form)\r\n\t * @property {Object} loader\r\n\t * @property {boolean} navigation Identifies AJAX request as navigational\r\n\t * @property {number} responseStatus HTTP status code of incomplete response\r\n\t */\r\n\r\n\t/**\r\n\t * @typedef {Object} EBContext.modules.AjaxNavigation.ajaxResponseObj\r\n\t * @property {string} response Response string from AJAX request\r\n\t * @property {(EBContext.modules.AjaxNavigation.ajaxCallback|EBContext.modules.AjaxNavigation.ajaxCallbackObject)} callback\r\n\t * @property {EBContext.modules.AjaxNavigation.ajaxResponseOptions} options\r\n\t */\r\n\r\n\t/**\r\n\t * @property {Object.} ajaxResponses Object of received responses to be called in order according to `EBContext.modules.AjaxNavigation.ajaxQueue`\r\n\t */\r\n\tthis.ajaxResponses = {};\r\n\r\n\t/**\r\n\t * @typedef {Object} EBContext.modules.AjaxNavigation.savedElement\r\n\t * @property {string} element\r\n\t * @property {Object} attributes\r\n\t * @property {Object} properties\r\n\t */\r\n\r\n\t/**\r\n\t * @typedef {Object} EBContext.modules.AjaxNavigation.historyStateObj\r\n\t * @property {number} historyId Represents the position of state in browser's tab history \r\n\t * @property {string} returnURL URL to be called via `ajaxCall` in order to load content for this history state \r\n\t * @property {Object} [pageData] Flat (serialisable) object to be used to save custom page elements state (e.g. parametric filter state)\r\n\t * @property {string|FormData|null} postData String to be send as POST data via `ajaxCall` in order to load content for this history state\r\n\t * @property {EBContext.modules.AjaxNavigation.savedElement[]} [savedElements] Array of saved elements used to emulate 'form memory' like functions native to many browsers\r\n\t */\r\n\r\n\t/**\r\n\t * @property {EBContext.modules.AjaxNavigation.historyStateObj} currentState Stores all variables tied to currently loaded history state\r\n\t */\r\n\tthis.currentState = EBContext.utils.extendObj(false, {\r\n\t\thistoryId: 0,\r\n\t\tcurrentURL: window.location.href\r\n\t}, (window.history.state ? window.history.state : {}), {dump: []});\r\n\r\n\t/**\r\n\t * @property {function[]} onload Array of callbacks to call when ajax navigation finish loading page content - substitutes document ready event for ajax navigation\r\n\t */\r\n\tthis.onload = [];\r\n\t\r\n\tthis.navigationStatus = '';\r\n\r\n\t/**\r\n\t * @property {Object.} reloadsHistory \r\n\t */\r\n\tthis.reloadsHistory = {};\r\n\r\n\t/**\r\n\t * @property {function} onAfterNavigation Callback that is called when navigation is complete. For internal use only\r\n\t */\r\n\tthis.onAfterNavigation = null;\r\n\r\n\t/**\r\n\t * @property {function} subPageScriptEvt Callback that is called on local JS load. For internal use only\r\n\t */\r\n\tthis.subPageScriptEvt = null;\r\n\r\n\t/**\r\n\t * @param {number} targetId historyId of target historyObj\r\n\t * @returns {string[]} Array of ID's of blocks to reload\r\n\t */\r\n\tthis.getReloadBlocks = function (targetId, samePage) {\r\n\t\tvar startId, endId;\r\n\t\tif (self.currentState.historyId > targetId) {\r\n\t\t\tstartId = targetId + 1;\r\n\t\t\tendId = self.currentState.historyId;\r\n\t\t} else {\r\n\t\t\tstartId = self.currentState.historyId + 1;\r\n\t\t\tendId = targetId;\r\n\t\t}\r\n\t\tvar reloadBlocks = [];\r\n\t\tfor (var i = startId; i <= endId; i++) {\r\n\t\t\tif (self.reloadsHistory[i]) {\r\n\t\t\t\tvar blocksArr = self.reloadsHistory[i].split(',');\r\n\t\t\t\tif(!samePage){\r\n\t\t\t\t\tfor(var b = 0; b < blocksArr.length; b++){\r\n\t\t\t\t\t\tblocksArr[b] = blocksArr[b].replace(/\\*/g, '');\r\n\t\t\t\t\t\tif(reloadBlocks.indexOf(blocksArr[b]) < 0) reloadBlocks.push(blocksArr[b]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\treturn reloadBlocks;\r\n\t};\r\n\t\r\n\tthis.setEnv = function(key, val) {\r\n\t\tfunction crc32(str) {\r\n\t\t var crcTable = self.crcTable || (self.crcTable = self._makeCRCTable());\r\n\t\t var crc = 0 ^ (-1);\r\n\t\t\r\n\t\t for (var i = 0; i < str.length; i++ ) {\r\n\t\t crc = (crc >>> 8) ^ crcTable[(crc ^ str.charCodeAt(i)) & 0xFF];\r\n\t\t }\r\n\t\t\r\n\t\t return (crc ^ (-1)) >>> 0;\r\n\t\t};\r\n\t\tif (key) self.env[key] = val;\r\n\t\tself.version = crc32(JSON.stringify(self.env));\r\n\t\tconsole.warn('set env', key, val, self.version);\r\n\t};\r\n\t\r\n\tthis._makeCRCTable = function(){\r\n\t var c;\r\n\t var crcTable = [];\r\n\t for(var n =0; n < 256; n++){\r\n\t c = n;\r\n\t for(var k =0; k < 8; k++){\r\n\t c = ((c&1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\r\n\t }\r\n\t crcTable[n] = c;\r\n\t }\r\n\t return crcTable;\r\n\t}\r\n\r\n\t/**\r\n\t * @param {EBContext.modules.AjaxNavigation.options} [options] Options object to extend default options object\r\n\t */\r\n\tthis.init = function (options) {\r\n\t\tself.setEnv('version', new Date().getTime());\r\n\t\toptions = options || {};\r\n\t\tEBContext.utils.extendObj(true, self.options, options);\r\n\t\t\r\n\t\tif(!EBContext.utils.getObj('session.user.id', EBContext)) EBContext.utils.setObj(EBContext, 'session.user.id', '');\r\n\t\t\r\n\t\tif ('scrollRestoration' in history) {\r\n\t\t\thistory.scrollRestoration = 'manual';\r\n\t\t}\r\n\r\n\t\t// saving state to history object when navigating outside site\r\n\t\twindow.addEventListener(('onpagehide' in window ? 'pagehide' : 'unload'), function () {\r\n\t\t\tself.saveState();\r\n\t\t});\r\n\r\n\t\t// loading state and triggering navigation on browser history action\r\n\t\twindow.addEventListener('popstate', function (event) {\r\n\t\t\tif ((window.location.href.toString() + '#').split('#')[0] === (self.currentState.currentURL + '#').split('#')[0]) {\r\n\t\t\t\tlet scrollAnchorId = (window.location.href.toString() + '#').split('#')[1];\r\n\t\t\t\tif(scrollAnchorId){\r\n\t\t\t\t\tlet scrollAnchorEl = document.getElementById(scrollAnchorId);\r\n\t\t\t\t\tif(scrollAnchorEl){\r\n\t\t\t\t\t\twindow.scrollTo({top: scrollAnchorEl.offsetTop, left: 0, behavior:'smooth'});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\t\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\tif (event.state && self.currentState.httpStatus && self.currentState.httpStatus < 400) {\r\n\t\t\t\tif (event.state.returnURL) {\r\n\t\t\t\t\tlet reload = self.getReloadBlocks(event.state.historyId, (event.state.processPostData===2)).join(',');\r\n\t\t\t\t\tlet postData = (event.state.processPostData ? event.state.postData : null); // processPostData=0 - nezpracov�vat\r\n\t\t\t\t\tlet popstateCallback = ()=>{\r\n\t\t\t\t\t\tself.navigationTrigger(location.href, null, postData, {\r\n\t\t\t\t\t\t\treload: reload\r\n\t\t\t\t\t\t}, event);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(postData && event.state.processPostData === 1){ // processPostData=1 - default (zobrazit confirm \"Op�tovn� odesl�n� formul��e\")\r\n\t\t\t\t\t\tEBContext.confirm(EBContext.resource('MSG_ZNOVU_ODESLAT_FORMULAR'), resp=>{\r\n\t\t\t\t\t\t\tif(resp){\r\n\t\t\t\t\t\t\t\tpopstateCallback();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\thistory.go(self.currentState.historyId - event.state.historyId);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}, {heading: EBContext.resource('ZNOVU_ODESLAT_FORMULAR')});\r\n\t\t\t\t\t} else { // processPostData=2 - zpracovat automaticky\r\n\t\t\t\t\t\tpopstateCallback();\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tif (self.options.debug) console.warn('%cException - no return url', EBContext.options.consoleStyles.warnMsg);\r\n\t\t\t}\r\n\t\t\tif (self.options.debug) console.warn('%cException - no saved state', EBContext.options.consoleStyles.warnMsg);\r\n\t\t\twindow.location.reload();\r\n\t\t\treturn false;\r\n\t\t});\r\n\r\n\t\t// trigger AjaxNavigation.ready() also for non-ajax load to unify onDocumentReady callback function\r\n\t\tif(document.readyState === 'complete'){\r\n\t\t\tself.ready();\r\n\t\t} else {\r\n\t\t\twindow.addEventListener('load', function(){\r\n\t\t\t\tself.ready();\r\n\t\t\t}, {once: true});\r\n\t\t}\r\n\t\t\r\n\t\t// bind ajaxNav on first load\r\n\t\tvar initElements = function(rs){\r\n\t\t\tvar i;\r\n\t\t\tvar bindElements = self.options.initElements || Object.keys(self.options.bindElements);\r\n\t\t\tfor(i=0;i -1 ? initElements(document.readyState) : document.addEventListener('DOMContentLoaded', initElements));\r\n\t\t\r\n\t\tdocument.addEventListener('EBContext.ajaxNav.navigate', self.options.fnOnNavigation);\r\n\t\tdocument.addEventListener('EBContext.ajaxNav.navigated', self.options.fnPageInit);\r\n\t\t\r\n\t\t//@ts-ignore\r\n\t\twindow.ajaxCall = function (url, async, callback, post, options) {\r\n\t\t\tif (!options) options = null;\r\n\t\t\tif (!post) post = null;\r\n\t\t\tif (!callback) callback = null;\r\n\t\t\tif (!async) console.warn('%cSynchronous requests on the main thread are depriciated! Request sent asynchronously.', EBContext.options.consoleStyles.code);\r\n\t\t\tself.ajaxCall(url, callback, post, options);\r\n\t\t};\r\n\t};\r\n\r\n\t/**\r\n\t * @param {string} [elementType=this.options.defaultBindElement] Needs to match one of the keys in 'this.options.bindElements' object\r\n\t * @param {(string|NodeList|jQuery|Element|HTMLDocument|HTMLCollection)} [searchScope=document] String needs to be CSS selector, jQuery needs to have array of elements\r\n\t * @returns {(Array.|null)} \r\n\t */\r\n\tthis.findElements = function (elementType, searchScope) {\r\n\t\tsearchScope = searchScope || document;\r\n\t\tif (!elementType || !(elementType in self.options.bindElements)) {\r\n\t\t\tif (self.options.debug) console.info('%c@findElements: Unknown elementType (' + (elementType || 'null') + '). Proceeding with default elementType (' + self.options.defaultBindElement + ')...', EBContext.options.consoleStyles.infoMsg);\r\n\t\t\telementType = self.options.defaultBindElement;\r\n\t\t}\r\n\t\tvar typeOptions = self.options.bindElements[elementType];\r\n\r\n\t\tif (typeof searchScope === 'string') {\r\n\t\t\treturn self.findElements(elementType, document.querySelectorAll(searchScope));\r\n\t\t} else if (searchScope instanceof NodeList || searchScope instanceof HTMLCollection) {\r\n\t\t\treturn self.findElements(elementType, Array.prototype.slice.call(searchScope));\r\n\t\t} else if (searchScope instanceof Element || searchScope instanceof HTMLDocument) {\r\n\t\t\treturn Array.prototype.slice.call(searchScope.querySelectorAll(typeOptions.selector));\r\n\t\t} else if ((window.jQuery && searchScope instanceof jQuery) || Array.isArray(searchScope)) {\r\n\t\t\tvar elements = [];\r\n\t\t\tfor (var i = 0; i < searchScope.length; i++) {\r\n\t\t\t\tif (searchScope[i] instanceof Element || searchScope[i] instanceof HTMLDocument) {\r\n\t\t\t\t\telements = elements.concat(Array.prototype.slice.call(self.findElements(elementType, searchScope[i])));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn elements;\r\n\t\t} else {\r\n\t\t\tconsole.error('%c' + searchScope.toString() + ' is not valid selector! Pass jQuery object, querySelector string, or array of DOM nodes, or nodeList.', EBContext.options.consoleStyles.errorMsg);\r\n\t\t\treturn null;\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * @param {Array.} elementsArray Set of elements to bind ajaxNavigation to\r\n\t * @param {string} [elementType=this.options.defaultBindElement] Needs to match one of the keys in 'this.options.bindElements' object\r\n\t * @returns {boolean} Returns `true` if any Elements were bound, `false` otherwise\r\n\t */\r\n\tthis.bindElements = function (elementsArray, elementType) {\r\n\t\tif (!elementType || !(elementType in self.options.bindElements)) {\r\n\t\t\tif (self.options.debug) console.info('%c@bindElements: Unknown elementType (' + (elementType || 'null') + '). Proceeding with default elementType (' + self.options.defaultBindElement + ')...', EBContext.options.consoleStyles.infoMsg);\r\n\t\t\telementType = self.options.defaultBindElement;\r\n\t\t}\r\n\t\tvar typeOptions = self.options.bindElements[elementType];\r\n\t\tif (elementsArray.length > 0) {\r\n\t\t\tfor (var i = 0; i < elementsArray.length; i++) {\r\n\t\t\t\tif (typeOptions.fnTestElement(elementsArray[i])) {\r\n\t\t\t\t\tif (elementsArray[i].getAttribute('navBound') !== null) {\r\n\t\t\t\t\t\t//if (self.options.debug) console.warn('%cElement has already been bound to ajax navigation! Element: ' + EBContext.utils.element.getSelector(elementsArray[i]), EBContext.options.consoleStyles.warnMsg);\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t\ttypeOptions.fnBindElement(elementsArray[i]);\r\n\t\t\t\t\telementsArray[i].setAttribute('navBound', '');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\r\n\t/**\r\n\t * @param {string|null} [url=window.location.href] URL to navigate to\r\n\t * @param {string|null} [ajaxURL=EBContext.utils.createAjaxURL(url, options)] URL of AJAX call to navigate by\r\n\t * @param {string|FormData|null} [postData=null] Stringified form data in queryString-like format\r\n\t * @param {Object} [options={}]\r\n\t * @param {Event} [event]\r\n\t * @returns {boolean} Always `false`\r\n\t */\r\n\tthis.navigationTrigger = function (url, ajaxURL, postData, options, event) {\r\n\t\toptions = options || {};\r\n\t\tvar navigation = (!('navigation' in options) || options.navigation);\r\n\t\tif (!self.enabled || (navigation && !self.navigationEnabled)) return true;\r\n\t\turl = url || window.location.href;\r\n\t\tpostData = postData || null;\r\n\t\tif (postData){\r\n\t\t\tif(typeof postData === 'function'){\r\n\t\t\t\tpostData = postData();\r\n\t\t\t}\r\n\t\t\tif(postData.constructor.name === 'Object') {\r\n\t\t\t\tpostData = EBContext.utils.paramsObjToStr(postData);\r\n\t\t\t}\r\n\t\t\tif(!(postData instanceof FormData) && typeof postData !== 'string'){\r\n\t\t\t\tpostData = postData.toString();\r\n\t\t\t}\r\n\t\t}\r\n\t\tvar scrollTop = ('scrollTop' in options && options.scrollTop ? options.scrollTop : (navigation ? self.options.scrollTop.defaultElement : ''));\r\n\t\tvar reload = (options.reload || self.options.defaultReload.join(',') ); //self.options.defaultReload\r\n\t\tif(ajaxURL){\r\n\t\t\tif(ajaxURL.indexOf('?') > -1){\r\n\t\t\t\treload = EBContext.utils.paramsStrToObj(ajaxURL.split('?')[1], true)['ebpageitemupdate'];\r\n\t\t\t} else {\r\n\t\t\t\tajaxURL = null;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif(!ajaxURL){\r\n\t\t\tajaxURL = EBContext.utils.createAjaxURL(url, EBContext.utils.mergeObj(false, options, {reload: reload}));\r\n\t\t\t//ajaxURL = EBContext.utils.createAjaxURL(url, {reload: reload});\r\n\t\t}\r\n\t\t\r\n\t\t// ulo�it aktu�ln� URL se spr�vn�m reloadem \r\n\t\tif (navigation || (event && event instanceof PopStateEvent)) {\r\n\t\t\tself.navigationStatus = 'invoked';\r\n\t\t\tself.currentState.currentURL = window.location.href;\r\n\t\t\tself.currentState.returnURL = EBContext.utils.createAjaxURL(window.location.href, {\r\n\t\t\t\treload: reload\r\n\t\t\t});\r\n\t\t\tself.saveState();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tself.navigationStatus = '';\r\n\t\t}\r\n\t\tself.currentState.scroll = [window.scrollX,window.scrollY];\r\n\r\n\t\t// pokud se p�ech�z� na novou str�nku, tak se p�id�v� nov� z�znam historie\r\n\t\tif (navigation && !(event && event instanceof PopStateEvent)) {\r\n\t\t\tif(self.options.saveElementsState.enabled) self.currentState.savedElements = self.createElementsState();\r\n\t\t\tself.saveState();\r\n\t\t\twindow.history.pushState(self.currentState, \"\", url);\r\n\t\t}\r\n\r\n\t\t// pokud se jedn� o navigaci v historii prohl�e�e, tak se p�ed aktualizac� stavov�ho objektu na�te ten aktu�ln� z event.state\r\n\t\telse if (event && event instanceof PopStateEvent) {\r\n\t\t\tself.currentState = event.state;\r\n\t\t}\r\n\r\n\t\t// aktualizace history.state objektu\r\n\t\twindow.history.replaceState(self.currentState, null, ((navigation || options.updateURL) ? url : window.location.href));\r\n\r\n\t\tvar i;\r\n\t\tif (navigation && self.options.requestQueue.cancelOldNavOnNav) {\r\n\t\t\tfor (i = 0; i < self.ajaxQueue.length; i++) {\r\n\t\t\t\tself.ajaxQueue[i].cancelled = true;\r\n\t\t\t}\r\n\t\t} else if (!navigation && self.options.requestQueue.ignoreNonNavOnNav) {\r\n\t\t\tfor (i = 0; i < self.ajaxQueue.length; i++) {\r\n\t\t\t\tif (!self.ajaxQueue[i].cancelled && self.ajaxQueue[i].navigation) {\r\n\t\t\t\t\treturn false; //If there is pending navigation request, do not create any non-navigation requests until navigation request is proccessed\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tself.ajaxCall(ajaxURL, {\r\n\t\t\tbeforeProcess: function (response, respOptions) {\r\n\t\t\t\tvar historyNavigation = 0;\r\n\t\t\t\tif(postData instanceof FormData) postData = {};\r\n\t\t\t\t\r\n\t\t\t\tif (navigation) document.dispatchEvent(self.events.navigate);\r\n\t\t\t\tif (reload === 'BODY') document.dispatchEvent(self.events.bodyReload);\r\n\t\t\t\t\r\n\t\t\t\tif (event && event instanceof PopStateEvent) { // Most likely history navigation\r\n\t\t\t\t\thistoryNavigation = event.state.historyId - self.currentState.historyId;\r\n\t\t\t\t\tself.currentState = event.state;\r\n\t\t\t\t\tself.navigationStatus = 'navigated';\r\n\t\t\t\t} else if (navigation) { // Non-history navigation\r\n\t\t\t\t\thistoryNavigation = 1;\r\n\t\t\t\t\tself.navigationStatus = 'navigated';\r\n\t\t\t\t\tvar historyId = self.currentState.historyId || 0;\r\n\t\t\t\t\thistoryId++;\r\n\t\t\t\t\t\r\n\t\t\t\t\tself.currentState = {\r\n\t\t\t\t\t\tuserId: EBContext.session.user.id || '',\r\n\t\t\t\t\t\treturnURL: ajaxURL,\r\n\t\t\t\t\t\tpostData: postData,\r\n\t\t\t\t\t\thistoryId: historyId,\r\n\t\t\t\t\t\thttpStatus: respOptions.responseStatus,\r\n\t\t\t\t\t\tdump: []\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tif ('replaceURL' in options && options.replaceURL !== ''){\r\n\t\t\t\t\t\turl = options.replaceURL;\r\n\t\t\t\t\t\twindow.history.replaceState(self.currentState, document.title, url);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tself.currentState.currentURL = window.location.href;\r\n\t\t\t\t\tself.reloadsHistory[self.currentState.historyId] = reload;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tif ((historyNavigation !== 0 || scrollTop) && (!self.options.scrollTop.mobileOnly || window.innerWidth <= self.options.scrollTop.maxScreenWidth)) {\r\n\t\t\t\t\tif (!self.options.scrollTop.upOnly || window.scrollY - document.querySelector(scrollTop).offsetTop > 0) {\r\n\t\t\t\t\t\twindow.scrollTo(0, document.querySelector(scrollTop).offsetTop - self.options.scrollTop.topOffset);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tlet ppd = self.currentState.processPostData || 1;\r\n\t\t\t\tself.currentState.processPostData = (navigation ? 0 : ppd);\r\n\t\t\t\tself.saveState();\r\n\t\t\t},\r\n\t\t\tbeforeEval: function (response) {\r\n\t\t\t\tif(navigation){\r\n\t\t\t\t\tdocument.title = '';\r\n\t\t\t\t\tlet el;\r\n\t\t\t\t\tel = document.head.querySelector(\"meta[name='keywords']\");\r\n\t\t\t\t\tif(el) el.setAttribute(\"content\", '');\r\n\t\t\t\t\tel = document.head.querySelector(\"meta[name='description']\");\r\n\t\t\t\t\tif(el) el.setAttribute(\"content\", '');\r\n\t\t\t\t\tel = document.head.querySelector(\"meta[property='og\\\\:title']\");\r\n\t\t\t\t\tif(el) el.setAttribute(\"content\", '');\r\n\t\t\t\t\tel = document.head.querySelector(\"meta[property='og\\\\:description']\");\r\n\t\t\t\t\tif(el) el.setAttribute(\"content\", '');\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (response.hasOwnProperty('head')) {\r\n\t\t\t\t\t\tif (response.head.hasOwnProperty('title')) {\r\n\t\t\t\t\t\t\tdocument.title = response.head.title;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (response.head.hasOwnProperty('meta') && typeof response.head.meta === 'object') {\r\n\t\t\t\t\t\t\tfor (var key in response.head.meta) {\r\n\t\t\t\t\t\t\t\tvar metaEl = document.querySelector('meta[name=\"' + key + '\"]');\r\n\t\t\t\t\t\t\t\tif (metaEl instanceof HTMLMetaElement) {\r\n\t\t\t\t\t\t\t\t\tmetaEl.content = response.head.meta[key];\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif(self.currentState.savedElements && self.currentState.userId === EBContext.session.user.id){\r\n\t\t\t\t\tself.setElementsState(self.currentState.savedElements);\r\n\t\t\t\t}\r\n\t\t\t\tif(options.callback && typeof options.callback === 'function') options.callback(response.return);\r\n\t\t\t},\r\n\t\t\tafterEval: function () {\r\n\t\t\t\tif (navigation) document.dispatchEvent(self.events.navigated);\r\n\t\t\t\tif (reload === 'BODY') document.dispatchEvent(self.events.bodyReloaded);\r\n\t\t\t\tif (event && event instanceof PopStateEvent && event.state && event.state.scroll) {\r\n\t\t\t\t\tEBContext.ready(()=>window.scroll({left: event.state.scroll[0], top: event.state.scroll[1], behavior: 'auto'}));\r\n\t\t\t\t}\r\n\t\t\t\tself.navigationStatus = 'complete';\r\n\t\t\t}\r\n\t\t}, postData, {\r\n\t\t\tctype: options.ctype,\r\n\t\t\tnavigation: navigation,\r\n\t\t\toriginalUrl: url,\r\n\t\t\tloader: options.loader,\r\n\t\t\ttimeout: options.timeout\r\n\t\t});\r\n\t\treturn false;\r\n\t};\r\n\r\n\t/**\r\n\t * Replaces current window.history.state object with this.currentState\r\n\t */\r\n\tthis.saveState = function () {\r\n\t\twindow.history.replaceState(self.currentState, document.title, window.location.href);\r\n\t};\r\n\r\n\tthis.restoreElementState = function (element, elemObj) {\r\n\t\tif(!elemObj){\r\n\t\t\tlet hState = history.state || {};\r\n\t\t\tlet savedElements = hState.savedElements || [];\r\n\t\t\tlet elementsStates = savedElements.filter(el=>el.attributes.id===element.id);\r\n\t\t\tif(elementsStates.length!==1) elementsStates = savedElements.filter(el=>(el.attributes.name===element.name && el.attributes.value===element.value));\r\n\t\t\tif(elementsStates.length!==1) elementsStates = savedElements.filter(el=>(el.attributes.name===element.name));\r\n\t\t\tif(elementsStates.length>1) return console.error('Element with disambiguous selector!');\r\n\t\t\telemObj = elementsStates[0];\r\n\t\t}\r\n\t\tif(!elemObj) return;\r\n\t\tfor (attr in elemObj.attributes) {\r\n\t\t\telement.setAttribute(attr, elemObj.attributes[attr]);\r\n\t\t}\r\n\t\tfor (prop in elemObj.properties) {\r\n\t\t\telement[prop] = elemObj.properties[prop];\r\n\t\t}\r\n\t};\r\n\t\r\n\tthis.setElementsState = function (elements, scope) {\r\n\t\tconsole.trace('%cRestoring elements state', 'color:#fff;background:#000', elements);\r\n\t\tvar attr, prop;\r\n\t\t\r\n\t\tscope = scope || document;\r\n\t\tfor (var obj in elements) {\r\n\t\t\tvar elemObj = elements[obj];\r\n\t\t\tif ('id' in elemObj.attributes) {\r\n\t\t\t\tvar element = scope.querySelector('#'+elemObj.attributes.id);\r\n\t\t\t\tif (element) this.restoreElementState(element, elemObj);\r\n\t\t\t} else if ('name' in elemObj.attributes) {\r\n\t\t\t\tvar elms = scope.querySelectorAll('[name=\"' + elemObj.attributes.name + '\"]');\r\n\t\t\t\tif (elms.length === 1) this.restoreElementState(elms[0], elemObj);\r\n\t\t\t\telse if (elemObj.attributes.value) { //Pro radio buttony, checkboxy, a v�eobecn� inputy bez id, se stejn�m name a p�ednastaven�mi hodnotami - S attributem 'value' m�sto property 'value' se tady pracuje schv�ln�!\r\n\t\t\t\t\tlet elm = [...elms].find(el=>el.attributes.getNamedItem('value') === elem.attributes.value);\r\n\t\t\t\t\tif(elm) this.restoreElementState(elm, elemObj);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.warn('%cDisambiguous element identification! Name: \\'' + elemObj.attributes.name + '\\' Value: \\'' + elemObj.attributes.value, EBContext.options.consoleStyles.warnMsg);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tconsole.debug('%cElements state restored', 'color:#fff;background:#000');\r\n\t\tdocument.dispatchEvent(self.events.elementsRestored);\r\n\t};\r\n\r\n\t/**\r\n\t * Saves current page state into this.currentState\r\n\t */\r\n\tthis.createElementsState = function (scope) {\r\n\t\tscope = scope || document;\r\n\t\tvar saveElemList = scope.querySelectorAll('[id][name]:not([data-save=off]),[id][data-save]:not([data-save=off])');\r\n\t\tvar savedElements = [];\r\n\t\tfor (var i = 0; i < saveElemList.length; i++) {\r\n\t\t\tif(!saveElemList[i].matches('[type=\"password\"]')){ // neukl�dat hesla - pak se pos�laj� do GTM!\r\n\t\t\t\tsavedElements.push(self.getElementState(saveElemList[i]));\r\n\t\t\t}\r\n\t\t}\r\n\t\tconsole.trace('%cSaving elements state', 'color:#fff;background:#000', savedElements);\r\n\t\treturn savedElements;\r\n\t};\r\n\r\n\t/**\r\n\t * Returns selected properties and attributes of passed HTMLElement id unified Object\r\n\t * @param {Element} element\r\n\t * @todo Convert pushing into savedElements to returning object\r\n\t */\r\n\tthis.getElementState = function (element) {\r\n\t\tvar elemObj = {};\r\n\t\telemObj.element = element.nodeName.toLowerCase();\r\n\t\telemObj.attributes = {};\r\n\t\telemObj.properties = {};\r\n\t\tlet ignoreAttributes = ['checked','selected'];\r\n\t\tfor (var i = 0; i < element.attributes.length; i++) {\r\n\t\t\tif(!ignoreAttributes.includes(element.attributes[i].name)) elemObj.attributes[element.attributes[i].name] = element.attributes[i].value;\r\n\t\t}\r\n\t\t\r\n\t\tvar properties = self.options.saveElementsState.templates.default;\r\n\t\tfor (var selector in self.options.saveElementsState.templates) {\r\n\t\t\tif (element.matches(selector)) {\r\n\t\t\t\tproperties = EBContext.utils.array.merge(properties, self.options.saveElementsState.templates[selector]);\r\n\t\t\t}\r\n\t\t}\r\n\t\tfor (i = 0; i < properties.length; i++) {\r\n\t\t\tif (element[properties[i]]) {\r\n\t\t\t\telemObj.properties[properties[i]] = element[properties[i]];\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn elemObj;\r\n\t};\r\n\t\r\n\tthis.updateElementState = function (element) {\r\n\t\t// mus� se �e�it p��mo p�es history state a ne ajaxNav.currentState, aby �lo ukl�dat zm�nu stavu elementu bez jak�chkoliv dal��ch zm�n\r\n\t\tlet hState = history.state || {};\r\n\t\tlet savedElements = hState.savedElements || [];\r\n\t\tlet elementsStates = savedElements.filter(el=>el.attributes.id===element.id);\r\n\t\tif(elementsStates.length!==1) elementsStates = savedElements.filter(el=>(el.attributes.name===element.name && el.attributes.value===element.value));\r\n\t\tif(elementsStates.length!==1) elementsStates = savedElements.filter(el=>(el.attributes.name===element.name));\r\n\t\tif(elementsStates.length>1) return console.error('Element with disambiguous selector!');\r\n\t\tlet elementState = elementsStates[0];\r\n\t\tlet index = savedElements.indexOf(elementState);\r\n\t\tif(index > -1){\r\n\t\t\tsavedElements[index] = EBContext.ajaxNav.getElementState(element);\r\n\t\t} else {\r\n\t\t\tsavedElements.push(EBContext.ajaxNav.getElementState(element));\r\n\t\t}\r\n\t\thState.savedElements = savedElements;\r\n\t\thistory.replaceState(hState, null);\r\n\t};\r\n\r\n\t/**\r\n\t * @param {string} filename URL to target resource file\r\n\t * @param {('js'|'css')} filetype Type of resource file\r\n\t * @returns {HTMLElement} virtual DOM element intended for appending to document\r\n\t */\r\n\tthis.createJSCSSFile = function (filename, filetype) {\r\n\t\tvar fileref;\r\n\t\tif (filetype == 'js') {\r\n\t\t\tfileref = document.createElement('script');\r\n\t\t\tfileref.setAttribute('src', filename);\r\n\t\t} else if (filetype == 'css') {\r\n\t\t\tfileref = document.createElement('link');\r\n\t\t\tfileref.setAttribute('rel', 'stylesheet');\r\n\t\t\tfileref.setAttribute('type', 'text/css');\r\n\t\t\tfileref.setAttribute('href', filename);\r\n\t\t}\r\n\t\treturn fileref;\r\n\t};\r\n\r\n\t/**\r\n\t * @param {string} filename URL of resource file to remove from DOM\r\n\t * @param {('js'|'css')} filetype Type of resource file\r\n\t * @returns {boolean} `true` if any matching JS/CSS elements were found, `false` otherwise\r\n\t */\r\n\tthis.removeJSCSSFile = function (filename, filetype) {\r\n\t\tvar targetelement = (filetype == 'js' ? 'script' : (filetype == 'css' ? 'link' : 'none'));\r\n\t\tvar targetattr = (filetype == 'js' ? 'src' : (filetype == 'css' ? 'href' : 'none'));\r\n\t\tvar allsuspects = document.getElementsByTagName(targetelement);\r\n\t\tfor (var i = allsuspects.length; i >= 0; i--) {\r\n\t\t\tif (allsuspects[i] && allsuspects[i].getAttribute(targetattr) != null && allsuspects[i].getAttribute(targetattr).indexOf(filename) != -1)\r\n\t\t\t\tallsuspects[i].parentNode.removeChild(allsuspects[i]);\r\n\t\t}\r\n\t\treturn (allsuspects.length > 0);\r\n\t};\r\n\r\n\t/**\r\n\t * Function finds all scripts within string of code, and evaluates them\r\n\t * @param {string} response String of HTML code (AJAX response string)\r\n\t * @returns {boolean} `true` if all JS evaluated successfully, `false` otherwise\r\n\t */\r\n\tthis.evalJS = function (response, options) {\r\n\t\tvar success = true;\r\n\t\tvar pattern = /(