{"version":3,"sources":["../../node_modules/.pnpm/@jitsu+js@1.2.0_@types+dlv@1.1.2/node_modules/@jitsu/js/dist/jitsu.es.js","../../src/JitsuContext.tsx","../../src/JitsuProvider.tsx","../../src/useJitsu.ts","../../node_modules/.pnpm/@jitsu+sdk-js@3.1.3/node_modules/@jitsu/sdk-js/dist/npm/jitsu.es.js"],"names":["n$2","t","e","l","n","r","split","length","o$1","g$2","m$1","j$1","F$2","process","env","NODE_ENV","$$1","window","versions","node","Deno","core","name","navigator","userAgent","includes","M$1","charAt","slice","U$1","bind","H$1","J$2","Y$1","yn","Object","prototype","toString","call","R$1","V$1","W$1","q$1","I$2","Q$1","nn","isNaN","rn","on","un","getPrototypeOf","constructor","hn","Error","message","stackTraceLimit","On","TypeError","SyntaxError","$n","Element","HTMLDocument","Tn","nodeName","toUpperCase","_n","arguments","apply","concat","n$1","decodeURIComponent","replace","s","create","o","exec","a","i","substring","push","u","c","m","map","match","location","search","y$1","Math","random","self","global","a$2","f","i$2","u$1","b$2","c$1","e$1","setItem","removeItem","g$1","assign","hasOwnProperty","h$1","v","y","b$1","Symbol","observable","I$1","w","d","indexOf","splice","p","type","dispatch","subscribe","getState","replaceReducer","next","unsubscribe","E$1","P","reduce","S","N$1","A$1","_","k$1","j","x$1","T","z","registerPluginType","pluginReadyType","M","q","V","C$1","storage","bootstrap","params","user","persistedUser","initialUser","userId","anonymousId","traits","keys","an_uid","an_event","campaign","props","raw","setTimeout","identify","track","U","setItemEnd","key","value","reset","forEach","R","getItem","$","D","options","userIdChanged","old","new","B","L$1","J$1","Promise","queue","then","X","data","action","instance","state","allPlugins","allMatches","store","EVENTS","plugins","context","H","h","exact","pluginName","during","config","event","te","JSON","stringify","abort","reason","caller","payload","ie","methodName","loaded","offline","resolve","namespaced","method","re","join","from","K","Z","G$1","plugin","called","W","F$1","reject","originalAction","ee","Q","Y","ne","Array","isArray","ae","enablePlugin","initializeStart","disabled","fromEnable","meta","disablePlugin","rid","initializeEnd","filter","b","I","events","catch","all","failed","ready","E","test","actions","processIndex","requeue","requeueIndex","enabled","initialized","beforeNS","duringNS","afterNS","before","after","hasCallback","oe","ue","addMiddleware","removeMiddleware","findIndex","dynamicMiddlewares","ce","se","Boolean","initialize","le","fe","parse","de","last","history","pe","properties","me","ge","he","ve","ye","be","document","title","referrer","innerWidth","innerHeight","hash","getElementsByTagName","getAttribute","href","url","path","width","height","Ie","we","page","Ee","sessionId","app","version","debug","onLine","os","library","timezone","locale","Pe","online","Se","Ne","analytics","Ae","_e","Oe","ts","Date","getTime","ke","reducers","s$1","f$1","middlewares","NAMESPACE","pluginEnabled","methods","G","Set","pluginsArray","A","sort","O","L","J","an_aid","F","enable","disable","identifyStart","id","previousId","trackStart","pageStart","resetStart","je","xe","once","setItemStart","removeItemStart","setAnonymousId","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","trace","traceLimit","registerPlugins","i$1","a$1","r$1","d$1","cookie","encodeURIComponent","toUTCString","g","parseFloat","k","x","C","N","localStorage","sessionStorage","r$2","l$1","t$1","current","previous","_defineProperty","obj","defineProperty","enumerable","configurable","writable","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread2","target","source","getOwnPropertyDescriptors","defineProperties","analyticsLib","opts","undefined","defaultSettings","findScript","src","scripts","querySelectorAll","find","loadScript","attributes","found","status","addEventListener","err","_a","script","createElement","async","setAttribute","entries","onload","onerror","tag","parentElement","insertBefore","__awaiter$3","__awaiter","thisArg","_arguments","generator","adopt","fulfilled","step","rejected","result","done","tagPlugin","handle","applyFilters","insertTags","code","lang","isInBrowser","execJs","codeHolder","innerHTML","replaceMacro","body","insertAdjacentElement","scriptClone","hasAttribute","text","console","log","head","appendChild","removeChild","varName","randomId","iif","eval","error","__awaiter$2","logrocketPlugin","initLogrocketIfNeeded","appId","logRocket","getLogRocketQueue","getLogRocketState","flushLogRocketQueue","setLogRocketState","lr","shift","res","warn","crossOrigin","init","__awaiter$1","defaultScriptSrc","gtmPlugin","_b","initGtmIfNeeded","dataLayer","dataLayerName","pageProperties","pageEvent","referer","trackProperties","trackEvent","identifyEvent","getGtmState","setGtmState","dlName","dlParam","previewParams","preview","auth","scriptSrc","customScriptSrc","containerId","gtag","satisfyFilter","subject","toLowerCase","trim","satisfyDomainFilter","startsWith","endsWith","creds","hosts","eventsArray","hostsArray","hostFilter","host","eventFilter","internalDestinationPlugins","defaultConfig","writeKey","fetch","echoEvents","cookieDomain","runtime","parseQuery","qs","queryString","query","pairs","substr","pair","utmToKey","parseUtms","acc","safeCall","defaultVal","restoreTraits","val","getTopLevelDomain","hostname","domain","parts","getCookie","pop","removeCookie","setCookie","secure","defaultCookie2Key","__anon_id","__user_traits","__user_id","cookieStorage","key2cookie","strVal","cookieName","protocol","internal_id","user_id","windowRuntime","documentEncoding","characterSet","timezoneOffset","getTimezoneOffset","language","pageTitle","pageUrl","screen","density","floor","devicePixelRatio","emptyRuntime","deepMerge","adjustPayload","parsedUrl","URL","customContext","pathname","referring_domain","encoding","withContext","timestamp","toISOString","sentAt","messageId","maskWriteKey","processDestinations","destinations","analyticsInstance","promises","destination","credentials","deviceOptions","packageCdn","moduleVarName","pluginInstance","looksLikeCuid","validateWriteKey","secret","send","jitsuConfig","globalThis","debugHeader","adjustedPayload","authHeader","headers","ok","responseText","response","jitsuAnalyticsPlugin","pluginConfig","storageCache","cachingStorageWrapper","persistentStorage","instanceConfig","args","group","groupId","callback","getSeed","defaultSeed","now","performance","hashString","Number","MAX_SAFE_INTEGER","str","seed","h1","h2","ch","charCodeAt","imul","input","emptyAnalytics","createUnderlyingAnalyticsInstance","rt","originalPage","values","jitsuAnalytics","inBrowser","JitsuContext","createContext","JitsuProvider","useMemo","msg","React","Provider","children","useJitsu","jitsuInstance","useContext","__assign","__rest","propertyIsEnumerable","__generator","label","sent","trys","ops","verb","iterator","op","__spreadArray","to","pack","ar","LogLevels","DEBUG","severity","INFO","WARN","ERROR","NONE","rootLogger","getLogger","createLogger","setRootLogLevel","logLevelName","logLevel","toLocaleUpperCase","setDebugVar","isWindowAvailable","win","__jitsuDebug","globalLogLevel","minLogLevel","level","logger","_i","msgArgs","msgFormatted","warnMsg","windowAvailable","requireWindow","serializeCookie","opt","enc","maxAge","expires","httpOnly","sameSite","getCookieDomain","cookieParsingCache","parseCookieString","cookieStr","cookies","idx","copyAttributes","attribute","nodeValue","insertAndExecute","element","html","index","parentNode","getCookies","useCache","RegExp","deleteCookie","generateId","generateRandom","UTM_TYPES","utm_source","utm_medium","utm_campaign","utm_term","utm_content","CLICK_IDS","gclid","fbclid","dclid","getDataFromParams","utm","click_id","reformatDate","strDate","end","repeat","suffix","getHostWithProtocol","MemoryQueue","flush","LocalStorageQueue","get","set","VERSION_INFO","date","JITSU_VERSION","MAX_AGE_TEN_YEARS","beaconTransport","json","blob","Blob","sendBeacon","tryFormat","string","echoTransport","expireNonRootCookies","lastIndexOf","CookiePersistence","save","restore","parsed","delete","NoPersistence","defaultCompatMode","jitsuClient","client","JitsuClientImpl","browserEnv","getSourceIp","describeClient","page_title","doc_path","doc_host","doc_search","screen_resolution","vp_size","max","documentElement","clientWidth","clientHeight","user_agent","user_language","doc_encoding","getAnonymousId","idCookie","newId","ensurePrefix","prefix","cutPostfix","postfixes","postfix","fetchApi","req","disableCookies","cookieOpts","ip","requestHost","proto","reqUrl","queryPos","httpApi","header","vals","setHeader","socket","remoteAddress","emptyEnv","envs","nextjsApi","browser","express","empty","xmlHttpTransport","jsonPayload","additionalHeaders","handler","XMLHttpRequest","statusText","open","setRequestHeader","fetchTransport","e_1","resJson","contentType","e_2","_c","Accept","userProperties","permanentProperties","globalProps","propsPerEvent","trackingHost","idCookieName","randomizeUrl","apiKey","_3pCookies","cookiePolicy","ipPolicy","beaconApi","transport","customHeaders","maxSendAttempts","retryTimeout","flushing","attempt","doNotSendEvent","userIdPersistence","rawTrack","sendJson","makeEvent","event_type","payloadData","restoreId","getCtx","persistentProps","base","api_key","sourceIp","compatMode","eventn_ctx","_send3p","sourceType","eventType","src_payload","scheduleFlush","doSendJson","_this","urlPrefix","jsonString","postHandle","timeout","factor","pow","min","el","propsPersistance","extras","isWindow","extras_1","childElementCount","event_id","anonymous_id","ids","_getIds","utc_time","local_tz_offset","_d","force_use_fetch","custom_headers","tracking_host","ip_policy","cookie_policy","privacy_policy","use_beacon_api","log_level","initialOptions","compat_mode","cookie_domain","randomize_url","cookie_name","restored","capture_3rd_party_cookies","ga_hook","segment_hook","interceptSegmentCalls","disable_event_persistence","min_send_timeout","max_send_timeout","max_send_attempts","interceptAnalytics","interceptor","chain","integration","integrations","analyticsOriginal","addSourceMiddleware","persist","unset","propertyName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAASA,GAAT,CAAaC,CAAb,EAAeC,CAAf,EAAiBC,CAAjB,EAAmBC,CAAnB,EAAqBC,CAArB,EAAuB;EAAC,KAAIH,CAAC,GAACA,CAAC,CAACI,KAAF,GAAQJ,CAAC,CAACI,KAAF,CAAQ,GAAR,CAAR,GAAqBJ,CAAvB,EAAyBE,CAAC,GAAC,CAA/B,EAAiCA,CAAC,GAACF,CAAC,CAACK,MAArC,EAA4CH,CAAC,EAA7C;IAAgDH,CAAC,GAACA,CAAC,GAACA,CAAC,CAACC,CAAC,CAACE,CAAD,CAAF,CAAF,GAASC,CAAZ;EAAhD;;EAA8D,OAAOJ,CAAC,KAAGI,CAAJ,GAAMF,CAAN,GAAQF,CAAf;AAAiB;;AAEvG,IAAIC,CAAC,GAAC,WAAN;AAAA,IAAkBM,GAAG,GAAC,QAAtB;AAAA,IAA+BC,GAAG,GAAC,KAAnC;AAAA,IAAyCC,GAAG,GAAC,GAA7C;AAAA,IAAiDC,GAAG,GAAC,IAArD;AAAA,IAA0DC,GAAG,GAAC,eAAa,OAAOC,OAApB,GAA4BA,OAA5B,GAAoC,EAAlG;AAAqGD,GAAG,CAACE,GAAJ,IAASF,GAAG,CAACE,GAAJ,CAAQC,QAAjB,IAA2B,EAA3B;AAA8B,IAAIC,GAAG,GAAC,eAAa,OAAOC,MAA5B;AAAmC,QAAML,GAAG,CAACM,QAAV,IAAoB,QAAMN,GAAG,CAACM,QAAJ,CAAaC,IAAvC;AAA4C,eAAa,OAAOC,IAApB,IAA0B,KAAK,CAAL,KAASA,IAAI,CAACC,IAAxC;AAA6CL,GAAG,IAAE,aAAWC,MAAM,CAACK,IAAvB,IAA6B,eAAa,OAAOC,SAApB,KAAgCA,SAAS,CAACC,SAAV,CAAoBC,QAApB,CAA6B,SAA7B,KAAyCF,SAAS,CAACC,SAAV,CAAoBC,QAApB,CAA6B,OAA7B,CAAzE,CAA7B;;AAA6I,SAASC,GAAT,CAAatB,CAAb,EAAeH,CAAf,EAAiB;EAAC,OAAOA,CAAC,CAAC0B,MAAF,CAAS,CAAT,EAAYvB,CAAZ,MAAiBH,CAAC,CAAC2B,KAAF,CAAQ,CAAR,CAAxB;AAAmC;;AAAA,IAAIC,GAAG,GAACH,GAAG,CAACI,IAAJ,CAAS,IAAT,EAAc,aAAd,CAAR;AAAA,IAAqCC,GAAG,GAACL,GAAG,CAACI,IAAJ,CAAS,IAAT,EAAc,aAAd,CAAzC;;AAAsE,SAASE,GAAT,CAAa5B,CAAb,EAAe;EAAC,OAAO6B,GAAG,CAAC7B,CAAD,CAAH,GAAOyB,GAAG,CAAC,MAAD,CAAV,GAAmB,YAAU,OAAOzB,CAAjB,GAAmB8B,EAAE,CAAC9B,CAAD,CAArB,GAAyB+B,MAAM,CAACC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BlC,CAA/B,EAAkCwB,KAAlC,CAAwC,CAAxC,EAA0C,CAAC,CAA3C,CAAnD;AAAiG;;AAAA,SAASW,GAAT,CAAanC,CAAb,EAAeH,CAAf,EAAiB;EAAC,KAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,CAAC,CAAhB;EAAmB,IAAIC,CAAC,GAAC8B,GAAG,CAAC5B,CAAD,CAAT;EAAa,OAAOH,CAAC,GAAC8B,GAAG,CAAC7B,CAAD,CAAJ,GAAQA,CAAhB;AAAkB;;AAAA,SAASsC,GAAT,CAAapC,CAAb,EAAeH,CAAf,EAAiB;EAAC,OAAO,OAAOA,CAAP,KAAWG,CAAlB;AAAoB;;AAAA,IAAIqC,GAAG,GAACD,GAAG,CAACV,IAAJ,CAAS,IAAT,EAAc,UAAd,CAAR;AAAA,IAAkCY,GAAG,GAACF,GAAG,CAACV,IAAJ,CAAS,IAAT,EAAc,QAAd,CAAtC;AAAA,IAA8Da,GAAG,GAACH,GAAG,CAACV,IAAJ,CAAS,IAAT,EAAc,WAAd,CAAlE;AAA6F,IAAIc,GAAG,GAACJ,GAAG,CAACV,IAAJ,CAAS,IAAT,EAAc,SAAd,CAAR;AAAiCU,GAAG,CAACV,IAAJ,CAAS,IAAT,EAAc,QAAd;;AAAwB,SAASG,GAAT,CAAa7B,CAAb,EAAe;EAAC,OAAO,SAAOA,CAAd;AAAgB;;AAAA,SAASyC,EAAT,CAAYzC,CAAZ,EAAc;EAAC,OAAO,aAAWmC,GAAG,CAACnC,CAAD,CAAd,IAAmB,CAAC0C,KAAK,CAAC1C,CAAD,CAAhC;AAAoC;;AAAA,SAAS2C,EAAT,CAAY3C,CAAZ,EAAc;EAAC,OAAO,YAAUmC,GAAG,CAACnC,CAAD,CAApB;AAAwB;;AAAA,SAAS4C,EAAT,CAAY5C,CAAZ,EAAc;EAAC,IAAG,CAAC6C,EAAE,CAAC7C,CAAD,CAAN,EAAU,OAAO,CAAC,CAAR;;EAAU,KAAI,IAAIH,CAAC,GAACG,CAAV,EAAY,SAAO+B,MAAM,CAACe,cAAP,CAAsBjD,CAAtB,CAAnB;IAA6CA,CAAC,GAACkC,MAAM,CAACe,cAAP,CAAsBjD,CAAtB,CAAF;EAA7C;;EAAwE,OAAOkC,MAAM,CAACe,cAAP,CAAsB9C,CAAtB,MAA2BH,CAAlC;AAAoC;;AAAA,SAASgD,EAAT,CAAY7C,CAAZ,EAAc;EAAC,OAAOA,CAAC,KAAG,YAAU,OAAOA,CAAjB,IAAoB,SAAOA,CAA9B,CAAR;AAAyC;;AAAA,SAAS8B,EAAT,CAAY9B,CAAZ,EAAc;EAAC,OAAOqC,GAAG,CAACrC,CAAC,CAAC+C,WAAH,CAAH,GAAmB/C,CAAC,CAAC+C,WAAF,CAAc7B,IAAjC,GAAsC,IAA7C;AAAkD;;AAAA,SAAS8B,EAAT,CAAYhD,CAAZ,EAAc;EAAC,OAAOA,CAAC,YAAYiD,KAAb,IAAoBX,GAAG,CAACtC,CAAC,CAACkD,OAAH,CAAH,IAAgBlD,CAAC,CAAC+C,WAAlB,IAA+BN,EAAE,CAACzC,CAAC,CAAC+C,WAAF,CAAcI,eAAf,CAA5D;AAA4F;;AAAA,SAASC,EAAT,CAAYpD,CAAZ,EAAcH,CAAd,EAAgB;EAAC,IAAG,YAAU,OAAOA,CAAjB,IAAoBgC,GAAG,CAAChC,CAAD,CAA1B,EAA8B,OAAO,CAAC,CAAR;EAAU,IAAGA,CAAC,YAAYG,CAAhB,EAAkB,OAAO,CAAC,CAAR;EAAU,IAAIF,CAAC,GAACqC,GAAG,CAAC,IAAInC,CAAJ,CAAM,EAAN,CAAD,CAAT;EAAqB,IAAGgD,EAAE,CAACnD,CAAD,CAAL,EAAS,OAAKA,CAAL,GAAQ;IAAC,IAAGsC,GAAG,CAACtC,CAAD,CAAH,KAASC,CAAZ,EAAc,OAAO,CAAC,CAAR;IAAUD,CAAC,GAACkC,MAAM,CAACe,cAAP,CAAsBjD,CAAtB,CAAF;EAA4B;EAAA,OAAO,CAAC,CAAR;AAAU;;AAAAuD,EAAE,CAAC1B,IAAH,CAAQ,IAAR,EAAa2B,SAAb;AAAwBD,EAAE,CAAC1B,IAAH,CAAQ,IAAR,EAAa4B,WAAb;;AAA0B,SAASC,EAAT,CAAYvD,CAAZ,EAAcH,CAAd,EAAgB;EAAC,IAAIC,CAAC,GAACE,CAAC,YAAYwD,OAAb,IAAsBxD,CAAC,YAAYyD,YAAzC;EAAsD,OAAO3D,CAAC,IAAED,CAAH,GAAK6D,EAAE,CAAC1D,CAAD,EAAGH,CAAH,CAAP,GAAaC,CAApB;AAAsB;;AAAA,SAAS4D,EAAT,CAAY1D,CAAZ,EAAcH,CAAd,EAAgB;EAAC,OAAO,KAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmBG,CAAC,IAAEA,CAAC,CAAC2D,QAAF,KAAa9D,CAAC,CAAC+D,WAAF,EAA1C;AAA0D;;AAAA,SAASC,EAAT,CAAY7D,CAAZ,EAAc;EAAC,IAAIH,CAAC,GAAC,GAAG2B,KAAH,CAASU,IAAT,CAAc4B,SAAd,EAAwB,CAAxB,CAAN;EAAiC,OAAO,YAAU;IAAC,OAAO9D,CAAC,CAAC+D,KAAF,CAAQ,KAAK,CAAb,EAAe,GAAGvC,KAAH,CAASU,IAAT,CAAc4B,SAAd,EAAyBE,MAAzB,CAAgCnE,CAAhC,CAAf,CAAP;EAA0D,CAA5E;AAA6E;;AAAAgE,EAAE,CAACN,EAAD,EAAI,MAAJ,CAAF;;AAAcM,EAAE,CAACN,EAAD,EAAI,QAAJ,CAAF;;AAAgBM,EAAE,CAACN,EAAD,EAAI,OAAJ,CAAF;;AAAeM,EAAE,CAACN,EAAD,EAAI,QAAJ,CAAF;;AAEn6D,SAASU,GAAT,CAAanE,CAAb,EAAe;EAAC,IAAG;IAAC,OAAOoE,kBAAkB,CAACpE,CAAC,CAACqE,OAAF,CAAU,KAAV,EAAgB,GAAhB,CAAD,CAAzB;EAAgD,CAApD,CAAoD,OAAMrE,CAAN,EAAQ;IAAC,OAAO,IAAP;EAAY;AAAC;;AAAA,SAASsE,CAAT,CAAWnE,CAAX,EAAa;EAAC,OAAO,UAASH,CAAT,EAAW;IAAC,KAAI,IAAIG,CAAJ,EAAMJ,CAAC,GAACkC,MAAM,CAACsC,MAAP,CAAc,IAAd,CAAR,EAA4BC,CAAC,GAAC,oBAAlC,EAAuDrE,CAAC,GAACqE,CAAC,CAACC,IAAF,CAAOzE,CAAP,CAAzD,GAAoE;MAAC,IAAI0E,CAAC,GAACP,GAAG,CAAChE,CAAC,CAAC,CAAD,CAAF,CAAT;MAAA,IAAgBwE,CAAC,GAACR,GAAG,CAAChE,CAAC,CAAC,CAAD,CAAF,CAArB;MAA4B,SAAOuE,CAAC,CAACE,SAAF,CAAYF,CAAC,CAACrE,MAAF,GAAS,CAArB,CAAP,GAA+B,CAACN,CAAC,CAAC2E,CAAC,GAACA,CAAC,CAACE,SAAF,CAAY,CAAZ,EAAcF,CAAC,CAACrE,MAAF,GAAS,CAAvB,CAAH,CAAD,KAAiCN,CAAC,CAAC2E,CAAD,CAAD,GAAK,EAAtC,CAAD,EAA4CG,IAA5C,CAAiDF,CAAjD,CAA/B,GAAmF5E,CAAC,CAAC2E,CAAD,CAAD,GAAK,OAAKC,CAAL,IAAQA,CAAhG;IAAmG;;IAAA,KAAI,IAAIG,CAAR,IAAa/E,CAAb,EAAe;MAAC,IAAIgF,CAAC,GAACD,CAAC,CAAC1E,KAAF,CAAQ,GAAR,CAAN;MAAmB2E,CAAC,CAAC1E,MAAF,GAAS,CAAT,KAAa2E,CAAC,CAACjF,CAAD,EAAGgF,CAAC,CAACE,GAAF,CAAM,UAASjF,CAAT,EAAW;QAAC,OAAOA,CAAC,CAACqE,OAAF,CAAU,YAAV,EAAuB,EAAvB,CAAP;MAAkC,CAApD,CAAH,EAAyDtE,CAAC,CAAC+E,CAAD,CAA1D,CAAD,EAAgE,OAAO/E,CAAC,CAAC+E,CAAD,CAArF;IAA2F;;IAAA,OAAO/E,CAAP;EAAS,CAAvV,CAAwV,UAASI,CAAT,EAAW;IAAC,IAAGA,CAAH,EAAK;MAAC,IAAIJ,CAAC,GAACI,CAAC,CAAC+E,KAAF,CAAQ,QAAR,CAAN;MAAwB,OAAOnF,CAAC,IAAEA,CAAC,CAAC,CAAD,CAAJ,GAAQA,CAAC,CAAC,CAAD,CAAD,CAAKK,KAAL,CAAW,GAAX,EAAgB,CAAhB,CAAR,GAA2B,EAAlC;IAAqC;;IAAA,OAAOU,GAAG,IAAEC,MAAM,CAACoE,QAAP,CAAgBC,MAAhB,CAAuBR,SAAvB,CAAiC,CAAjC,CAAZ;EAAgD,CAA/H,CAAgIzE,CAAhI,CAAxV,CAAP;AAAme;;AAAA,SAAS6E,CAAT,CAAWhF,CAAX,EAAaG,CAAb,EAAeJ,CAAf,EAAiB;EAAC,KAAI,IAAIG,CAAC,GAACC,CAAC,CAACE,MAAF,GAAS,CAAf,EAAiBmE,CAAC,GAAC,CAAvB,EAAyBA,CAAC,GAACtE,CAA3B,EAA6B,EAAEsE,CAA/B,EAAiC;IAAC,IAAIE,CAAC,GAACvE,CAAC,CAACqE,CAAD,CAAP;IAAW,IAAG,gBAAcE,CAAd,IAAiB,kBAAgBA,CAApC,EAAsC;IAAMA,CAAC,IAAI1E,CAAL,KAASA,CAAC,CAAC0E,CAAD,CAAD,GAAK,EAAd,GAAkB1E,CAAC,GAACA,CAAC,CAAC0E,CAAD,CAArB;EAA0B;;EAAA1E,CAAC,CAACG,CAAC,CAACD,CAAD,CAAF,CAAD,GAAQH,CAAR;AAAW;;AAAA,SAASsF,GAAT,GAAc;EAAC,KAAI,IAAIrF,CAAC,GAAC,EAAN,EAASG,CAAC,GAAC,CAAX,EAAaJ,CAAC,GAAC,aAAWuF,IAAI,CAACC,MAAL,EAAX,GAAyB,CAA5C,EAA8CpF,CAAC,KAAG,EAAlD,GAAsD;IAAC,IAAID,CAAC,GAAC,uCAAuCC,CAAC,GAAC,CAAzC,CAAN;IAAA,IAAkDqE,CAAC,GAAC,KAAGzE,CAAvD;IAAyDC,CAAC,IAAE,OAAKE,CAAL,IAAQ,OAAKA,CAAb,GAAeA,CAAf,GAAiB,CAAC,OAAKA,CAAL,GAAOsE,CAAP,GAAS,IAAEA,CAAF,GAAI,CAAd,EAAiBrC,QAAjB,CAA0B,EAA1B,CAApB,EAAkDpC,CAAC,GAACI,CAAC,GAAC,CAAF,IAAK,CAAL,GAAO,aAAWmF,IAAI,CAACC,MAAL,EAAX,GAAyB,CAAhC,GAAkCxF,CAAC,IAAE,CAAzF;EAA4F;;EAAA,OAAOC,CAAP;AAAS;;AAE/7B,IAAIC,CAAC,GAAC,QAAN;AAAA,IAAeuE,CAAC,GAAC/D,GAAG,GAAC,QAAJ,GAAaA,GAA9B;AAAA,IAAkCP,CAAC,GAAC,OAAOsF,IAAP,KAAclF,GAAd,IAAmBkF,IAAI,CAACA,IAAL,KAAYA,IAA/B,IAAqCA,IAArC,IAA2C,OAAOC,MAAP,KAAgBnF,GAAhB,IAAqBmF,MAAM,CAACA,MAAP,KAAgBA,MAArC,IAA6CA,MAAxF,IAAgG,KAAK,CAAzI;;AAA2I,SAASC,GAAT,CAAa3F,CAAb,EAAe;EAAC,OAAOG,CAAC,CAACsE,CAAD,CAAD,CAAKzE,CAAL,CAAP;AAAe;;AAAA,SAAS4F,CAAT,CAAW5F,CAAX,EAAaC,CAAb,EAAe;EAAC,OAAOE,CAAC,CAACsE,CAAD,CAAD,CAAKzE,CAAL,IAAQC,CAAf;AAAiB;;AAAA,SAAS4F,GAAT,CAAa7F,CAAb,EAAe;EAAC,OAAOG,CAAC,CAACsE,CAAD,CAAD,CAAKzE,CAAL,CAAP;AAAgB;;AAAA,SAAS8F,GAAT,CAAa9F,CAAb,EAAeC,CAAf,EAAiBG,CAAjB,EAAmB;EAAC,IAAIF,CAAJ;;EAAM,IAAG;IAAC,IAAG6F,GAAG,CAAC/F,CAAD,CAAN,EAAU;MAAC,IAAIyE,CAAC,GAACzD,MAAM,CAAChB,CAAD,CAAZ;MAAgBE,CAAC,GAACuE,CAAC,CAACxE,CAAD,CAAD,CAAK4B,IAAL,CAAU4C,CAAV,CAAF;IAAgB;EAAC,CAAhD,CAAgD,OAAMzE,CAAN,EAAQ,CAAE;;EAAA,OAAOE,CAAC,IAAEE,CAAV;AAAY;;AAAAD,CAAC,CAACsE,CAAD,CAAD,KAAOtE,CAAC,CAACsE,CAAD,CAAD,GAAK,EAAZ;AAAgB,IAAIuB,GAAG,GAAC,EAAR;;AAAW,SAASD,GAAT,CAAa/F,CAAb,EAAe;EAAC,IAAG,OAAOgG,GAAG,CAAChG,CAAD,CAAV,KAAgBC,CAAnB,EAAqB,OAAO+F,GAAG,CAAChG,CAAD,CAAV;;EAAc,IAAG;IAAC,IAAIiG,GAAG,GAACjF,MAAM,CAAChB,CAAD,CAAd;IAAkBiG,GAAG,CAACC,OAAJ,CAAYjG,CAAZ,EAAcA,CAAd,GAAiBgG,GAAG,CAACE,UAAJ,CAAelG,CAAf,CAAjB;EAAoC,CAA1D,CAA0D,OAAMA,CAAN,EAAQ;IAAC,OAAO+F,GAAG,CAAChG,CAAD,CAAH,GAAO,CAAC,CAAf;EAAiB;;EAAA,OAAOgG,GAAG,CAAChG,CAAD,CAAH,GAAO,CAAC,CAAf;AAAiB;;AAE9f,SAASoG,GAAT,GAAc;EAAC,OAAOA,GAAG,GAAClE,MAAM,CAACmE,MAAP,IAAe,UAASpG,CAAT,EAAW;IAAC,KAAI,IAAID,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACiE,SAAS,CAAC3D,MAAxB,EAA+BN,CAAC,EAAhC,EAAmC;MAAC,IAAIG,CAAC,GAAC8D,SAAS,CAACjE,CAAD,CAAf;;MAAmB,KAAI,IAAII,CAAR,IAAaD,CAAb;QAAe+B,MAAM,CAACC,SAAP,CAAiBmE,cAAjB,CAAgCjE,IAAhC,CAAqClC,CAArC,EAAuCC,CAAvC,MAA4CH,CAAC,CAACG,CAAD,CAAD,GAAKD,CAAC,CAACC,CAAD,CAAlD;MAAf;IAAuE;;IAAA,OAAOH,CAAP;EAAS,CAAtK,EAAuKmG,GAAG,CAAClC,KAAJ,CAAU,IAAV,EAAeD,SAAf,CAA9K;AAAwM;;AAAA,IAAIsC,GAAG,GAAC,UAAR;AAAA,IAAmBC,CAAC,GAAC,WAArB;AAAA,IAAiCC,CAAC,GAAC,aAAWlB,IAAI,CAACC,MAAL,GAAcpD,QAAd,CAAuB,EAAvB,CAA9C;AAAA,IAAyEsE,GAAG,GAAC,eAAe,YAAU;EAAC,OAAO,OAAOC,MAAP,KAAgBJ,GAAhB,IAAqBI,MAAM,CAACC,UAA5B,IAAwC,cAA/C;AAA8D,CAAzE,EAA5F;AAAA,IAAwKC,GAAG,GAAC,SAAON,GAAnL;;AAAuL,SAASO,CAAT,CAAW7G,CAAX,EAAaD,CAAb,EAAeG,CAAf,EAAiB;EAAC,IAAIC,CAAJ;;EAAM,IAAG,OAAOJ,CAAP,KAAWuG,GAAX,IAAgB,OAAOpG,CAAP,KAAWqG,CAA3B,KAA+BrG,CAAC,GAACH,CAAF,EAAIA,CAAC,GAAC,KAAK,CAA1C,GAA6C,OAAOG,CAAP,KAAWqG,CAA3D,EAA6D;IAAC,IAAG,OAAOrG,CAAP,KAAWoG,GAAd,EAAkB,MAAM,IAAInD,KAAJ,CAAU,aAAWyD,GAArB,CAAN;IAAgC,OAAO1G,CAAC,CAAC2G,CAAD,CAAD,CAAK7G,CAAL,EAAOD,CAAP,CAAP;EAAiB;;EAAA,IAAG,OAAOC,CAAP,KAAWsG,GAAd,EAAkB,MAAM,IAAInD,KAAJ,CAAU,YAAUyD,GAApB,CAAN;EAA+B,IAAIjC,CAAC,GAAC3E,CAAN;EAAA,IAAQ0E,CAAC,GAAC3E,CAAV;EAAA,IAAYyE,CAAC,GAAC,EAAd;EAAA,IAAiBM,CAAC,GAACN,CAAnB;EAAA,IAAqBF,CAAC,GAAC,CAAC,CAAxB;;EAA0B,SAASrE,CAAT,GAAY;IAAC6E,CAAC,KAAGN,CAAJ,KAAQM,CAAC,GAACN,CAAC,CAAC9C,KAAF,EAAV;EAAsB;;EAAA,SAASiE,CAAT,GAAY;IAAC,OAAOjB,CAAP;EAAS;;EAAA,SAASoC,CAAT,CAAW9G,CAAX,EAAa;IAAC,IAAG,OAAOA,CAAP,KAAWsG,GAAd,EAAkB,MAAM,IAAInD,KAAJ,CAAU,aAAWyD,GAArB,CAAN;IAAgC,IAAI7G,CAAC,GAAC,CAAC,CAAP;IAAS,OAAOE,CAAC,IAAG6E,CAAC,CAACD,IAAF,CAAO7E,CAAP,CAAH,EAAa,YAAU;MAAC,IAAGD,CAAH,EAAK;QAACA,CAAC,GAAC,CAAC,CAAH,EAAKE,CAAC,EAAN;QAAS,IAAIC,CAAC,GAAC4E,CAAC,CAACiC,OAAF,CAAU/G,CAAV,CAAN;QAAmB8E,CAAC,CAACkC,MAAF,CAAS9G,CAAT,EAAW,CAAX;MAAe;IAAC,CAAlF;EAAmF;;EAAA,SAAS+G,CAAT,CAAWjH,CAAX,EAAa;IAAC,IAAG,CAAC8C,EAAE,CAAC9C,CAAD,CAAN,EAAU,MAAM,IAAImD,KAAJ,CAAU,YAAV,CAAN;IAA8B,IAAG,OAAOnD,CAAC,CAACkH,IAAT,KAAgBX,CAAnB,EAAqB,MAAM,IAAIpD,KAAJ,CAAU,aAAWoD,CAArB,CAAN;IAA8B,IAAGjC,CAAH,EAAK,MAAM,IAAInB,KAAJ,CAAU,qBAAV,CAAN;;IAAuC,IAAG;MAACmB,CAAC,GAAC,CAAC,CAAH,EAAKI,CAAC,GAACC,CAAC,CAACD,CAAD,EAAG1E,CAAH,CAAR;IAAe,CAAnB,SAA0B;MAACsE,CAAC,GAAC,CAAC,CAAH;IAAM;;IAAA,KAAI,IAAIvE,CAAC,GAACyE,CAAC,GAACM,CAAR,EAAU5E,CAAC,GAAC,CAAhB,EAAkBA,CAAC,GAACH,CAAC,CAACM,MAAtB,EAA6BH,CAAC,EAA9B;MAAiC,CAAC,GAAGH,CAAC,CAACG,CAAD,CAAL;IAAjC;;IAA6C,OAAOF,CAAP;EAAS;;EAAA,OAAOiH,CAAC,CAAC;IAACC,IAAI,EAAC;EAAN,CAAD,CAAD,EAAyB,CAAC/G,CAAC,GAAC;IAACgH,QAAQ,EAACF,CAAV;IAAYG,SAAS,EAACN,CAAtB;IAAwBO,QAAQ,EAAC1B,CAAjC;IAAmC2B,cAAc,EAAC,wBAAStH,CAAT,EAAW;MAAC,IAAG,OAAOA,CAAP,KAAWsG,GAAd,EAAkB,MAAM,IAAInD,KAAJ,CAAU,iBAAeyD,GAAzB,CAAN;MAAoCjC,CAAC,GAAC3E,CAAF,EAAIiH,CAAC,CAAC;QAACC,IAAI,EAAC;MAAN,CAAD,CAAL;IAA8B;EAAlJ,CAAH,EAAwJT,GAAxJ,IAA6J,YAAU;IAAC,IAAIzG,CAAJ;IAAA,IAAMD,CAAC,GAAC+G,CAAR;IAAU,OAAO,CAAC9G,CAAC,GAAC;MAACoH,SAAS,EAAC,mBAASpH,CAAT,EAAW;QAAC,IAAG,YAAU,OAAOA,CAApB,EAAsB,MAAM,IAAIuD,SAAJ,CAAc,iBAAd,CAAN;;QAAuC,SAASrD,CAAT,GAAY;UAACF,CAAC,CAACuH,IAAF,IAAQvH,CAAC,CAACuH,IAAF,CAAO5B,CAAC,EAAR,CAAR;QAAqB;;QAAA,OAAOzF,CAAC,IAAG;UAACsH,WAAW,EAACzH,CAAC,CAACG,CAAD;QAAd,CAAX;MAA8B;IAApJ,CAAH,EAA0JuG,GAA1J,IAA+J,YAAU;MAAC,OAAO,IAAP;IAAY,CAAtL,EAAuLzG,CAA9L;EAAgM,CAA3Y,EAA4YG,CAAnZ;AAAqZ;;AAAA,SAASsH,GAAT,CAAazH,CAAb,EAAeD,CAAf,EAAiB;EAAC,IAAIG,CAAC,GAACH,CAAC,IAAEA,CAAC,CAACmH,IAAX;EAAgB,OAAO,aAAWhH,CAAC,IAAEA,CAAC,CAACiC,QAAF,EAAH,IAAiB,GAA5B,IAAiC,UAAjC,GAA4CnC,CAA5C,GAA8C,WAA9C,GAA0DuG,CAAjE;AAAmE;;AAAA,SAASmB,CAAT,GAAY;EAAC,IAAI1H,CAAC,GAAC,GAAG0B,KAAH,CAASU,IAAT,CAAc4B,SAAd,CAAN;EAA+B,OAAO,MAAIhE,CAAC,CAACK,MAAN,GAAa,UAASL,CAAT,EAAW;IAAC,OAAOA,CAAP;EAAS,CAAlC,GAAmC,MAAIA,CAAC,CAACK,MAAN,GAAaL,CAAC,CAAC,CAAD,CAAd,GAAkBA,CAAC,CAAC2H,MAAF,CAAS,UAAS3H,CAAT,EAAWD,CAAX,EAAa;IAAC,OAAO,YAAU;MAAC,OAAOC,CAAC,CAACD,CAAC,CAACkE,KAAF,CAAQ,KAAK,CAAb,EAAe,GAAGvC,KAAH,CAASU,IAAT,CAAc4B,SAAd,CAAf,CAAD,CAAR;IAAmD,CAArE;EAAsE,CAA7F,CAA5D;AAA2J;;AAAA,SAAS4D,CAAT,GAAY;EAAC,IAAI5H,CAAC,GAACgE,SAAN;EAAgB,OAAO,UAASjE,CAAT,EAAW;IAAC,OAAO,UAASG,CAAT,EAAWC,CAAX,EAAawE,CAAb,EAAe;MAAC,IAAID,CAAJ;MAAA,IAAMF,CAAC,GAACzE,CAAC,CAACG,CAAD,EAAGC,CAAH,EAAKwE,CAAL,CAAT;MAAA,IAAiBG,CAAC,GAACN,CAAC,CAAC2C,QAArB;MAAA,IAA8BpC,CAAC,GAAC;QAACsC,QAAQ,EAAC7C,CAAC,CAAC6C,QAAZ;QAAqBF,QAAQ,EAAC,kBAASnH,CAAT,EAAW;UAAC,OAAO8E,CAAC,CAAC9E,CAAD,CAAR;QAAY;MAAtD,CAAhC;MAAwF,OAAO0E,CAAC,GAAC,GAAGhD,KAAH,CAASU,IAAT,CAAcpC,CAAd,EAAiBiF,GAAjB,CAAqB,UAASjF,CAAT,EAAW;QAAC,OAAOA,CAAC,CAAC+E,CAAD,CAAR;MAAY,CAA7C,CAAF,EAAiDoB,GAAG,CAAC,EAAD,EAAI3B,CAAJ,EAAM;QAAC2C,QAAQ,EAACrC,CAAC,GAAC4C,CAAC,CAACzD,KAAF,CAAQ,KAAK,CAAb,EAAeS,CAAf,EAAkBF,CAAC,CAAC2C,QAApB;MAAZ,CAAN,CAA3D;IAA6G,CAA5N;EAA6N,CAAhP;AAAiP;;AAAA,IAAIU,GAAG,GAACpH,GAAG,GAAC,SAAZ;AAAA,IAAsBqH,GAAG,GAACrH,GAAG,GAAC,SAA9B;AAAA,IAAwCsH,CAAC,GAACtH,GAAG,GAAC,aAA9C;AAAA,IAA4DuH,GAAG,GAAC,QAAhE;AAAA,IAAyEC,CAAC,GAAC,aAA3E;AAAA,IAAyFC,GAAG,GAAC,CAAC,WAAD,EAAa,QAAb,EAAsB,UAAtB,EAAiC,iBAAjC,EAAmD,YAAnD,EAAgE,eAAhE,EAAgF,OAAhF,EAAwF,YAAxF,EAAqG,OAArG,EAA6G,UAA7G,EAAwH,WAAxH,EAAoI,MAApI,EAA2I,SAA3I,EAAqJ,aAArJ,EAAmK,YAAnK,EAAgL,OAAhL,EAAwL,UAAxL,EAAmM,cAAnM,EAAkN,eAAlN,EAAkO,UAAlO,EAA6O,aAA7O,EAA2P,iBAA3P,EAA6Q,eAA7Q,EAA6R,iBAA7R,EAA+S,cAA/S,EAA8T,eAA9T,EAA8U,QAA9U,EAAuV,SAAvV,EAAiW,cAAjW,EAAgX,SAAhX,EAA0X,YAA1X,EAAuY,gBAAvY,EAAwZ,iBAAxZ,EAA0a,YAA1a,EAAub,eAAvb,EAAuc,mBAAvc,CAA7F;AAAA,IAAyjBC,CAAC,GAAC,CAAC,MAAD,EAAQ,QAAR,EAAiB,QAAjB,EAA0B,QAA1B,CAA3jB;AAAA,IAA+lBC,CAAC,GAACF,GAAG,CAACP,MAAJ,CAAW,UAAS3H,CAAT,EAAWD,CAAX,EAAa;EAAC,OAAOC,CAAC,CAACD,CAAD,CAAD,GAAKA,CAAL,EAAOC,CAAd;AAAgB,CAAzC,EAA0C;EAACqI,kBAAkB,EAAC,4BAASrI,CAAT,EAAW;IAAC,OAAO,oBAAkBA,CAAzB;EAA2B,CAA3D;EAA4DsI,eAAe,EAAC,yBAAStI,CAAT,EAAW;IAAC,OAAO,WAASA,CAAhB;EAAkB;AAA1G,CAA1C,CAAjmB;AAAA,IAAwvBuI,CAAC,GAAC,OAA1vB;AAAA,IAAkwBC,CAAC,GAAC,WAApwB;AAAA,IAAgxBC,CAAC,GAAC,YAAlxB;;AAA+xB,SAASC,GAAT,CAAa1I,CAAb,EAAe;EAAC,IAAID,CAAC,GAACC,CAAC,CAAC2I,OAAF,CAAU1C,OAAhB;EAAwB,OAAO,UAAS/F,CAAT,EAAW;IAAC,OAAO,UAASC,CAAT,EAAW;MAAC,OAAO,UAASwE,CAAT,EAAW;QAAC,IAAGA,CAAC,CAACuC,IAAF,KAASkB,CAAC,CAACQ,SAAd,EAAwB;UAAC,IAAIlE,CAAC,GAACC,CAAC,CAACkE,MAAR;UAAA,IAAerE,CAAC,GAACG,CAAC,CAACmE,IAAnB;UAAA,IAAwBhE,CAAC,GAACH,CAAC,CAACoE,aAA5B;UAAA,IAA0ChE,CAAC,GAACJ,CAAC,CAACqE,WAA9C;UAAA,IAA0D1E,CAAC,GAACQ,CAAC,CAACmE,MAAF,KAAWzE,CAAC,CAACyE,MAAzE;UAAgFnE,CAAC,CAACoE,WAAF,KAAgB1E,CAAC,CAAC0E,WAAlB,IAA+BnJ,CAAC,CAAC8H,GAAD,EAAKrD,CAAC,CAAC0E,WAAP,CAAhC,EAAoD5E,CAAC,IAAEvE,CAAC,CAAC+H,GAAD,EAAKtD,CAAC,CAACyE,MAAP,CAAxD,EAAuElE,CAAC,CAACoE,MAAF,IAAUpJ,CAAC,CAACgI,CAAD,EAAG5B,GAAG,CAAC,EAAD,EAAI7B,CAAC,IAAEQ,CAAC,CAACqE,MAAL,GAAYrE,CAAC,CAACqE,MAAd,GAAqB,EAAzB,EAA4BpE,CAAC,CAACoE,MAA9B,CAAN,CAAlF;UAA+H,IAAIlJ,CAAC,GAACgC,MAAM,CAACmH,IAAP,CAAYzE,CAAC,CAACkE,MAAd,CAAN;;UAA4B,IAAG5I,CAAC,CAACI,MAAL,EAAY;YAAC,IAAIsF,CAAC,GAACjB,CAAC,CAAC2E,MAAR;YAAA,IAAevC,CAAC,GAACpC,CAAC,CAAC4E,QAAnB;YAAA,IAA4BrC,CAAC,GAAChH,CAAC,CAAC0H,MAAF,CAAS,UAAS3H,CAAT,EAAWD,CAAX,EAAa;cAAC,IAAGA,CAAC,CAACmF,KAAF,CAAQqD,CAAR,KAAYxI,CAAC,CAACmF,KAAF,CAAQ,YAAR,CAAf,EAAqC;gBAAC,IAAIhF,CAAC,GAACH,CAAC,CAACsE,OAAF,CAAUkE,CAAV,EAAY,EAAZ,CAAN;gBAAsBvI,CAAC,CAACuJ,QAAF,CAAW,eAAarJ,CAAb,GAAe,MAAf,GAAsBA,CAAjC,IAAoCwE,CAAC,CAAC3E,CAAD,CAArC;cAA0C;;cAAA,OAAOA,CAAC,CAACmF,KAAF,CAAQsD,CAAR,MAAaxI,CAAC,CAACwJ,KAAF,CAAQzJ,CAAC,CAACsE,OAAF,CAAUmE,CAAV,EAAY,EAAZ,CAAR,IAAyB9D,CAAC,CAAC3E,CAAD,CAAvC,GAA4CA,CAAC,CAACmF,KAAF,CAAQuD,CAAR,MAAazI,CAAC,CAACmJ,MAAF,CAASpJ,CAAC,CAACsE,OAAF,CAAUoE,CAAV,EAAY,EAAZ,CAAT,IAA0B/D,CAAC,CAAC3E,CAAD,CAAxC,CAA5C,EAAyFC,CAAhG;YAAkG,CAA/N,EAAgO;cAACuJ,QAAQ,EAAC,EAAV;cAAaC,KAAK,EAAC,EAAnB;cAAsBL,MAAM,EAAC;YAA7B,CAAhO,CAA9B;YAAgSjJ,CAAC,CAACiH,QAAF,CAAWhB,GAAG,CAAC;cAACe,IAAI,EAACkB,CAAC,CAACS,MAAR;cAAeY,GAAG,EAAC/E;YAAnB,CAAD,EAAuBuC,CAAvB,EAAyBtB,CAAC,GAAC;cAACsD,MAAM,EAACtD;YAAR,CAAD,GAAY,EAAtC,CAAd,GAAyDA,CAAC,IAAE+D,UAAU,CAAC,YAAU;cAAC,OAAO1J,CAAC,CAAC2J,QAAF,CAAWhE,CAAX,EAAasB,CAAC,CAACkC,MAAf,CAAP;YAA8B,CAA1C,EAA2C,CAA3C,CAAtE,EAAoHrC,CAAC,IAAE4C,UAAU,CAAC,YAAU;cAAC,OAAO1J,CAAC,CAAC4J,KAAF,CAAQ9C,CAAR,EAAUG,CAAC,CAACuC,KAAZ,CAAP;YAA0B,CAAtC,EAAuC,CAAvC,CAAjI,EAA2KvH,MAAM,CAACmH,IAAP,CAAYnC,CAAC,CAACsC,QAAd,EAAwBlJ,MAAxB,IAAgCH,CAAC,CAACiH,QAAF,CAAW;cAACD,IAAI,EAACkB,CAAC,CAACmB,QAAR;cAAiBA,QAAQ,EAACtC,CAAC,CAACsC;YAA5B,CAAX,CAA3M;UAA8P;QAAC;;QAAA,OAAOpJ,CAAC,CAACwE,CAAD,CAAR;MAAY,CAA/0B;IAAg1B,CAAn2B;EAAo2B,CAAv3B;AAAw3B;;AAAA,SAASkF,CAAT,CAAW7J,CAAX,EAAa;EAAC,OAAO,UAASD,CAAT,EAAWG,CAAX,EAAa;IAAC,IAAG,KAAK,CAAL,KAASH,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB,KAAK,CAAL,KAASG,CAAT,KAAaA,CAAC,GAAC,EAAf,CAAnB,EAAsCA,CAAC,CAACgH,IAAF,KAASkB,CAAC,CAAC0B,UAApD,EAA+D;MAAC,IAAG5J,CAAC,CAAC6J,GAAF,KAAQlC,GAAX,EAAe,OAAO1B,GAAG,CAAC,EAAD,EAAIpG,CAAJ,EAAM;QAACmJ,WAAW,EAAChJ,CAAC,CAAC8J;MAAf,CAAN,CAAV;MAAuC,IAAG9J,CAAC,CAAC6J,GAAF,KAAQjC,GAAX,EAAe,OAAO3B,GAAG,CAAC,EAAD,EAAIpG,CAAJ,EAAM;QAACkJ,MAAM,EAAC/I,CAAC,CAAC8J;MAAV,CAAN,CAAV;IAAkC;;IAAA,QAAO9J,CAAC,CAACgH,IAAT;MAAe,KAAKkB,CAAC,CAACuB,QAAP;QAAgB,OAAO1H,MAAM,CAACmE,MAAP,CAAc,EAAd,EAAiBrG,CAAjB,EAAmB;UAACkJ,MAAM,EAAC/I,CAAC,CAAC+I,MAAV;UAAiBE,MAAM,EAAChD,GAAG,CAAC,EAAD,EAAIpG,CAAC,CAACoJ,MAAN,EAAajJ,CAAC,CAACiJ,MAAf;QAA3B,CAAnB,CAAP;;MAA8E,KAAKf,CAAC,CAAC6B,KAAP;QAAa,OAAO,CAACnC,GAAD,EAAKD,GAAL,EAASE,CAAT,EAAYmC,OAAZ,CAAoB,UAASnK,CAAT,EAAW;UAACC,CAAC,CAACkG,UAAF,CAAanG,CAAb;QAAiB,CAAjD,GAAmDkC,MAAM,CAACmE,MAAP,CAAc,EAAd,EAAiBrG,CAAjB,EAAmB;UAACkJ,MAAM,EAAC,IAAR;UAAaC,WAAW,EAAC,IAAzB;UAA8BC,MAAM,EAAC;QAArC,CAAnB,CAA1D;;MAAuH;QAAQ,OAAOpJ,CAAP;IAAzP;EAAmQ,CAA/b;AAAgc;;AAAA,SAASoK,CAAT,CAAWnK,CAAX,EAAa;EAAC,OAAO;IAACiJ,MAAM,EAACjJ,CAAC,CAACoK,OAAF,CAAUtC,GAAV,CAAR;IAAuBoB,WAAW,EAAClJ,CAAC,CAACoK,OAAF,CAAUvC,GAAV,CAAnC;IAAkDsB,MAAM,EAACnJ,CAAC,CAACoK,OAAF,CAAUrC,CAAV;EAAzD,CAAP;AAA8E;;AAAA,IAAIsC,CAAC,GAAC,SAAFA,CAAE,CAASrK,CAAT,EAAW;EAAC,OAAOS,GAAG,GAAC,MAAJ,GAAWA,GAAX,GAAeT,CAAtB;AAAwB,CAA1C;;AAA2C,SAASsK,CAAT,CAAWvK,CAAX,EAAa;EAAC,IAAIG,CAAC,GAACH,CAAC,CAAC4I,OAAR;EAAA,IAAgBxI,CAAC,GAACD,CAAC,CAAC+F,OAApB;EAAA,IAA4BvB,CAAC,GAACxE,CAAC,CAACgG,UAAhC;EAAA,IAA2C1B,CAAC,GAACtE,CAAC,CAACkK,OAA/C;EAAuD,OAAO,UAASrK,CAAT,EAAW;IAAC,OAAO,UAASG,CAAT,EAAW;MAAC,OAAO,UAAS4E,CAAT,EAAW;QAAC,IAAIC,CAAC,GAACD,CAAC,CAACmE,MAAR;QAAA,IAAe3E,CAAC,GAACQ,CAAC,CAACqE,MAAnB;QAAA,IAA0BlJ,CAAC,GAAC6E,CAAC,CAACyF,OAA9B;;QAAsC,IAAGzF,CAAC,CAACoC,IAAF,KAASkB,CAAC,CAAC6B,KAAX,KAAmB,CAACnC,GAAD,EAAKC,CAAL,EAAOF,GAAP,EAAYqC,OAAZ,CAAoB,UAASlK,CAAT,EAAW;UAAC0E,CAAC,CAAC1E,CAAD,CAAD;QAAM,CAAtC,GAAwC,CAACgI,GAAD,EAAKC,CAAL,EAAO,QAAP,EAAiBiC,OAAjB,CAAyB,UAASlK,CAAT,EAAW;UAAC4F,GAAG,CAACyE,CAAC,CAACrK,CAAD,CAAF,CAAH;QAAW,CAAhD,CAA3D,GAA8G8E,CAAC,CAACoC,IAAF,KAASkB,CAAC,CAACuB,QAA5H,EAAqI;UAACnF,CAAC,CAACqD,GAAD,CAAD,IAAQ1H,CAAC,CAAC0H,GAAD,EAAKxC,GAAG,EAAR,CAAT;UAAqB,IAAIM,CAAC,GAACnB,CAAC,CAACsD,GAAD,CAAP;UAAA,IAAahB,CAAC,GAACtC,CAAC,CAACuD,CAAD,CAAD,IAAM,EAArB;UAAwBpC,CAAC,IAAEA,CAAC,KAAGZ,CAAP,IAAUhF,CAAC,CAACoH,QAAF,CAAW;YAACD,IAAI,EAACkB,CAAC,CAACoC,aAAR;YAAsBC,GAAG,EAAC;cAACxB,MAAM,EAACtD,CAAR;cAAUwD,MAAM,EAACrC;YAAjB,CAA1B;YAA8C4D,GAAG,EAAC;cAACzB,MAAM,EAAClE,CAAR;cAAUoE,MAAM,EAAC7E;YAAjB,CAAlD;YAAsEiG,OAAO,EAACtK;UAA9E,CAAX,CAAV,EAAuG8E,CAAC,IAAE5E,CAAC,CAAC2H,GAAD,EAAK/C,CAAL,CAA3G,EAAmHT,CAAC,IAAEnE,CAAC,CAAC4H,CAAD,EAAG5B,GAAG,CAAC,EAAD,EAAIW,CAAJ,EAAMxC,CAAN,CAAN,CAAvH;QAAwI;;QAAA,OAAOpE,CAAC,CAAC4E,CAAD,CAAR;MAAY,CAAhY;IAAiY,CAApZ;EAAqZ,CAAxa;AAAya;;AAAA,IAAI6F,CAAC,GAAC,EAAN;;AAAS,SAASC,GAAT,CAAa5K,CAAb,EAAeD,CAAf,EAAiB;EAAC4K,CAAC,CAAC3K,CAAD,CAAD,IAAMuC,GAAG,CAACoI,CAAC,CAAC3K,CAAD,CAAF,CAAT,KAAkB2K,CAAC,CAAC3K,CAAD,CAAD,CAAKD,CAAL,GAAQ,OAAO4K,CAAC,CAAC3K,CAAD,CAAlC;AAAwC;;AAAA,SAAS6K,GAAT,CAAa7K,CAAb,EAAeD,CAAf,EAAiBG,CAAjB,EAAmB;EAAC,OAAO,IAAI4K,OAAJ,CAAY,UAAS3K,CAAT,EAAWwE,CAAX,EAAa;IAAC,OAAO5E,CAAC,KAAGI,CAAC,CAACH,CAAD,CAAJ,GAAQE,CAAC,GAAC,CAAF,GAAIyE,CAAC,CAACwB,GAAG,CAAC,EAAD,EAAInG,CAAJ,EAAM;MAAC+K,KAAK,EAAC,CAAC;IAAR,CAAN,CAAJ,CAAL,GAA4B,IAAID,OAAJ,CAAY,UAAS9K,CAAT,EAAW;MAAC,OAAO0J,UAAU,CAAC1J,CAAD,EAAG,EAAH,CAAjB;IAAwB,CAAhD,EAAkDgL,IAAlD,CAAuD,UAAStG,CAAT,EAAW;MAAC,OAAOmG,GAAG,CAAC7K,CAAD,EAAGD,CAAH,EAAKG,CAAC,GAAC,EAAP,CAAH,CAAc8K,IAAd,CAAmB7K,CAAnB,EAAqBwE,CAArB,CAAP;IAA+B,CAAlG,CAA5C;EAAgJ,CAA1K,CAAP;AAAmL;;AAAA,IAAIsG,CAAC,GAAC,SAAFA,CAAE,CAASjL,CAAT,EAAW;EAAC,IAAID,CAAC,GAACC,CAAC,CAACkL,IAAR;EAAA,IAAahL,CAAC,GAACF,CAAC,CAACmL,MAAjB;EAAA,IAAwBhL,CAAC,GAACH,CAAC,CAACoL,QAA5B;EAAA,IAAqCzG,CAAC,GAAC3E,CAAC,CAACqL,KAAzC;EAAA,IAA+C3G,CAAC,GAAC1E,CAAC,CAACsL,UAAnD;EAAA,IAA8D9G,CAAC,GAACxE,CAAC,CAACuL,UAAlE;EAAA,IAA6EzG,CAAC,GAAC9E,CAAC,CAACwL,KAAjF;EAAA,IAAuFlH,CAAC,GAACtE,CAAC,CAACyL,MAA3F;;EAAkG,IAAG;IAAC,IAAI9F,CAAC,GAAChB,CAAC,CAAC+G,OAAR;IAAA,IAAgB5E,CAAC,GAACnC,CAAC,CAACgH,OAApB;IAAA,IAA4B1E,CAAC,GAAC/G,CAAC,CAACgH,IAAhC;IAAA,IAAqClC,CAAC,GAACiC,CAAC,CAAC/B,KAAF,CAAQ0G,CAAR,CAAvC;IAAA,IAAkDC,CAAC,GAAC9L,CAAC,CAAC+L,KAAF,CAAQ7G,GAAR,CAAY,UAASjF,CAAT,EAAW;MAAC,OAAOA,CAAC,CAAC+L,UAAT;IAAoB,CAA5C,CAApD;IAAkG/G,CAAC,KAAG6G,CAAC,GAACrH,CAAC,CAACwH,MAAF,CAAS/G,GAAT,CAAa,UAASjF,CAAT,EAAW;MAAC,OAAOA,CAAC,CAAC+L,UAAT;IAAoB,CAA7C,CAAL,CAAD;;IAAsD,IAAIxF,CAAC,GAAC,UAASvG,CAAT,EAAWD,CAAX,EAAa;MAAC,OAAO,UAASG,CAAT,EAAWC,CAAX,EAAawE,CAAb,EAAe;QAAC,IAAID,CAAC,GAACvE,CAAC,CAAC8L,MAAR;QAAA,IAAezH,CAAC,GAACrE,CAAC,CAACiB,IAAnB;QAAA,IAAwB0D,CAAC,GAACN,CAAC,GAAC,GAAF,GAAMtE,CAAC,CAACgH,IAAlC;QAAuCvC,CAAC,KAAGG,CAAC,GAACH,CAAC,CAACuH,KAAP,CAAD;QAAe,IAAInH,CAAC,GAAC7E,CAAC,CAACgH,IAAF,CAAOhC,KAAP,CAAa0G,CAAb,IAAgB,UAAS5L,CAAT,EAAWD,CAAX,EAAaG,CAAb,EAAeC,CAAf,EAAiBwE,CAAjB,EAAmB;UAAC,OAAO,UAASD,CAAT,EAAWF,CAAX,EAAa;YAAC,IAAIM,CAAC,GAAC3E,CAAC,GAACA,CAAC,CAACiB,IAAH,GAAQpB,CAAf;YAAA,IAAiB+E,CAAC,GAACP,CAAC,IAAE2H,EAAE,CAAC3H,CAAD,CAAL,GAASA,CAAT,GAAWtE,CAA9B;YAAgC,IAAGC,CAAC,KAAG,CAAC,CAAC4E,CAAC,GAACP,CAAC,IAAE2H,EAAE,CAAC3H,CAAD,CAAL,GAASA,CAAT,GAAW,CAACxE,CAAD,CAAd,EAAmBuB,QAAnB,CAA4BvB,CAA5B,CAAD,IAAiC,MAAI+E,CAAC,CAAC1E,MAA1C,CAAJ,EAAsD,MAAM,IAAI8C,KAAJ,CAAU,YAAUpD,CAAV,GAAY,kBAAZ,GAA+BC,CAA/B,GAAiC,WAAjC,GAA6CoM,IAAI,CAACC,SAAL,CAAetH,CAAf,CAA7C,GAA+D,cAAzE,CAAN;YAA+F,OAAOoB,GAAG,CAAC,EAAD,EAAIxB,CAAJ,EAAM;cAAC2H,KAAK,EAAC;gBAACC,MAAM,EAAC7H,CAAR;gBAAUgH,OAAO,EAAC3G,CAAlB;gBAAoByH,MAAM,EAACzM,CAA3B;gBAA6BgI,CAAC,EAACjD;cAA/B;YAAP,CAAN,CAAV;UAA2D,CAArQ;QAAsQ,CAA1R,CAA2RN,CAA3R,EAA6RM,CAA7R,EAA+R/E,CAA/R,EAAiS4E,CAAjS,EAAmSzE,CAAnS,CAAhB,GAAsT,UAASF,CAAT,EAAWD,CAAX,EAAa;UAAC,OAAO,YAAU;YAAC,MAAM,IAAIoD,KAAJ,CAAUnD,CAAC,CAACkH,IAAF,GAAO,2CAAP,GAAmDnH,CAA7D,CAAN;UAAsE,CAAxF;QAAyF,CAAvG,CAAwGG,CAAxG,EAA0G4E,CAA1G,CAA5T;QAAya,OAAO;UAAC2H,OAAO,EAACC,EAAE,CAACxM,CAAD,CAAX;UAAekL,QAAQ,EAACpL,CAAxB;UAA0BiM,MAAM,EAACvH,CAAC,IAAE,EAApC;UAAuC4H,KAAK,EAACvH;QAA7C,CAAP;MAAuD,CAA7iB;IAA8iB,CAA5jB,CAA6jB5E,CAA7jB,EAA+jB0L,CAA/jB,CAAN;IAAA,IAAwkBrF,CAAC,GAACzG,CAAC,CAAC+L,KAAF,CAAQnE,MAAR,CAAe,UAAS3H,CAAT,EAAWD,CAAX,EAAa;MAAC,IAAIG,CAAC,GAACH,CAAC,CAACgM,UAAR;MAAA,IAAmB5L,CAAC,GAACJ,CAAC,CAAC4M,UAAvB;MAAA,IAAkChI,CAAC,GAAC,CAAC,CAArC;MAAuC,OAAOxE,CAAC,CAAC+E,KAAF,CAAQ,aAAR,KAAwB/E,CAAC,CAAC+E,KAAF,CAAQ,QAAR,CAAxB,KAA4CP,CAAC,GAAC,CAACgB,CAAC,CAACzF,CAAD,CAAD,CAAK0M,MAApD,GAA4D9F,CAAC,CAAC+F,OAAF,IAAW1M,CAAC,CAAC+E,KAAF,CAAQ,wBAAR,CAAX,KAA+CP,CAAC,GAAC,CAAC,CAAlD,CAA5D,EAAiH3E,CAAC,CAAC,KAAGE,CAAJ,CAAD,GAAQyE,CAAzH,EAA2H3E,CAAlI;IAAoI,CAAxM,EAAyM,EAAzM,CAA1kB;;IAAuxB,OAAO8K,OAAO,CAACgC,OAAR,CAAgB/M,CAAC,CAAC+L,KAAF,CAAQnE,MAAR,CAAe,UAAS3H,CAAT,EAAW2E,CAAX,EAAaH,CAAb,EAAe;MAAC,IAAIM,CAAC,GAACH,CAAC,CAACoH,UAAR;MAAmB,OAAOjB,OAAO,CAACgC,OAAR,CAAgB9M,CAAhB,EAAmBgL,IAAnB,CAAwB,UAAShL,CAAT,EAAW;QAAC,SAAS2E,CAAT,GAAY;UAAC,OAAOmG,OAAO,CAACgC,OAAR,CAAgB9M,CAAhB,CAAP;QAA0B;;QAAA,IAAIwE,CAAC,GAAC,YAAU;UAAC,IAAGzE,CAAC,CAACgN,UAAF,IAAchN,CAAC,CAACgN,UAAF,CAAajI,CAAb,CAAjB,EAAiC,OAAOgG,OAAO,CAACgC,OAAR,CAAgB/M,CAAC,CAACgN,UAAF,CAAajI,CAAb,EAAgB6C,MAAhB,CAAuB,UAAS3H,CAAT,EAAWD,CAAX,EAAaG,CAAb,EAAe;YAAC,OAAO4K,OAAO,CAACgC,OAAR,CAAgB9M,CAAhB,EAAmBgL,IAAnB,CAAwB,UAAShL,CAAT,EAAW;cAAC,OAAOD,CAAC,CAACiN,MAAF,IAAUzK,GAAG,CAACxC,CAAC,CAACiN,MAAH,CAAb,IAAyB,UAAShN,CAAT,EAAWD,CAAX,EAAa;gBAAC,IAAIG,CAAC,GAAC+M,EAAE,CAACjN,CAAD,CAAR;;gBAAY,IAAGE,CAAC,IAAEA,CAAC,CAACkB,IAAF,KAASrB,CAAf,EAAiB;kBAAC,IAAII,CAAC,GAAC8M,EAAE,CAAC/M,CAAC,CAAC8M,MAAH,CAAR;kBAAmB,MAAM,IAAI7J,KAAJ,CAAU,CAACpD,CAAC,GAAC,4BAAF,GAA+BC,CAAhC,EAAkC,wBAAlC,EAA2D,SAAOE,CAAC,CAAC8M,MAAT,GAAgB,GAAhB,IAAqB7M,CAAC,GAAC,QAAMA,CAAC,CAAC6M,MAAT,GAAgB,EAAtC,IAA0C,MAA1C,GAAiDjN,CAAjD,GAAmD,oBAAnD,GAAwEC,CAAnI,EAAsIkN,IAAtI,CAA2I,IAA3I,CAAV,CAAN;gBAAkK;cAAC,CAAlO,CAAmOnN,CAAC,CAAC4M,UAArO,EAAgP5M,CAAC,CAACgM,UAAlP,GAA8PjB,OAAO,CAACgC,OAAR,CAAgB/M,CAAC,CAACiN,MAAF,CAAS;gBAACP,OAAO,EAACzM,CAAT;gBAAWoL,QAAQ,EAACjL,CAApB;gBAAsBmM,KAAK,GAAEpM,CAAC,GAACF,CAAF,EAAI2E,CAAC,GAACG,CAAN,EAAQN,CAAC,GAACzE,CAAC,CAACgM,UAAZ,EAAuB,UAAS/L,CAAT,EAAWD,CAAX,EAAa;kBAAC,OAAOoG,GAAG,CAAC,EAAD,EAAIjG,CAAJ,EAAM;oBAACoM,KAAK,EAAC;sBAACC,MAAM,EAACvM,CAAR;sBAAU0L,OAAO,EAAC3L,CAAC,IAAE,CAAC4E,CAAD,CAArB;sBAAyB6H,MAAM,EAACvF,CAAhC;sBAAkCkG,IAAI,EAAC3I,CAAC,IAAEG;oBAA1C;kBAAP,CAAN,CAAV;gBAAsE,CAA7G,CAA3B;gBAA0IsH,MAAM,EAACmB,CAAC,CAACrN,CAAC,CAACgM,UAAH,EAAcpG,CAAd,EAAgBjB,CAAhB,CAAlJ;gBAAqKgH,OAAO,EAAC/F;cAA7K,CAAT,CAAhB,EAA2MqF,IAA3M,CAAgN,UAASjL,CAAT,EAAW;gBAAC,IAAIG,CAAC,GAAC4C,EAAE,CAAC/C,CAAD,CAAF,GAAMA,CAAN,GAAQ,EAAd;gBAAiB,OAAO+K,OAAO,CAACgC,OAAR,CAAgB3G,GAAG,CAAC,EAAD,EAAInG,CAAJ,EAAME,CAAN,CAAnB,CAAP;cAAoC,CAAjR,CAAvR,IAA2iBF,CAAljB;cAAojB,IAAIE,CAAJ,EAAMyE,CAAN,EAAQH,CAAR;YAAW,CAAnmB,CAAP;UAA4mB,CAAnpB,EAAopBsG,OAAO,CAACgC,OAAR,CAAgB5M,CAAhB,CAAppB,CAAhB,EAAyrB8K,IAAzrB,CAA8rB,UAASjL,CAAT,EAAW;YAACC,CAAC,CAAC8E,CAAD,CAAD,GAAK/E,CAAL;UAAQ,CAAltB,CAAP;UAA2tBC,CAAC,CAAC8E,CAAD,CAAD,GAAK5E,CAAL;QAAQ,CAA/wB,EAAN;;QAAwxB,OAAOsE,CAAC,IAAEA,CAAC,CAACwG,IAAL,GAAUxG,CAAC,CAACwG,IAAF,CAAOrG,CAAP,CAAV,GAAoBA,CAAC,EAA5B;MAA+B,CAAl4B,CAAP;IAA24B,CAA77B,EAA87BmG,OAAO,CAACgC,OAAR,CAAgB,EAAhB,CAA97B,CAAhB,EAAo+B9B,IAAp+B,CAAy+B,UAAShL,CAAT,EAAW;MAAC,OAAO8K,OAAO,CAACgC,OAAR,CAAgB/M,CAAC,CAAC+L,KAAF,CAAQnE,MAAR,CAAe,UAASzH,CAAT,EAAWyE,CAAX,EAAaH,CAAb,EAAe;QAAC,IAAG;UAAC,IAAIF,CAAC,GAACvE,CAAC,CAAC+L,KAAF,CAAQzL,MAAR,KAAiBmE,CAAC,GAAC,CAAzB;UAAA,IAA2BvE,CAAC,GAAC0E,CAAC,CAACoH,UAA/B;UAAA,IAA0CjF,CAAC,GAACpC,CAAC,CAACzE,CAAD,CAA7C;UAAiD,OAAO6K,OAAO,CAACgC,OAAR,CAAgB5M,CAAhB,EAAmB8K,IAAnB,CAAwB,UAASjL,CAAT,EAAW;YAAC,IAAIG,CAAC,GAACF,CAAC,CAACC,CAAD,CAAD,GAAKD,CAAC,CAACC,CAAD,CAAN,GAAU,EAAhB;YAAmB,IAAG+E,CAAC,KAAG9E,CAAC,GAACH,CAAL,CAAD,EAASsN,CAAC,CAACnN,CAAD,EAAGD,CAAH,CAAb,EAAmB,OAAOqN,GAAG,CAAC;cAACpC,IAAI,EAAChL,CAAN;cAAQ8M,MAAM,EAAC/F,CAAf;cAAiBmE,QAAQ,EAACjL,CAA1B;cAA4B4L,UAAU,EAAC9L,CAAvC;cAAyCuL,KAAK,EAAC1G;YAA/C,CAAD,CAAH,EAAuDgG,OAAO,CAACgC,OAAR,CAAgB/M,CAAhB,CAA9D;YAAiF,IAAGsN,CAAC,CAACtN,CAAD,EAAGE,CAAH,CAAJ,EAAU,OAAOqE,CAAC,IAAEgJ,GAAG,CAAC;cAACpC,IAAI,EAACnL,CAAN;cAAQiN,MAAM,EAAC/F,CAAf;cAAiBmE,QAAQ,EAACjL,CAA1B;cAA4BqL,KAAK,EAAC1G;YAAlC,CAAD,CAAN,EAA6CgG,OAAO,CAACgC,OAAR,CAAgB/M,CAAhB,CAApD;YAAuE,IAAGyG,CAAC,CAACH,cAAF,CAAiBpG,CAAjB,KAAqB,CAAC,CAAD,KAAKuG,CAAC,CAACvG,CAAD,CAA9B,EAAkC,OAAO6E,CAAC,CAACqC,QAAF,CAAW;cAACD,IAAI,EAAC,OAAN;cAAcqG,MAAM,EAACtN,CAArB;cAAuBwM,OAAO,EAACvM,CAA/B;cAAiC6H,CAAC,EAAC;gBAACyF,MAAM,EAAC,OAAR;gBAAgBL,IAAI,EAAC;cAArB;YAAnC,CAAX,GAAuFrC,OAAO,CAACgC,OAAR,CAAgB/M,CAAhB,CAA9F;YAAiH,IAAI4E,CAAC,GAAC4B,CAAC,CAACvG,CAAC,CAACC,CAAD,CAAF,EAAMyE,CAAC,CAACzE,CAAD,CAAP,CAAP;YAAmB,OAAO6K,OAAO,CAACgC,OAAR,CAAgBhG,CAAC,CAACG,CAAD,CAAD,CAAK;cAACqF,KAAK,EAAC3H,CAAC,CAAC2H,KAAT;cAAeG,OAAO,EAACvM,CAAvB;cAAyBkL,QAAQ,EAACjL,CAAlC;cAAoC8L,MAAM,EAACmB,CAAC,CAACnN,CAAD,EAAG0F,CAAH,EAAKjB,CAAL,CAA5C;cAAoDgH,OAAO,EAAC/F;YAA5D,CAAL,CAAhB,EAAsFqF,IAAtF,CAA2F,UAASrG,CAAT,EAAW;cAAC,IAAID,CAAC,GAAC5B,EAAE,CAAC6B,CAAD,CAAF,GAAMA,CAAN,GAAQ,EAAd;cAAA,IAAiBH,CAAC,GAAC2B,GAAG,CAAC,EAAD,EAAIpG,CAAJ,EAAM2E,CAAN,CAAtB;cAAA,IAA+BJ,CAAC,GAACtE,CAAC,CAACC,CAAD,CAAlC;cAAsC,IAAGoN,CAAC,CAAC/I,CAAD,EAAGrE,CAAH,CAAJ,EAAUqN,GAAG,CAAC;gBAACpC,IAAI,EAAC5G,CAAN;gBAAQ0I,MAAM,EAAC/F,CAAf;gBAAiBmE,QAAQ,EAACjL,CAA1B;gBAA4B4L,UAAU,EAAC9L,CAAvC;gBAAyCuL,KAAK,EAAC1G;cAA/C,CAAD,CAAH,CAAV,KAAsE;gBAAC,IAAIa,CAAC,GAACsB,CAAC,GAAC,GAAF,GAAMhH,CAAZ;gBAAc,CAAC0F,CAAC,CAACT,KAAF,CAAQ,IAAR,KAAe,EAAhB,EAAoB7E,MAApB,GAA2B,CAA3B,IAA8B,CAAC4G,CAAC,CAAC/B,KAAF,CAAQuI,CAAR,CAA/B,IAA2C,CAACxG,CAAC,CAAC/B,KAAF,CAAQwI,GAAR,CAA5C,IAA0DvN,CAAC,CAACgH,QAAF,CAAWhB,GAAG,CAAC,EAAD,EAAInB,CAAC,GAACR,CAAD,GAAGtE,CAAR,EAAU;kBAACgH,IAAI,EAACvB,CAAN;kBAAQoC,CAAC,EAAC;oBAACyF,MAAM,EAAC7H,CAAR;oBAAUwH,IAAI,EAAC;kBAAf;gBAAV,CAAV,CAAd,CAA1D;cAA4H;cAAA,OAAOrC,OAAO,CAACgC,OAAR,CAAgBtI,CAAhB,CAAP;YAA0B,CAAxX,CAAP;UAAiY,CAAnxB,CAAP;QAA4xB,CAAj1B,CAAi1B,OAAMxE,CAAN,EAAQ;UAAC,OAAO8K,OAAO,CAAC6C,MAAR,CAAe3N,CAAf,CAAP;QAAyB;MAAC,CAAn5B,EAAo5B8K,OAAO,CAACgC,OAAR,CAAgB5M,CAAhB,CAAp5B,CAAhB,EAAy7B8K,IAAz7B,CAA87B,UAAShL,CAAT,EAAW;QAAC,IAAG,EAAEiH,CAAC,CAAC/B,KAAF,CAAQ0G,CAAR,KAAY3E,CAAC,CAAC/B,KAAF,CAAQ,iBAAR,CAAZ,IAAwC+B,CAAC,CAAC/B,KAAF,CAAQwI,GAAR,CAAxC,IAAsDzG,CAAC,CAAC/B,KAAF,CAAQuI,CAAR,CAAtD,IAAkExG,CAAC,CAAC/B,KAAF,CAAQ,SAAR,CAAlE,IAAsF+B,CAAC,CAAC/B,KAAF,CAAQ,gBAAR,CAAxF,CAAH,EAAsH;UAAC,IAAGZ,CAAC,CAACoH,OAAF,CAAUnK,QAAV,CAAmB0F,CAAnB,GAAsBjH,CAAC,CAAC+H,CAAF,IAAK/H,CAAC,CAAC+H,CAAF,CAAI6F,cAAJ,KAAqB3G,CAAnD,EAAqD,OAAOjH,CAAP;UAAS,IAAIE,CAAC,GAACiG,GAAG,CAAC,EAAD,EAAInG,CAAJ,EAAM;YAAC+H,CAAC,EAAC;cAAC6F,cAAc,EAAC5N,CAAC,CAACkH,IAAlB;cAAuBsG,MAAM,EAACxN,CAAC,CAACkH,IAAhC;cAAqCiG,IAAI,EAAC;YAA1C;UAAH,CAAN,CAAT;UAA2EU,EAAE,CAAC7N,CAAD,EAAGD,CAAC,CAAC+L,KAAF,CAAQzL,MAAX,CAAF,IAAsB,CAAC4G,CAAC,CAAC/B,KAAF,CAAQ,MAAR,CAAvB,KAAyChF,CAAC,GAACiG,GAAG,CAAC,EAAD,EAAIjG,CAAJ,EAAM;YAACgH,IAAI,EAAClH,CAAC,CAACkH,IAAF,GAAO;UAAb,CAAN,CAA9C,GAA8EpC,CAAC,CAACqC,QAAF,CAAWjH,CAAX,CAA9E;QAA6F;;QAAA,OAAOF,CAAP;MAAS,CAAhzC,CAAP;IAAyzC,CAA9yE,CAAP;EAAuzE,CAA1uG,CAA0uG,OAAMA,CAAN,EAAQ;IAAC,OAAO8K,OAAO,CAAC6C,MAAR,CAAe3N,CAAf,CAAP;EAAyB;AAAC,CAAj4G;AAAA,IAAk4G4L,CAAC,GAAC,QAAp4G;AAAA,IAA64G6B,CAAC,GAAC,YAA/4G;AAAA,IAA45GC,GAAG,GAAC,QAAh6G;;AAAy6G,SAASJ,GAAT,CAAatN,CAAb,EAAe;EAAC,IAAID,CAAC,GAACC,CAAC,CAAC+L,UAAR;EAAA,IAAmB7L,CAAC,GAACF,CAAC,CAACgN,MAAF,GAAS,SAAT,IAAoBjN,CAAC,GAAC,MAAIA,CAAL,GAAO,EAA5B,CAArB;EAAqDC,CAAC,CAACwL,KAAF,CAAQrE,QAAR,CAAiBhB,GAAG,CAAC,EAAD,EAAInG,CAAC,CAACkL,IAAN,EAAW;IAAChE,IAAI,EAAChH,CAAN;IAAQ6H,CAAC,EAAC;MAACyF,MAAM,EAACtN,CAAR;MAAUiN,IAAI,EAAC;IAAf;EAAV,CAAX,CAApB;AAAqE;;AAAA,SAASC,CAAT,CAAWpN,CAAX,EAAaD,CAAb,EAAeG,CAAf,EAAiB;EAAC,IAAIC,CAAC,GAACJ,CAAC,CAACC,CAAD,CAAD,IAAME,CAAC,CAACF,CAAD,CAAb;EAAiB,OAAOG,CAAC,IAAEA,CAAC,CAAC8L,MAAL,GAAY9L,CAAC,CAAC8L,MAAd,GAAqB,EAA5B;AAA+B;;AAAA,SAAS6B,CAAT,CAAW9N,CAAX,EAAaD,CAAb,EAAe;EAAC,OAAOA,CAAC,CAAC4H,MAAF,CAAS,UAAS5H,CAAT,EAAWG,CAAX,EAAa;IAAC,OAAOA,CAAC,CAACF,CAAD,CAAD,GAAKD,CAAC,CAACmE,MAAF,CAAS;MAACyI,UAAU,EAAC3M,CAAZ;MAAc+L,UAAU,EAAC7L,CAAC,CAACkB,IAA3B;MAAgC4L,MAAM,EAAC9M,CAAC,CAACF,CAAD;IAAxC,CAAT,CAAL,GAA4DD,CAAnE;EAAqE,CAA5F,EAA6F,EAA7F,CAAP;AAAwG;;AAAA,SAASgO,CAAT,CAAW/N,CAAX,EAAaD,CAAb,EAAe;EAAC,IAAIG,CAAC,GAACF,CAAC,CAACqE,OAAF,CAAUuH,CAAV,EAAY,EAAZ,CAAN;EAAA,IAAsBzL,CAAC,GAACJ,CAAC,GAAC,MAAIA,CAAL,GAAO,EAAhC;EAAmC,OAAO,CAAC,KAAGC,CAAH,GAAKG,CAAN,EAAQ,KAAGD,CAAH,GAAKC,CAAb,EAAeD,CAAC,GAAC,KAAF,GAAQC,CAAvB,CAAP;AAAiC;;AAAA,SAASkN,CAAT,CAAWrN,CAAX,EAAaD,CAAb,EAAe;EAAC,IAAIG,CAAC,GAACF,CAAC,CAACsM,KAAR;EAAc,OAAO,CAAC,CAACpM,CAAF,KAAM,CAAC,CAAD,KAAKA,CAAL,IAAQ8N,EAAE,CAAC9N,CAAD,EAAGH,CAAH,CAAV,IAAiBG,CAAC,IAAE8N,EAAE,CAAC9N,CAAC,CAACwL,OAAH,EAAW3L,CAAX,CAA5B,CAAP;AAAkD;;AAAA,SAAS8N,EAAT,CAAY7N,CAAZ,EAAcD,CAAd,EAAgB;EAAC,IAAIG,CAAC,GAACF,CAAC,CAACsM,KAAR;EAAc,IAAG,CAACpM,CAAJ,EAAM,OAAO,CAAC,CAAR;EAAU,IAAG,CAAC,CAAD,KAAKA,CAAL,IAAQsC,GAAG,CAACtC,CAAD,CAAd,EAAkB,OAAO,CAAC,CAAR;EAAU,IAAIC,CAAC,GAACD,CAAC,CAACwL,OAAR;EAAgB,OAAOS,EAAE,CAACjM,CAAD,CAAF,IAAOA,CAAC,CAACG,MAAF,KAAWN,CAAlB,IAAqBoM,EAAE,CAAChM,CAAD,CAAF,IAAOA,CAAC,CAACE,MAAF,KAAWN,CAA9C;AAAgD;;AAAA,SAASoM,EAAT,CAAYnM,CAAZ,EAAc;EAAC,OAAOiO,KAAK,CAACC,OAAN,CAAclO,CAAd,CAAP;AAAwB;;AAAA,SAASgO,EAAT,CAAYhO,CAAZ,EAAcD,CAAd,EAAgB;EAAC,OAAO,EAAE,CAACC,CAAD,IAAI,CAACmM,EAAE,CAACnM,CAAD,CAAT,KAAeA,CAAC,CAACuB,QAAF,CAAWxB,CAAX,CAAtB;AAAoC;;AAAA,SAASkN,EAAT,CAAYjN,CAAZ,EAAc;EAAC,IAAID,CAAC,GAACC,CAAC,CAACkF,KAAF,CAAQ,WAAR,CAAN;EAA2B,OAAO,CAAC,CAACnF,CAAF,IAAK;IAACiN,MAAM,EAACjN,CAAC,CAAC,CAAD,CAAT;IAAaqB,IAAI,EAACrB,CAAC,CAAC,CAAD;EAAnB,CAAZ;AAAoC;;AAAA,SAAS2M,EAAT,CAAY1M,CAAZ,EAAc;EAAC,OAAOiC,MAAM,CAACmH,IAAP,CAAYpJ,CAAZ,EAAe2H,MAAf,CAAsB,UAAS5H,CAAT,EAAWG,CAAX,EAAa;IAAC,OAAO,WAASA,CAAT,KAAaH,CAAC,CAACG,CAAD,CAAD,GAAK4C,EAAE,CAAC9C,CAAC,CAACE,CAAD,CAAF,CAAF,GAAS+B,MAAM,CAACmE,MAAP,CAAc,EAAd,EAAiBpG,CAAC,CAACE,CAAD,CAAlB,CAAT,GAAgCF,CAAC,CAACE,CAAD,CAAnD,GAAwDH,CAA/D;EAAiE,CAArG,EAAsG,EAAtG,CAAP;AAAiH;;AAAA,SAASoO,EAAT,CAAYnO,CAAZ,EAAcD,CAAd,EAAgBG,CAAhB,EAAkB;EAAC,IAAIC,CAAC,GAAC,EAAN;EAAS,OAAO,UAASwE,CAAT,EAAW;IAAC,OAAO,UAASD,CAAT,EAAW;MAAC,OAAO,UAASF,CAAT,EAAW;QAAC,IAAG;UAAC,IAAIM,CAAJ;UAAA,IAAMC,CAAC,GAAC,SAAFA,CAAE,CAAS/E,CAAT,EAAW;YAAC,OAAO8E,CAAC,GAAC9E,CAAD,GAAG0E,CAAC,CAACuC,CAAD,CAAZ;UAAgB,CAApC;UAAA,IAAqC3C,CAAC,GAACE,CAAC,CAAC0C,IAAzC;UAAA,IAA8CJ,CAAC,GAACtC,CAAC,CAACkH,OAAlD;UAAA,IAA0DzE,CAAC,GAACzC,CAA5D;;UAA8D,IAAGA,CAAC,CAAC8H,KAAL,EAAW,OAAOxB,OAAO,CAACgC,OAAR,CAAgBpI,CAAC,CAACF,CAAD,CAAjB,CAAP;;UAA6B,IAAGF,CAAC,KAAG8D,CAAC,CAACgG,YAAN,IAAoBzJ,CAAC,CAACwC,QAAF,CAAW;YAACD,IAAI,EAACkB,CAAC,CAACiG,eAAR;YAAwB3C,OAAO,EAAC5E,CAAhC;YAAkCwH,QAAQ,EAAC,EAA3C;YAA8CC,UAAU,EAAC,CAAC,CAA1D;YAA4DC,IAAI,EAAChK,CAAC,CAACgK;UAAnE,CAAX,CAApB,EAAyGlK,CAAC,KAAG8D,CAAC,CAACqG,aAAN,IAAqB/E,UAAU,CAAC,YAAU;YAAC,OAAOkB,GAAG,CAACpG,CAAC,CAACgK,IAAF,CAAOE,GAAR,EAAY;cAACjC,OAAO,EAACjI;YAAT,CAAZ,CAAV;UAAmC,CAA/C,EAAgD,CAAhD,CAAxI,EAA2LF,CAAC,KAAG8D,CAAC,CAACuG,aAApM,EAAkN;YAAC,IAAI3J,CAAC,GAACjF,CAAC,EAAP;YAAA,IAAU8L,CAAC,GAAC5J,MAAM,CAACmH,IAAP,CAAYpE,CAAZ,CAAZ;YAAA,IAA2BuB,CAAC,GAACsF,CAAC,CAAC+C,MAAF,CAAS,UAAS5O,CAAT,EAAW;cAAC,OAAO8G,CAAC,CAACvF,QAAF,CAAWvB,CAAX,CAAP;YAAqB,CAA1C,EAA4CiF,GAA5C,CAAgD,UAASjF,CAAT,EAAW;cAAC,OAAOgF,CAAC,CAAChF,CAAD,CAAR;YAAY,CAAxE,CAA7B;YAAA,IAAuGwG,CAAC,GAAC,EAAzG;YAAA,IAA4GqI,CAAC,GAAC,EAA9G;YAAA,IAAiHC,CAAC,GAACtK,CAAC,CAAC8J,QAArH;YAAA,IAA8HzH,CAAC,GAACN,CAAC,CAACtB,GAAF,CAAM,UAASjF,CAAT,EAAW;cAAC,IAAID,CAAC,GAACC,CAAC,CAACoB,IAAR;cAAa,OAAOyJ,GAAG,CAAC7K,CAAD,EAAGA,CAAC,CAAC4M,MAAL,EAAY,GAAZ,CAAH,CAAoB5B,IAApB,CAAyB,UAAS9K,CAAT,EAAW;gBAAC,OAAOC,CAAC,CAACJ,CAAD,CAAD,KAAO4E,CAAC,CAACwC,QAAF,CAAW;kBAACD,IAAI,EAACkB,CAAC,CAACE,eAAF,CAAkBvI,CAAlB,CAAN;kBAA2BqB,IAAI,EAACrB,CAAhC;kBAAkCgP,MAAM,EAAC9M,MAAM,CAACmH,IAAP,CAAYpJ,CAAZ,EAAe4O,MAAf,CAAsB,UAAS5O,CAAT,EAAW;oBAAC,OAAO,CAACmI,CAAC,CAAC5G,QAAF,CAAWvB,CAAX,CAAR;kBAAsB,CAAxD;gBAAzC,CAAX,GAAgHG,CAAC,CAACJ,CAAD,CAAD,GAAK,CAAC,CAA7H,GAAgIyG,CAAC,GAACA,CAAC,CAACtC,MAAF,CAASnE,CAAT,CAAlI,EAA8IC,CAArJ;cAAuJ,CAA5L,EAA8LgP,KAA9L,CAAoM,UAAShP,CAAT,EAAW;gBAAC,IAAGA,CAAC,YAAYmD,KAAhB,EAAsB,MAAM,IAAIA,KAAJ,CAAUnD,CAAV,CAAN;gBAAmB,OAAO6O,CAAC,GAACA,CAAC,CAAC3K,MAAF,CAASlE,CAAC,CAACoB,IAAX,CAAF,EAAmBpB,CAA1B;cAA4B,CAArR,CAAP;YAA8R,CAA7T,CAAhI;YAA+b8K,OAAO,CAACmE,GAAR,CAAYpI,CAAZ,EAAemE,IAAf,CAAoB,UAAShL,CAAT,EAAW;cAAC,IAAID,CAAC,GAAC;gBAAC2L,OAAO,EAAClF,CAAT;gBAAW0I,MAAM,EAACL,CAAlB;gBAAoBP,QAAQ,EAACQ;cAA7B,CAAN;cAAsCpF,UAAU,CAAC,YAAU;gBAACmC,CAAC,CAACxL,MAAF,KAAWwG,CAAC,CAACxG,MAAF,GAASyO,CAAC,CAACzO,MAAtB,IAA8BsE,CAAC,CAACwC,QAAF,CAAWhB,GAAG,CAAC,EAAD,EAAI;kBAACe,IAAI,EAACkB,CAAC,CAAC+G;gBAAR,CAAJ,EAAmBpP,CAAnB,CAAd,CAA9B;cAAoE,CAAhF,EAAiF,CAAjF,CAAV;YAA+F,CAArK;UAAwK;;UAAA,IAAIqP,CAAC,GAAC,YAAU;YAAC,IAAG9K,CAAC,KAAG8D,CAAC,CAACQ,SAAT,EAAmB,OAAO,kBAAkByG,IAAlB,CAAuB/K,CAAvB,KAA2BoF,UAAU,CAAC,YAAU;cAAC,OAAO,UAAS1J,CAAT,EAAWD,CAAX,EAAaG,CAAb,EAAe;gBAAC,IAAIC,CAAC,GAACJ,CAAC,EAAP;gBAAA,IAAU4E,CAAC,GAAC3E,CAAC,CAACqH,QAAF,EAAZ;gBAAA,IAAyB3C,CAAC,GAACC,CAAC,CAAC+G,OAA7B;gBAAA,IAAqClH,CAAC,GAACG,CAAC,CAACoG,KAAzC;gBAAA,IAA+CjG,CAAC,GAACH,CAAC,CAACmE,IAAnD;;gBAAwD,IAAG,CAACnE,CAAC,CAACgH,OAAF,CAAUkB,OAAX,IAAoBrI,CAApB,IAAuBA,CAAC,CAAC8K,OAAzB,IAAkC9K,CAAC,CAAC8K,OAAF,CAAUjP,MAA/C,EAAsD;kBAAC,IAAI0E,CAAC,GAACP,CAAC,CAAC8K,OAAF,CAAU3H,MAAV,CAAiB,UAAS3H,CAAT,EAAWD,CAAX,EAAaG,CAAb,EAAe;oBAAC,OAAOwE,CAAC,CAAC3E,CAAC,CAACwN,MAAH,CAAD,CAAYX,MAAZ,IAAoB5M,CAAC,CAACW,OAAF,CAAUkE,IAAV,CAAe9E,CAAf,GAAkBC,CAAC,CAACuP,YAAF,CAAe1K,IAAf,CAAoB3E,CAApB,CAAtC,KAA+DF,CAAC,CAACwP,OAAF,CAAU3K,IAAV,CAAe9E,CAAf,GAAkBC,CAAC,CAACyP,YAAF,CAAe5K,IAAf,CAAoB3E,CAApB,CAAjF,GAAyGF,CAAhH;kBAAkH,CAAnJ,EAAoJ;oBAACuP,YAAY,EAAC,EAAd;oBAAiB5O,OAAO,EAAC,EAAzB;oBAA4B6O,OAAO,EAAC,EAApC;oBAAuCC,YAAY,EAAC;kBAApD,CAApJ,CAAN;;kBAAmN,IAAG1K,CAAC,CAACwK,YAAF,IAAgBxK,CAAC,CAACwK,YAAF,CAAelP,MAAlC,EAAyC;oBAAC0E,CAAC,CAACwK,YAAF,CAAerF,OAAf,CAAuB,UAASnK,CAAT,EAAW;sBAAC,IAAI4E,CAAC,GAACH,CAAC,CAAC8K,OAAF,CAAUvP,CAAV,CAAN;sBAAA,IAAmBgF,CAAC,GAACJ,CAAC,CAAC4I,MAAvB;sBAAA,IAA8BjJ,CAAC,GAACK,CAAC,CAAC8H,OAAF,CAAUvF,IAA1C;sBAAA,IAA+CvB,CAAC,GAACxF,CAAC,CAAC4E,CAAD,CAAD,CAAKT,CAAL,CAAjD;;sBAAyD,IAAGqB,CAAC,IAAEpD,GAAG,CAACoD,CAAD,CAAT,EAAa;wBAAC,IAAImB,CAAC,GAAC,UAAS9G,CAAT,EAAWD,CAAX,EAAa;0BAAC,OAAO,KAAK,CAAL,KAASC,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB,KAAK,CAAL,KAASD,CAAT,KAAaA,CAAC,GAAC,EAAf,CAAnB,EAAsC,CAACiI,GAAD,EAAKC,CAAL,EAAQN,MAAR,CAAe,UAASzH,CAAT,EAAWC,CAAX,EAAa;4BAAC,OAAOH,CAAC,CAACqG,cAAF,CAAiBlG,CAAjB,KAAqBJ,CAAC,CAACI,CAAD,CAAtB,IAA2BJ,CAAC,CAACI,CAAD,CAAD,KAAOH,CAAC,CAACG,CAAD,CAAnC,KAAyCD,CAAC,CAACC,CAAD,CAAD,GAAKJ,CAAC,CAACI,CAAD,CAA/C,GAAoDD,CAA3D;0BAA6D,CAA1F,EAA2FF,CAA3F,CAA7C;wBAA2I,CAAzJ,CAA0J2E,CAAC,CAAC8H,OAA5J,EAAoK3H,CAApK,CAAN;;wBAA6Ka,CAAC,CAAC;0BAAC8G,OAAO,EAAC3F,CAAT;0BAAWmF,MAAM,EAACvH,CAAC,CAACK,CAAD,CAAD,CAAKkH,MAAvB;0BAA8Bb,QAAQ,EAAClL;wBAAvC,CAAD,CAAD;wBAA6C,IAAI+G,CAAC,GAAC3C,CAAC,GAAC,GAAF,GAAMS,CAAZ;wBAAc/E,CAAC,CAACmH,QAAF,CAAWhB,GAAG,CAAC,EAAD,EAAIW,CAAJ,EAAM;0BAACI,IAAI,EAACD,CAAN;0BAAQc,CAAC,EAAC;4BAACyF,MAAM,EAACvG,CAAR;4BAAUkG,IAAI,EAAC;0BAAf;wBAAV,CAAN,CAAd;sBAA+D;oBAAC,CAAlZ;oBAAoZ,IAAI7I,CAAC,GAACE,CAAC,CAAC8K,OAAF,CAAUV,MAAV,CAAiB,UAAS5O,CAAT,EAAWD,CAAX,EAAa;sBAAC,OAAO,CAAC,CAACgF,CAAC,CAACwK,YAAF,CAAexI,OAAf,CAAuBhH,CAAvB,CAAT;oBAAmC,CAAlE,CAAN;oBAA0EyE,CAAC,CAAC8K,OAAF,GAAUhL,CAAV;kBAAa;gBAAC;cAAC,CAAz2B,CAA02BK,CAA12B,EAA42B5E,CAA52B,EAA82BC,CAA92B,CAAP;YAAw3B,CAAp4B,EAAq4B,CAAr4B,CAArC,EAA66B8K,OAAO,CAACgC,OAAR,CAAgB,UAAS9M,CAAT,EAAWD,CAAX,EAAaG,CAAb,EAAeC,CAAf,EAAiBwE,CAAjB,EAAmB;cAAC,IAAG;gBAAC,IAAID,CAAC,GAACnC,GAAG,CAACxC,CAAD,CAAH,GAAOA,CAAC,EAAR,GAAWA,CAAjB;gBAAA,IAAmByE,CAAC,GAACxE,CAAC,CAACkH,IAAvB;gBAAA,IAA4BpC,CAAC,GAACN,CAAC,CAACH,OAAF,CAAUuH,CAAV,EAAY,EAAZ,CAA9B;gBAA8C,IAAG5L,CAAC,CAAC+H,CAAF,IAAK/H,CAAC,CAAC+H,CAAF,CAAIyF,MAAZ,EAAmB,OAAO1C,OAAO,CAACgC,OAAR,CAAgB9M,CAAhB,CAAP;gBAA0B,IAAI+E,CAAC,GAAC7E,CAAC,CAACmH,QAAF,EAAN;gBAAA,IAAmB/C,CAAC,IAAEU,CAAC,GAACN,CAAF,EAAI,KAAK,CAAL,MAAUmH,CAAC,GAAC9G,CAAC,CAAC2G,OAAd,MAAyBG,CAAC,GAAC,EAA3B,CAAJ,EAAmC,KAAK,CAAL,MAAUtF,CAAC,GAACvG,CAAC,CAACuK,OAAd,MAAyBhE,CAAC,GAAC,EAA3B,CAAnC,EAAkEtE,MAAM,CAACmH,IAAP,CAAYpE,CAAZ,EAAe4J,MAAf,CAAsB,UAAS5O,CAAT,EAAW;kBAAC,IAAID,CAAC,GAACwG,CAAC,CAACmF,OAAF,IAAW,EAAjB;kBAAoB,OAAOhJ,GAAG,CAAC3C,CAAC,CAACC,CAAD,CAAF,CAAH,GAAUD,CAAC,CAACC,CAAD,CAAX,GAAe,CAAC,CAAD,KAAKD,CAAC,CAACkP,GAAP,KAAa,CAACpD,CAAC,CAAC7L,CAAD,CAAF,IAAO,CAAC,CAAD,KAAK6L,CAAC,CAAC7L,CAAD,CAAD,CAAK0P,OAA9B,CAAtB;gBAA6D,CAAnH,EAAqHzK,GAArH,CAAyH,UAASjF,CAAT,EAAW;kBAAC,OAAOgF,CAAC,CAAChF,CAAD,CAAR;gBAAY,CAAjJ,CAApE,CAApB;gBAA4OwE,CAAC,KAAG4D,CAAC,CAACiG,eAAN,IAAuBrO,CAAC,CAACuO,UAAzB,KAAsCjK,CAAC,GAACrC,MAAM,CAACmH,IAAP,CAAYrE,CAAC,CAAC2G,OAAd,EAAuBkD,MAAvB,CAA8B,UAAS7O,CAAT,EAAW;kBAAC,IAAIG,CAAC,GAAC6E,CAAC,CAAC2G,OAAF,CAAU3L,CAAV,CAAN;kBAAmB,OAAOC,CAAC,CAAC0L,OAAF,CAAUnK,QAAV,CAAmBxB,CAAnB,KAAuB,CAACG,CAAC,CAACyP,WAAjC;gBAA6C,CAA1G,EAA4G1K,GAA5G,CAAgH,UAASjF,CAAT,EAAW;kBAAC,OAAO0E,CAAC,CAAC1E,CAAD,CAAR;gBAAY,CAAxI,CAAxC;;gBAAmL,IAAI8G,CAAC,GAACxC,CAAC,CAACW,GAAF,CAAM,UAASjF,CAAT,EAAW;kBAAC,OAAOA,CAAC,CAACoB,IAAT;gBAAc,CAAhC,CAAN;gBAAA,IAAwC6F,CAAC,GAAC,UAASjH,CAAT,EAAWD,CAAX,EAAaG,CAAb,EAAe;kBAAC,IAAIC,CAAC,GAAC4N,CAAC,CAAC/N,CAAD,CAAD,CAAKiF,GAAL,CAAS,UAASjF,CAAT,EAAW;oBAAC,OAAO8N,CAAC,CAAC9N,CAAD,EAAGD,CAAH,CAAR;kBAAc,CAAnC,CAAN;kBAA2C,OAAOA,CAAC,CAAC4H,MAAF,CAAS,UAASzH,CAAT,EAAWC,CAAX,EAAa;oBAAC,IAAIwE,CAAC,GAACxE,CAAC,CAACiB,IAAR;oBAAA,IAAasD,CAAC,GAACqJ,CAAC,CAAC/N,CAAD,EAAG2E,CAAH,CAAD,CAAOM,GAAP,CAAW,UAASjF,CAAT,EAAW;sBAAC,OAAO8N,CAAC,CAAC9N,CAAD,EAAGD,CAAH,CAAR;oBAAc,CAArC,CAAf;oBAAA,IAAsDyE,CAAC,GAACE,CAAC,CAAC,CAAD,CAAzD;oBAAA,IAA6DI,CAAC,GAACJ,CAAC,CAAC,CAAD,CAAhE;oBAAA,IAAoEK,CAAC,GAACL,CAAC,CAAC,CAAD,CAAvE;oBAA2E,OAAOF,CAAC,CAACnE,MAAF,KAAWH,CAAC,CAAC0P,QAAF,CAAWjL,CAAX,IAAcH,CAAzB,GAA4BM,CAAC,CAACzE,MAAF,KAAWH,CAAC,CAAC2P,QAAF,CAAWlL,CAAX,IAAcG,CAAzB,CAA5B,EAAwDC,CAAC,CAAC1E,MAAF,KAAWH,CAAC,CAAC4P,OAAF,CAAUnL,CAAV,IAAaI,CAAxB,CAAxD,EAAmF7E,CAA1F;kBAA4F,CAA9L,EAA+L;oBAAC6P,MAAM,EAAC5P,CAAC,CAAC,CAAD,CAAT;oBAAayP,QAAQ,EAAC,EAAtB;oBAAyB5D,MAAM,EAAC7L,CAAC,CAAC,CAAD,CAAjC;oBAAqC0P,QAAQ,EAAC,EAA9C;oBAAiDG,KAAK,EAAC7P,CAAC,CAAC,CAAD,CAAxD;oBAA4D2P,OAAO,EAAC;kBAApE,CAA/L,CAAP;gBAA+Q,CAA1U,CAA2UtL,CAA3U,EAA6UF,CAA7U,CAA1C;;gBAA0X,OAAOwG,OAAO,CAACgC,OAAR,CAAgB7B,CAAC,CAAC;kBAACE,MAAM,EAACnL,CAAR;kBAAUkL,IAAI,EAAC;oBAACY,KAAK,EAAC7E,CAAC,CAAC8I,MAAT;oBAAgBhD,UAAU,EAAC9F,CAAC,CAAC2I;kBAA7B,CAAf;kBAAsDvE,KAAK,EAACtG,CAA5D;kBAA8DuG,UAAU,EAAC5G,CAAzE;kBAA2E6G,UAAU,EAACtE,CAAtF;kBAAwFmE,QAAQ,EAAClL,CAAjG;kBAAmGsL,KAAK,EAACrL,CAAzG;kBAA2GsL,MAAM,EAAC9G;gBAAlH,CAAD,CAAjB,EAAyIqG,IAAzI,CAA8I,UAAShL,CAAT,EAAW;kBAAC,SAASD,CAAT,GAAY;oBAAC,IAAIA,CAAC,GAAC,YAAU;sBAAC,IAAGyE,CAAC,CAACU,KAAF,CAAQ0G,CAAR,CAAH,EAAc,OAAOd,OAAO,CAACgC,OAAR,CAAgB7B,CAAC,CAAC;wBAACE,MAAM,EAAChF,GAAG,CAAC,EAAD,EAAI7B,CAAJ,EAAM;0BAAC4C,IAAI,EAACpC,CAAC,GAAC;wBAAR,CAAN,CAAX;wBAAiCoG,IAAI,EAAC;0BAACY,KAAK,EAAC7E,CAAC,CAAC+I,KAAT;0BAAejD,UAAU,EAAC9F,CAAC,CAAC6I;wBAA5B,CAAtC;wBAA2EzE,KAAK,EAACtG,CAAjF;wBAAmFuG,UAAU,EAAC5G,CAA9F;wBAAgG6G,UAAU,EAACtE,CAA3G;wBAA6GmE,QAAQ,EAAClL,CAAtH;wBAAwHsL,KAAK,EAACrL,CAA9H;wBAAgIsL,MAAM,EAAC9G;sBAAvI,CAAD,CAAjB,EAA8JqG,IAA9J,CAAmK,UAAShL,CAAT,EAAW;wBAACA,CAAC,CAACwO,IAAF,IAAQxO,CAAC,CAACwO,IAAF,CAAOyB,WAAf,IAA4BrF,GAAG,CAAC5K,CAAC,CAACwO,IAAF,CAAOE,GAAR,EAAY;0BAACjC,OAAO,EAACzM;wBAAT,CAAZ,CAA/B;sBAAyD,CAAxO,CAAP;oBAAiP,CAA1Q,EAAN;;oBAAmR,OAAOD,CAAC,IAAEA,CAAC,CAACiL,IAAL,GAAUjL,CAAC,CAACiL,IAAF,CAAO,YAAU;sBAAC,OAAOhL,CAAP;oBAAS,CAA3B,CAAV,GAAuCA,CAA9C;kBAAgD;;kBAAA,IAAG6N,EAAE,CAAC7N,CAAD,EAAG8G,CAAC,CAACzG,MAAL,CAAL,EAAkB,OAAOL,CAAP;;kBAAS,IAAIsE,CAAJ;kBAAA,IAAMrE,CAAC,GAAC,YAAU;oBAAC,IAAGuE,CAAC,KAAGM,CAAP,EAAS,OAAOgG,OAAO,CAACgC,OAAR,CAAgB7B,CAAC,CAAC;sBAACE,MAAM,EAAChF,GAAG,CAAC,EAAD,EAAInG,CAAJ,EAAM;wBAACkH,IAAI,EAACpC;sBAAN,CAAN,CAAX;sBAA2BoG,IAAI,EAAC;wBAACY,KAAK,EAAC7E,CAAC,CAAC+E,MAAT;wBAAgBe,UAAU,EAAC9F,CAAC,CAAC4I;sBAA7B,CAAhC;sBAAuExE,KAAK,EAACtG,CAA7E;sBAA+EuG,UAAU,EAAC5G,CAA1F;sBAA4F6G,UAAU,EAACtE,CAAvG;sBAAyGmE,QAAQ,EAAClL,CAAlH;sBAAoHsL,KAAK,EAACrL,CAA1H;sBAA4HsL,MAAM,EAAC9G;oBAAnI,CAAD,CAAjB,EAA0JqG,IAA1J,CAA+J,UAAShL,CAAT,EAAW;sBAACsE,CAAC,GAACtE,CAAF;oBAAK,CAAhL,CAAP;oBAAyLsE,CAAC,GAACtE,CAAF;kBAAK,CAAlN,EAAR;;kBAA6N,OAAOC,CAAC,IAAEA,CAAC,CAAC+K,IAAL,GAAU/K,CAAC,CAAC+K,IAAF,CAAOjL,CAAP,CAAV,GAAoBA,CAAC,EAA5B;gBAA+B,CAAjwB,CAAP;cAA0wB,CAAloD,CAAkoD,OAAMC,CAAN,EAAQ;gBAAC,OAAO8K,OAAO,CAAC6C,MAAR,CAAe3N,CAAf,CAAP;cAAyB;;cAAA,IAAIgF,CAAJ,EAAM6G,CAAN,EAAQtF,CAAR;YAAW,CAAnsD,CAAosD/B,CAApsD,EAAssDzE,CAAtsD,EAAwsDC,CAAxsD,EAA0sD2E,CAA1sD,EAA4sDzE,CAA5sD,CAAhB,EAAguD8K,IAAhuD,CAAquD,UAAShL,CAAT,EAAW;cAAC,IAAID,CAAC,GAAC2E,CAAC,CAAC1E,CAAD,CAAP;cAAW,OAAO8E,CAAC,GAAC,CAAF,EAAI/E,CAAX;YAAa,CAAzwD,CAAp7B;UAA+rF,CAA7tF,EAAN;;UAAsuF,OAAO+K,OAAO,CAACgC,OAAR,CAAgBsC,CAAC,IAAEA,CAAC,CAACpE,IAAL,GAAUoE,CAAC,CAACpE,IAAF,CAAOjG,CAAP,CAAV,GAAoBA,CAAC,CAACqK,CAAD,CAArC,CAAP;QAAiD,CAA3rH,CAA2rH,OAAMpP,CAAN,EAAQ;UAAC,OAAO8K,OAAO,CAAC6C,MAAR,CAAe3N,CAAf,CAAP;QAAyB;MAAC,CAAjvH;IAAkvH,CAArwH;EAAswH,CAAzxH;AAA0xH;;AAAA,SAASkQ,EAAT,CAAYlQ,CAAZ,EAAc;EAAC,OAAO,UAASD,CAAT,EAAW;IAAC,OAAO,UAASA,CAAT,EAAW;MAAC,OAAO,UAASG,CAAT,EAAW;QAAC,IAAIC,CAAC,GAACD,CAAC,CAACgH,IAAR;QAAA,IAAavC,CAAC,GAACzE,CAAC,CAAC6J,GAAjB;QAAA,IAAqBrF,CAAC,GAACxE,CAAC,CAAC8J,KAAzB;QAAA,IAA+BxF,CAAC,GAACtE,CAAC,CAACqK,OAAnC;;QAA2C,IAAGpK,CAAC,KAAGiI,CAAC,CAACnC,OAAN,IAAe9F,CAAC,KAAGiI,CAAC,CAAClC,UAAxB,EAAmC;UAAC,IAAGhG,CAAC,CAACoM,KAAL,EAAW,OAAOvM,CAAC,CAACG,CAAD,CAAR;UAAYC,CAAC,KAAGiI,CAAC,CAACnC,OAAN,GAAcjG,CAAC,CAACiG,OAAF,CAAUtB,CAAV,EAAYD,CAAZ,EAAcF,CAAd,CAAd,GAA+BxE,CAAC,CAACkG,UAAF,CAAavB,CAAb,EAAeH,CAAf,CAA/B;QAAkD;;QAAA,OAAOzE,CAAC,CAACG,CAAD,CAAR;MAAY,CAAvL;IAAwL,CAA3M;EAA4M,CAA/N;AAAgO;;AAAA,IAAIiQ,EAAE,GAAC,SAAHA,EAAG,GAAU;EAAC,IAAInQ,CAAC,GAAC,IAAN;EAAW,KAAK+P,MAAL,GAAY,EAAZ,EAAe,KAAKC,KAAL,GAAW,EAA1B,EAA6B,KAAKI,aAAL,GAAmB,UAASrQ,CAAT,EAAWG,CAAX,EAAa;IAACF,CAAC,CAACE,CAAD,CAAD,GAAKF,CAAC,CAACE,CAAD,CAAD,CAAKgE,MAAL,CAAYnE,CAAZ,CAAL;EAAqB,CAAnF,EAAoF,KAAKsQ,gBAAL,GAAsB,UAAStQ,CAAT,EAAWG,CAAX,EAAa;IAAC,IAAIC,CAAC,GAACH,CAAC,CAACE,CAAD,CAAD,CAAKoQ,SAAL,CAAe,UAAStQ,CAAT,EAAW;MAAC,OAAOA,CAAC,KAAGD,CAAX;IAAa,CAAxC,CAAN;IAAgD,CAAC,CAAD,KAAKI,CAAL,KAASH,CAAC,CAACE,CAAD,CAAD,GAAK,GAAGgE,MAAH,CAAUlE,CAAC,CAACE,CAAD,CAAD,CAAKwB,KAAL,CAAW,CAAX,EAAavB,CAAb,CAAV,EAA0BH,CAAC,CAACE,CAAD,CAAD,CAAKwB,KAAL,CAAWvB,CAAC,GAAC,CAAb,CAA1B,CAAd;EAA2D,CAAnO,EAAoO,KAAKoQ,kBAAL,GAAwB,UAASxQ,CAAT,EAAW;IAAC,OAAO,UAASG,CAAT,EAAW;MAAC,OAAO,UAASC,CAAT,EAAW;QAAC,OAAO,UAASwE,CAAT,EAAW;UAAC,IAAID,CAAC,GAAC;YAAC2C,QAAQ,EAACnH,CAAC,CAACmH,QAAZ;YAAqBF,QAAQ,EAAC,kBAASnH,CAAT,EAAW;cAAC,OAAOE,CAAC,CAACiH,QAAF,CAAWnH,CAAX,CAAP;YAAqB;UAA/D,CAAN;UAAA,IAAuEwE,CAAC,GAACxE,CAAC,CAACD,CAAD,CAAD,CAAKkF,GAAL,CAAS,UAASjF,CAAT,EAAW;YAAC,OAAOA,CAAC,CAAC0E,CAAD,CAAR;UAAY,CAAjC,CAAzE;UAA4G,OAAOgD,CAAC,CAACzD,KAAF,CAAQ,KAAK,CAAb,EAAeO,CAAf,EAAkBrE,CAAlB,EAAqBwE,CAArB,CAAP;QAA+B,CAA9J;MAA+J,CAAlL;IAAmL,CAAtM;EAAuM,CAA/c;AAAid,CAA9e;;AAA+e,SAAS6L,EAAT,CAAYxQ,CAAZ,EAAc;EAAC,OAAO,UAASD,CAAT,EAAWG,CAAX,EAAa;IAAC,KAAK,CAAL,KAASH,CAAT,KAAaA,CAAC,GAAC,EAAf;IAAmB,IAAII,CAAC,GAAC,EAAN;IAAS,IAAG,yBAAuBD,CAAC,CAACgH,IAA5B,EAAiC,OAAOnH,CAAP;;IAAS,IAAG,2BAA2BsP,IAA3B,CAAgCnP,CAAC,CAACgH,IAAlC,CAAH,EAA2C;MAAC,IAAIvC,CAAC,GAAC8L,EAAE,CAACvQ,CAAC,CAACgH,IAAH,EAAQ,gBAAR,CAAR;MAAA,IAAkCxC,CAAC,GAAC1E,CAAC,GAAG2E,CAAH,CAArC;MAA2C,IAAG,CAACD,CAAD,IAAI,CAACC,CAAR,EAAU,OAAO5E,CAAP;MAAS,IAAIyE,CAAC,GAACtE,CAAC,CAACwP,OAAR;MAAgB,OAAOvP,CAAC,CAACwE,CAAD,CAAD,GAAK;QAAC+K,OAAO,EAAClL,CAAT;QAAWmL,WAAW,EAAC,CAAC,CAACnL,CAAF,IAAKkM,OAAO,CAAC,CAAChM,CAAC,CAACiM,UAAJ,CAAnC;QAAmD/D,MAAM,EAAC,CAAC,CAACpI,CAAF,IAAKkM,OAAO,CAAChM,CAAC,CAACkI,MAAF,EAAD,CAAtE;QAAmFX,MAAM,EAACvH,CAAC,CAACuH,MAAF,IAAU;MAApG,CAAL,EAA6G9F,GAAG,CAAC,EAAD,EAAIpG,CAAJ,EAAMI,CAAN,CAAvH;IAAgI;;IAAA,IAAG,uBAAuBkP,IAAvB,CAA4BnP,CAAC,CAACgH,IAA9B,CAAH,EAAuC;MAAC,IAAIpC,CAAC,GAAC2L,EAAE,CAACvQ,CAAC,CAACgH,IAAH,EAAQkB,CAAC,CAACuI,UAAV,CAAR;MAAA,IAA8B5L,CAAC,GAAC/E,CAAC,GAAG8E,CAAH,CAAjC;MAAuC,OAAOC,CAAC,IAAED,CAAH,IAAM3E,CAAC,CAAC2E,CAAD,CAAD,GAAKqB,GAAG,CAAC,EAAD,EAAIpG,CAAC,CAAC+E,CAAD,CAAL,EAAS;QAAC6K,WAAW,EAAC,CAAC,CAAd;QAAgB/C,MAAM,EAAC8D,OAAO,CAAC3L,CAAC,CAAC6H,MAAF,EAAD;MAA9B,CAAT,CAAR,EAA8DzG,GAAG,CAAC,EAAD,EAAIpG,CAAJ,EAAMI,CAAN,CAAvE,IAAiFJ,CAAxF;IAA0F;;IAAA,IAAG,kBAAkBsP,IAAlB,CAAuBnP,CAAC,CAACgH,IAAzB,CAAH,EAAkC,OAAO/G,CAAC,CAACD,CAAC,CAACkB,IAAH,CAAD,GAAU+E,GAAG,CAAC,EAAD,EAAIpG,CAAC,CAACG,CAAC,CAACkB,IAAH,CAAL,EAAc;MAACwL,MAAM,EAAC,CAAC;IAAT,CAAd,CAAb,EAAwCzG,GAAG,CAAC,EAAD,EAAIpG,CAAJ,EAAMI,CAAN,CAAlD;;IAA2D,QAAOD,CAAC,CAACgH,IAAT;MAAe,KAAKkB,CAAC,CAACqG,aAAP;QAAqB,OAAOtI,GAAG,CAAC,EAAD,EAAIpG,CAAJ,EAAM6Q,EAAE,CAAC1Q,CAAC,CAACwL,OAAH,EAAW,CAAC,CAAZ,EAAc3L,CAAd,CAAR,CAAV;;MAAoC,KAAKqI,CAAC,CAACgG,YAAP;QAAoB,OAAOjI,GAAG,CAAC,EAAD,EAAIpG,CAAJ,EAAM6Q,EAAE,CAAC1Q,CAAC,CAACwL,OAAH,EAAW,CAAC,CAAZ,EAAc3L,CAAd,CAAR,CAAV;;MAAoC;QAAQ,OAAOA,CAAP;IAAxI;EAAkJ,CAA7uB;AAA8uB;;AAAA,SAAS0Q,EAAT,CAAYzQ,CAAZ,EAAcD,CAAd,EAAgB;EAAC,OAAOC,CAAC,CAAC4E,SAAF,CAAY7E,CAAC,CAACM,MAAF,GAAS,CAArB,EAAuBL,CAAC,CAACK,MAAzB,CAAP;AAAwC;;AAAA,SAASuQ,EAAT,CAAY5Q,CAAZ,EAAcD,CAAd,EAAgBG,CAAhB,EAAkB;EAAC,OAAOF,CAAC,CAAC2H,MAAF,CAAS,UAAS3H,CAAT,EAAWG,CAAX,EAAa;IAAC,OAAOH,CAAC,CAACG,CAAD,CAAD,GAAKgG,GAAG,CAAC,EAAD,EAAIjG,CAAC,CAACC,CAAD,CAAL,EAAS;MAACuP,OAAO,EAAC3P;IAAT,CAAT,CAAR,EAA8BC,CAArC;EAAuC,CAA9D,EAA+DE,CAA/D,CAAP;AAAyE;;AAAA,SAAS2Q,EAAT,CAAY7Q,CAAZ,EAAc;EAAC,IAAG;IAAC,OAAOoM,IAAI,CAAC0E,KAAL,CAAW1E,IAAI,CAACC,SAAL,CAAerM,CAAf,CAAX,CAAP;EAAqC,CAAzC,CAAyC,OAAMA,CAAN,EAAQ,CAAE;;EAAA,OAAOA,CAAP;AAAS;;AAAA,IAAI+Q,EAAE,GAAC;EAACC,IAAI,EAAC,EAAN;EAASC,OAAO,EAAC;AAAjB,CAAP;;AAA4B,SAASC,EAAT,CAAYlR,CAAZ,EAAcD,CAAd,EAAgB;EAAC,KAAK,CAAL,KAASC,CAAT,KAAaA,CAAC,GAAC+Q,EAAf;EAAmB,IAAI7Q,CAAC,GAACH,CAAC,CAACwK,OAAR;EAAA,IAAgBpK,CAAC,GAACJ,CAAC,CAACyO,IAApB;;EAAyB,IAAGzO,CAAC,CAACmH,IAAF,KAASkB,CAAC,CAACwB,KAAd,EAAoB;IAAC,IAAIjF,CAAC,GAACkM,EAAE,CAAC1K,GAAG,CAAC;MAAC+F,KAAK,EAACnM,CAAC,CAACmM,KAAT;MAAeiF,UAAU,EAACpR,CAAC,CAACoR;IAA5B,CAAD,EAAyClP,MAAM,CAACmH,IAAP,CAAYlJ,CAAZ,EAAeG,MAAf,IAAuB;MAACkK,OAAO,EAACrK;IAAT,CAAhE,EAA4E;MAACsO,IAAI,EAACrO;IAAN,CAA5E,CAAJ,CAAR;IAAmG,OAAOgG,GAAG,CAAC,EAAD,EAAInG,CAAJ,EAAM;MAACgR,IAAI,EAACrM,CAAN;MAAQsM,OAAO,EAACjR,CAAC,CAACiR,OAAF,CAAU/M,MAAV,CAAiBS,CAAjB;IAAhB,CAAN,CAAV;EAAsD;;EAAA,OAAO3E,CAAP;AAAS;;AAAA,IAAIoR,EAAE,GAAC;EAAC9B,OAAO,EAAC;AAAT,CAAP;;AAAoB,SAAS+B,EAAT,CAAYrR,CAAZ,EAAcD,CAAd,EAAgB;EAAC,KAAK,CAAL,KAASC,CAAT,KAAaA,CAAC,GAACoR,EAAf;EAAmB,IAAIlR,CAAC,GAACH,CAAC,CAAC0M,OAAR;;EAAgB,QAAO1M,CAAC,CAACmH,IAAT;IAAe,KAAI,OAAJ;MAAY,IAAI/G,CAAJ;MAAM,OAAOA,CAAC,GAACD,CAAC,IAAEA,CAAC,CAACgH,IAAL,IAAWhH,CAAC,CAACgH,IAAF,KAASkB,CAAC,CAACuB,QAAtB,GAA+B,CAAC5J,CAAD,EAAImE,MAAJ,CAAWlE,CAAC,CAACsP,OAAb,CAA/B,GAAqDtP,CAAC,CAACsP,OAAF,CAAUpL,MAAV,CAAiBnE,CAAjB,CAAvD,EAA2EoG,GAAG,CAAC,EAAD,EAAInG,CAAJ,EAAM;QAACsP,OAAO,EAACnP;MAAT,CAAN,CAArF;;IAAwG,KAAI,SAAJ;MAAc,OAAO,EAAP;;IAAU;MAAQ,OAAOH,CAAP;EAAzK;AAAmL;;AAAA,IAAIsR,EAAE,GAAC,MAAP;;AAAc,SAASC,EAAT,CAAYvR,CAAZ,EAAc;EAAC,IAAID,CAAC,GAAC,oCAAoC0E,IAApC,CAAyCzE,CAAzC,CAAN;EAAkD,OAAO,OAAKD,CAAC,IAAEA,CAAC,CAAC,CAAD,CAAJ,GAAQA,CAAC,CAAC,CAAD,CAAD,CAAKK,KAAL,CAAW,GAAX,EAAgB,CAAhB,EAAmBiE,OAAnB,CAA2BiN,EAA3B,EAA8B,EAA9B,CAAR,GAA0C,EAA/C,CAAP;AAA0D;;AAAA,IAAIE,EAAJ;AAAA,IAAOC,EAAE,GAAC,SAAHA,EAAG,CAASzR,CAAT,EAAW;EAAC,IAAG,KAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB,CAACc,GAAvB,EAA2B,OAAOd,CAAP;;EAAS,IAAID,CAAC,GAAC2R,QAAN;EAAA,IAAexR,CAAC,GAACH,CAAC,CAAC4R,KAAnB;EAAA,IAAyBxR,CAAC,GAACJ,CAAC,CAAC6R,QAA7B;EAAA,IAAsCjN,CAAC,GAAC5D,MAAxC;EAAA,IAA+C2D,CAAC,GAACC,CAAC,CAACQ,QAAnD;EAAA,IAA4DX,CAAC,GAACG,CAAC,CAACkN,UAAhE;EAAA,IAA2E/M,CAAC,GAACH,CAAC,CAACmN,WAA/E;EAAA,IAA2F/M,CAAC,GAACL,CAAC,CAACqN,IAA/F;EAAA,IAAoGzN,CAAC,GAACI,CAAC,CAACU,MAAxG;EAAA,IAA+GnF,CAAC,GAAC,UAASD,CAAT,EAAW;IAAC,IAAID,CAAC,GAAC,YAAU;MAAC,IAAGe,GAAH,EAAO,KAAI,IAAId,CAAJ,EAAMD,CAAC,GAAC2R,QAAQ,CAACM,oBAAT,CAA8B,MAA9B,CAAR,EAA8C9R,CAAC,GAAC,CAApD,EAAsDF,CAAC,GAACD,CAAC,CAACG,CAAD,CAAzD,EAA6DA,CAAC,EAA9D;QAAiE,IAAG,gBAAcF,CAAC,CAACiS,YAAF,CAAe,KAAf,CAAjB,EAAuC,OAAOjS,CAAC,CAACiS,YAAF,CAAe,MAAf,CAAP;MAAxG;IAAsI,CAAxJ,EAAN;;IAAiK,OAAOlS,CAAC,GAACA,CAAC,CAACmF,KAAF,CAAQ,IAAR,IAAcnF,CAAd,GAAgBA,CAAC,GAACC,CAAnB,GAAqBe,MAAM,CAACoE,QAAP,CAAgB+M,IAAhB,CAAqB7N,OAArB,CAA6BiN,EAA7B,EAAgC,EAAhC,CAA7B;EAAiE,CAA9O,CAA+OhN,CAA/O,CAAjH;EAAA,IAAmWqB,CAAC,GAAC;IAACgM,KAAK,EAACzR,CAAP;IAASiS,GAAG,EAAClS,CAAb;IAAemS,IAAI,EAACb,EAAE,CAACtR,CAAD,CAAtB;IAA0B8R,IAAI,EAAChN,CAA/B;IAAiCK,MAAM,EAACd,CAAxC;IAA0C+N,KAAK,EAAC7N,CAAhD;IAAkD8N,MAAM,EAACxN;EAAzD,CAArW;;EAAia,OAAO3E,CAAC,IAAE,OAAKA,CAAR,KAAYwF,CAAC,CAACiM,QAAF,GAAWzR,CAAvB,GAA0BgG,GAAG,CAAC,EAAD,EAAIR,CAAJ,EAAM3F,CAAN,CAApC;AAA6C,CAAxgB;AAAA,IAAygBuS,EAAE,GAAC;EAACvB,IAAI,EAAC,EAAN;EAASC,OAAO,EAAC;AAAjB,CAA5gB;;AAAiiB,SAASuB,EAAT,CAAYxS,CAAZ,EAAcD,CAAd,EAAgB;EAAC,KAAK,CAAL,KAASC,CAAT,KAAaA,CAAC,GAACuS,EAAf;EAAmB,IAAIrS,CAAC,GAACH,CAAC,CAACwK,OAAR;;EAAgB,IAAGxK,CAAC,CAACmH,IAAF,KAASkB,CAAC,CAACqK,IAAd,EAAmB;IAAC,IAAItS,CAAC,GAAC0Q,EAAE,CAAC1K,GAAG,CAAC;MAACgL,UAAU,EAACpR,CAAC,CAACoR,UAAd;MAAyB3C,IAAI,EAACzO,CAAC,CAACyO;IAAhC,CAAD,EAAuCvM,MAAM,CAACmH,IAAP,CAAYlJ,CAAZ,EAAeG,MAAf,IAAuB;MAACkK,OAAO,EAACrK;IAAT,CAA9D,CAAJ,CAAR;IAAwF,OAAOiG,GAAG,CAAC,EAAD,EAAInG,CAAJ,EAAM;MAACgR,IAAI,EAAC7Q,CAAN;MAAQ8Q,OAAO,EAACjR,CAAC,CAACiR,OAAF,CAAU/M,MAAV,CAAiB/D,CAAjB;IAAhB,CAAN,CAAV;EAAsD;;EAAA,OAAOH,CAAP;AAAS;;AAAAwR,EAAE,GAAC,EAAH;AAAM,IAAIkB,EAAE,GAAC;EAAC/C,WAAW,EAAC,CAAC,CAAd;EAAgBgD,SAAS,EAACtN,GAAG,EAA7B;EAAgCuN,GAAG,EAAC,IAApC;EAAyCC,OAAO,EAAC,IAAjD;EAAsDC,KAAK,EAAC,CAAC,CAA7D;EAA+DjG,OAAO,EAAC,CAAC,CAAC/L,GAAF,IAAO,CAACO,SAAS,CAAC0R,MAAzF;EAAgGC,EAAE,EAAC;IAAC5R,IAAI,EAAC;EAAN,CAAnG;EAA+GE,SAAS,EAACR,GAAG,GAACO,SAAS,CAACC,SAAX,GAAqB,MAAjJ;EAAwJ2R,OAAO,EAAC;IAAC7R,IAAI,EAAC,WAAN;IAAkByR,OAAO,EAAC;EAA1B,CAAhK;EAAoMK,QAAQ,EAAC,KAAK,CAAlN;EAAoNC,MAAM,EAAC,KAAK,CAAhO;EAAkO5J,QAAQ,EAAC,EAA3O;EAA8OqI,QAAQ,EAACJ;AAAvP,CAAP;;AAAkQ,SAAS4B,EAAT,CAAYpT,CAAZ,EAAcD,CAAd,EAAgB;EAAC,KAAK,CAAL,KAASC,CAAT,KAAaA,CAAC,GAAC0S,EAAf;EAAmB,IAAIxS,CAAC,GAACF,CAAC,CAAC2P,WAAR;EAAA,IAAoBxP,CAAC,GAACJ,CAAC,CAACwJ,QAAxB;;EAAiC,QAAOxJ,CAAC,CAACmH,IAAT;IAAe,KAAKkB,CAAC,CAACmB,QAAP;MAAgB,OAAOpD,GAAG,CAAC,EAAD,EAAInG,CAAJ,EAAM;QAACuJ,QAAQ,EAACpJ;MAAV,CAAN,CAAV;;IAA8B,KAAKiI,CAAC,CAACyE,OAAP;MAAe,OAAO1G,GAAG,CAAC,EAAD,EAAInG,CAAJ,EAAM;QAAC6M,OAAO,EAAC,CAAC;MAAV,CAAN,CAAV;;IAA8B,KAAKzE,CAAC,CAACiL,MAAP;MAAc,OAAOlN,GAAG,CAAC,EAAD,EAAInG,CAAJ,EAAM;QAAC6M,OAAO,EAAC,CAAC;MAAV,CAAN,CAAV;;IAA8B;MAAQ,OAAO3M,CAAC,GAACF,CAAD,GAAGmG,GAAG,CAAC,EAAD,EAAIuM,EAAJ,EAAO1S,CAAP,EAAS;QAAC2P,WAAW,EAAC,CAAC;MAAd,CAAT,CAAd;EAA9J;AAAwM;;AAAA,IAAI2D,EAAE,GAAC,CAAC,SAAD,EAAW,UAAX,EAAsB,SAAtB,CAAP;;AAAwC,SAASC,EAAT,GAAa;EAAC,OAAO5N,CAAC,CAAC,WAAD,EAAa,EAAb,CAAD,EAAkB,UAAS3F,CAAT,EAAW;IAAC,OAAO,UAASD,CAAT,EAAWoE,GAAX,EAAehE,CAAf,EAAiB;MAAC,IAAIwE,CAAC,GAAC3E,CAAC,CAACD,CAAD,EAAGoE,GAAH,EAAOhE,CAAP,CAAP;MAAA,IAAiBuE,CAAC,GAACC,CAAC,CAACwC,QAArB;MAA8B,OAAOlF,MAAM,CAACmE,MAAP,CAAczB,CAAd,EAAgB;QAACwC,QAAQ,EAAC,kBAASnH,CAAT,EAAW;UAAC,OAAOE,CAAC,CAACsE,CAAD,CAAD,CAAKgP,SAAL,CAAe3O,IAAf,CAAoB7E,CAAC,CAACmL,MAAF,IAAUnL,CAA9B,GAAiC0E,CAAC,CAAC1E,CAAD,CAAzC;QAA6C;MAAnE,CAAhB,CAAP;IAA6F,CAApJ;EAAqJ,CAA1L;AAA2L;;AAAA,SAASyT,EAAT,CAAYzT,CAAZ,EAAc;EAAC,OAAO,YAAU;IAAC,OAAO0H,CAAC,CAACA,CAAC,CAACzD,KAAF,CAAQ,IAAR,EAAaD,SAAb,CAAD,EAAyBuP,EAAE,EAA3B,CAAR;EAAuC,CAAzD;AAA0D;;AAAA,SAASG,EAAT,CAAY1T,CAAZ,EAAc;EAAC,OAAOA,CAAC,GAAC6C,EAAE,CAAC7C,CAAD,CAAF,GAAMA,CAAN,GAAQ,CAACA,CAAD,CAAT,GAAa,EAArB;AAAwB;;AAAA,SAAS2T,EAAT,CAAY5T,CAAZ,EAAcG,CAAd,EAAgBC,CAAhB,EAAkB;EAAC,KAAK,CAAL,KAASJ,CAAT,KAAaA,CAAC,GAAC,EAAf;EAAmB,IAAI4E,CAAJ;EAAA,IAAMD,CAAN;EAAA,IAAQF,CAAC,GAACa,GAAG,EAAb;EAAgB,OAAOnF,CAAC,KAAGyK,CAAC,CAACnG,CAAD,CAAD,IAAMG,CAAC,GAACzE,CAAF,EAAIwE,CAAC,GAAC,UAAS1E,CAAT,EAAW;IAAC,KAAI,IAAID,CAAJ,EAAMG,CAAC,GAACF,CAAC,IAAEiO,KAAK,CAAC/L,SAAN,CAAgBR,KAAhB,CAAsBU,IAAtB,CAA2B4B,SAA3B,CAAX,EAAiD7D,CAAC,GAAC,CAAvD,EAAyDA,CAAC,GAACD,CAAC,CAACG,MAA7D,EAAoEF,CAAC,EAArE;MAAwE,IAAGoC,GAAG,CAACrC,CAAC,CAACC,CAAD,CAAF,CAAN,EAAa;QAACJ,CAAC,GAACG,CAAC,CAACC,CAAD,CAAH;QAAO;MAAM;IAAnG;;IAAmG,OAAOJ,CAAP;EAAS,CAAxH,CAAyHI,CAAzH,CAAN,EAAkI,UAASH,CAAT,EAAW;IAAC0E,CAAC,IAAEA,CAAC,CAAC1E,CAAD,CAAJ,EAAQ2E,CAAC,CAAC3E,CAAD,CAAT;EAAc,CAAlK,CAAH,CAAD,EAAyKmG,GAAG,CAAC,EAAD,EAAIpG,CAAJ,EAAM;IAAC2O,GAAG,EAAClK,CAAL;IAAOoP,EAAE,EAAE,IAAIC,IAAJ,EAAD,CAAWC,OAAX;EAAV,CAAN,EAAsC5T,CAAC,GAAC;IAAC+P,WAAW,EAAC,CAAC;EAAd,CAAD,GAAkB,EAAzD,CAAnL;AAAgP;;AAAA,SAAS8D,EAAT,CAAYvP,CAAZ,EAAc;EAAC,KAAK,CAAL,KAASA,CAAT,KAAaA,CAAC,GAAC,EAAf;;EAAmB,IAAIM,CAAC,GAACN,CAAC,CAACwP,QAAF,IAAY,EAAlB;EAAA,IAAqBC,GAAG,GAACzP,CAAC,CAACwE,WAAF,IAAe,EAAxC;EAAA,IAA2CkL,GAAG,GAAC,CAAC1P,CAAC,CAACkH,OAAF,IAAW,EAAZ,EAAgB/D,MAAhB,CAAuB,UAAS3H,CAAT,EAAWD,CAAX,EAAa;IAAC,IAAGwC,GAAG,CAACxC,CAAD,CAAN,EAAU,OAAOC,CAAC,CAACmU,WAAF,GAAcnU,CAAC,CAACmU,WAAF,CAAcjQ,MAAd,CAAqBnE,CAArB,CAAd,EAAsCC,CAA7C;IAA+C,IAAGD,CAAC,CAACqU,SAAF,KAAcrU,CAAC,CAACqB,IAAF,GAAOrB,CAAC,CAACqU,SAAvB,GAAkC,CAACrU,CAAC,CAACqB,IAAxC,EAA6C,MAAM,IAAI+B,KAAJ,CAAU,6BAAV,CAAN;IAA+C,IAAIjD,CAAC,GAACH,CAAC,CAAC0L,MAAF,GAASxJ,MAAM,CAACmH,IAAP,CAAYrJ,CAAC,CAAC0L,MAAd,EAAsBxG,GAAtB,CAA0B,UAASjF,CAAT,EAAW;MAAC,OAAOD,CAAC,CAAC0L,MAAF,CAASzL,CAAT,CAAP;IAAmB,CAAzD,CAAT,GAAoE,EAA1E;IAA6EA,CAAC,CAACqU,aAAF,CAAgBtU,CAAC,CAACqB,IAAlB,IAAwB,EAAE,CAAC,CAAD,KAAKrB,CAAC,CAAC2P,OAAP,IAAgB3P,CAAC,CAACkM,MAAF,IAAU,CAAC,CAAD,KAAKlM,CAAC,CAACkM,MAAF,CAASyD,OAA1C,CAAxB,EAA2E,OAAO3P,CAAC,CAAC2P,OAApF,EAA4F3P,CAAC,CAACuU,OAAF,KAAYtU,CAAC,CAACsU,OAAF,CAAUvU,CAAC,CAACqB,IAAZ,IAAkBa,MAAM,CAACmH,IAAP,CAAYrJ,CAAC,CAACuU,OAAd,EAAuB3M,MAAvB,CAA8B,UAAS3H,CAAT,EAAWE,CAAX,EAAa;MAAC,IAAIC,CAAJ;MAAM,OAAOH,CAAC,CAACE,CAAD,CAAD,IAAMC,CAAC,GAACJ,CAAC,CAACuU,OAAF,CAAUpU,CAAV,CAAF,EAAe,YAAU;QAAC,KAAI,IAAIF,CAAC,GAACiO,KAAK,CAAC/L,SAAN,CAAgBR,KAAhB,CAAsBU,IAAtB,CAA2B4B,SAA3B,CAAN,EAA4CjE,CAAC,GAAC,IAAIkO,KAAJ,CAAU9N,CAAC,CAACE,MAAZ,CAA9C,EAAkEH,CAAC,GAAC,CAAxE,EAA0EA,CAAC,GAACF,CAAC,CAACK,MAA9E,EAAqFH,CAAC,EAAtF;UAAyFH,CAAC,CAACG,CAAD,CAAD,GAAKF,CAAC,CAACE,CAAD,CAAN;QAAzF;;QAAmG,OAAOH,CAAC,CAACA,CAAC,CAACM,MAAH,CAAD,GAAYkU,CAAZ,EAAcpU,CAAC,CAAC8D,KAAF,CAAQ;UAACmH,QAAQ,EAACmJ;QAAV,CAAR,EAAqBxU,CAArB,CAArB;MAA6C,CAAhL,GAAkLC,CAAzL;IAA2L,CAA7O,EAA8O,EAA9O,CAAlB,EAAoQ,OAAOD,CAAC,CAACuU,OAAzR,CAA5F;IAA8X,IAAInU,CAAC,GAAC8B,MAAM,CAACmH,IAAP,CAAYrJ,CAAZ,EAAemE,MAAf,CAAsBhE,CAAtB,CAAN;IAAA,IAA+ByE,CAAC,GAAC,IAAI6P,GAAJ,CAAQxU,CAAC,CAAC+O,MAAF,CAAS7K,MAAT,CAAgB/D,CAAhB,CAAR,CAAjC;IAA6D,IAAGH,CAAC,CAAC+O,MAAF,GAASd,KAAK,CAACd,IAAN,CAAWxI,CAAX,CAAT,EAAuB3E,CAAC,CAACyU,YAAF,GAAezU,CAAC,CAACyU,YAAF,CAAevQ,MAAf,CAAsBnE,CAAtB,CAAtC,EAA+DC,CAAC,CAAC0L,OAAF,CAAU3L,CAAC,CAACqB,IAAZ,CAAlE,EAAoF,MAAM,IAAI+B,KAAJ,CAAUpD,CAAC,CAACqB,IAAF,GAAO,eAAjB,CAAN;IAAwC,OAAOpB,CAAC,CAAC0L,OAAF,CAAU3L,CAAC,CAACqB,IAAZ,IAAkBrB,CAAlB,EAAoBC,CAAC,CAAC0L,OAAF,CAAU3L,CAAC,CAACqB,IAAZ,EAAkBwL,MAAlB,KAA2B5M,CAAC,CAAC0L,OAAF,CAAU3L,CAAC,CAACqB,IAAZ,EAAkBwL,MAAlB,GAAyB,YAAU;MAAC,OAAO,CAAC,CAAR;IAAU,CAAzE,CAApB,EAA+F5M,CAAtG;EAAwG,CAAt6B,EAAu6B;IAAC0L,OAAO,EAAC,EAAT;IAAY2I,aAAa,EAAC,EAA1B;IAA6BC,OAAO,EAAC,EAArC;IAAwCG,YAAY,EAAC,EAArD;IAAwDN,WAAW,EAAC,EAApE;IAAuEpF,MAAM,EAAC;EAA9E,CAAv6B,CAA/C;EAAA,IAAyiC/J,CAAC,GAACR,CAAC,CAACmE,OAAF,GAAUnE,CAAC,CAACmE,OAAZ,GAAoB;IAACyB,OAAO,EAAC1E,GAAT;IAAaO,OAAO,EAACN,CAArB;IAAuBO,UAAU,EAACN;EAAlC,CAA/jC;EAAA,IAAsmCiJ,CAAC,GAAC,UAAS7O,CAAT,EAAW;IAAC,OAAO,UAASD,CAAT,EAAWG,CAAX,EAAayE,CAAb,EAAe;MAAC,OAAOzE,CAAC,CAACmH,QAAF,CAAW,MAAX,EAAmBtH,CAAnB,MAAwB4E,CAAC,IAAE7B,EAAE,CAAC6B,CAAD,CAAL,IAAUA,CAAC,CAAC5E,CAAD,CAAX,GAAe4E,CAAC,CAAC5E,CAAD,CAAhB,GAAoBoK,CAAC,CAACnK,CAAD,CAAD,CAAKD,CAAL,KAAS2F,GAAG,CAAC2E,CAAC,CAACtK,CAAD,CAAF,CAAZ,IAAoB,IAAhE,CAAP;IAA6E,CAApG;EAAqG,CAAjH,CAAkHiF,CAAlH,CAAxmC;EAAA,IAA6tC8J,CAAC,GAACoF,GAAG,CAACxI,OAAnuC;EAAA,IAA2uCgJ,CAAC,GAACR,GAAG,CAACnF,MAAJ,CAAWH,MAAX,CAAkB,UAAS5O,CAAT,EAAW;IAAC,OAAO,CAACmI,CAAC,CAAC5G,QAAF,CAAWvB,CAAX,CAAR;EAAsB,CAApD,EAAsD2U,IAAtD,EAA7uC;EAAA,IAA0yC5M,CAAC,GAAC,IAAIyM,GAAJ,CAAQE,CAAC,CAACxQ,MAAF,CAASgE,GAAT,EAAc0G,MAAd,CAAqB,UAAS5O,CAAT,EAAW;IAAC,OAAO,CAACmI,CAAC,CAAC5G,QAAF,CAAWvB,CAAX,CAAR;EAAsB,CAAvD,CAAR,CAA5yC;EAAA,IAA82C4U,CAAC,GAAC3G,KAAK,CAACd,IAAN,CAAWpF,CAAX,EAAc4M,IAAd,EAAh3C;EAAA,IAAq4CpM,CAAC,GAAC,SAAFA,CAAE,GAAU;IAAC,OAAOuG,CAAP;EAAS,CAA35C;EAAA,IAA45CtG,CAAC,GAAC,IAAI2H,EAAJ,EAA95C;EAAA,IAAq6C1H,CAAC,GAACD,CAAC,CAAC4H,aAAz6C;EAAA,IAAu7CzF,CAAC,GAACnC,CAAC,CAAC6H,gBAA37C;EAAA,IAA48CwE,CAAC,GAACrM,CAAC,CAAC+H,kBAAh9C;EAAA,IAAm+CuE,CAAC,GAAC,SAAFA,CAAE,GAAU;IAAC,MAAM,IAAI3R,KAAJ,CAAU,2BAAV,CAAN;EAA6C,CAA7hD;EAAA,IAA8hD8H,CAAC,GAAC3G,CAAC,EAAjiD;EAAA,IAAoiDsH,CAAC,GAACzB,CAAC,CAACnF,CAAD,CAAviD;EAAA,IAA2iDyI,CAAC,GAACtH,GAAG,CAAC,EAAD,EAAIyF,CAAJ,EAAMqI,GAAN,EAAUhJ,CAAC,CAAC5B,MAAF,GAAS;IAACJ,MAAM,EAACgC,CAAC,CAAC5B;EAAV,CAAT,GAA2B,EAArC,EAAwC4B,CAAC,CAAC8J,MAAF,GAAS;IAAC7L,WAAW,EAAC+B,CAAC,CAAC8J;EAAf,CAAT,GAAgC,EAAxE,CAAhjD;;EAA4nDtH,CAAC,CAACvE,WAAF,KAAgBuE,CAAC,CAACvE,WAAF,GAAc7D,GAAG,EAAjC;EAAqC,IAAI2P,CAAC,GAAC7O,GAAG,CAAC;IAAC8O,MAAM,EAAC,gBAASjV,CAAT,EAAWD,CAAX,EAAa;MAAC,OAAO,IAAI+K,OAAJ,CAAY,UAAS5K,CAAT,EAAW;QAACuQ,EAAE,CAACtJ,QAAH,CAAY;UAACD,IAAI,EAACkB,CAAC,CAACgG,YAAR;UAAqB1C,OAAO,EAACgI,EAAE,CAAC1T,CAAD,CAA/B;UAAmC+H,CAAC,EAAC;YAAC6F,cAAc,EAACxF,CAAC,CAACgG;UAAlB;QAArC,CAAZ,EAAkFlO,CAAlF,EAAoF,CAACH,CAAD,CAApF;MAA0F,CAAlH,CAAP;IAA2H,CAAjJ;IAAkJmV,OAAO,EAAC,iBAASlV,CAAT,EAAWD,CAAX,EAAa;MAAC,OAAO,IAAI+K,OAAJ,CAAY,UAAS5K,CAAT,EAAW;QAACuQ,EAAE,CAACtJ,QAAH,CAAY;UAACD,IAAI,EAACkB,CAAC,CAACqG,aAAR;UAAsB/C,OAAO,EAACgI,EAAE,CAAC1T,CAAD,CAAhC;UAAoC+H,CAAC,EAAC;YAAC6F,cAAc,EAACxF,CAAC,CAACqG;UAAlB;QAAtC,CAAZ,EAAoFvO,CAApF,EAAsF,CAACH,CAAD,CAAtF;MAA4F,CAApH,CAAP;IAA6H;EAArS,CAAD,EAAwSmU,GAAG,CAACI,OAA5S,CAAT;EAAA,IAA8TC,CAAC,GAAC;IAAC5K,QAAQ,EAAC,kBAAS3J,CAAT,EAAWD,CAAX,EAAaG,CAAb,EAAeC,CAAf,EAAiB;MAAC,IAAG;QAAC,IAAIwE,CAAC,GAACnC,GAAG,CAACxC,CAAD,CAAH,GAAOA,CAAP,GAAS,IAAf;QAAA,IAAoBwE,CAAC,GAAC1B,EAAE,CAAC9C,CAAD,CAAF,GAAMA,CAAN,GAAQD,CAA9B;QAAA,IAAgC+E,CAAC,GAAC5E,CAAC,IAAE,EAArC;QAAA,IAAwCoE,CAAC,GAACiQ,CAAC,CAACzL,IAAF,EAA1C;QAAmDnD,CAAC,CAAC0E,CAAC,CAACrC,GAAD,CAAF,EAAQrD,CAAR,CAAD;QAAY,IAAI1E,CAAC,GAAC0E,CAAC,IAAEH,CAAC,CAACyE,MAAL,IAAa4F,CAAC,CAAC7G,GAAD,EAAKuM,CAAL,EAAO/P,CAAP,CAApB;QAA8B,OAAOsG,OAAO,CAACgC,OAAR,CAAgB,IAAIhC,OAAJ,CAAY,UAAS9K,CAAT,EAAW;UAACyQ,EAAE,CAACtJ,QAAH,CAAYhB,GAAG,CAAC;YAACe,IAAI,EAACkB,CAAC,CAAC+M,aAAR;YAAsBlM,MAAM,EAAChJ,CAA7B;YAA+BkJ,MAAM,EAAC3E,CAAC,IAAE,EAAzC;YAA4C+F,OAAO,EAACzF,CAApD;YAAsDoE,WAAW,EAAC5E,CAAC,CAAC4E;UAApE,CAAD,EAAkF5E,CAAC,CAAC8Q,EAAF,IAAM9Q,CAAC,CAAC8Q,EAAF,KAAOzQ,CAAb,IAAgB;YAAC0Q,UAAU,EAAC/Q,CAAC,CAAC8Q;UAAd,CAAlG,CAAf,EAAoIpV,CAApI,EAAsI,CAACD,CAAD,EAAGG,CAAH,EAAKC,CAAL,CAAtI;QAAgJ,CAAxK,CAAhB,CAAP;MAAkM,CAAnS,CAAmS,OAAMH,CAAN,EAAQ;QAAC,OAAO8K,OAAO,CAAC6C,MAAR,CAAe3N,CAAf,CAAP;MAAyB;IAAC,CAAlW;IAAmW4J,KAAK,EAAC,eAAS5J,CAAT,EAAWD,CAAX,EAAaG,CAAb,EAAeC,CAAf,EAAiB;MAAC,IAAG;QAAC,IAAIwE,CAAC,GAAC7B,EAAE,CAAC9C,CAAD,CAAF,GAAMA,CAAC,CAACkM,KAAR,GAAclM,CAApB;QAAsB,IAAG,CAAC2E,CAAD,IAAI,CAACnC,GAAG,CAACmC,CAAD,CAAX,EAAe,MAAM,IAAIxB,KAAJ,CAAU,cAAV,CAAN;QAAgC,IAAIuB,CAAC,GAAC5B,EAAE,CAAC9C,CAAD,CAAF,GAAMA,CAAN,GAAQD,CAAC,IAAE,EAAjB;QAAA,IAAoByE,CAAC,GAAC1B,EAAE,CAAC5C,CAAD,CAAF,GAAMA,CAAN,GAAQ,EAA9B;QAAiC,OAAO4K,OAAO,CAACgC,OAAR,CAAgB,IAAIhC,OAAJ,CAAY,UAAS9K,CAAT,EAAW;UAACyQ,EAAE,CAACtJ,QAAH,CAAY;YAACD,IAAI,EAACkB,CAAC,CAACkN,UAAR;YAAmBpJ,KAAK,EAACvH,CAAzB;YAA2BwM,UAAU,EAACzM,CAAtC;YAAwC6F,OAAO,EAAC/F,CAAhD;YAAkDyE,MAAM,EAAC4F,CAAC,CAAC7G,GAAD,EAAKuM,CAAL,EAAOxU,CAAP,CAA1D;YAAoEmJ,WAAW,EAAC2F,CAAC,CAAC5G,CAAD,EAAGsM,CAAH,EAAKxU,CAAL;UAAjF,CAAZ,EAAsGC,CAAtG,EAAwG,CAACD,CAAD,EAAGG,CAAH,EAAKC,CAAL,CAAxG;QAAkH,CAA1I,CAAhB,CAAP;MAAoK,CAA9Q,CAA8Q,OAAMH,CAAN,EAAQ;QAAC,OAAO8K,OAAO,CAAC6C,MAAR,CAAe3N,CAAf,CAAP;MAAyB;IAAC,CAA5qB;IAA6qByS,IAAI,EAAC,cAASzS,CAAT,EAAWD,CAAX,EAAaG,CAAb,EAAe;MAAC,IAAG;QAAC,IAAIC,CAAC,GAAC2C,EAAE,CAAC9C,CAAD,CAAF,GAAMA,CAAN,GAAQ,EAAd;QAAA,IAAiB2E,CAAC,GAAC7B,EAAE,CAAC/C,CAAD,CAAF,GAAMA,CAAN,GAAQ,EAA3B;QAA8B,OAAO+K,OAAO,CAACgC,OAAR,CAAgB,IAAIhC,OAAJ,CAAY,UAASpG,CAAT,EAAW;UAAC+L,EAAE,CAACtJ,QAAH,CAAY;YAACD,IAAI,EAACkB,CAAC,CAACmN,SAAR;YAAkBpE,UAAU,EAACM,EAAE,CAACtR,CAAD,CAA/B;YAAmCoK,OAAO,EAAC5F,CAA3C;YAA6CsE,MAAM,EAAC4F,CAAC,CAAC7G,GAAD,EAAKuM,CAAL,EAAOpU,CAAP,CAArD;YAA+D+I,WAAW,EAAC2F,CAAC,CAAC5G,CAAD,EAAGsM,CAAH,EAAKpU,CAAL;UAA5E,CAAZ,EAAiGuE,CAAjG,EAAmG,CAAC1E,CAAD,EAAGD,CAAH,EAAKG,CAAL,CAAnG;QAA6G,CAArI,CAAhB,CAAP;MAA+J,CAAjM,CAAiM,OAAMF,CAAN,EAAQ;QAAC,OAAO8K,OAAO,CAAC6C,MAAR,CAAe3N,CAAf,CAAP;MAAyB;IAAC,CAAt6B;IAAu6B8I,IAAI,EAAC,cAAS9I,CAAT,EAAW;MAAC,IAAGA,CAAC,KAAGgI,GAAJ,IAAS,SAAOhI,CAAnB,EAAqB,OAAO6O,CAAC,CAAC7G,GAAD,EAAKuM,CAAL,CAAR;MAAgB,IAAGvU,CAAC,KAAGiI,CAAJ,IAAO,aAAWjI,CAArB,EAAuB,OAAO6O,CAAC,CAAC5G,CAAD,EAAGsM,CAAH,CAAR;MAAc,IAAIxU,CAAC,GAACwU,CAAC,CAAClN,QAAF,CAAW,MAAX,CAAN;MAAyB,OAAOrH,CAAC,GAACF,GAAG,CAACC,CAAD,EAAGC,CAAH,CAAJ,GAAUD,CAAlB;IAAoB,CAA/iC;IAAgjCkK,KAAK,EAAC,eAASjK,CAAT,EAAW;MAAC,OAAO,IAAI8K,OAAJ,CAAY,UAAS/K,CAAT,EAAW;QAAC0Q,EAAE,CAACtJ,QAAH,CAAY;UAACD,IAAI,EAACkB,CAAC,CAACoN;QAAR,CAAZ,EAAgCzV,CAAhC,EAAkCC,CAAlC;MAAsC,CAA9D,CAAP;IAAuE,CAAzoC;IAA0oCmP,KAAK,EAAC,eAASnP,CAAT,EAAW;MAAC,OAAOuU,CAAC,CAACzR,EAAF,CAAKsF,CAAC,CAAC+G,KAAP,EAAanP,CAAb,CAAP;IAAuB,CAAnrC;IAAorC8C,EAAE,EAAC,YAAS9C,CAAT,EAAWD,CAAX,EAAa;MAAC,IAAG,CAACC,CAAD,IAAI,CAACuC,GAAG,CAACxC,CAAD,CAAX,EAAe,OAAO,CAAC,CAAR;MAAU,IAAGC,CAAC,KAAGoI,CAAC,CAACQ,SAAT,EAAmB,MAAM,IAAIzF,KAAJ,CAAU,sBAAoBnD,CAA9B,CAAN;MAAuC,IAAIE,CAAC,GAAC,eAAN;;MAAsB,IAAG,QAAMF,CAAT,EAAW;QAAC,IAAIG,CAAC,GAAC,SAAFA,CAAE,CAASH,CAAT,EAAW;UAAC,OAAO,UAASA,CAAT,EAAW;YAAC,OAAO,UAASG,CAAT,EAAW;cAAC,OAAOA,CAAC,CAAC+G,IAAF,CAAOhC,KAAP,CAAahF,CAAb,KAAiBH,CAAC,CAAC;gBAAC0M,OAAO,EAACtM,CAAT;gBAAWiL,QAAQ,EAACmJ,CAApB;gBAAsB7I,OAAO,EAACoD;cAA9B,CAAD,CAAlB,EAAqD9O,CAAC,CAACG,CAAD,CAA7D;YAAiE,CAApF;UAAqF,CAAxG;QAAyG,CAA3H;QAAA,IAA4HwE,CAAC,GAAC,SAAFA,CAAE,CAAS3E,CAAT,EAAW;UAAC,OAAO,UAASA,CAAT,EAAW;YAAC,OAAO,UAASG,CAAT,EAAW;cAAC,OAAOA,CAAC,CAAC+G,IAAF,CAAOhC,KAAP,CAAahF,CAAb,KAAiBH,CAAC,CAAC;gBAAC0M,OAAO,EAACtM,CAAT;gBAAWiL,QAAQ,EAACmJ,CAApB;gBAAsB7I,OAAO,EAACoD;cAA9B,CAAD,CAAlB,EAAqD9O,CAAC,CAACG,CAAD,CAA7D;YAAiE,CAApF;UAAqF,CAAxG;QAAyG,CAAnP;;QAAoP,OAAOsI,CAAC,CAACtI,CAAD,EAAGsV,EAAH,CAAD,EAAQhN,CAAC,CAAC9D,CAAD,EAAG+Q,EAAH,CAAT,EAAgB,YAAU;UAAC/K,CAAC,CAACxK,CAAD,EAAGsV,EAAH,CAAD,EAAQ9K,CAAC,CAAChG,CAAD,EAAG+Q,EAAH,CAAT;QAAiB,CAAnD;MAAoD;;MAAA,IAAIhR,CAAC,GAAC1E,CAAC,CAACkF,KAAF,CAAQhF,CAAR,IAAWuV,EAAX,GAAcC,EAApB;MAAA,IAAuBlR,CAAC,GAAC,SAAFA,CAAE,CAAStE,CAAT,EAAW;QAAC,OAAO,UAASA,CAAT,EAAW;UAAC,OAAO,UAASC,CAAT,EAAW;YAAC,OAAOA,CAAC,CAAC+G,IAAF,KAASlH,CAAT,IAAYD,CAAC,CAAC;cAAC0M,OAAO,EAACtM,CAAT;cAAWiL,QAAQ,EAACmJ,CAApB;cAAsB7I,OAAO,EAACoD,CAA9B;cAAgCxC,KAAK,EAACwI;YAAtC,CAAD,CAAb,EAAwD5U,CAAC,CAACC,CAAD,CAAhE;UAAoE,CAAvF;QAAwF,CAA3G;MAA4G,CAAjJ;;MAAkJ,OAAOsI,CAAC,CAACjE,CAAD,EAAGE,CAAH,CAAD,EAAO,YAAU;QAAC,OAAOiG,CAAC,CAACnG,CAAD,EAAGE,CAAH,CAAR;MAAc,CAAvC;IAAwC,CAA5xD;IAA6xDiR,IAAI,EAAC,cAAS3V,CAAT,EAAWD,CAAX,EAAa;MAAC,IAAG,CAACC,CAAD,IAAI,CAACuC,GAAG,CAACxC,CAAD,CAAX,EAAe,OAAO,CAAC,CAAR;MAAU,IAAGC,CAAC,KAAGoI,CAAC,CAACQ,SAAT,EAAmB,MAAM,IAAIzF,KAAJ,CAAU,wBAAsBnD,CAAhC,CAAN;MAAyC,IAAIE,CAAC,GAACqU,CAAC,CAACzR,EAAF,CAAK9C,CAAL,EAAO,UAASA,CAAT,EAAW;QAACD,CAAC,CAAC;UAAC0M,OAAO,EAACzM,CAAC,CAACyM,OAAX;UAAmBrB,QAAQ,EAACmJ,CAA5B;UAA8B7I,OAAO,EAACoD,CAAtC;UAAwCxC,KAAK,EAACwI;QAA9C,CAAD,CAAD,EAAoD5U,CAAC,EAArD;MAAyD,CAA5E,CAAN;MAAoF,OAAOA,CAAP;IAAS,CAAl+D;IAAm+DmH,QAAQ,EAAC,kBAASrH,CAAT,EAAW;MAAC,IAAID,CAAC,GAAC0Q,EAAE,CAACpJ,QAAH,EAAN;MAAoB,OAAOrH,CAAC,GAACF,GAAG,CAACC,CAAD,EAAGC,CAAH,CAAJ,GAAUiC,MAAM,CAACmE,MAAP,CAAc,EAAd,EAAiBrG,CAAjB,CAAlB;IAAsC,CAAljE;IAAmjEoH,QAAQ,EAAC,kBAASnH,CAAT,EAAW;MAAC,IAAID,CAAC,GAACyC,GAAG,CAACxC,CAAD,CAAH,GAAO;QAACkH,IAAI,EAAClH;MAAN,CAAP,GAAgBA,CAAtB;MAAwB,IAAGkI,GAAG,CAAC3G,QAAJ,CAAaxB,CAAC,CAACmH,IAAf,CAAH,EAAwB,MAAM,IAAI/D,KAAJ,CAAU,qBAAmBpD,CAAC,CAACmH,IAA/B,CAAN;MAA2C,IAAIhH,CAAC,GAACiG,GAAG,CAAC,EAAD,EAAIpG,CAAJ,EAAM;QAACgI,CAAC,EAAC5B,GAAG,CAAC;UAACyH,cAAc,EAAC7N,CAAC,CAACmH;QAAlB,CAAD,EAAyBlH,CAAC,CAAC+H,CAAF,IAAK,EAA9B;MAAN,CAAN,CAAT;MAAyD0I,EAAE,CAACtJ,QAAH,CAAYjH,CAAZ;IAAgB,CAA5uE;IAA6uEkO,YAAY,EAAC4G,CAAC,CAACC,MAA5vE;IAAmwExG,aAAa,EAACuG,CAAC,CAACE,OAAnxE;IAA2xExJ,OAAO,EAACsJ,CAAnyE;IAAqyErM,OAAO,EAAC;MAACyB,OAAO,EAACpF,CAAC,CAACoF,OAAX;MAAmBnE,OAAO,EAAC,iBAASjG,CAAT,EAAWD,CAAX,EAAaG,CAAb,EAAe;QAACuQ,EAAE,CAACtJ,QAAH,CAAY;UAACD,IAAI,EAACkB,CAAC,CAACwN,YAAR;UAAqB7L,GAAG,EAAC/J,CAAzB;UAA2BgK,KAAK,EAACjK,CAAjC;UAAmCwK,OAAO,EAACrK;QAA3C,CAAZ;MAA4D,CAAvG;MAAwGgG,UAAU,EAAC,oBAASlG,CAAT,EAAWD,CAAX,EAAa;QAAC0Q,EAAE,CAACtJ,QAAH,CAAY;UAACD,IAAI,EAACkB,CAAC,CAACyN,eAAR;UAAwB9L,GAAG,EAAC/J,CAA5B;UAA8BuK,OAAO,EAACxK;QAAtC,CAAZ;MAAuD;IAAxL,CAA7yE;IAAu+E+V,cAAc,EAAC,wBAAS9V,CAAT,EAAWD,CAAX,EAAa;MAACwU,CAAC,CAAC5L,OAAF,CAAU1C,OAAV,CAAkB4B,GAAlB,EAAsB7H,CAAtB,EAAwBD,CAAxB;IAA4B,CAAhiF;IAAiiFgP,MAAM,EAAC;MAAC5N,IAAI,EAAC+G,GAAN;MAAUwD,OAAO,EAACgJ;IAAlB;EAAxiF,CAAhU;EAAA,IAA83FtH,CAAC,GAAC8G,GAAG,CAACC,WAAJ,CAAgBjQ,MAAhB,CAAuB,CAAC,UAASlE,CAAT,EAAW;IAAC,OAAO,UAASA,CAAT,EAAW;MAAC,OAAO,UAASD,CAAT,EAAW;QAAC,OAAOA,CAAC,CAACyO,IAAF,KAASzO,CAAC,CAACyO,IAAF,GAAOmF,EAAE,EAAlB,GAAsB3T,CAAC,CAACD,CAAD,CAA9B;MAAkC,CAArD;IAAsD,CAAzE;EAA0E,CAAvF,EAAwF8U,CAAC,CAACY,EAAD,CAAzF,EAA8FtH,EAAE,CAACoG,CAAD,EAAGhM,CAAH,EAAK;IAAC0G,GAAG,EAAC2F,CAAL;IAAOlJ,OAAO,EAACgJ;EAAf,CAAL,CAAhG,EAAwHxE,EAAE,CAAClL,CAAD,CAA1H,EAA8H0D,GAAG,CAAC6L,CAAD,CAAjI,EAAqIjK,CAAC,CAACiK,CAAD,CAAtI,EAA0IM,CAAC,CAACa,EAAD,CAA3I,CAAvB,CAAh4F;EAAA,IAAyiG5H,CAAC,GAAC;IAACnC,OAAO,EAACyH,EAAT;IAAYtK,IAAI,EAACe,CAAC,CAAC7E,CAAD,CAAlB;IAAsByN,IAAI,EAACD,EAA3B;IAA8B5I,KAAK,EAACsH,EAApC;IAAuCxF,OAAO,EAAC8E,EAAE,CAACjI,CAAD,CAAjD;IAAqDwC,KAAK,EAACsG;EAA3D,CAA3iG;EAAA,IAA0mGtD,CAAC,GAACrG,CAA5mG;EAAA,IAA8mG2F,CAAC,GAAC3F,CAAhnG;;EAAknG,IAAG5G,GAAG,IAAE0D,CAAC,CAACsO,KAAV,EAAgB;IAAC,IAAIjF,EAAE,GAAC9M,MAAM,CAACgV,oCAAd;IAAmDlI,EAAE,KAAGE,CAAC,GAACF,EAAE,CAAC;MAACmI,KAAK,EAAC,CAAC,CAAR;MAAUC,UAAU,EAAC;IAArB,CAAD,CAAP,CAAF,EAAqC5I,CAAC,GAAC,aAAU;MAAC,OAAO,MAAIrJ,SAAS,CAAC3D,MAAd,GAAqBkT,EAAE,EAAvB,GAA0BzQ,EAAE,CAAC,OAAOkB,SAAS,CAAC,CAAD,CAAjB,CAAF,GAAwByP,EAAE,EAA1B,GAA6BA,EAAE,GAAGxP,KAAL,CAAW,IAAX,EAAgBD,SAAhB,CAA9D;IAAyF,CAA3I;EAA6I;;EAAA,IAAImI,EAAJ;EAAA,IAAO6B,EAAE,GAAC,UAAShO,CAAT,EAAW;IAAC,OAAOiC,MAAM,CAACmH,IAAP,CAAYpJ,CAAZ,EAAe2H,MAAf,CAAsB,UAAS5H,CAAT,EAAWG,CAAX,EAAa;MAAC,OAAOoT,EAAE,CAAC/R,QAAH,CAAYrB,CAAZ,MAAiBH,CAAC,CAACG,CAAD,CAAD,GAAKF,CAAC,CAACE,CAAD,CAAvB,GAA4BH,CAAnC;IAAqC,CAAzE,EAA0E,EAA1E,CAAP;EAAqF,CAAjG,CAAkGyE,CAAlG,CAAV;EAAA,IAA+GyI,EAAE,GAACiH,GAAG,CAACO,YAAJ,CAAiB9M,MAAjB,CAAwB,UAAS3H,CAAT,EAAWD,CAAX,EAAa;IAAC,IAAIG,CAAC,GAACH,CAAC,CAACqB,IAAR;IAAA,IAAajB,CAAC,GAACJ,CAAC,CAACkM,MAAjB;IAAA,IAAwBtH,CAAC,GAAC5E,CAAC,CAAC6M,MAA5B;IAAA,IAAmClI,CAAC,GAACwP,GAAG,CAACG,aAAJ,CAAkBnU,CAAlB,CAArC;IAA0D,OAAOF,CAAC,CAACE,CAAD,CAAD,GAAK;MAACwP,OAAO,EAAChL,CAAT;MAAWiL,WAAW,EAAC,CAAC,CAACjL,CAAF,IAAKgM,OAAO,CAAC,CAAC3Q,CAAC,CAAC4Q,UAAJ,CAAnC;MAAmD/D,MAAM,EAAC8D,OAAO,CAAC/L,CAAC,EAAF,CAAjE;MAAuEsH,MAAM,EAAC9L,CAAC,IAAE;IAAjF,CAAL,EAA0FH,CAAjG;EAAmG,CAAnM,EAAoM,EAApM,CAAlH;EAAA,IAA0T0M,EAAE,GAAC;IAACf,OAAO,EAACqC,EAAT;IAAYlF,IAAI,EAAC2E,CAAjB;IAAmB/B,OAAO,EAACuB;EAA3B,CAA7T;EAAA,IAA4VwD,EAAE,GAAC5J,CAAC,CAAC,UAAS7G,CAAT,EAAW;IAAC,KAAI,IAAID,CAAC,GAACkC,MAAM,CAACmH,IAAP,CAAYpJ,CAAZ,CAAN,EAAqBE,CAAC,GAAC,EAAvB,EAA0BC,CAAC,GAAC,CAAhC,EAAkCA,CAAC,GAACJ,CAAC,CAACM,MAAtC,EAA6CF,CAAC,EAA9C,EAAiD;MAAC,IAAIwE,CAAC,GAAC5E,CAAC,CAACI,CAAD,CAAP;MAAW,OAAOH,CAAC,CAAC2E,CAAD,CAAR,KAAc2B,GAAd,KAAoBpG,CAAC,CAACyE,CAAD,CAAD,GAAK3E,CAAC,CAAC2E,CAAD,CAA1B;IAAgC;;IAAA,IAAID,CAAJ;IAAA,IAAMF,CAAC,GAACvC,MAAM,CAACmH,IAAP,CAAYlJ,CAAZ,CAAR;;IAAuB,IAAG;MAAC,CAAC,UAASF,CAAT,EAAW;QAACiC,MAAM,CAACmH,IAAP,CAAYpJ,CAAZ,EAAekK,OAAf,CAAuB,UAASnK,CAAT,EAAW;UAAC,IAAIG,CAAC,GAACF,CAAC,CAACD,CAAD,CAAP;UAAW,IAAG,OAAOG,CAAC,CAAC,KAAK,CAAN,EAAQ;YAACgH,IAAI,EAAC;UAAN,CAAR,CAAR,KAAyCX,CAAzC,IAA4C,OAAOrG,CAAC,CAAC,KAAK,CAAN,EAAQ;YAACgH,IAAI,EAACV;UAAN,CAAR,CAAR,KAA4BD,CAA3E,EAA6E,MAAM,IAAIpD,KAAJ,CAAU,aAAWpD,CAAX,GAAa,GAAb,GAAiBwG,CAA3B,CAAN;QAAoC,CAA/J;MAAkK,CAA9K,CAA+KrG,CAA/K,CAAD;IAAoL,CAAxL,CAAwL,OAAMF,CAAN,EAAQ;MAAC0E,CAAC,GAAC1E,CAAF;IAAK;;IAAA,OAAO,UAASA,CAAT,EAAWD,CAAX,EAAa;MAAC,IAAG,KAAK,CAAL,KAASC,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmB0E,CAAtB,EAAwB,MAAMA,CAAN;;MAAQ,KAAI,IAAIvE,CAAC,GAAC,CAAC,CAAP,EAASwE,CAAC,GAAC,EAAX,EAAcG,CAAC,GAAC,CAApB,EAAsBA,CAAC,GAACN,CAAC,CAACnE,MAA1B,EAAiCyE,CAAC,EAAlC,EAAqC;QAAC,IAAIC,CAAC,GAACP,CAAC,CAACM,CAAD,CAAP;QAAA,IAAWR,CAAC,GAACtE,CAAC,CAAC+E,CAAD,CAAd;QAAA,IAAkB9E,CAAC,GAAC,CAAC,GAAGC,CAAC,CAAC6E,CAAD,CAAL,EAAUT,CAAV,EAAYvE,CAAZ,CAApB;;QAAmC,IAAG,OAAOE,CAAP,KAAWsG,CAAd,EAAgB;UAAC,IAAIZ,CAAC,GAAC8B,GAAG,CAAC1C,CAAD,EAAGhF,CAAH,CAAT;UAAe,MAAM,IAAIoD,KAAJ,CAAUwC,CAAV,CAAN;QAAmB;;QAAAhB,CAAC,CAACI,CAAD,CAAD,GAAK9E,CAAL,EAAOE,CAAC,GAACA,CAAC,IAAEF,CAAC,KAAGqE,CAAhB;MAAmB;;MAAA,OAAOnE,CAAC,GAACwE,CAAD,GAAG3E,CAAX;IAAa,CAAjN;EAAkN,CAAxhB,CAAyhBmG,GAAG,CAAC,EAAD,EAAI2H,CAAJ,EAAMhJ,CAAN,CAA5hB,CAAD,EAAuiB4H,EAAviB,EAA0iBW,CAAC,CAACU,CAAC,CAACnG,CAAC,CAAC3D,KAAF,CAAQ,KAAK,CAAb,EAAemJ,CAAf,CAAD,CAAF,CAA3iB,CAAhW;;EAAm6BqD,EAAE,CAACtJ,QAAH,IAAagF,EAAE,GAACsE,EAAE,CAACtJ,QAAN,EAAe,UAASnH,CAAT,EAAWD,CAAX,EAAaG,CAAb,EAAe;IAAC,IAAIC,CAAC,GAACgG,GAAG,CAAC,EAAD,EAAInG,CAAJ,EAAM;MAACwO,IAAI,EAACmF,EAAE,CAAC3T,CAAC,CAACwO,IAAH,EAAQzO,CAAR,EAAU2T,EAAE,CAACxT,CAAD,CAAZ;IAAR,CAAN,CAAT;IAA0C,OAAOiM,EAAE,CAAClI,KAAH,CAAS,IAAT,EAAc,CAAC9D,CAAD,CAAd,CAAP;EAA0B,CAAhH;EAAkH,IAAIyQ,EAAE,GAAC3O,MAAM,CAACmH,IAAP,CAAY0F,CAAZ,CAAP;EAAsB2B,EAAE,CAACtJ,QAAH,CAAY;IAACD,IAAI,EAACkB,CAAC,CAACQ,SAAR;IAAkB8C,OAAO,EAACkF,EAA1B;IAA6B3E,MAAM,EAAC+B,EAApC;IAAuCnF,MAAM,EAACoC,CAA9C;IAAgDnC,IAAI,EAAC2E,CAArD;IAAuDzE,WAAW,EAACiL,GAAnE;IAAuElL,aAAa,EAAC6C;EAArF,CAAZ;EAAqG,IAAIiF,EAAE,GAACD,EAAE,CAAChC,MAAH,CAAU,UAAS5O,CAAT,EAAW;IAAC,OAAOkU,GAAG,CAACG,aAAJ,CAAkBrU,CAAlB,CAAP;EAA4B,CAAlD,CAAP;EAAA,IAA2D+Q,EAAE,GAACH,EAAE,CAAChC,MAAH,CAAU,UAAS5O,CAAT,EAAW;IAAC,OAAO,CAACkU,GAAG,CAACG,aAAJ,CAAkBrU,CAAlB,CAAR;EAA6B,CAAnD,CAA9D;EAAmH,OAAOyQ,EAAE,CAACtJ,QAAH,CAAY;IAACD,IAAI,EAACkB,CAAC,CAAC8N,eAAR;IAAwBxK,OAAO,EAACkF,EAAhC;IAAmClB,OAAO,EAACwE,GAAG,CAACG;EAA/C,CAAZ,GAA2EH,GAAG,CAACO,YAAJ,CAAiBxP,GAAjB,CAAqB,UAASjF,CAAT,EAAWD,CAAX,EAAa;IAAC,IAAIG,CAAC,GAACF,CAAC,CAAC4I,SAAR;IAAA,IAAkBzI,CAAC,GAACH,CAAC,CAACiM,MAAtB;IAAA,IAA6BtH,CAAC,GAAC3E,CAAC,CAACoB,IAAjC;IAAsClB,CAAC,IAAEqC,GAAG,CAACrC,CAAD,CAAN,IAAWA,CAAC,CAAC;MAACkL,QAAQ,EAACmJ,CAAV;MAAYtI,MAAM,EAAC9L,CAAnB;MAAqBsM,OAAO,EAACzM;IAA7B,CAAD,CAAZ,EAA8CyQ,EAAE,CAACtJ,QAAH,CAAY;MAACD,IAAI,EAACkB,CAAC,CAACC,kBAAF,CAAqB1D,CAArB,CAAN;MAA8BvD,IAAI,EAACuD,CAAnC;MAAqC+K,OAAO,EAACwE,GAAG,CAACG,aAAJ,CAAkB1P,CAAlB,CAA7C;MAAkE4I,MAAM,EAACvN;IAAzE,CAAZ,CAA9C,EAAuIkU,GAAG,CAACO,YAAJ,CAAiBpU,MAAjB,KAA0BN,CAAC,GAAC,CAA5B,IAA+B0Q,EAAE,CAACtJ,QAAH,CAAY;MAACD,IAAI,EAACkB,CAAC,CAACiG,eAAR;MAAwB3C,OAAO,EAACmF,EAAhC;MAAmCvC,QAAQ,EAACyC;IAA5C,CAAZ,CAAtK;EAAoO,CAA7S,CAA3E,EAA0XwD,CAAjY;AAAmY;;AAAA,IAAIkB,EAAE,GAAC,QAAP;AAAA,IAAgBC,EAAE,GAAC,OAAnB;AAEjgwB,IAAI3V,CAAC,GAAC,QAAN;AAAA,IAAeoW,GAAG,GAACC,GAAG,EAAtB;AAAA,IAAyBC,GAAG,GAACC,GAA7B;AAAA,IAAiCvR,CAAC,GAACuR,GAAnC;;AAAuC,SAASxR,CAAT,CAAWN,CAAX,EAAa;EAAC,OAAO2R,GAAG,GAACG,GAAG,CAAC9R,CAAD,EAAG,EAAH,EAAM,CAAC,CAAP,CAAJ,GAAcoB,GAAG,CAACpB,CAAD,CAA3B;AAA+B;;AAAA,SAAS4R,GAAT,GAAc;EAAC,IAAG,KAAK,CAAL,KAASD,GAAZ,EAAgB,OAAOA,GAAP;EAAW,IAAInW,CAAC,GAAC,cAAN;;EAAqB,IAAG;IAACsW,GAAG,CAACtW,CAAD,EAAGA,CAAH,CAAH,EAASmW,GAAG,GAAC,CAAC,CAAD,KAAKzE,QAAQ,CAAC6E,MAAT,CAAgBxP,OAAhB,CAAwB/G,CAAxB,CAAlB,EAA6C8E,CAAC,CAAC9E,CAAD,CAA9C;EAAmD,CAAvD,CAAuD,OAAMA,CAAN,EAAQ;IAACmW,GAAG,GAAC,CAAC,CAAL;EAAQ;;EAAA,OAAOA,GAAP;AAAW;;AAAA,SAASG,GAAT,CAAatW,CAAb,EAAeD,CAAf,EAAiBI,CAAjB,EAAmB4E,CAAnB,EAAqBD,CAArB,EAAuBJ,CAAvB,EAAyB;EAAC,IAAG,eAAa,OAAO3D,MAAvB,EAA8B;IAAC,IAAI+F,CAAC,GAAC9C,SAAS,CAAC3D,MAAV,GAAiB,CAAvB;IAAyB,OAAO,CAAC,CAAD,KAAK8V,GAAL,KAAWrP,CAAC,GAACnB,CAAC,CAAC3F,CAAD,EAAGD,CAAH,CAAF,GAAQ2F,GAAG,CAAC1F,CAAD,CAAvB,GAA4B8G,CAAC,GAAC4K,QAAQ,CAAC6E,MAAT,GAAgBvW,CAAC,GAAC,GAAF,GAAMwW,kBAAkB,CAACzW,CAAD,CAAxB,IAA6BI,CAAC,GAAC,eAAa,IAAI0T,IAAJ,CAAS,CAAC,IAAIA,IAAJ,EAAD,GAAU,MAAI1T,CAAvB,EAA0BsW,WAA1B,EAAb,IAAsD1R,CAAC,GAAC,YAAUA,CAAX,GAAa,EAApE,KAAyED,CAAC,GAAC,cAAYA,CAAb,GAAe,EAAzF,KAA8FJ,CAAC,GAAC,UAAD,GAAY,EAA3G,CAAD,GAAgH,EAA9I,CAAjB,GAAmKN,kBAAkB,CAAC,CAAC,CAAC,OAAKsN,QAAQ,CAAC6E,MAAf,EAAuBnW,KAAvB,CAA6B,OAAKJ,CAAL,GAAO,GAApC,EAAyC,CAAzC,KAA6C,EAA9C,EAAkDI,KAAlD,CAAwD,GAAxD,EAA6D,CAA7D,CAAD,CAAzN;EAA2R;AAAC;;AAEplB,IAAID,CAAC,GAAC,cAAN;AAAA,IAAqBuW,CAAC,GAAC5Q,GAAG,CAAClE,IAAJ,CAAS,IAAT,EAAc,cAAd,CAAvB;AAAqDiE,GAAG,CAAC,cAAD,EAAgB,SAAhB,EAA0BH,GAA1B,CAAH;AAAkCG,GAAG,CAAC,cAAD,EAAgB,SAAhB,EAA0BF,CAA1B,CAAH;AAAgCE,GAAG,CAAC,cAAD,EAAgB,YAAhB,EAA6BD,GAA7B,CAAH;AAEvH,IAAIlB,CAAC,GAAC,gBAAN;AAAA,IAAuBC,CAAC,GAACmB,GAAG,CAAClE,IAAJ,CAAS,IAAT,EAAc,gBAAd,CAAzB;AAAyDiE,GAAG,CAAC,gBAAD,EAAkB,SAAlB,EAA4BH,GAA5B,CAAH;AAAoCG,GAAG,CAAC,gBAAD,EAAkB,SAAlB,EAA4BF,CAA5B,CAAH;AAAkCE,GAAG,CAAC,gBAAD,EAAkB,YAAlB,EAA+BD,GAA/B,CAAH;;AAE/H,SAASkJ,CAAT,CAAW/O,CAAX,EAAa;EAAC,IAAIyE,CAAC,GAACzE,CAAN;;EAAQ,IAAG;IAAC,IAAG,YAAUyE,CAAC,GAAC4H,IAAI,CAAC0E,KAAL,CAAW/Q,CAAX,CAAZ,CAAH,EAA8B,OAAO,CAAC,CAAR;IAAU,IAAG,YAAUyE,CAAb,EAAe,OAAO,CAAC,CAAR;IAAU,IAAG1B,EAAE,CAAC0B,CAAD,CAAL,EAAS,OAAOA,CAAP;IAASmS,UAAU,CAACnS,CAAD,CAAV,KAAgBA,CAAhB,KAAoBA,CAAC,GAACmS,UAAU,CAACnS,CAAD,CAAhC;EAAsC,CAA7H,CAA6H,OAAMzE,CAAN,EAAQ,CAAE;;EAAA,IAAG,SAAOyE,CAAP,IAAU,OAAKA,CAAlB,EAAoB,OAAOA,CAAP;AAAS;;AAAA,IAAIoS,CAAC,GAACF,CAAC,EAAP;AAAA,IAAU9B,CAAC,GAACjQ,CAAC,EAAb;AAAA,IAAgBkS,CAAC,GAACT,GAAG,EAArB;;AAAwB,SAASU,CAAT,CAAWtS,CAAX,EAAaxE,CAAb,EAAe;EAAC,IAAGwE,CAAH,EAAK;IAAC,IAAIrE,CAAC,GAACuU,CAAC,CAAC1U,CAAD,CAAP;IAAA,IAAW0E,CAAC,GAAC,CAACqS,CAAC,CAAC5W,CAAD,CAAf;IAAA,IAAmBwE,CAAC,GAACmC,CAAC,CAAC3G,CAAD,CAAD,GAAK2O,CAAC,CAACkI,YAAY,CAAC5M,OAAb,CAAqB5F,CAArB,CAAD,CAAN,GAAgC,KAAK,CAA1D;IAA4D,IAAGE,CAAC,IAAE,CAACjC,GAAG,CAACkC,CAAD,CAAV,EAAc,OAAOA,CAAP;IAAS,IAAIzE,CAAC,GAAC2L,CAAC,CAAC1L,CAAD,CAAD,GAAK2O,CAAC,CAACuH,GAAG,CAAC7R,CAAD,CAAJ,CAAN,GAAe,KAAK,CAA1B;IAA4B,IAAGE,CAAC,IAAExE,CAAN,EAAQ,OAAOA,CAAP;IAAS,IAAID,CAAC,GAACmP,CAAC,CAACjP,CAAD,CAAD,GAAK2O,CAAC,CAACmI,cAAc,CAAC7M,OAAf,CAAuB5F,CAAvB,CAAD,CAAN,GAAkC,KAAK,CAA7C;IAA+C,IAAGE,CAAC,IAAEzE,CAAN,EAAQ,OAAOA,CAAP;IAAS,IAAI6E,CAAC,GAACY,GAAG,CAAClB,CAAD,CAAT;IAAa,OAAOE,CAAC,GAACI,CAAD,GAAG;MAACkS,YAAY,EAACrS,CAAd;MAAgBsS,cAAc,EAAChX,CAA/B;MAAiCsW,MAAM,EAACrW,CAAxC;MAA0CuF,MAAM,EAACX;IAAjD,CAAX;EAA+D;AAAC;;AAAA,SAAS+P,CAAT,CAAWqC,GAAX,EAAed,GAAf,EAAmBe,GAAnB,EAAuB;EAAC,IAAGD,GAAG,IAAE,CAACzU,GAAG,CAAC2T,GAAD,CAAZ,EAAkB;IAAC,IAAItR,CAAC,GAAC,EAAN;IAAA,IAAS4R,CAAC,GAAChC,CAAC,CAACyC,GAAD,CAAZ;IAAA,IAAkBnS,CAAC,GAACoH,IAAI,CAACC,SAAL,CAAe+J,GAAf,CAApB;IAAA,IAAwCxO,CAAC,GAAC,CAACmP,CAAC,CAACL,CAAD,CAA5C;IAAgD,OAAO5P,CAAC,CAAC4P,CAAD,CAAD,KAAO5R,CAAC,CAAC3E,CAAD,CAAD,GAAK6U,CAAC,CAAC7U,CAAD,EAAGiW,GAAH,EAAOtH,CAAC,CAACkI,YAAY,CAAC5M,OAAb,CAAqB8M,GAArB,CAAD,CAAR,CAAN,EAA2CF,YAAY,CAAC/Q,OAAb,CAAqBiR,GAArB,EAAyBlS,CAAzB,CAA3C,EAAuE4C,CAA9E,IAAiF9C,CAAC,CAAC3E,CAAD,CAAlF,GAAsF0L,CAAC,CAAC6K,CAAD,CAAD,KAAO5R,CAAC,CAAC/E,CAAD,CAAD,GAAKiV,CAAC,CAACjV,CAAD,EAAGqW,GAAH,EAAOtH,CAAC,CAACuH,GAAG,CAACa,GAAD,CAAJ,CAAR,CAAN,EAA0BnS,CAAC,CAACmS,GAAD,EAAKlS,CAAL,CAA3B,EAAmC4C,CAA1C,IAA6C9C,CAAC,CAAC/E,CAAD,CAA9C,GAAkDqP,CAAC,CAACsH,CAAD,CAAD,KAAO5R,CAAC,CAACJ,CAAD,CAAD,GAAKsQ,CAAC,CAACtQ,CAAD,EAAG0R,GAAH,EAAOtH,CAAC,CAACmI,cAAc,CAAC7M,OAAf,CAAuB8M,GAAvB,CAAD,CAAR,CAAN,EAA6CD,cAAc,CAAChR,OAAf,CAAuBiR,GAAvB,EAA2BlS,CAA3B,CAA7C,EAA2E4C,CAAlF,IAAqF9C,CAAC,CAACJ,CAAD,CAAtF,IAA2FI,CAAC,CAAC7E,CAAD,CAAD,GAAK+U,CAAC,CAAC/U,CAAD,EAAGmW,GAAH,EAAO1Q,GAAG,CAACwR,GAAD,CAAV,CAAN,EAAuBvR,CAAC,CAACuR,GAAD,EAAKd,GAAL,CAAxB,EAAkCxO,CAAC,GAAC9C,CAAC,CAAC7E,CAAD,CAAF,GAAM6E,CAApI,CAA/I;EAAsR;AAAC;;AAAA,SAAS+J,CAAT,CAAWuI,GAAX,EAAepX,CAAf,EAAiB;EAAC,IAAGoX,GAAH,EAAO;IAAC,IAAIhB,GAAG,GAAC1B,CAAC,CAAC1U,CAAD,CAAT;IAAA,IAAasE,CAAC,GAACwS,CAAC,CAACM,GAAD,EAAK5W,GAAL,CAAhB;IAAA,IAA0BN,CAAC,GAAC,EAA5B;IAA+B,OAAO,CAACuC,GAAG,CAAC6B,CAAC,CAAC0S,YAAH,CAAJ,IAAsBlQ,CAAC,CAACsP,GAAD,CAAvB,KAA+BY,YAAY,CAAC9Q,UAAb,CAAwBkR,GAAxB,GAA6BlX,CAAC,CAACC,CAAD,CAAD,GAAKmE,CAAC,CAAC0S,YAAnE,GAAiF,CAACvU,GAAG,CAAC6B,CAAC,CAACiS,MAAH,CAAJ,IAAgB1K,CAAC,CAACuK,GAAD,CAAjB,KAAyBtR,CAAC,CAACsS,GAAD,CAAD,EAAOlX,CAAC,CAACH,CAAD,CAAD,GAAKuE,CAAC,CAACiS,MAAvC,CAAjF,EAAgI,CAAC9T,GAAG,CAAC6B,CAAC,CAAC2S,cAAH,CAAJ,IAAwB7H,CAAC,CAACgH,GAAD,CAAzB,KAAiCa,cAAc,CAAC/Q,UAAf,CAA0BkR,GAA1B,GAA+BlX,CAAC,CAACwE,CAAD,CAAD,GAAKJ,CAAC,CAAC2S,cAAvE,CAAhI,EAAuN,CAACxU,GAAG,CAAC6B,CAAC,CAACmB,MAAH,CAAJ,IAAgB8O,CAAC,CAAC6B,GAAD,EAAKnW,CAAL,CAAjB,KAA2B2F,GAAG,CAACwR,GAAD,CAAH,EAASlX,CAAC,CAACD,CAAD,CAAD,GAAKqE,CAAC,CAACmB,MAA3C,CAAvN,EAA0QvF,CAAjR;EAAmR;AAAC;;AAAA,SAASwU,CAAT,CAAW3U,CAAX,EAAa;EAAC,OAAOA,CAAC,GAACyC,GAAG,CAACzC,CAAD,CAAH,GAAOA,CAAP,GAASA,CAAC,CAAC4I,OAAZ,GAAoBpI,GAA5B;AAAgC;;AAAA,SAASuG,CAAT,CAAW/G,CAAX,EAAa;EAAC,OAAO6W,CAAC,IAAErC,CAAC,CAACxU,CAAD,EAAGI,CAAH,CAAX;AAAiB;;AAAA,SAAS0L,CAAT,CAAWuL,GAAX,EAAe;EAAC,OAAOP,CAAC,IAAEtC,CAAC,CAAC6C,GAAD,EAAKrX,CAAL,CAAX;AAAmB;;AAAA,SAASqP,CAAT,CAAWrP,CAAX,EAAa;EAAC,OAAO6U,CAAC,IAAEL,CAAC,CAACxU,CAAD,EAAG2E,CAAH,CAAX;AAAiB;;AAAA,SAASqS,CAAT,CAAWhX,CAAX,EAAa;EAAC,OAAOA,CAAC,KAAGS,GAAJ,IAAS,UAAQT,CAAxB;AAA0B;;AAAA,SAASwU,CAAT,CAAWxU,CAAX,EAAayE,CAAb,EAAe;EAAC,OAAOzE,CAAC,KAAGQ,GAAJ,IAASR,CAAC,KAAGyE,CAAb,IAAgBuS,CAAC,CAAChX,CAAD,CAAxB;AAA4B;;AAAA,SAASiV,CAAT,CAAWjV,CAAX,EAAayE,CAAb,EAAexE,CAAf,EAAiB;EAAC,OAAO;IAACmF,QAAQ,EAACpF,CAAV;IAAYsX,OAAO,EAAC7S,CAApB;IAAsB8S,QAAQ,EAACtX;EAA/B,CAAP;AAAyC;;AAAA,IAAI8U,CAAC,GAAC;EAAC7O,OAAO,EAAC4O,CAAT;EAAWzK,OAAO,EAAC0M,CAAnB;EAAqB5Q,UAAU,EAAC2I;AAAhC,CAAN;;AAEl9C,SAAS0I,eAAT,CAAyBC,GAAzB,EAA8BzN,GAA9B,EAAmCC,KAAnC,EAA0C;EACxC,IAAID,GAAG,IAAIyN,GAAX,EAAgB;IACdvV,MAAM,CAACwV,cAAP,CAAsBD,GAAtB,EAA2BzN,GAA3B,EAAgC;MAC9BC,KAAK,EAAEA,KADuB;MAE9B0N,UAAU,EAAE,IAFkB;MAG9BC,YAAY,EAAE,IAHgB;MAI9BC,QAAQ,EAAE;IAJoB,CAAhC;EAMD,CAPD,MAOO;IACLJ,GAAG,CAACzN,GAAD,CAAH,GAAWC,KAAX;EACD;;EAED,OAAOwN,GAAP;AACD;;AAED,SAASK,OAAT,CAAiBC,MAAjB,EAAyBC,cAAzB,EAAyC;EACvC,IAAI3O,IAAI,GAAGnH,MAAM,CAACmH,IAAP,CAAY0O,MAAZ,CAAX;;EAEA,IAAI7V,MAAM,CAAC+V,qBAAX,EAAkC;IAChC,IAAIC,OAAO,GAAGhW,MAAM,CAAC+V,qBAAP,CAA6BF,MAA7B,CAAd;IACAC,cAAc,KAAKE,OAAO,GAAGA,OAAO,CAACrJ,MAAR,CAAe,UAAUsJ,GAAV,EAAe;MACzD,OAAOjW,MAAM,CAACkW,wBAAP,CAAgCL,MAAhC,EAAwCI,GAAxC,EAA6CR,UAApD;IACD,CAF4B,CAAf,CAAd,EAEKtO,IAAI,CAACvE,IAAL,CAAUZ,KAAV,CAAgBmF,IAAhB,EAAsB6O,OAAtB,CAFL;EAGD;;EAED,OAAO7O,IAAP;AACD;;AAED,SAASgP,cAAT,CAAwBC,MAAxB,EAAgC;EAC9B,KAAK,IAAI1T,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGX,SAAS,CAAC3D,MAA9B,EAAsCsE,CAAC,EAAvC,EAA2C;IACzC,IAAI2T,MAAM,GAAG,QAAQtU,SAAS,CAACW,CAAD,CAAjB,GAAuBX,SAAS,CAACW,CAAD,CAAhC,GAAsC,EAAnD;IACAA,CAAC,GAAG,CAAJ,GAAQkT,OAAO,CAAC5V,MAAM,CAACqW,MAAD,CAAP,EAAiB,CAAC,CAAlB,CAAP,CAA4BpO,OAA5B,CAAoC,UAAUH,GAAV,EAAe;MACzDwN,eAAe,CAACc,MAAD,EAAStO,GAAT,EAAcuO,MAAM,CAACvO,GAAD,CAApB,CAAf;IACD,CAFO,CAAR,GAEK9H,MAAM,CAACsW,yBAAP,GAAmCtW,MAAM,CAACuW,gBAAP,CAAwBH,MAAxB,EAAgCpW,MAAM,CAACsW,yBAAP,CAAiCD,MAAjC,CAAhC,CAAnC,GAA+GT,OAAO,CAAC5V,MAAM,CAACqW,MAAD,CAAP,CAAP,CAAwBpO,OAAxB,CAAgC,UAAUH,GAAV,EAAe;MACjK9H,MAAM,CAACwV,cAAP,CAAsBY,MAAtB,EAA8BtO,GAA9B,EAAmC9H,MAAM,CAACkW,wBAAP,CAAgCG,MAAhC,EAAwCvO,GAAxC,CAAnC;IACD,CAFmH,CAFpH;EAKD;;EAED,OAAOsO,MAAP;AACD;;AAED,SAASI,YAAT,GAAwB;EACtB,IAAIC,IAAI,GAAG1U,SAAS,CAAC3D,MAAV,GAAmB,CAAnB,IAAwB2D,SAAS,CAAC,CAAD,CAAT,KAAiB2U,SAAzC,GAAqD3U,SAAS,CAAC,CAAD,CAA9D,GAAoE,EAA/E;EACA,IAAI4U,eAAe,GAAG;IACpBjQ,OAAO,EAAEmM;EADW,CAAtB;EAGA,OAAOf,EAAE,CAACqE,cAAc,CAACA,cAAc,CAAC,EAAD,EAAKQ,eAAL,CAAf,EAAsCF,IAAtC,CAAf,CAAT;AACD;;AAED,SAASG,UAAT,CAAoBC,GAApB,EAAyB;EACrB,IAAMC,OAAO,GAAG9K,KAAK,CAAC/L,SAAN,CAAgBR,KAAhB,CAAsBU,IAAtB,CAA2BrB,MAAM,CAAC2Q,QAAP,CAAgBsH,gBAAhB,CAAiC,QAAjC,CAA3B,CAAhB;EACA,OAAOD,OAAO,CAACE,IAAR,CAAa,UAAA3U,CAAC;IAAA,OAAIA,CAAC,CAACwU,GAAF,KAAUA,GAAd;EAAA,CAAd,CAAP;AACH;;AACD,SAASI,UAAT,CAAoBJ,GAApB,EAAyBK,UAAzB,EAAqC;EACjC,IAAMC,KAAK,GAAGP,UAAU,CAACC,GAAD,CAAxB;;EACA,IAAIM,KAAK,KAAKT,SAAd,EAAyB;IACrB,IAAMU,MAAM,GAAGD,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAK,KAAK,CAAjC,GAAqC,KAAK,CAA1C,GAA8CA,KAAK,CAACnH,YAAN,CAAmB,QAAnB,CAA7D;;IACA,IAAIoH,MAAM,KAAK,QAAf,EAAyB;MACrB,OAAOvO,OAAO,CAACgC,OAAR,CAAgBsM,KAAhB,CAAP;IACH;;IACD,IAAIC,MAAM,KAAK,SAAf,EAA0B;MACtB,OAAO,IAAIvO,OAAJ,CAAY,UAACgC,OAAD,EAAUa,MAAV,EAAqB;QACpCyL,KAAK,CAACE,gBAAN,CAAuB,MAAvB,EAA+B;UAAA,OAAMxM,OAAO,CAACsM,KAAD,CAAb;QAAA,CAA/B;QACAA,KAAK,CAACE,gBAAN,CAAuB,OAAvB,EAAgC,UAAAC,GAAG;UAAA,OAAI5L,MAAM,CAAC4L,GAAD,CAAV;QAAA,CAAnC;MACH,CAHM,CAAP;IAIH;EACJ;;EACD,OAAO,IAAIzO,OAAJ,CAAY,UAACgC,OAAD,EAAUa,MAAV,EAAqB;IACpC,IAAI6L,EAAJ;;IACA,IAAMC,MAAM,GAAG1Y,MAAM,CAAC2Q,QAAP,CAAgBgI,aAAhB,CAA8B,QAA9B,CAAf;IACAD,MAAM,CAACvS,IAAP,GAAc,iBAAd;IACAuS,MAAM,CAACX,GAAP,GAAaA,GAAb;IACAW,MAAM,CAACE,KAAP,GAAe,IAAf;IACAF,MAAM,CAACG,YAAP,CAAoB,QAApB,EAA8B,SAA9B;;IACA,mCAAqB3X,MAAM,CAAC4X,OAAP,CAAeV,UAAU,KAAK,IAAf,IAAuBA,UAAU,KAAK,KAAK,CAA3C,GAA+CA,UAA/C,GAA4D,EAA3E,CAArB,qCAAqG;MAAhG;MAAA,IAAOvC,EAAP;MAAA,IAAUrQ,EAAV;;MACDkT,MAAM,CAACG,YAAP,CAAoBhD,EAApB,EAAuBrQ,EAAvB;IACH;;IACDkT,MAAM,CAACK,MAAP,GAAgB,YAAM;MAClBL,MAAM,CAACM,OAAP,GAAiBN,MAAM,CAACK,MAAP,GAAgB,IAAjC;MACAL,MAAM,CAACG,YAAP,CAAoB,QAApB,EAA8B,QAA9B;MACA9M,OAAO,CAAC2M,MAAD,CAAP;IACH,CAJD;;IAKAA,MAAM,CAACM,OAAP,GAAiB,YAAM;MACnBN,MAAM,CAACM,OAAP,GAAiBN,MAAM,CAACK,MAAP,GAAgB,IAAjC;MACAL,MAAM,CAACG,YAAP,CAAoB,QAApB,EAA8B,OAA9B;MACAjM,MAAM,CAAC,IAAIxK,KAAJ,0BAA4B2V,GAA5B,EAAD,CAAN;IACH,CAJD;;IAKA,IAAMkB,GAAG,GAAGjZ,MAAM,CAAC2Q,QAAP,CAAgBM,oBAAhB,CAAqC,QAArC,EAA+C,CAA/C,CAAZ;IACA,CAACwH,EAAE,GAAGQ,GAAG,CAACC,aAAV,MAA6B,IAA7B,IAAqCT,EAAE,KAAK,KAAK,CAAjD,GAAqD,KAAK,CAA1D,GAA8DA,EAAE,CAACU,YAAH,CAAgBT,MAAhB,EAAwBO,GAAxB,CAA9D;EACH,CAtBM,CAAP;AAuBH;;AAED,IAAIG,WAAW,GAAIxB,SAAS,IAAIA,SAAS,CAACyB,SAAxB,IAAsC,UAAUC,OAAV,EAAmBC,UAAnB,EAA+B5S,CAA/B,EAAkC6S,SAAlC,EAA6C;EACjG,SAASC,KAAT,CAAexQ,KAAf,EAAsB;IAAE,OAAOA,KAAK,YAAYtC,CAAjB,GAAqBsC,KAArB,GAA6B,IAAItC,CAAJ,CAAM,UAAUoF,OAAV,EAAmB;MAAEA,OAAO,CAAC9C,KAAD,CAAP;IAAiB,CAA5C,CAApC;EAAoF;;EAC5G,OAAO,KAAKtC,CAAC,KAAKA,CAAC,GAAGoD,OAAT,CAAN,EAAyB,UAAUgC,OAAV,EAAmBa,MAAnB,EAA2B;IACvD,SAAS8M,SAAT,CAAmBzQ,KAAnB,EAA0B;MAAE,IAAI;QAAE0Q,IAAI,CAACH,SAAS,CAAChT,IAAV,CAAeyC,KAAf,CAAD,CAAJ;MAA8B,CAApC,CAAqC,OAAOhK,CAAP,EAAU;QAAE2N,MAAM,CAAC3N,CAAD,CAAN;MAAY;IAAE;;IAC3F,SAAS2a,QAAT,CAAkB3Q,KAAlB,EAAyB;MAAE,IAAI;QAAE0Q,IAAI,CAACH,SAAS,CAAC,OAAD,CAAT,CAAmBvQ,KAAnB,CAAD,CAAJ;MAAkC,CAAxC,CAAyC,OAAOhK,CAAP,EAAU;QAAE2N,MAAM,CAAC3N,CAAD,CAAN;MAAY;IAAE;;IAC9F,SAAS0a,IAAT,CAAcE,MAAd,EAAsB;MAAEA,MAAM,CAACC,IAAP,GAAc/N,OAAO,CAAC8N,MAAM,CAAC5Q,KAAR,CAArB,GAAsCwQ,KAAK,CAACI,MAAM,CAAC5Q,KAAR,CAAL,CAAoBgB,IAApB,CAAyByP,SAAzB,EAAoCE,QAApC,CAAtC;IAAsF;;IAC9GD,IAAI,CAAC,CAACH,SAAS,GAAGA,SAAS,CAACtW,KAAV,CAAgBoW,OAAhB,EAAyBC,UAAU,IAAI,EAAvC,CAAb,EAAyD/S,IAAzD,EAAD,CAAJ;EACH,CALM,CAAP;AAMH,CARD;;AASA,IAAMuT,SAAS,GAAG;EACd1F,EAAE,EAAE,KADU;EAEd2F,MAFc,kBAEP9O,MAFO,EAECQ,OAFD,EAEU;IACpB,OAAO0N,WAAW,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,oOAAuB;MAAA;QAAA;UAAA;YAAA;cAAA,IAChCa,YAAY,CAACvO,OAAD,EAAUR,MAAV,CADoB;gBAAA;gBAAA;cAAA;;cAAA;;YAAA;cAIrCgP,UAAU,CAAChP,MAAM,CAACiP,IAAR,EAAczO,OAAd,CAAV;;YAJqC;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA,CAAvB,EAAlB;EAMH;AATa,CAAlB;;AAWA,SAASwO,UAAT,CAAoBC,IAApB,EAA0BhP,KAA1B,EAA4C;EAAA,IAAXwM,IAAW,uEAAJ,EAAI;EACxC,IAAIsB,GAAJ;;EACA,IAAI;IACAA,GAAG,GAAG5N,IAAI,CAAC0E,KAAL,CAAWoK,IAAX,CAAN;EACH,CAFD,CAGA,OAAOlb,CAAP,EAAU;IACNga,GAAG,GAAG;MAAEkB,IAAI,EAAJA,IAAF;MAAQC,IAAI,EAAE;IAAd,CAAN;EACH;;EACD,IAAMrI,KAAK,GAAG4F,IAAI,CAAC5F,KAAL,IAAc,KAA5B;;EACA,IAAIsI,WAAW,EAAf,EAAmB;IACf,IAAIpB,GAAG,CAACmB,IAAJ,KAAa,YAAjB,EAA+B;MAC3BE,MAAM,CAACrB,GAAG,CAACkB,IAAL,EAAWhP,KAAX,CAAN;IACH,CAFD,MAGK;MACD,IAAMoP,UAAU,GAAG5J,QAAQ,CAACgI,aAAT,CAAuB,MAAvB,CAAnB;MACA4B,UAAU,CAACC,SAAX,GAAuBC,YAAY,CAACxB,GAAG,CAACkB,IAAL,EAAWhP,KAAX,CAAnC;MACAwF,QAAQ,CAAC+J,IAAT,CAAcC,qBAAd,CAAoC,WAApC,EAAiDJ,UAAjD;MACA,IAAMvC,OAAO,GAAGuC,UAAU,CAACtC,gBAAX,CAA4B,QAA5B,CAAhB;MACAD,OAAO,CAAC7O,OAAR,CAAgB,UAAAuP,MAAM,EAAI;QACtB,IAAMkC,WAAW,GAAGjK,QAAQ,CAACgI,aAAT,CAAuB,QAAvB,CAApB;QACAiC,WAAW,CAACzU,IAAZ,GAAmByU,WAAW,CAACzU,IAAZ,IAAoB,iBAAvC;;QACA,IAAIuS,MAAM,CAACmC,YAAP,CAAoB,KAApB,CAAJ,EAAgC;UAC5BD,WAAW,CAAC7C,GAAZ,GAAkBW,MAAM,CAACX,GAAzB;QACH;;QACD6C,WAAW,CAACE,IAAZ,GAAmBpC,MAAM,CAACoC,IAA1B;;QACA,IAAI/I,KAAJ,EAAW;UACPgJ,OAAO,CAACC,GAAR,mCAAuCtC,MAAM,CAACmC,YAAP,CAAoB,KAApB,eAAiCnC,MAAM,CAACX,GAAxC,IAAgD,EAAvF,GAA6F6C,WAAW,CAACE,IAAzG;QACH;;QACDnK,QAAQ,CAACsK,IAAT,CAAcC,WAAd,CAA0BN,WAA1B;QACAjK,QAAQ,CAACsK,IAAT,CAAcE,WAAd,CAA0BP,WAA1B;MACH,CAZD;IAaH;EACJ,CAvBD,MAwBK;IACD,IAAI7I,KAAJ,EAAW;MACPgJ,OAAO,CAACC,GAAR;IACH;EACJ;AACJ;;AACD,SAASV,MAAT,CAAgBH,IAAhB,EAAsBhP,KAAtB,EAA6B;EACzB,IAAMiQ,OAAO,yBAAkBC,QAAQ,EAA1B,CAAb;EACArb,MAAM,CAACob,OAAD,CAAN,GAAkBjQ,KAAlB;EACA,IAAMmQ,GAAG,+CACSF,OADT,sBAELjB,IAFK,aAAT;;EAIA,IAAI;IACAoB,IAAI,CAACD,GAAD,CAAJ;EACH,CAFD,CAGA,OAAOrc,CAAP,EAAU;IACN8b,OAAO,CAACS,KAAR,4CAAkDvc,CAAC,CAACoD,OAApD,eAAuEiZ,GAAvE;EACH,CALD,SAMQ;IACJ,OAAOtb,MAAM,CAACob,OAAD,CAAb;EACH;;EACD,OAAOE,GAAP;AACH;;AACD,SAASb,YAAT,CAAsBN,IAAtB,EAA4BhP,KAA5B,EAAmC;EAC/B,OAAOgP,IAAI,CAAC7W,OAAL,CAAa,kBAAb,EAAiC+H,IAAI,CAACC,SAAL,CAAeH,KAAf,CAAjC,CAAP;AACH;;AAED,IAAIsQ,WAAW,GAAI7D,SAAS,IAAIA,SAAS,CAACyB,SAAxB,IAAsC,UAAUC,OAAV,EAAmBC,UAAnB,EAA+B5S,CAA/B,EAAkC6S,SAAlC,EAA6C;EACjG,SAASC,KAAT,CAAexQ,KAAf,EAAsB;IAAE,OAAOA,KAAK,YAAYtC,CAAjB,GAAqBsC,KAArB,GAA6B,IAAItC,CAAJ,CAAM,UAAUoF,OAAV,EAAmB;MAAEA,OAAO,CAAC9C,KAAD,CAAP;IAAiB,CAA5C,CAApC;EAAoF;;EAC5G,OAAO,KAAKtC,CAAC,KAAKA,CAAC,GAAGoD,OAAT,CAAN,EAAyB,UAAUgC,OAAV,EAAmBa,MAAnB,EAA2B;IACvD,SAAS8M,SAAT,CAAmBzQ,KAAnB,EAA0B;MAAE,IAAI;QAAE0Q,IAAI,CAACH,SAAS,CAAChT,IAAV,CAAeyC,KAAf,CAAD,CAAJ;MAA8B,CAApC,CAAqC,OAAOhK,CAAP,EAAU;QAAE2N,MAAM,CAAC3N,CAAD,CAAN;MAAY;IAAE;;IAC3F,SAAS2a,QAAT,CAAkB3Q,KAAlB,EAAyB;MAAE,IAAI;QAAE0Q,IAAI,CAACH,SAAS,CAAC,OAAD,CAAT,CAAmBvQ,KAAnB,CAAD,CAAJ;MAAkC,CAAxC,CAAyC,OAAOhK,CAAP,EAAU;QAAE2N,MAAM,CAAC3N,CAAD,CAAN;MAAY;IAAE;;IAC9F,SAAS0a,IAAT,CAAcE,MAAd,EAAsB;MAAEA,MAAM,CAACC,IAAP,GAAc/N,OAAO,CAAC8N,MAAM,CAAC5Q,KAAR,CAArB,GAAsCwQ,KAAK,CAACI,MAAM,CAAC5Q,KAAR,CAAL,CAAoBgB,IAApB,CAAyByP,SAAzB,EAAoCE,QAApC,CAAtC;IAAsF;;IAC9GD,IAAI,CAAC,CAACH,SAAS,GAAGA,SAAS,CAACtW,KAAV,CAAgBoW,OAAhB,EAAyBC,UAAU,IAAI,EAAvC,CAAb,EAAyD/S,IAAzD,EAAD,CAAJ;EACH,CALM,CAAP;AAMH,CARD;;AASA,IAAMkV,eAAe,GAAG;EACpBrH,EAAE,EAAE,WADgB;EAEpB2F,MAFoB,kBAEb9O,MAFa,EAELQ,OAFK,EAEI;IACpB,OAAO+P,WAAW,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,oOAAuB;MAAA;MAAA;QAAA;UAAA;YAAA;cAAA,IAChCxB,YAAY,CAACvO,OAAD,EAAUR,MAAV,CADoB;gBAAA;gBAAA;cAAA;;cAAA;;YAAA;cAIrCyQ,qBAAqB,CAACzQ,MAAM,CAAC0Q,KAAR,CAArB;;cACMxR,MAL+B,GAKtB,SAATA,MAAS,CAAAyR,SAAS,EAAI;gBACxB,IAAInQ,OAAO,CAACvF,IAAR,KAAiB,UAAjB,IAA+BuF,OAAO,CAACxD,MAA3C,EAAmD;kBAC/C2T,SAAS,CAACjT,QAAV,CAAmB8C,OAAO,CAACxD,MAA3B,EAAmCwD,OAAO,CAACtD,MAAR,IAAkB,EAArD;gBACH;cACJ,CAToC;;cAUrC0T,iBAAiB,GAAGhY,IAApB,CAAyBsG,MAAzB;;cACA,IAAI2R,iBAAiB,OAAO,QAA5B,EAAsC;gBAClCC,mBAAmB,CAAChc,MAAM,CAAC,WAAD,CAAP,CAAnB;cACH;;YAboC;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA,CAAvB,EAAlB;EAeH;AAlBmB,CAAxB;;AAoBA,SAAS+b,iBAAT,GAA6B;EACzB,OAAO/b,MAAM,CAAC,gBAAD,CAAN,IAA4B,OAAnC;AACH;;AACD,SAASic,iBAAT,CAA2B1Y,CAA3B,EAA8B;EAC1BvD,MAAM,CAAC,gBAAD,CAAN,GAA2BuD,CAA3B;AACH;;AACD,SAASuY,iBAAT,GAA6B;EACzB,OAAO9b,MAAM,CAAC,gBAAD,CAAN,KAA6BA,MAAM,CAAC,gBAAD,CAAN,GAA2B,EAAxD,CAAP;AACH;;AACD,SAASgc,mBAAT,CAA6BE,EAA7B,EAAiC;EAC7B,IAAMlS,KAAK,GAAG8R,iBAAiB,EAA/B;;EACA,OAAO9R,KAAK,CAAC1K,MAAN,GAAe,CAAtB,EAAyB;IACrB,IAAM2M,MAAM,GAAGjC,KAAK,CAACmS,KAAN,EAAf;;IACA,IAAI;MACA,IAAMC,GAAG,GAAGnQ,MAAM,CAACiQ,EAAD,CAAlB;;MACA,IAAIE,GAAJ,EAAS;QACLA,GAAG,CAACnO,KAAJ,CAAU,UAAAhP,CAAC;UAAA,OAAI8b,OAAO,CAACsB,IAAR,0CAA+Cpd,CAAC,CAACoD,OAAjD,GAA4DpD,CAA5D,CAAJ;QAAA,CAAX;MACH;IACJ,CALD,CAMA,OAAOA,CAAP,EAAU;MACN8b,OAAO,CAACsB,IAAR,oCAAyCpd,CAAC,CAACoD,OAA3C,GAAsDpD,CAAtD;IACH;EACJ;AACJ;;AACD,SAAS0c,qBAAT,CAA+BC,KAA/B,EAAsC;EAClC,OAAOH,WAAW,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,oOAAuB;IAAA;MAAA;QAAA;UAAA;YAAA,MACjCM,iBAAiB,OAAO,OADS;cAAA;cAAA;YAAA;;YAAA;;UAAA;YAIrCE,iBAAiB,CAAC,SAAD,CAAjB;YACA9D,UAAU,8CAA8C;cAAEmE,WAAW,EAAE;YAAf,CAA9C,CAAV,CACKrS,IADL,CACU,YAAM;cACZ,IAAIjK,MAAM,CAAC,WAAD,CAAV,EAAyB;gBACrB,IAAI;kBACAA,MAAM,CAAC,WAAD,CAAN,CAAoBuc,IAApB,CAAyBX,KAAzB;gBACH,CAFD,CAGA,OAAO3c,CAAP,EAAU;kBACN8b,OAAO,CAACsB,IAAR,yBAA8BT,KAA9B,4BAAqD3c,CAAC,CAACoD,OAAvD,GAAkEpD,CAAlE;kBACAgd,iBAAiB,CAAC,QAAD,CAAjB;gBACH;;gBACDA,iBAAiB,CAAC,QAAD,CAAjB;gBACAD,mBAAmB,CAAChc,MAAM,CAAC,WAAD,CAAP,CAAnB;cACH;YACJ,CAbD,EAcKiO,KAdL,CAcW,UAAAhP,CAAC,EAAI;cACZ8b,OAAO,CAACsB,IAAR,yBAA8BT,KAA9B,4BAAqD3c,CAAC,CAACoD,OAAvD,GAAkEpD,CAAlE;cACAgd,iBAAiB,CAAC,QAAD,CAAjB;YACH,CAjBD;;UALqC;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAAvB,EAAlB;AAwBH;;AAED,IAAIO,WAAW,GAAI5E,SAAS,IAAIA,SAAS,CAACyB,SAAxB,IAAsC,UAAUC,OAAV,EAAmBC,UAAnB,EAA+B5S,CAA/B,EAAkC6S,SAAlC,EAA6C;EACjG,SAASC,KAAT,CAAexQ,KAAf,EAAsB;IAAE,OAAOA,KAAK,YAAYtC,CAAjB,GAAqBsC,KAArB,GAA6B,IAAItC,CAAJ,CAAM,UAAUoF,OAAV,EAAmB;MAAEA,OAAO,CAAC9C,KAAD,CAAP;IAAiB,CAA5C,CAApC;EAAoF;;EAC5G,OAAO,KAAKtC,CAAC,KAAKA,CAAC,GAAGoD,OAAT,CAAN,EAAyB,UAAUgC,OAAV,EAAmBa,MAAnB,EAA2B;IACvD,SAAS8M,SAAT,CAAmBzQ,KAAnB,EAA0B;MAAE,IAAI;QAAE0Q,IAAI,CAACH,SAAS,CAAChT,IAAV,CAAeyC,KAAf,CAAD,CAAJ;MAA8B,CAApC,CAAqC,OAAOhK,CAAP,EAAU;QAAE2N,MAAM,CAAC3N,CAAD,CAAN;MAAY;IAAE;;IAC3F,SAAS2a,QAAT,CAAkB3Q,KAAlB,EAAyB;MAAE,IAAI;QAAE0Q,IAAI,CAACH,SAAS,CAAC,OAAD,CAAT,CAAmBvQ,KAAnB,CAAD,CAAJ;MAAkC,CAAxC,CAAyC,OAAOhK,CAAP,EAAU;QAAE2N,MAAM,CAAC3N,CAAD,CAAN;MAAY;IAAE;;IAC9F,SAAS0a,IAAT,CAAcE,MAAd,EAAsB;MAAEA,MAAM,CAACC,IAAP,GAAc/N,OAAO,CAAC8N,MAAM,CAAC5Q,KAAR,CAArB,GAAsCwQ,KAAK,CAACI,MAAM,CAAC5Q,KAAR,CAAL,CAAoBgB,IAApB,CAAyByP,SAAzB,EAAoCE,QAApC,CAAtC;IAAsF;;IAC9GD,IAAI,CAAC,CAACH,SAAS,GAAGA,SAAS,CAACtW,KAAV,CAAgBoW,OAAhB,EAAyBC,UAAU,IAAI,EAAvC,CAAb,EAAyD/S,IAAzD,EAAD,CAAJ;EACH,CALM,CAAP;AAMH,CARD;;AASA,IAAMiW,gBAAgB,GAAG,0CAAzB;AACA,IAAMC,SAAS,GAAG;EACdrI,EAAE,EAAE,KADU;EAEd2F,MAFc,kBAEP9O,MAFO,EAECQ,OAFD,EAEU;IACpB,IAAI+M,EAAJ,EAAQkE,EAAR;;IACA,OAAOH,WAAW,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,oOAAuB;MAAA;MAAA;QAAA;UAAA;YAAA;cAAA,IAChCvC,YAAY,CAACvO,OAAD,EAAUR,MAAV,CADoB;gBAAA;gBAAA;cAAA;;cAAA;;YAAA;cAAA;cAIrC,OAAM0R,eAAe,CAAC1R,MAAD,CAArB;;YAJqC;cAK/B2R,SAL+B,GAKnB7c,MAAM,CAACkL,MAAM,CAAC4R,aAAP,IAAwB,WAAzB,CALa;cAAA,eAM7BpR,OAAO,CAACvF,IANqB;cAAA,kCAO5B,MAP4B,wBAoB5B,OApB4B,yBAkC5B,UAlC4B;cAAA;;YAAA;cAQT4W,cARS,GAQmBrR,OARnB,CAQrB0E,UARqB,EAQOxF,OARP,GAQmBc,OARnB,CAQOd,OARP;cASvBoS,SATuB,GASX;gBACd7R,KAAK,EAAE,WADO;gBAEdiG,GAAG,EAAE2L,cAAc,CAAC3L,GAFN;gBAGdR,KAAK,EAAEmM,cAAc,CAACnM,KAHR;gBAIdqM,OAAO,EAAE,CAACN,EAAE,GAAG,CAAClE,EAAE,GAAG7N,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAAC8G,IAAhE,MAA0E,IAA1E,IAAkF+G,EAAE,KAAK,KAAK,CAA9F,GAAkG,KAAK,CAAvG,GAA2GA,EAAE,CAAC5H,QAApH,MAAkI,IAAlI,IAA0I8L,EAAE,KAAK,KAAK,CAAtJ,GAA0JA,EAA1J,GAA+J;cAJ1J,CATW;;cAe7B,IAAIzR,MAAM,CAAC6G,KAAX,EAAkB;gBACdgJ,OAAO,CAACC,GAAR,CAAY,WAAZ,EAAyBgC,SAAzB;cACH;;cACDH,SAAS,CAAC/Y,IAAV,CAAekZ,SAAf;cAlB6B;;YAAA;cAqBTE,eArBS,GAqBWxR,OArBX,CAqBrB0E,UArBqB;cAsBvB+M,UAtBuB,GAsBVjc,MAAM,CAACmE,MAAP,CAAc;gBAAE8F,KAAK,EAAEO,OAAO,CAACP;cAAjB,CAAd,EAAwC+R,eAAxC,CAtBU;;cAuB7B,IAAIxR,OAAO,CAACxD,MAAZ,EAAoB;gBAChBiV,UAAU,CAACjV,MAAX,GAAoBwD,OAAO,CAACxD,MAA5B;cACH;;cACD,IAAIwD,OAAO,CAACvD,WAAZ,EAAyB;gBACrBgV,UAAU,CAAChV,WAAX,GAAyBuD,OAAO,CAACvD,WAAjC;cACH;;cACD,IAAI+C,MAAM,CAAC6G,KAAX,EAAkB;gBACdgJ,OAAO,CAACC,GAAR,CAAY,WAAZ,EAAyBmC,UAAzB;cACH;;cACDN,SAAS,CAAC/Y,IAAV,CAAeqZ,UAAf;cAhC6B;;YAAA;cAmCrB/U,MAnCqB,GAmCVsD,OAnCU,CAmCrBtD,MAnCqB;cAoCvBgV,aApCuB,GAoCPlc,MAAM,CAACmE,MAAP,CAAc;gBAAE8F,KAAK,EAAE;cAAT,CAAd,EAAqC/C,MAArC,CApCO;;cAqC7B,IAAIsD,OAAO,CAACxD,MAAZ,EAAoB;gBAChBkV,aAAa,CAAClV,MAAd,GAAuBwD,OAAO,CAACxD,MAA/B;cACH;;cACD,IAAIwD,OAAO,CAACvD,WAAZ,EAAyB;gBACrBiV,aAAa,CAACjV,WAAd,GAA4BuD,OAAO,CAACvD,WAApC;cACH;;cACD,IAAI+C,MAAM,CAAC6G,KAAX,EAAkB;gBACdgJ,OAAO,CAACC,GAAR,CAAY,WAAZ,EAAyBoC,aAAzB;cACH;;cACDP,SAAS,CAAC/Y,IAAV,CAAesZ,aAAf;cA9C6B;;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA,CAAvB,EAAlB;EAkDH;AAtDa,CAAlB;;AAwDA,SAASC,WAAT,GAAuB;EACnB,OAAOrd,MAAM,CAAC,iBAAD,CAAN,IAA6B,OAApC;AACH;;AACD,SAASsd,WAAT,CAAqB/Z,CAArB,EAAwB;EACpBvD,MAAM,CAAC,iBAAD,CAAN,GAA4BuD,CAA5B;AACH;;AACD,SAASqZ,eAAT,CAAyB1R,MAAzB,EAAiC;EAC7B,OAAOsR,WAAW,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,oOAAuB;IAAA;IAAA;MAAA;QAAA;UAAA;YAAA,MACjCa,WAAW,OAAO,OADe;cAAA;cAAA;YAAA;;YAAA;;UAAA;YAIrCC,WAAW,CAAC,SAAD,CAAX;YACMC,MAL+B,GAKtBrS,MAAM,CAAC4R,aAAP,IAAwB,WALF;YAM/BU,OAN+B,GAMrBD,MAAM,KAAK,WAAX,GAAyB,QAAQA,MAAjC,GAA0C,EANrB;YAO/BE,aAP+B,GAOfvS,MAAM,CAACwS,OAAP,0BACAxS,MAAM,CAACwS,OADP,uBAC2BxS,MAAM,CAACyS,IADlC,0BAEhB,EAT+B;YAU/BC,SAV+B,aAUhB1S,MAAM,CAAC2S,eAAP,IAA0BpB,gBAVV,iBAUiCvR,MAAM,CAAC4S,WAVxC,SAUsDN,OAVtD,SAUgEC,aAVhE;YAWrCzd,MAAM,CAACud,MAAD,CAAN,GAAiBvd,MAAM,CAACud,MAAD,CAAN,IAAkB,EAAnC;;YACMQ,IAZ+B,GAYxB,SAAPA,IAAO,GAAY;cACrB/d,MAAM,CAACud,MAAD,CAAN,CAAezZ,IAAf,CAAoBb,SAApB;YACH,CAdoC,EAerC;;;YACA8a,IAAI,CAAC,IAAD,EAAO,IAAIjL,IAAJ,EAAP,CAAJ,CAhBqC,CAiBrC;;YACAiL,IAAI,CAAC,QAAD,EAAW7S,MAAM,CAAC4S,WAAlB,CAAJ;YACA3F,UAAU,CAACyF,SAAD,CAAV,CACK3T,IADL,CACU,YAAM;cACZqT,WAAW,CAAC,QAAD,CAAX;YACH,CAHD,EAIKrP,KAJL,CAIW,UAAAhP,CAAC,EAAI;cACZ8b,OAAO,CAACsB,IAAR,4BAAiCnR,MAAM,CAAC4S,WAAxC,4BAAqE7e,CAAC,CAACoD,OAAvE,GAAkFpD,CAAlF;cACAqe,WAAW,CAAC,QAAD,CAAX;YACH,CAPD;;UAnBqC;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAAvB,EAAlB;AA4BH;;AAED,SAASU,aAAT,CAAuBnQ,MAAvB,EAA+BoQ,OAA/B,EAAwC;EACpC,OAAOpQ,MAAM,KAAK,GAAX,IAAkBA,MAAM,CAACqQ,WAAP,GAAqBC,IAArB,OAAgC,CAACF,OAAO,IAAI,EAAZ,EAAgBE,IAAhB,GAAuBD,WAAvB,EAAzD;AACH;;AACD,SAASE,mBAAT,CAA6BvQ,MAA7B,EAAqCoQ,OAArC,EAA8C;EAC1C,IAAIpQ,MAAM,KAAK,GAAf,EAAoB;IAChB,OAAO,IAAP;EACH;;EACDoQ,OAAO,GAAGA,OAAO,IAAI,EAArB;;EACA,IAAIpQ,MAAM,CAACwQ,UAAP,CAAkB,IAAlB,CAAJ,EAA6B;IACzB,OAAOJ,OAAO,CAACK,QAAR,CAAiBzQ,MAAM,CAAChK,SAAP,CAAiB,CAAjB,CAAjB,CAAP;EACH,CAFD,MAGK;IACD,OAAOgK,MAAM,KAAKoQ,OAAlB;EACH;AACJ;;AACD,SAAShE,YAAT,CAAsB9O,KAAtB,EAA6BoT,KAA7B,EAAoC;EAChC,mBAAsCA,KAAtC,CAAQC,KAAR;EAAA,IAAQA,KAAR,6BAAgB,GAAhB;EAAA,oBAAsCD,KAAtC,CAAqBvQ,MAArB;EAAA,IAAqBA,MAArB,8BAA8B,GAA9B;;EACA,IAAI;IACA,IAAMyQ,WAAW,GAAGvR,KAAK,CAACC,OAAN,CAAca,MAAd,IAAwBA,MAAxB,GAAiCA,MAAM,CAAC3O,KAAP,CAAa,IAAb,CAArD;IACA,IAAMqf,UAAU,GAAGxR,KAAK,CAACC,OAAN,CAAcqR,KAAd,IAAuBA,KAAvB,GAA+BA,KAAK,CAACnf,KAAN,CAAY,IAAZ,CAAlD;IACA,OAAQ,CAAC,CAACqf,UAAU,CAACxG,IAAX,CAAgB,UAAAyG,UAAU,EAAI;MAAE,IAAIlG,EAAJ;;MAAQ,OAAO2F,mBAAmB,CAACO,UAAD,EAAa,CAAClG,EAAE,GAAGtN,KAAK,CAACP,OAAZ,MAAyB,IAAzB,IAAiC6N,EAAE,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,EAAE,CAACmG,IAA1E,CAA1B;IAA4G,CAApJ,CAAF,KACH,CAAC,CAACH,WAAW,CAACvG,IAAZ,CAAiB,UAAA2G,WAAW;MAAA,OAAIb,aAAa,CAACa,WAAD,EAAc1T,KAAK,CAAChF,IAApB,CAAjB;IAAA,CAA5B,CAAF,IACG,CAAC,CAACsY,WAAW,CAACvG,IAAZ,CAAiB,UAAA2G,WAAW;MAAA,OAAIb,aAAa,CAACa,WAAD,EAAc1T,KAAK,CAACA,KAApB,CAAjB;IAAA,CAA5B,CAFF,CAAR;EAGH,CAND,CAOA,OAAOlM,CAAP,EAAU;IACN8b,OAAO,CAACsB,IAAR,oCAAyCpd,CAAC,CAACoD,OAA3C,8BAAsE,OAAO2L,MAA7E,6BAAsG,OAAOwQ,KAA7G,eAA8HxQ,MAA9H,EAAsIwQ,KAAtI;IACA,MAAM,IAAIpc,KAAJ,oCAAsCnD,CAAC,CAACoD,OAAxC,8BAAmE,OAAO2L,MAA1E,6BAAmG,OAAOwQ,KAA1G,EAAN;EACH;AACJ;;AACD,IAAMM,0BAA0B,iQAC3B/E,SAAS,CAAC1F,EADiB,EACZ0F,SADY,oOAE3B2C,SAAS,CAACrI,EAFiB,EAEZqI,SAFY,oOAG3BhB,eAAe,CAACrH,EAHW,EAGNqH,eAHM,yBAAhC;AAMA,IAAIrb,IAAI,GAAG,WAAX;AACA,IAAIyR,OAAO,GAAG,OAAd;AAEA;;AACA,IAAIuH,SAAS,GAAIzB,SAAS,IAAIA,SAAS,CAACyB,SAAxB,IAAsC,UAAUC,OAAV,EAAmBC,UAAnB,EAA+B5S,CAA/B,EAAkC6S,SAAlC,EAA6C;EAC/F,SAASC,KAAT,CAAexQ,KAAf,EAAsB;IAAE,OAAOA,KAAK,YAAYtC,CAAjB,GAAqBsC,KAArB,GAA6B,IAAItC,CAAJ,CAAM,UAAUoF,OAAV,EAAmB;MAAEA,OAAO,CAAC9C,KAAD,CAAP;IAAiB,CAA5C,CAApC;EAAoF;;EAC5G,OAAO,KAAKtC,CAAC,KAAKA,CAAC,GAAGoD,OAAT,CAAN,EAAyB,UAAUgC,OAAV,EAAmBa,MAAnB,EAA2B;IACvD,SAAS8M,SAAT,CAAmBzQ,KAAnB,EAA0B;MAAE,IAAI;QAAE0Q,IAAI,CAACH,SAAS,CAAChT,IAAV,CAAeyC,KAAf,CAAD,CAAJ;MAA8B,CAApC,CAAqC,OAAOhK,CAAP,EAAU;QAAE2N,MAAM,CAAC3N,CAAD,CAAN;MAAY;IAAE;;IAC3F,SAAS2a,QAAT,CAAkB3Q,KAAlB,EAAyB;MAAE,IAAI;QAAE0Q,IAAI,CAACH,SAAS,CAAC,OAAD,CAAT,CAAmBvQ,KAAnB,CAAD,CAAJ;MAAkC,CAAxC,CAAyC,OAAOhK,CAAP,EAAU;QAAE2N,MAAM,CAAC3N,CAAD,CAAN;MAAY;IAAE;;IAC9F,SAAS0a,IAAT,CAAcE,MAAd,EAAsB;MAAEA,MAAM,CAACC,IAAP,GAAc/N,OAAO,CAAC8N,MAAM,CAAC5Q,KAAR,CAArB,GAAsCwQ,KAAK,CAACI,MAAM,CAAC5Q,KAAR,CAAL,CAAoBgB,IAApB,CAAyByP,SAAzB,EAAoCE,QAApC,CAAtC;IAAsF;;IAC9GD,IAAI,CAAC,CAACH,SAAS,GAAGA,SAAS,CAACtW,KAAV,CAAgBoW,OAAhB,EAAyBC,UAAU,IAAI,EAAvC,CAAb,EAAyD/S,IAAzD,EAAD,CAAJ;EACH,CALM,CAAP;AAMH,CARD;;AASA,IAAMuY,aAAa,GAAG;EAClB;EACAC,QAAQ,EAAE,IAFQ;;EAGlB;EACAJ,IAAI,EAAE,IAJY;EAKlB7M,KAAK,EAAE,KALW;EAMlBkN,KAAK,EAAE,IANW;EAOlBC,UAAU,EAAE,KAPM;EAQlBC,YAAY,EAAEvH,SARI;EASlBwH,OAAO,EAAExH;AATS,CAAtB;;AAWA,IAAMyH,UAAU,GAAG,SAAbA,UAAa,CAACC,EAAD,EAAQ;EACvB,IAAI,CAACA,EAAL,EAAS;IACL,OAAO,EAAP;EACH;;EACD,IAAIC,WAAW,GAAGD,EAAE,CAAChgB,MAAH,GAAY,CAAZ,IAAiBggB,EAAE,CAAC5e,MAAH,CAAU,CAAV,MAAiB,GAAlC,GAAwC4e,EAAE,CAACzb,SAAH,CAAa,CAAb,CAAxC,GAA0Dyb,EAA5E;EACA,IAAIE,KAAK,GAAG,EAAZ;EACA,IAAIC,KAAK,GAAG,CAACF,WAAW,CAAC,CAAD,CAAX,KAAmB,GAAnB,GAAyBA,WAAW,CAACG,MAAZ,CAAmB,CAAnB,CAAzB,GAAiDH,WAAlD,EAA+DlgB,KAA/D,CAAqE,GAArE,CAAZ;;EACA,KAAK,IAAIuE,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAG6b,KAAK,CAACngB,MAA1B,EAAkCsE,GAAC,EAAnC,EAAuC;IACnC,IAAI+b,IAAI,GAAGF,KAAK,CAAC7b,GAAD,CAAL,CAASvE,KAAT,CAAe,GAAf,CAAX;;IACAmgB,KAAK,CAACnc,kBAAkB,CAACsc,IAAI,CAAC,CAAD,CAAL,CAAnB,CAAL,GAAqCtc,kBAAkB,CAACsc,IAAI,CAAC,CAAD,CAAJ,IAAW,EAAZ,CAAvD;EACH;;EACD,OAAOH,KAAP;AACH,CAZD;;AAaA,SAASI,QAAT,CAAkB5W,GAAlB,EAAuB;EACnB,IAAM3I,IAAI,GAAG2I,GAAG,CAACnF,SAAJ,CAAc,OAAOvE,MAArB,CAAb;EACA,OAAOe,IAAI,KAAK,UAAT,GAAsB,MAAtB,GAA+BA,IAAtC;AACH;;AACD,SAASwf,SAAT,CAAmBL,KAAnB,EAA0B;EACtB,OAAOte,MAAM,CAAC4X,OAAP,CAAe0G,KAAf,EACF3R,MADE,CACK;IAAA;IAAA,IAAE7E,GAAF;;IAAA,OAAWA,GAAG,CAAChD,OAAJ,CAAY,MAAZ,MAAwB,CAAnC;EAAA,CADL,EAEFY,MAFE,CAEK,UAACkZ,GAAD;IAAA;IAAA,IAAO9W,GAAP;IAAA,IAAYC,KAAZ;;IAAA,OAAwB/H,MAAM,CAACmE,MAAP,CAAcnE,MAAM,CAACmE,MAAP,CAAc,EAAd,EAAkBya,GAAlB,CAAd,gNAAyCF,QAAQ,CAAC5W,GAAD,CAAjD,EAAyDC,KAAzD,EAAxB;EAAA,CAFL,EAEiG,EAFjG,CAAP;AAGH;;AACD,SAAS8W,QAAT,CAAkBnb,CAAlB,EAAqBob,UAArB,EAAiC;EAC7B,IAAI;IACA,OAAOpb,CAAC,EAAR;EACH,CAFD,CAGA,OAAO3F,CAAP,EAAU;IACN,OAAO+gB,UAAP;EACH;AACJ;;AACD,SAASC,aAAT,CAAuBrY,OAAvB,EAAgC;EAC5B,IAAMsY,GAAG,GAAGtY,OAAO,CAACyB,OAAR,CAAgB,eAAhB,CAAZ;;EACA,IAAI,OAAO6W,GAAP,KAAe,QAAnB,EAA6B;IACzB,OAAOH,QAAQ,CAAC;MAAA,OAAM1U,IAAI,CAAC0E,KAAL,CAAWmQ,GAAX,CAAN;IAAA,CAAD,EAAwB,EAAxB,CAAf;EACH;;EACD,OAAOA,GAAP;AACH;;AACD,SAASC,iBAAT,GAAsC;EAAA,IAAXxI,IAAW,uEAAJ,EAAI;;EAClC,IAAIA,IAAI,CAACwH,YAAT,EAAuB;IACnB,OAAOxH,IAAI,CAACwH,YAAZ;EACH;;EACD,4BAAiBnf,MAAM,CAACoE,QAAP,CAAgBgc,QAAhB,CAAyB/gB,KAAzB,CAA+B,GAA/B,CAAjB;EAAA;EAAA,IAAOghB,MAAP;;EACA,IAAMC,KAAK,GAAGD,MAAM,CAAChhB,KAAP,CAAa,GAAb,CAAd;;EACA,IAAIihB,KAAK,CAACA,KAAK,CAAChhB,MAAN,GAAe,CAAhB,CAAL,KAA4B,WAA5B,IAA2CghB,KAAK,CAAChhB,MAAN,GAAe,CAA9D,EAAiE;IAC7D,OAAOghB,KAAK,CAACA,KAAK,CAAChhB,MAAN,GAAe,CAAhB,CAAZ;EACH,CAFD,MAGK;IACD,OAAOghB,KAAK,CAACA,KAAK,CAAChhB,MAAN,GAAe,CAAhB,CAAL,GAA0B,GAA1B,GAAgCghB,KAAK,CAACA,KAAK,CAAChhB,MAAN,GAAe,CAAhB,CAA5C;EACH;AACJ;;AACD,SAASihB,SAAT,CAAmBlgB,IAAnB,EAAyB;EACrB,IAAM4I,KAAK,eAAQ0H,QAAQ,CAAC6E,MAAjB,CAAX;EACA,IAAM8K,KAAK,GAAGrX,KAAK,CAAC5J,KAAN,aAAiBgB,IAAjB,OAAd;EACA,OAAOigB,KAAK,CAAChhB,MAAN,KAAiB,CAAjB,GAAqBghB,KAAK,CAACE,GAAN,GAAYnhB,KAAZ,CAAkB,GAAlB,EAAuB8c,KAAvB,EAArB,GAAsDvE,SAA7D;AACH;;AACD,SAAS6I,YAAT,CAAsBpgB,IAAtB,EAA4B;EACxBsQ,QAAQ,CAAC6E,MAAT,GAAkBnV,IAAI,GAAG,0CAAzB;AACH;;AACD,SAASqgB,SAAT,CAAmBrgB,IAAnB,EAAyB6f,GAAzB,SAAkD;EAAA,IAAlBG,MAAkB,SAAlBA,MAAkB;EAAA,IAAVM,MAAU,SAAVA,MAAU;EAC9ChQ,QAAQ,CAAC6E,MAAT,GACInV,IAAI,GACA,GADJ,GAEI6f,GAFJ,GAGI,UAHJ,GAIIG,MAJJ,GAKI,SALJ,GAMI,WANJ,GAOI,IAAIvN,IAAJ,CAAS,IAAIA,IAAJ,GAAWC,OAAX,KAAuB,OAAO,EAAP,GAAY,EAAZ,GAAiB,EAAjB,GAAsB,GAAtB,GAA4B,CAA5D,EAA+D2C,WAA/D,EAPJ,GAQI,YARJ,IASKiL,MAAM,GAAG,MAAH,GAAY,KATvB,KAUKA,MAAM,GAAG,SAAH,GAAe,EAV1B,CADJ;AAYH;;AACD,IAAMC,iBAAiB,GAAG;EACtBC,SAAS,EAAE,aADW;EAEtBC,aAAa,EAAE,iBAFO;EAGtBC,SAAS,EAAE;AAHW,CAA1B;;AAKA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAAC7B,YAAD,EAAe8B,UAAf,EAA8B;EAChD,OAAO;IACH/b,OADG,mBACK8D,GADL,EACUkX,GADV,EACe;MACd,IAAMgB,MAAM,GAAG,OAAOhB,GAAP,KAAe,QAAf,IAA2BA,GAAG,KAAK,IAAnC,GAA0CzK,kBAAkB,CAACpK,IAAI,CAACC,SAAL,CAAe4U,GAAf,CAAD,CAA5D,GAAoFA,GAAnG;MACA,IAAMiB,UAAU,GAAGF,UAAU,CAACjY,GAAD,CAAV,IAAmBA,GAAtC;MACA0X,SAAS,CAACS,UAAD,EAAaD,MAAb,EAAqB;QAC1Bb,MAAM,EAAElB,YADkB;QAE1BwB,MAAM,EAAE3gB,MAAM,CAACoE,QAAP,CAAgBgd,QAAhB,KAA6B;MAFX,CAArB,CAAT;IAIH,CARE;IASH/X,OATG,mBASKL,GATL,EASU;MACT,IAAMmY,UAAU,GAAGF,UAAU,CAACjY,GAAD,CAAV,IAAmBA,GAAtC;MACA,IAAM6Q,MAAM,GAAG0G,SAAS,CAACY,UAAD,CAAxB;;MACA,IAAI,OAAOtH,MAAP,KAAkB,WAAlB,IAAiC7Q,GAAG,KAAK,WAA7C,EAA0D;QACtD;QACA,IAAMZ,MAAM,GAAG2H,KAAK,CAACwQ,SAAS,CAAC,iBAAD,CAAV,CAAL,IAAuC,EAAtD;QACA,OAAOnY,MAAM,CAACiZ,WAAP,IAAsBjZ,MAAM,CAACkZ,OAA7B,IAAwClZ,MAAM,CAACiM,EAA/C,IAAqDjM,MAAM,CAACF,MAAnE;MACH;;MACD,OAAO6H,KAAK,CAAC8J,MAAD,CAAZ;IACH,CAlBE;IAmBH1U,UAnBG,sBAmBQ6D,GAnBR,EAmBa;MACZyX,YAAY,CAACQ,UAAU,CAACjY,GAAD,CAAV,IAAmBA,GAApB,CAAZ;IACH;EArBE,CAAP;AAuBH,CAxBD;;AAyBA,SAASuY,aAAT,CAAuB5J,IAAvB,EAA6B;EACzB,OAAO;IACH6J,gBADG,8BACgB;MACf,OAAOxhB,MAAM,CAAC2Q,QAAP,CAAgB8Q,YAAvB;IACH,CAHE;IAIHC,cAJG,4BAIc;MACb,OAAO,IAAI5O,IAAJ,GAAW6O,iBAAX,EAAP;IACH,CANE;IAOHlX,KAPG,mBAOK;MACJ,OAAOuW,aAAa,CAACrJ,IAAI,CAACwH,YAAL,IAAqBgB,iBAAiB,EAAvC,EAA2CS,iBAA3C,CAApB;IACH,CATE;IAUHgB,QAVG,sBAUQ;MACP,OAAO5hB,MAAM,CAACM,SAAP,CAAiBshB,QAAxB;IACH,CAZE;IAaHC,SAbG,uBAaS;MACR,OAAO7hB,MAAM,CAAC2Q,QAAP,CAAgBC,KAAvB;IACH,CAfE;IAgBHkR,OAhBG,qBAgBO;MACN,OAAO9hB,MAAM,CAACoE,QAAP,CAAgB+M,IAAvB;IACH,CAlBE;IAmBHN,QAnBG,sBAmBQ;MACP,OAAO7Q,MAAM,CAAC2Q,QAAP,CAAgBE,QAAvB;IACH,CArBE;IAsBHkR,MAtBG,oBAsBM;MACL,OAAO;QACHzQ,KAAK,EAAEtR,MAAM,CAAC+hB,MAAP,CAAczQ,KADlB;QAEHC,MAAM,EAAEvR,MAAM,CAAC+hB,MAAP,CAAcxQ,MAFnB;QAGHT,UAAU,EAAE9Q,MAAM,CAAC8Q,UAHhB;QAIHC,WAAW,EAAE/Q,MAAM,CAAC+Q,WAJjB;QAKHiR,OAAO,EAAEzd,IAAI,CAAC0d,KAAL,CAAWjiB,MAAM,CAACkiB,gBAAlB;MALN,CAAP;IAOH,CA9BE;IA+BH3hB,SA/BG,uBA+BS;MACR,OAAOP,MAAM,CAACM,SAAP,CAAiBC,SAAxB;IACH;EAjCE,CAAP;AAmCH;;AACD,IAAM4hB,YAAY,GAAG,SAAfA,YAAe,CAACjX,MAAD;EAAA,OAAa;IAC9BsW,gBAD8B,8BACX;MACf,OAAO5J,SAAP;IACH,CAH6B;IAI9B8J,cAJ8B,4BAIb;MACb,OAAO9J,SAAP;IACH,CAN6B;IAO9BnN,KAP8B,mBAOtB;MACJ,IAAM7C,OAAO,GAAG,EAAhB;MACA,OAAO;QACH1C,OADG,mBACK8D,GADL,EACUkX,GADV,EACe;UACd,IAAIhV,MAAM,CAAC6G,KAAX,EAAkB;YACdgJ,OAAO,CAACC,GAAR,kDAAsDhS,GAAtD,cAA6DqC,IAAI,CAACC,SAAL,CAAe4U,GAAf,CAA7D;UACH;;UACDtY,OAAO,CAACoB,GAAD,CAAP,GAAekX,GAAf;QACH,CANE;QAOH7W,OAPG,mBAOKL,GAPL,EAOU;UACT,IAAMkX,GAAG,GAAGtY,OAAO,CAACoB,GAAD,CAAnB;;UACA,IAAIkC,MAAM,CAAC6G,KAAX,EAAkB;YACdgJ,OAAO,CAACC,GAAR,kDAAsDhS,GAAtD,cAA6DqC,IAAI,CAACC,SAAL,CAAe4U,GAAf,CAA7D;UACH;;UACD,OAAOA,GAAP;QACH,CAbE;QAcH/a,UAdG,sBAcQ6D,GAdR,EAca;UACZ,IAAIkC,MAAM,CAAC6G,KAAX,EAAkB;YACdgJ,OAAO,CAACC,GAAR,kDAAsDhS,GAAtD,cAA6DpB,OAAO,CAACoB,GAAD,CAApE;UACH;;UACD,OAAOpB,OAAO,CAACoB,GAAD,CAAd;QACH;MAnBE,CAAP;IAqBH,CA9B6B;IA+B9B4Y,QA/B8B,sBA+BnB;MACP,OAAOhK,SAAP;IACH,CAjC6B;IAkC9BiK,SAlC8B,uBAkClB;MACR,OAAOjK,SAAP;IACH,CApC6B;IAqC9BkK,OArC8B,qBAqCpB;MACN,OAAOlK,SAAP;IACH,CAvC6B;IAwC9B/G,QAxC8B,sBAwCnB;MACP,OAAO+G,SAAP;IACH,CA1C6B;IA2C9BmK,MA3C8B,oBA2CrB;MACL,OAAOnK,SAAP;IACH,CA7C6B;IA8C9BrX,SA9C8B,uBA8ClB;MACR,OAAOqX,SAAP;IACH;EAhD6B,CAAb;AAAA,CAArB;;AAkDA,SAASwK,SAAT,CAAmB9K,MAAnB,EAA2BC,MAA3B,EAAmC;EAC/B,IAAI,OAAOA,MAAP,KAAkB,QAAlB,IAA8BA,MAAM,KAAK,IAA7C,EAAmD;IAC/C,OAAOA,MAAP;EACH;;EACD,IAAI,OAAOD,MAAP,KAAkB,QAAlB,IAA8BA,MAAM,KAAK,IAA7C,EAAmD;IAC/C,OAAOC,MAAP;EACH;;EACD,OAAOrW,MAAM,CAAC4X,OAAP,CAAevB,MAAf,EAAuB3Q,MAAvB,CAA8B,UAACkZ,GAAD,SAAuB;IAAA;IAAA,IAAhB9W,GAAgB;IAAA,IAAXC,KAAW;;IACxD6W,GAAG,CAAC9W,GAAD,CAAH,GAAWoZ,SAAS,CAAC9K,MAAM,CAACtO,GAAD,CAAP,EAAcC,KAAd,CAApB;IACA,OAAO6W,GAAP;EACH,CAHM,EAGJxI,MAHI,CAAP;AAIH;;AACD,SAAS+C,WAAT,GAAuB;EACnB,OAAO,OAAO1J,QAAP,KAAoB,WAApB,IAAmC,OAAO3Q,MAAP,KAAkB,WAA5D;AACH;;AACD,SAASqiB,aAAT,CAAuB3W,OAAvB,EAAgCR,MAAhC,EAAwCtD,OAAxC,EAAiD;EAC7C,IAAI6Q,EAAJ,EAAQkE,EAAR;;EACA,IAAMyC,OAAO,GAAGlU,MAAM,CAACkU,OAAP,KAAmB/E,WAAW,KAAKkH,aAAa,CAACrW,MAAD,CAAlB,GAA6BiX,YAAY,CAACjX,MAAD,CAAvE,CAAhB;EACA,IAAMkG,GAAG,GAAGgO,OAAO,CAAC0C,OAAR,EAAZ;EACA,IAAMQ,SAAS,GAAGvC,QAAQ,CAAC;IAAA,OAAM,IAAIwC,GAAJ,CAAQnR,GAAR,CAAN;EAAA,CAAD,EAAqBwG,SAArB,CAA1B;EACA,IAAM4H,KAAK,GAAG8C,SAAS,GAAGjD,UAAU,CAACiD,SAAS,CAACje,MAAX,CAAb,GAAkC,EAAzD;EACA,IAAM+L,UAAU,GAAG1E,OAAO,CAAC0E,UAAR,IAAsB,EAAzC;EACA,IAAMoS,aAAa,GAAG,CAAC,CAAC/J,EAAE,GAAG/M,OAAO,CAAC0E,UAAd,MAA8B,IAA9B,IAAsCqI,EAAE,KAAK,KAAK,CAAlD,GAAsD,KAAK,CAA3D,GAA+DA,EAAE,CAAC7N,OAAnE,KAA+E,EAArG;EACA,CAAC+R,EAAE,GAAGjR,OAAO,CAAC0E,UAAd,MAA8B,IAA9B,IAAsCuM,EAAE,KAAK,KAAK,CAAlD,GAAsD,IAAtD,GAA6D,OAAOA,EAAE,CAAC/R,OAAvE;EACA,IAAMiG,QAAQ,GAAGuO,OAAO,CAACvO,QAAR,EAAjB;EACA,IAAMjG,OAAO,GAAG;IACZsH,OAAO,EAAE;MACL7R,IAAI,EAAEA,IADD;MAELyR,OAAO,EAAEA;IAFJ,CADG;IAKZvR,SAAS,EAAE6e,OAAO,CAAC7e,SAAR,EALC;IAMZ6R,MAAM,EAAEgN,OAAO,CAACwC,QAAR,EANI;IAOZG,MAAM,EAAE3C,OAAO,CAAC2C,MAAR,EAPI;IAQZ3Z,MAAM,EAAEsD,OAAO,CAACvF,IAAR,IAAgB,UAAhB,IAA8BuF,OAAO,CAACvF,IAAR,IAAgB,OAA9C,GAAwDjF,MAAM,CAACmE,MAAP,CAAc,EAAd,EAAmB4a,aAAa,CAACrY,OAAD,CAAb,IAA0B,EAA7C,CAAxD,GAA4GgQ,SARxG;IASZlG,IAAI,EAAE;MACFL,IAAI,EAAEjB,UAAU,CAACiB,IAAX,IAAoBiR,SAAS,IAAIA,SAAS,CAACG,QAD/C;MAEF5R,QAAQ,EAAEA,QAFR;MAGF6R,gBAAgB,EAAE3C,QAAQ,CAAC;QAAA,OAAMlP,QAAQ,IAAI,IAAI0R,GAAJ,CAAQ1R,QAAR,EAAkBuP,QAApC;MAAA,CAAD,CAHxB;MAIFxB,IAAI,EAAE0D,SAAS,IAAIA,SAAS,CAAC1D,IAJ3B;MAKFva,MAAM,EAAE+L,UAAU,CAAC/L,MAAX,IAAsBie,SAAS,IAAIA,SAAS,CAACje,MALnD;MAMFuM,KAAK,EAAER,UAAU,CAACQ,KAAX,IAAoBwO,OAAO,CAACyC,SAAR,EANzB;MAOFzQ,GAAG,EAAEhB,UAAU,CAACgB,GAAX,IAAkBA,GAPrB;MAQFuR,QAAQ,EAAEvS,UAAU,CAACuS,QAAX,IAAuBvD,OAAO,CAACoC,gBAAR;IAR/B,CATM;IAmBZhZ,QAAQ,EAAEqX,SAAS,CAACL,KAAD;EAnBP,CAAhB;EAqBA,IAAMoD,WAAW,GAAG1hB,MAAM,CAACmE,MAAP,CAAcnE,MAAM,CAACmE,MAAP,CAAc,EAAd,EAAkBqG,OAAlB,CAAd,EAA0C;IAAEmX,SAAS,EAAE,IAAI/P,IAAJ,GAAWgQ,WAAX,EAAb;IAAuCC,MAAM,EAAE,IAAIjQ,IAAJ,GAAWgQ,WAAX,EAA/C;IAAyEE,SAAS,EAAE3H,QAAQ,CAACjL,UAAU,CAACiB,IAAX,IAAoBiR,SAAS,IAAIA,SAAS,CAACG,QAA5C,CAA5F;IAAoJzD,QAAQ,EAAEiE,YAAY,CAAC/X,MAAM,CAAC8T,QAAR,CAA1K;IAA6LpU,OAAO,EAAEwX,SAAS,CAACxX,OAAD,EAAU4X,aAAV;EAA/M,CAA1C,CAApB;EACA,OAAOI,WAAW,CAACnV,IAAnB;EACA,OAAOmV,WAAW,CAACpZ,OAAnB;EACA,OAAOoZ,WAAP;AACH;;AACD,SAASM,mBAAT,CAA6BC,YAA7B,EAA2ClX,MAA3C,EAAmDd,KAAnD,EAA0D4G,KAA1D,EAAiEqR,iBAAjE,EAAoF;EAChF,OAAO/J,SAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,oOAAuB;IAAA;;IAAA;MAAA;QAAA;UAAA;YAC7BgK,QAD6B,GAClB,EADkB;YAAA,iOAETF,YAFS;YAAA;;YAAA;;UAAA;YAAA;cAAA;cAAA;YAAA;;YAExBG,WAFwB;YAGzBC,WAHyB,GAGXriB,MAAM,CAACmE,MAAP,CAAcnE,MAAM,CAACmE,MAAP,CAAc,EAAd,EAAkBie,WAAW,CAACC,WAA9B,CAAd,EAA0DD,WAAW,CAAC9Z,OAAtE,CAHW;;YAAA,MAI3B8Z,WAAW,CAACE,aAAZ,CAA0Brd,IAA1B,KAAmC,iBAJR;cAAA;cAAA;YAAA;;YAKrBqG,MALqB,GAKZsS,0BAA0B,CAACwE,WAAW,CAACE,aAAZ,CAA0BnjB,IAA3B,CALd;;YAM3B,IAAImM,MAAJ,EAAY;cACR,IAAI;gBACA6W,QAAQ,CAACvf,IAAT,CAAc0I,MAAM,CAACwN,MAAP,CAAcuJ,WAAd,EAA2BpY,KAA3B,CAAd;cACH,CAFD,CAGA,OAAOlM,CAAP,EAAU;gBACN8b,OAAO,CAACsB,IAAR,gEAAqEiH,WAAW,CAACE,aAAZ,CAA0BnjB,IAA/F,gBAAyGpB,CAAC,KAAK,IAAN,IAAcA,CAAC,KAAK,KAAK,CAAzB,GAA6B,KAAK,CAAlC,GAAsCA,CAAC,CAACoD,OAAjJ,GAA4JpD,CAA5J;cACH;YACJ,CAPD,MAQK;cACD8b,OAAO,CAACsB,IAAR,4CAAiDiH,WAAW,CAACE,aAAZ,CAA0BnjB,IAA3E,gCAAqGijB,WAAW,CAACjP,EAAjH;YACH;;YAhB0B;YAAA;;UAAA;YAAA,MAkBtBiP,WAAW,CAACE,aAAZ,CAA0Brd,IAA1B,KAAmC,kBAlBb;cAAA;cAAA;YAAA;;YAAA;YAmB3B,OAAMgS,UAAU,CAACmL,WAAW,CAACE,aAAZ,CAA0BC,UAA3B,CAAhB;;UAnB2B;YAoBrBjX,OApBqB,GAoBZxM,MAAM,CAACsjB,WAAW,CAACE,aAAZ,CAA0BE,aAA3B,CApBM;;YAAA,IAqBtBlX,OArBsB;cAAA;cAAA;YAAA;;YAsBvBuO,OAAO,CAACsB,IAAR,kCAAuCiH,WAAW,CAACE,aAAZ,CAA0BC,UAAjE,gCAAiGH,WAAW,CAACjP,EAA7G,oCAAyIiP,WAAW,CAACE,aAAZ,CAA0BE,aAAnK;YAtBuB;YAAA;;UAAA;YAyBnBC,cAzBmB;;YA0BvB,IAAI;cACAA,cAAc,GAAG,CAAC,OAAOnX,OAAP,KAAkB,UAAlB,GAA+BA,OAA/B,GAAwCA,OAAM,CAAC+P,IAAhD,EAAsDgH,WAAtD,CAAjB;YACH,CAFD,CAGA,OAAOtkB,CAAP,EAAU;cACN8b,OAAO,CAACsB,IAAR,0CAA+CiH,WAAW,CAACE,aAAZ,CAA0BE,aAAzE,cAA0FJ,WAAW,CAACE,aAAZ,CAA0BC,UAApH,gCAAoJH,WAAW,CAACjP,EAAhK,gBAAwKpV,CAAC,KAAK,IAAN,IAAcA,CAAC,KAAK,KAAK,CAAzB,GAA6B,KAAK,CAAlC,GAAsCA,CAAC,CAACoD,OAAhN,GAA2NpD,CAA3N;YACH;;YA/BsB;;YAiCnB,IAAI8S,KAAJ,EAAW;cACPgJ,OAAO,CAACC,GAAR,2BAA+BsI,WAAW,CAACE,aAAZ,CAA0BE,aAAzD,cAA0EJ,WAAW,CAACE,aAAZ,CAA0BC,UAApG,gCAAoIH,WAAW,CAACjP,EAAhJ,iCAAgLsP,cAAc,CAACzY,MAA/L;YACH;;YACDyY,cAAc,CAAC/T,UAAf,CAA0B;cAAE1E,MAAM,EAAEyY,cAAc,CAACzY,MAAzB;cAAiCb,QAAQ,EAAE+Y;YAA3C,CAA1B;YApCmB;YAAA;;UAAA;YAAA;YAAA;YAuCnBrI,OAAO,CAACsB,IAAR,8CAAmDiH,WAAW,CAACE,aAAZ,CAA0BE,aAA7E,cAA8FJ,WAAW,CAACE,aAAZ,CAA0BC,UAAxH,gCAAwJH,WAAW,CAACjP,EAApK,gBAA4K,iBAAM,IAAN,IAAc,iBAAM,KAAK,CAAzB,GAA6B,KAAK,CAAlC,GAAsC,aAAEhS,OAApN,uBAAwOgJ,IAAI,CAACC,SAAL,CAAeqY,cAAc,CAACzY,MAA9B,CAAxO;YAvCmB;;UAAA;YA0CvB,IAAIyY,cAAc,CAAC1X,MAAD,CAAlB,EAA4B;cACxB,IAAI;gBACA0X,cAAc,CAAC1X,MAAD,CAAd,CAAuB;kBAAEP,OAAO,EAAEP,KAAX;kBAAkBD,MAAM,EAAEyY,cAAc,CAACzY,MAAzC;kBAAiDb,QAAQ,EAAE+Y;gBAA3D,CAAvB;cACH,CAFD,CAGA,OAAOnkB,CAAP,EAAU;gBACN8b,OAAO,CAACsB,IAAR,oCAAyCpQ,MAAzC,6BAAkEqX,WAAW,CAACE,aAAZ,CAA0BE,aAA5F,cAA6GJ,WAAW,CAACE,aAAZ,CAA0BC,UAAvI,gCAAuKH,WAAW,CAACjP,EAAnL,gBAA2LpV,CAAC,KAAK,IAAN,IAAcA,CAAC,KAAK,KAAK,CAAzB,GAA6B,KAAK,CAAlC,GAAsCA,CAAC,CAACoD,OAAnO,GAA8OpD,CAA9O;cACH;YACJ;;UAjDsB;YAAA;YAAA;;UAAA;YAAA;YAAA;;UAAA;YAAA;YAAA;;YAAA;;UAAA;YAAA;;YAAA;;YAAA;;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAAvB,EAAhB;AAsDH;;AACD,SAAS2kB,aAAT,CAAuBvP,EAAvB,EAA2B;EACvB,OAAOA,EAAE,CAAC/U,MAAH,KAAc,EAAd,IAAoB+U,EAAE,CAAC3T,MAAH,CAAU,CAAV,MAAiB,GAA5C;AACH;;AACD,SAASmjB,gBAAT,CAA0B7E,QAA1B,EAAoC;EAChC,IAAIA,QAAJ,EAAc;IACV,sBAAmBA,QAAQ,CAAC3f,KAAT,CAAe,GAAf,EAAoB,CAApB,CAAnB;IAAA;IAAA,IAASykB,MAAT;;IACA,IAAI,CAACA,MAAD,IAAW,CAACF,aAAa,CAAC5E,QAAD,CAA7B,EAAyC;MACrC,MAAM,IAAI5c,KAAJ,uCAAyC4c,QAAzC,4GAAN;IACH;EACJ;;EACD,OAAOA,QAAP;AACH;;AACD,SAASiE,YAAT,CAAsBjE,QAAtB,EAAgC;EAC5B,IAAIA,QAAJ,EAAc;IACV,uBAAqBA,QAAQ,CAAC3f,KAAT,CAAe,GAAf,EAAoB,CAApB,CAArB;IAAA;IAAA,IAAOgV,EAAP;IAAA,IAAWyP,MAAX;;IACA,IAAIA,MAAJ,EAAY;MACR,iBAAUzP,EAAV;IACH,CAFD,MAGK;MACD,OAAOA,EAAP;IACH;EACJ;;EACD,OAAO2K,QAAP;AACH;;AACD,SAAS+E,IAAT,CAAc9X,MAAd,EAAsBP,OAAtB,EAA+BsY,WAA/B,EAA4C3Z,QAA5C,EAAsDI,KAAtD,EAA6D;EACzD,IAAIuZ,WAAW,CAAC9E,UAAhB,EAA4B;IACxBnE,OAAO,CAACC,GAAR,4BAAgC/O,MAAhC,eAAkDP,OAAlD;IACA;EACH;;EACD,IAAM0F,GAAG,aAAM4S,WAAW,CAACpF,IAAlB,oBAAgC3S,MAAhC,CAAT;EACA,IAAMgT,KAAK,GAAG+E,WAAW,CAAC/E,KAAZ,IAAqBgF,UAAU,CAAChF,KAA9C;;EACA,IAAI,CAACA,KAAL,EAAY;IACR,MAAM,IAAI7c,KAAJ,CAAU,qGAAV,CAAN;EACH;;EACD,IAAM8hB,WAAW,GAAGF,WAAW,CAACjS,KAAZ,GAAoB;IAAE,kBAAkB;EAApB,CAApB,GAAmD,EAAvE,CAVyD,CAWzD;EACA;EACA;;EACA,IAAMoS,eAAe,GAAG9B,aAAa,CAAC3W,OAAD,EAAUsY,WAAV,EAAuBvZ,KAAvB,CAArC;EACA,IAAM2Z,UAAU,GAAGJ,WAAW,CAAChF,QAAZ,GAAuB;IAAE,eAAegF,WAAW,CAAChF;EAA7B,CAAvB,GAAiE,EAApF;EACA,OAAOC,KAAK,CAAC7N,GAAD,EAAM;IACdnF,MAAM,EAAE,MADM;IAEdoY,OAAO,EAAEnjB,MAAM,CAACmE,MAAP,CAAcnE,MAAM,CAACmE,MAAP,CAAc;MAAE,gBAAgB;IAAlB,CAAd,EAAsD+e,UAAtD,CAAd,EAAiFF,WAAjF,CAFK;IAGdxJ,IAAI,EAAErP,IAAI,CAACC,SAAL,CAAe6Y,eAAf;EAHQ,CAAN,CAAL,CAKFla,IALE,CAKG,UAAAmS,GAAG,EAAI;IACb,IAAI4H,WAAW,CAACjS,KAAhB,EAAuB;MACnBgJ,OAAO,CAACC,GAAR,mBAAuB5J,GAAvB,sBAAsCgL,GAAG,CAAC9D,MAA1C,2BAAwEjN,IAAI,CAACC,SAAL,CAAe6Y,eAAf,EAAgC,IAAhC,EAAsC,CAAtC,CAAxE;IACH;;IACD,IAAI/H,GAAG,CAACkI,EAAR,EAAY;MACR,OAAOlI,GAAG,CAACtB,IAAJ,EAAP;IACH,CAFD,MAGK;MACD,OAAO/Q,OAAO,CAAC6C,MAAR,CAAewP,GAAG,CAACtB,IAAJ,EAAf,CAAP;IACH;EACJ,CAfM,EAgBF7Q,IAhBE,CAgBG,UAAAsa,YAAY,EAAI;IACtB,IAAIC,QAAJ;;IACA,IAAI;MACAA,QAAQ,GAAGnZ,IAAI,CAAC0E,KAAL,CAAWwU,YAAX,CAAX;IACH,CAFD,CAGA,OAAOtlB,CAAP,EAAU;MACN,OAAO8K,OAAO,CAAC6C,MAAR,6BAAoC2X,YAApC,eAAqDtlB,CAAC,KAAK,IAAN,IAAcA,CAAC,KAAK,KAAK,CAAzB,GAA6B,KAAK,CAAlC,GAAsCA,CAAC,CAACoD,OAA7F,EAAP;IACH;;IACD,IAAImiB,QAAQ,CAACrB,YAAb,EAA2B;MACvB,IAAIa,WAAW,CAACjS,KAAhB,EAAuB;QACnBgJ,OAAO,CAACC,GAAR,6CAAwD3P,IAAI,CAACC,SAAL,CAAekZ,QAAQ,CAACrB,YAAxB,EAAsC,IAAtC,EAA4C,CAA5C,CAAxD;MACH;;MACD,OAAOD,mBAAmB,CAACsB,QAAQ,CAACrB,YAAV,EAAwBlX,MAAxB,EAAgCkY,eAAhC,EAAiD,CAAC,CAACH,WAAW,CAACjS,KAA/D,EAAsE1H,QAAtE,CAA1B;IACH;EACJ,CA9BM,EA+BF4D,KA/BE,CA+BI,UAAAuK,GAAG,EAAI;IACd,IAAIwL,WAAW,CAACjS,KAAhB,EAAuB;MACnBgJ,OAAO,CAACS,KAAR,iBAAuBpK,GAAvB,gBAAuCoH,GAAvC;IACH;EACJ,CAnCM,CAAP;AAoCH;;AACD,IAAMiM,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAuB;EAAA,IAAtBC,YAAsB,uEAAP,EAAO;EAChD,IAAMC,YAAY,GAAG,EAArB,CADgD,CAEhD;EACA;EACA;;EACA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,iBAAD;IAAA,OAAwB;MAClD3f,OADkD,mBAC1C8D,GAD0C,EACrCkX,GADqC,EAChC;QACdyE,YAAY,CAAC3b,GAAD,CAAZ,GAAoBkX,GAApB;QACA2E,iBAAiB,CAAC3f,OAAlB,CAA0B8D,GAA1B,EAA+BkX,GAA/B;MACH,CAJiD;MAKlD7W,OALkD,mBAK1CL,GAL0C,EAKrC;QACT,OAAO2b,YAAY,CAAC3b,GAAD,CAAZ,IAAqB6b,iBAAiB,CAACxb,OAAlB,CAA0BL,GAA1B,CAA5B;MACH,CAPiD;MAQlD7D,UARkD,sBAQvC6D,GARuC,EAQlC;QACZ,OAAO2b,YAAY,CAAC3b,GAAD,CAAnB;QACA6b,iBAAiB,CAAC1f,UAAlB,CAA6B6D,GAA7B;MACH;IAXiD,CAAxB;EAAA,CAA9B;;EAaA,IAAM8b,cAAc,GAAG5jB,MAAM,CAACmE,MAAP,CAAcnE,MAAM,CAACmE,MAAP,CAAc,EAAd,EAAkB0Z,aAAlB,CAAd,EAAgD2F,YAAhD,CAAvB;EACA,OAAO;IACHrkB,IAAI,EAAE,OADH;IAEH6K,MAAM,EAAE4Z,cAFL;IAGHlV,UAAU,EAAE,oBAAAmV,IAAI,EAAI;MAChB,IAAQ7Z,MAAR,GAAmB6Z,IAAnB,CAAQ7Z,MAAR;;MACA,IAAIA,MAAM,CAAC6G,KAAX,EAAkB;QACdgJ,OAAO,CAAChJ,KAAR,CAAc,iDAAd,EAAiE1G,IAAI,CAACC,SAAL,CAAeJ,MAAf,CAAjE;MACH;;MACD,IAAI,CAACA,MAAM,CAAC0T,IAAR,IAAgB,CAAC1T,MAAM,CAACgU,UAA5B,EAAwC;QACpC,MAAM,IAAI9c,KAAJ,CAAU,wFAAV,CAAN;MACH;;MACDyhB,gBAAgB,CAAC3Y,MAAM,CAAC8T,QAAR,CAAhB;IACH,CAZE;IAaHtN,IAAI,EAAE,cAAAqT,IAAI,EAAI;MACV,IAAQrZ,OAAR,GAAsCqZ,IAAtC,CAAQrZ,OAAR;MAAA,IAAiBR,MAAjB,GAAsC6Z,IAAtC,CAAiB7Z,MAAjB;MAAA,IAAyBb,QAAzB,GAAsC0a,IAAtC,CAAyB1a,QAAzB;MACA,OAAO0Z,IAAI,CAAC,MAAD,EAASrY,OAAT,EAAkBR,MAAlB,EAA0Bb,QAA1B,EAAoCua,qBAAqB,CAACva,QAAQ,CAACzC,OAAV,CAAzD,CAAX;IACH,CAhBE;IAiBHiB,KAAK,EAAE,eAAAkc,IAAI,EAAI;MACX,IAAQrZ,OAAR,GAAsCqZ,IAAtC,CAAQrZ,OAAR;MAAA,IAAiBR,MAAjB,GAAsC6Z,IAAtC,CAAiB7Z,MAAjB;MAAA,IAAyBb,QAAzB,GAAsC0a,IAAtC,CAAyB1a,QAAzB;MACA,OAAO0Z,IAAI,CAAC,OAAD,EAAUrY,OAAV,EAAmBR,MAAnB,EAA2Bb,QAA3B,EAAqCua,qBAAqB,CAACva,QAAQ,CAACzC,OAAV,CAA1D,CAAX;IACH,CApBE;IAqBHgB,QAAQ,EAAE,kBAAAmc,IAAI,EAAI;MACd,IAAQrZ,OAAR,GAAsCqZ,IAAtC,CAAQrZ,OAAR;MAAA,IAAiBR,MAAjB,GAAsC6Z,IAAtC,CAAiB7Z,MAAjB;MAAA,IAAyBb,QAAzB,GAAsC0a,IAAtC,CAAyB1a,QAAzB,CADc,CAEd;;MACAsa,YAAY,CAAC,eAAD,CAAZ,GAAgCjZ,OAAO,CAACtD,MAAxC;MACA,OAAO2b,IAAI,CAAC,UAAD,EAAarY,OAAb,EAAsBR,MAAtB,EAA8Bb,QAA9B,EAAwCua,qBAAqB,CAACva,QAAQ,CAACzC,OAAV,CAA7D,CAAX;IACH,CA1BE;IA2BHsB,KAAK,EAAE,eAAA6b,IAAI,EAAI;MACX;MACA7jB,MAAM,CAACmH,IAAP,CAAYsc,YAAZ,EAA0Bxb,OAA1B,CAAkC,UAAAH,GAAG;QAAA,OAAI,OAAO2b,YAAY,CAAC3b,GAAD,CAAvB;MAAA,CAArC;IACH,CA9BE;IA+BHuK,OAAO,EAAE;MACL;MACAyR,KAFK,iBAECC,OAFD,EAEU7c,MAFV,EAEkBoB,OAFlB,EAE2B0b,QAF3B,EAEqC;QACtC,IAAM9B,iBAAiB,GAAG,KAAK/Y,QAA/B;QACA,IAAMtC,IAAI,GAAGqb,iBAAiB,CAACrb,IAAlB,EAAb;QACA,IAAMG,MAAM,GAAG,CAACsB,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAACtB,MAA3D,MAAuEH,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAACG,MAAxH,CAAf;QACA,IAAMC,WAAW,GAAG,CAACqB,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAACrB,WAA3D,MAA4EJ,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAACI,WAA7H,CAApB;QACA,OAAO4b,IAAI,CAAC,OAAD,EAAU7iB,MAAM,CAACmE,MAAP,CAAcnE,MAAM,CAACmE,MAAP,CAAc;UAAEc,IAAI,EAAE,OAAR;UAAiB8e,OAAO,EAAPA,OAAjB;UAA0B7c,MAAM,EAANA;QAA1B,CAAd,EAAmDD,WAAW,GAAG;UAAEA,WAAW,EAAXA;QAAF,CAAH,GAAqB,EAAnF,CAAd,EAAwGD,MAAM,GAAG;UAAEA,MAAM,EAANA;QAAF,CAAH,GAAgB,EAA9H,CAAV,EAA8I4c,cAA9I,EAA8J1B,iBAA9J,EAAiLwB,qBAAqB,CAACxB,iBAAiB,CAACxb,OAAnB,CAAtM,CAAX;MACH;IARI;EA/BN,CAAP;AA0CH,CA7DD;;AA8DA,SAASud,OAAT,GAAmB;EACf,IAAI1M,EAAJ;;EACA,IAAM2M,WAAW,GAAGtS,IAAI,CAACuS,GAAL,KAAa,UAAjC;EACA,OAAOhL,WAAW,KAAK,CAAC,CAAC5B,EAAE,GAAGzY,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAACslB,WAA7D,MAA8E,IAA9E,IAAsF7M,EAAE,KAAK,KAAK,CAAlG,GAAsG,KAAK,CAA3G,GAA+GA,EAAE,CAAC4M,GAAH,EAAhH,KAA6HD,WAAlI,GAAgJA,WAAlK;AACH;;AACD,SAAS/J,QAAT,GAAmC;EAAA,IAAjBkK,UAAiB,uEAAJ,EAAI;EAC/B,IAAMxf,CAAC,GAAG+M,IAAI,CAACuS,GAAL,EAAV;EACA,OAAQ,CAAE9gB,IAAI,CAACC,MAAL,KAAgBuB,CAAhB,GAAoBiL,IAAI,CAACuU,UAAU,KAAK,IAAf,IAAuBA,UAAU,KAAK,KAAK,CAA3C,GAA+CA,UAA/C,GAA4D,EAA7D,EAAiEJ,OAAO,EAAxE,CAAzB,GAAwGK,MAAM,CAACC,gBAAhH,EAAkIrkB,QAAlI,CAA2I,EAA3I,IACJ,CAAEmD,IAAI,CAACC,MAAL,KAAgBuB,CAAhB,GAAoBiL,IAAI,CAACuU,UAAU,KAAK,IAAf,IAAuBA,UAAU,KAAK,KAAK,CAA3C,GAA+CA,UAA/C,GAA4D,EAA7D,EAAiEJ,OAAO,EAAxE,CAAzB,GAAwGK,MAAM,CAACC,gBAAhH,EAAkIrkB,QAAlI,CAA2I,EAA3I,CADJ;AAEH;;AACD,SAAS4P,IAAT,CAAc0U,GAAd,EAA6B;EAAA,IAAVC,IAAU,uEAAH,CAAG;EACzB,IAAIC,EAAE,GAAG,aAAaD,IAAtB;EAAA,IAA4BE,EAAE,GAAG,aAAaF,IAA9C;;EACA,KAAK,IAAI/hB,GAAC,GAAG,CAAR,EAAWkiB,EAAhB,EAAoBliB,GAAC,GAAG8hB,GAAG,CAACpmB,MAA5B,EAAoCsE,GAAC,EAArC,EAAyC;IACrCkiB,EAAE,GAAGJ,GAAG,CAACK,UAAJ,CAAeniB,GAAf,CAAL;IACAgiB,EAAE,GAAGrhB,IAAI,CAACyhB,IAAL,CAAUJ,EAAE,GAAGE,EAAf,EAAmB,UAAnB,CAAL;IACAD,EAAE,GAAGthB,IAAI,CAACyhB,IAAL,CAAUH,EAAE,GAAGC,EAAf,EAAmB,UAAnB,CAAL;EACH;;EACDF,EAAE,GAAGrhB,IAAI,CAACyhB,IAAL,CAAUJ,EAAE,GAAIA,EAAE,KAAK,EAAvB,EAA4B,UAA5B,IAA0CrhB,IAAI,CAACyhB,IAAL,CAAUH,EAAE,GAAIA,EAAE,KAAK,EAAvB,EAA4B,UAA5B,CAA/C;EACAA,EAAE,GAAGthB,IAAI,CAACyhB,IAAL,CAAUH,EAAE,GAAIA,EAAE,KAAK,EAAvB,EAA4B,UAA5B,IAA0CthB,IAAI,CAACyhB,IAAL,CAAUJ,EAAE,GAAIA,EAAE,KAAK,EAAvB,EAA4B,UAA5B,CAA/C;EACA,OAAO,cAAc,UAAUC,EAAxB,KAA+BD,EAAE,KAAK,CAAtC,CAAP;AACH;;AAED,SAAS7V,KAAT,CAAekW,KAAf,EAAsB;EAClB,IAAIhd,KAAK,GAAGgd,KAAZ;;EACA,IAAI,CAACA,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAK,KAAK,CAAjC,GAAqC,KAAK,CAA1C,GAA8CA,KAAK,CAACjgB,OAAN,CAAc,QAAd,CAA/C,MAA4E,CAAhF,EAAmF;IAC/EiD,KAAK,GAAG5F,kBAAkB,CAAC4iB,KAAD,CAA1B;EACH;;EACD,IAAI;IACAhd,KAAK,GAAGoC,IAAI,CAAC0E,KAAL,CAAW9G,KAAX,CAAR;IACA,IAAIA,KAAK,KAAK,MAAd,EACI,OAAO,IAAP;IACJ,IAAIA,KAAK,KAAK,OAAd,EACI,OAAO,KAAP;IACJ,IAAI,OAAOA,KAAP,KAAiB,QAArB,EACI,OAAOA,KAAP;;IACJ,IAAI2M,UAAU,CAAC3M,KAAD,CAAV,KAAsBA,KAA1B,EAAiC;MAC7BA,KAAK,GAAG2M,UAAU,CAAC3M,KAAD,CAAlB;IACH;EACJ,CAXD,CAYA,OAAOhK,CAAP,EAAU,CAAG;;EACb,IAAIgK,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAK,EAAhC,EAAoC;IAChC;EACH;;EACD,OAAOA,KAAP;AACH;;AACD,IAAMid,cAAc,GAAG;EACnBrd,KAAK,EAAE;IAAA,OAAMkB,OAAO,CAACgC,OAAR,EAAN;EAAA,CADY;EAEnB2F,IAAI,EAAE;IAAA,OAAM3H,OAAO,CAACgC,OAAR,EAAN;EAAA,CAFa;EAGnBhE,IAAI,EAAE;IAAA,OAAO,EAAP;EAAA,CAHa;EAInBa,QAAQ,EAAE;IAAA,OAAMmB,OAAO,CAACgC,OAAR,CAAgB,EAAhB,CAAN;EAAA,CAJS;EAKnBiZ,KAAK,EAAE;IAAA,OAAMjb,OAAO,CAACgC,OAAR,CAAgB,EAAhB,CAAN;EAAA,CALY;EAMnB7C,KAAK,EAAE;IAAA,OAAMa,OAAO,CAACgC,OAAR,CAAgB,EAAhB,CAAN;EAAA;AANY,CAAvB;;AAQA,SAASoa,iCAAT,CAA2CxO,IAA3C,EAAiDyO,EAAjD,EAAmE;EAAA,IAAdzb,OAAc,uEAAJ,EAAI;EAC/D,IAAM8H,SAAS,GAAGiF,YAAY,CAAC;IAC3B7F,GAAG,EAAE,MADsB;IAE3BE,KAAK,EAAE,CAAC,CAAC4F,IAAI,CAAC5F,KAFa;IAG3BnK,OAAO,EAAEwe,EAAE,CAAC3b,KAAH,EAHkB;IAI3BE,OAAO,GAAG8Z,oBAAoB,CAAC9M,IAAD,CAAvB,sNAAkChN,OAAlC;EAJoB,CAAD,CAA9B;EAMA,IAAM0b,YAAY,GAAG5T,SAAS,CAACf,IAA/B;;EACAe,SAAS,CAACf,IAAV,GAAiB,YAAa;IAC1B,IAAI,UAAKpS,MAAL,KAAgB,CAAhB,IAAqB,8DAAmB,QAAxC,IAAoD,8DAAmB,QAA3E,EAAqF;MACjF,OAAO+mB,YAAY,CAACnlB,MAAM,CAACmE,MAAP,CAAc;QAAEhF,IAAI;MAAN,CAAd,mDAAD,CAAnB;IACH,CAFD,MAGK;MACD,OAAOgmB,YAAY,MAAZ,mBAAP;IACH;EACJ,CAPD;;EAQA,OAAOnlB,MAAM,CAACmE,MAAP,CAAcnE,MAAM,CAACmE,MAAP,CAAc,EAAd,EAAkBoN,SAAlB,CAAd,EAA4C;IAAEuS,KAAF,iBAAQC,OAAR,EAAiB7c,MAAjB,EAAyBoB,OAAzB,EAAkC0b,QAAlC,EAA4C;MACvF,mCAAqBhkB,MAAM,CAAColB,MAAP,CAAc7T,SAAS,CAAC9H,OAAxB,CAArB,sCAAuD;QAAlD,IAAM6B,MAAM,sBAAZ;;QACD,IAAIA,MAAM,CAAC,OAAD,CAAV,EAAqB;UACjBA,MAAM,CAAC,OAAD,CAAN,CAAgByY,OAAhB,EAAyB7c,MAAzB,EAAiCoB,OAAjC,EAA0C0b,QAA1C;QACH;MACJ;;MACD,OAAOnb,OAAO,CAACgC,OAAR,CAAgB,EAAhB,CAAP;IACH;EAP8C,CAA5C,CAAP;AAQH;;AACD,SAASwa,cAAT,CAAwB5O,IAAxB,EAA8B;EAC1B,IAAM6O,SAAS,GAAGnM,WAAW,EAA7B;EACA,IAAM+L,EAAE,GAAGzO,IAAI,CAACyH,OAAL,KAAiBoH,SAAS,GAAGjF,aAAa,CAAC5J,IAAD,CAAhB,GAAyBwK,YAAY,CAACxK,IAAD,CAA/D,CAAX;EACA,OAAOwO,iCAAiC,CAACxO,IAAD,EAAOyO,EAAP,CAAxC,CAH0B,CAI1B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACH;;;;;;;;;;;;;;;;;;;ACv8BD,IAAMK,YAAY,GAAGC,2DAAa,CAAuB,IAAvB,CAAlC;;ACCA,IAAMC,aAAa,GAAmE,SAAhFA,aAAgF,QAAK;EACzF,IAAMtc,QAAQ,GAAkBuc,qDAAO,CAAC;IACtC,IAAIne,KAAK,CAACe,OAANf,CAAc8E,QAAlB,EAA4B;MAC1B,OAAO;QAAEkF,SAAS,EAAEyT,gEAAcA;MAA3B,CAAP;IACD,CAFD,MAEO,IAAI,CAACzd,KAAK,CAACe,OAANf,CAAcmW,IAAnB,EAAyB;MAC9B,IAAMiI,GAAG,GAAG,6EAAZ;MACA9L,OAAO,CAACS,KAART,CAAa,OAAM8L,GAAnB9L,EAA0B,gCAA1BA;MACA,OAAO;QAAEtI,SAAS,EAAEyT,gEAAcA;MAA3B,CAAP;IACD,CAJM,MAIA;MACL,OAAO;QAAEzT,SAAS,EAAE8T,wEAAc,CAAC9d,KAAK,CAACe,OAAP;MAA3B,CAAP;;EAEH,CAVsC,EAUpC,CAACf,KAAK,CAACe,OAANf,CAAc8E,QAAf,EAAyB9E,KAAK,CAACe,OAANf,CAAcmW,IAAvC,CAVoC,CAAvC;EAWA,OAAOkI,4DAACL,YAAY,CAACM,QAAdD,EAAsB;IAAC7d,KAAK,EAAEoB;EAAR,CAAtByc,EAAyCre,KAAK,CAACue,QAA/CF,CAAP;AACD,CAbD;;ACcA,SAASG,QAAT,CAAkBtP,IAAlB,EAA6C;EAC3C,IAAIuP,aAAa,GAAGC,wDAAU,CAACV,YAAD,CAA9B;;EACA,IAAI9O,IAAI,SAAJA,QAAI,WAAJA,QAAI,CAAEpK,QAAV,EAAoB;IAClB,OAAO;MAAEkF,SAAS,EAAEyT,gEAAcA;IAA3B,CAAP;;;EAEF,IAAI,CAACgB,aAAL,EAAoB;IAClB,IAAIvP,IAAI,SAAJA,QAAI,WAAJA,QAAI,CAAEiH,IAANjH,IAAcA,IAAI,SAAJA,QAAI,WAAJA,QAAI,CAAEuH,UAAxB,EAAoC;MAClC,OAAO;QAAEzM,SAAS,EAAE8T,wEAAc,CAAC5O,IAAD;MAA3B,CAAP;IACD,CAFD,MAEO;MACL,IAAMkP,GAAG,GACP,iJADF;MAEA9L,OAAO,CAACS,KAART,CAAa,OAAM8L,GAAnB9L,EAA0B,gCAA1BA;MACA,OAAO;QAAEtI,SAAS,EAAEyT,gEAAcA;MAA3B,CAAP;;EAEH,CATD,MASO,IAAIvO,IAAI,SAAJA,QAAI,WAAJA,QAAI,CAAEiH,IAANjH,IAAcA,IAAI,SAAJA,QAAI,WAAJA,QAAI,CAAEuH,UAAxB,EAAoC;IACzC,MAAM,IAAI9c,KAAJ,CACJ,2IADI,CAAN;EAID,CALM,MAKA,IAAI8kB,aAAa,CAACzU,SAAlB,EAA6B;IAClC,OAAOyU,aAAP;EACD,CAFM,MAEA;IACL,MAAM,IAAI9kB,KAAJ,CAAS,wEAAT,CAAN;;AAEJ;;;;;;;;;;AC5CA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAIglB,OAAQ,GAAG,oBAAW;EACtBA,OAAQ,GAAGlmB,MAAM,CAACmE,MAAP,IAAiB,SAAS+hB,QAAT,CAAkBpoB,CAAlB,EAAqB;IAC7C,KAAK,IAAIuE,CAAJ,EAAOK,CAAC,GAAG,CAAX,EAAczE,CAAC,GAAG8D,SAAS,CAAC3D,MAAjC,EAAyCsE,CAAC,GAAGzE,CAA7C,EAAgDyE,CAAC,EAAjD,EAAqD;MACjDL,CAAC,GAAGN,SAAS,CAACW,CAAD,CAAb;;MACA,KAAK,IAAIsC,CAAT,IAAc3C,CAAd;QAAiB,IAAIrC,MAAM,CAACC,SAAP,CAAiBmE,cAAjB,CAAgCjE,IAAhC,CAAqCkC,CAArC,EAAwC2C,CAAxC,CAAJ,EAAgDlH,CAAC,CAACkH,CAAD,CAAD,GAAO3C,CAAC,CAAC2C,CAAD,CAAR;MAAjE;IACH;;IACD,OAAOlH,CAAP;EACH,CAND;;EAOA,OAAOooB,OAAQ,CAAClkB,KAAT,CAAe,IAAf,EAAqBD,SAArB,CAAP;AACH,CATD;;AAWA,SAASokB,MAAT,CAAgB9jB,CAAhB,EAAmBtE,CAAnB,EAAsB;EAClB,IAAID,CAAC,GAAG,EAAR;;EACA,KAAK,IAAIkH,CAAT,IAAc3C,CAAd;IAAiB,IAAIrC,MAAM,CAACC,SAAP,CAAiBmE,cAAjB,CAAgCjE,IAAhC,CAAqCkC,CAArC,EAAwC2C,CAAxC,KAA8CjH,CAAC,CAAC+G,OAAF,CAAUE,CAAV,IAAe,CAAjE,EACblH,CAAC,CAACkH,CAAD,CAAD,GAAO3C,CAAC,CAAC2C,CAAD,CAAR;EADJ;;EAEA,IAAI3C,CAAC,IAAI,IAAL,IAAa,OAAOrC,MAAM,CAAC+V,qBAAd,KAAwC,UAAzD,EACI,KAAK,IAAIrT,CAAC,GAAG,CAAR,EAAWsC,CAAC,GAAGhF,MAAM,CAAC+V,qBAAP,CAA6B1T,CAA7B,CAApB,EAAqDK,CAAC,GAAGsC,CAAC,CAAC5G,MAA3D,EAAmEsE,CAAC,EAApE,EAAwE;IACpE,IAAI3E,CAAC,CAAC+G,OAAF,CAAUE,CAAC,CAACtC,CAAD,CAAX,IAAkB,CAAlB,IAAuB1C,MAAM,CAACC,SAAP,CAAiBmmB,oBAAjB,CAAsCjmB,IAAtC,CAA2CkC,CAA3C,EAA8C2C,CAAC,CAACtC,CAAD,CAA/C,CAA3B,EACI5E,CAAC,CAACkH,CAAC,CAACtC,CAAD,CAAF,CAAD,GAAUL,CAAC,CAAC2C,CAAC,CAACtC,CAAD,CAAF,CAAX;EACP;EACL,OAAO5E,CAAP;AACH;;AAED,SAASqa,SAAT,CAAmBC,OAAnB,EAA4BC,UAA5B,EAAwC5S,CAAxC,EAA2C6S,SAA3C,EAAsD;EAClD,SAASC,KAAT,CAAexQ,KAAf,EAAsB;IAAE,OAAOA,KAAK,YAAYtC,CAAjB,GAAqBsC,KAArB,GAA6B,IAAItC,CAAJ,CAAM,UAAUoF,OAAV,EAAmB;MAAEA,OAAO,CAAC9C,KAAD,CAAP;IAAiB,CAA5C,CAApC;EAAoF;;EAC5G,OAAO,KAAKtC,CAAC,KAAKA,CAAC,GAAGoD,OAAT,CAAN,EAAyB,UAAUgC,OAAV,EAAmBa,MAAnB,EAA2B;IACvD,SAAS8M,SAAT,CAAmBzQ,KAAnB,EAA0B;MAAE,IAAI;QAAE0Q,IAAI,CAACH,SAAS,CAAChT,IAAV,CAAeyC,KAAf,CAAD,CAAJ;MAA8B,CAApC,CAAqC,OAAOhK,CAAP,EAAU;QAAE2N,MAAM,CAAC3N,CAAD,CAAN;MAAY;IAAE;;IAC3F,SAAS2a,QAAT,CAAkB3Q,KAAlB,EAAyB;MAAE,IAAI;QAAE0Q,IAAI,CAACH,SAAS,CAAC,OAAD,CAAT,CAAmBvQ,KAAnB,CAAD,CAAJ;MAAkC,CAAxC,CAAyC,OAAOhK,CAAP,EAAU;QAAE2N,MAAM,CAAC3N,CAAD,CAAN;MAAY;IAAE;;IAC9F,SAAS0a,IAAT,CAAcE,MAAd,EAAsB;MAAEA,MAAM,CAACC,IAAP,GAAc/N,OAAO,CAAC8N,MAAM,CAAC5Q,KAAR,CAArB,GAAsCwQ,KAAK,CAACI,MAAM,CAAC5Q,KAAR,CAAL,CAAoBgB,IAApB,CAAyByP,SAAzB,EAAoCE,QAApC,CAAtC;IAAsF;;IAC9GD,IAAI,CAAC,CAACH,SAAS,GAAGA,SAAS,CAACtW,KAAV,CAAgBoW,OAAhB,EAAyBC,UAAU,IAAI,EAAvC,CAAb,EAAyD/S,IAAzD,EAAD,CAAJ;EACH,CALM,CAAP;AAMH;;AAED,SAAS+gB,WAAT,CAAqBjO,OAArB,EAA8BoB,IAA9B,EAAoC;EAChC,IAAI1T,CAAC,GAAG;IAAEwgB,KAAK,EAAE,CAAT;IAAYC,IAAI,EAAE,gBAAW;MAAE,IAAIzoB,CAAC,CAAC,CAAD,CAAD,GAAO,CAAX,EAAc,MAAMA,CAAC,CAAC,CAAD,CAAP;MAAY,OAAOA,CAAC,CAAC,CAAD,CAAR;IAAc,CAAvE;IAAyE0oB,IAAI,EAAE,EAA/E;IAAmFC,GAAG,EAAE;EAAxF,CAAR;EAAA,IAAsG/iB,CAAtG;EAAA,IAAyGa,CAAzG;EAAA,IAA4GzG,CAA5G;EAAA,IAA+G2W,CAA/G;EACA,OAAOA,CAAC,GAAG;IAAEnP,IAAI,EAAEohB,IAAI,CAAC,CAAD,CAAZ;IAAiB,SAASA,IAAI,CAAC,CAAD,CAA9B;IAAmC,UAAUA,IAAI,CAAC,CAAD;EAAjD,CAAJ,EAA4D,OAAOjiB,MAAP,KAAkB,UAAlB,KAAiCgQ,CAAC,CAAChQ,MAAM,CAACkiB,QAAR,CAAD,GAAqB,YAAW;IAAE,OAAO,IAAP;EAAc,CAAjF,CAA5D,EAAgJlS,CAAvJ;;EACA,SAASiS,IAAT,CAAczoB,CAAd,EAAiB;IAAE,OAAO,UAAUqG,CAAV,EAAa;MAAE,OAAOmU,IAAI,CAAC,CAACxa,CAAD,EAAIqG,CAAJ,CAAD,CAAX;IAAsB,CAA5C;EAA+C;;EAClE,SAASmU,IAAT,CAAcmO,EAAd,EAAkB;IACd,IAAIljB,CAAJ,EAAO,MAAM,IAAIpC,SAAJ,CAAc,iCAAd,CAAN;;IACP,OAAOwE,CAAP;MAAU,IAAI;QACV,IAAIpC,CAAC,GAAG,CAAJ,EAAOa,CAAC,KAAKzG,CAAC,GAAG8oB,EAAE,CAAC,CAAD,CAAF,GAAQ,CAAR,GAAYriB,CAAC,CAAC,QAAD,CAAb,GAA0BqiB,EAAE,CAAC,CAAD,CAAF,GAAQriB,CAAC,CAAC,OAAD,CAAD,KAAe,CAACzG,CAAC,GAAGyG,CAAC,CAAC,QAAD,CAAN,KAAqBzG,CAAC,CAACqC,IAAF,CAAOoE,CAAP,CAArB,EAAgC,CAA/C,CAAR,GAA4DA,CAAC,CAACe,IAAjG,CAAD,IAA2G,CAAC,CAACxH,CAAC,GAAGA,CAAC,CAACqC,IAAF,CAAOoE,CAAP,EAAUqiB,EAAE,CAAC,CAAD,CAAZ,CAAL,EAAuBhO,IAA9I,EAAoJ,OAAO9a,CAAP;QACpJ,IAAIyG,CAAC,GAAG,CAAJ,EAAOzG,CAAX,EAAc8oB,EAAE,GAAG,CAACA,EAAE,CAAC,CAAD,CAAF,GAAQ,CAAT,EAAY9oB,CAAC,CAACiK,KAAd,CAAL;;QACd,QAAQ6e,EAAE,CAAC,CAAD,CAAV;UACI,KAAK,CAAL;UAAQ,KAAK,CAAL;YAAQ9oB,CAAC,GAAG8oB,EAAJ;YAAQ;;UACxB,KAAK,CAAL;YAAQ9gB,CAAC,CAACwgB,KAAF;YAAW,OAAO;cAAEve,KAAK,EAAE6e,EAAE,CAAC,CAAD,CAAX;cAAgBhO,IAAI,EAAE;YAAtB,CAAP;;UACnB,KAAK,CAAL;YAAQ9S,CAAC,CAACwgB,KAAF;YAAW/hB,CAAC,GAAGqiB,EAAE,CAAC,CAAD,CAAN;YAAWA,EAAE,GAAG,CAAC,CAAD,CAAL;YAAU;;UACxC,KAAK,CAAL;YAAQA,EAAE,GAAG9gB,CAAC,CAAC2gB,GAAF,CAAMnH,GAAN,EAAL;;YAAkBxZ,CAAC,CAAC0gB,IAAF,CAAOlH,GAAP;;YAAc;;UACxC;YACI,IAAI,EAAExhB,CAAC,GAAGgI,CAAC,CAAC0gB,IAAN,EAAY1oB,CAAC,GAAGA,CAAC,CAACM,MAAF,GAAW,CAAX,IAAgBN,CAAC,CAACA,CAAC,CAACM,MAAF,GAAW,CAAZ,CAAnC,MAAuDwoB,EAAE,CAAC,CAAD,CAAF,KAAU,CAAV,IAAeA,EAAE,CAAC,CAAD,CAAF,KAAU,CAAhF,CAAJ,EAAwF;cAAE9gB,CAAC,GAAG,CAAJ;cAAO;YAAW;;YAC5G,IAAI8gB,EAAE,CAAC,CAAD,CAAF,KAAU,CAAV,KAAgB,CAAC9oB,CAAD,IAAO8oB,EAAE,CAAC,CAAD,CAAF,GAAQ9oB,CAAC,CAAC,CAAD,CAAT,IAAgB8oB,EAAE,CAAC,CAAD,CAAF,GAAQ9oB,CAAC,CAAC,CAAD,CAAhD,CAAJ,EAA2D;cAAEgI,CAAC,CAACwgB,KAAF,GAAUM,EAAE,CAAC,CAAD,CAAZ;cAAiB;YAAQ;;YACtF,IAAIA,EAAE,CAAC,CAAD,CAAF,KAAU,CAAV,IAAe9gB,CAAC,CAACwgB,KAAF,GAAUxoB,CAAC,CAAC,CAAD,CAA9B,EAAmC;cAAEgI,CAAC,CAACwgB,KAAF,GAAUxoB,CAAC,CAAC,CAAD,CAAX;cAAgBA,CAAC,GAAG8oB,EAAJ;cAAQ;YAAQ;;YACrE,IAAI9oB,CAAC,IAAIgI,CAAC,CAACwgB,KAAF,GAAUxoB,CAAC,CAAC,CAAD,CAApB,EAAyB;cAAEgI,CAAC,CAACwgB,KAAF,GAAUxoB,CAAC,CAAC,CAAD,CAAX;;cAAgBgI,CAAC,CAAC2gB,GAAF,CAAM7jB,IAAN,CAAWgkB,EAAX;;cAAgB;YAAQ;;YACnE,IAAI9oB,CAAC,CAAC,CAAD,CAAL,EAAUgI,CAAC,CAAC2gB,GAAF,CAAMnH,GAAN;;YACVxZ,CAAC,CAAC0gB,IAAF,CAAOlH,GAAP;;YAAc;QAXtB;;QAaAsH,EAAE,GAAGpN,IAAI,CAACrZ,IAAL,CAAUiY,OAAV,EAAmBtS,CAAnB,CAAL;MACH,CAjBS,CAiBR,OAAO/H,CAAP,EAAU;QAAE6oB,EAAE,GAAG,CAAC,CAAD,EAAI7oB,CAAJ,CAAL;QAAawG,CAAC,GAAG,CAAJ;MAAQ,CAjBzB,SAiBkC;QAAEb,CAAC,GAAG5F,CAAC,GAAG,CAAR;MAAY;IAjB1D;;IAkBA,IAAI8oB,EAAE,CAAC,CAAD,CAAF,GAAQ,CAAZ,EAAe,MAAMA,EAAE,CAAC,CAAD,CAAR;IAAa,OAAO;MAAE7e,KAAK,EAAE6e,EAAE,CAAC,CAAD,CAAF,GAAQA,EAAE,CAAC,CAAD,CAAV,GAAgB,KAAK,CAA9B;MAAiChO,IAAI,EAAE;IAAvC,CAAP;EAC/B;AACJ;;AAED,SAASiO,aAAT,CAAuBC,EAAvB,EAA2B5b,IAA3B,EAAiC6b,IAAjC,EAAuC;EACnC,IAAIA,IAAI,IAAIhlB,SAAS,CAAC3D,MAAV,KAAqB,CAAjC,EAAoC,KAAK,IAAIsE,CAAC,GAAG,CAAR,EAAW1E,CAAC,GAAGkN,IAAI,CAAC9M,MAApB,EAA4B4oB,EAAjC,EAAqCtkB,CAAC,GAAG1E,CAAzC,EAA4C0E,CAAC,EAA7C,EAAiD;IACjF,IAAIskB,EAAE,IAAI,EAAEtkB,CAAC,IAAIwI,IAAP,CAAV,EAAwB;MACpB,IAAI,CAAC8b,EAAL,EAASA,EAAE,GAAGhb,KAAK,CAAC/L,SAAN,CAAgBR,KAAhB,CAAsBU,IAAtB,CAA2B+K,IAA3B,EAAiC,CAAjC,EAAoCxI,CAApC,CAAL;MACTskB,EAAE,CAACtkB,CAAD,CAAF,GAAQwI,IAAI,CAACxI,CAAD,CAAZ;IACH;EACJ;EACD,OAAOokB,EAAE,CAAC7kB,MAAH,CAAU+kB,EAAE,IAAIhb,KAAK,CAAC/L,SAAN,CAAgBR,KAAhB,CAAsBU,IAAtB,CAA2B+K,IAA3B,CAAhB,CAAP;AACH;;AAED,IAAI+b,SAAS,GAAG;EACZC,KAAK,EAAE;IAAE/nB,IAAI,EAAE,OAAR;IAAiBgoB,QAAQ,EAAE;EAA3B,CADK;EAEZC,IAAI,EAAE;IAAEjoB,IAAI,EAAE,MAAR;IAAgBgoB,QAAQ,EAAE;EAA1B,CAFM;EAGZE,IAAI,EAAE;IAAEloB,IAAI,EAAE,MAAR;IAAgBgoB,QAAQ,EAAE;EAA1B,CAHM;EAIZG,KAAK,EAAE;IAAEnoB,IAAI,EAAE,OAAR;IAAiBgoB,QAAQ,EAAE;EAA3B,CAJK;EAKZI,IAAI,EAAE;IAAEpoB,IAAI,EAAE,MAAR;IAAgBgoB,QAAQ,EAAE;EAA1B;AALM,CAAhB;AAOA,IAAIK,UAAU,GAAG,IAAjB;AACA;AACA;AACA;;AACA,SAASC,SAAT,GAAqB;EACjB,IAAID,UAAJ,EAAgB;IACZ,OAAOA,UAAP;EACH,CAFD,MAGK;IACD,OAAOA,UAAU,GAAGE,YAAY,EAAhC;EACH;AACJ;;AACD,SAASC,eAAT,CAAyBC,YAAzB,EAAuC;EACnC,IAAIC,QAAQ,GAAGZ,SAAS,CAACW,YAAY,CAACE,iBAAb,EAAD,CAAxB;;EACA,IAAI,CAACD,QAAL,EAAe;IACXhO,OAAO,CAACsB,IAAR,CAAa,kCAAkClZ,MAAlC,CAAyC2lB,YAAY,CAACE,iBAAb,EAAzC,EAA2E,sBAA3E,CAAb;IACAD,QAAQ,GAAGZ,SAAS,CAACG,IAArB;EACH;;EACDI,UAAU,GAAGE,YAAY,CAACG,QAAD,CAAzB;EACA,OAAOL,UAAP;AACH;;AACD,SAASO,WAAT,CAAqB5oB,IAArB,EAA2B6f,GAA3B,EAAgC;EAC5B,IAAI,CAACgJ,iBAAiB,EAAtB,EAA0B;IACtB;EACH;;EACD,IAAIC,GAAG,GAAGnpB,MAAV;;EACA,IAAI,CAACmpB,GAAG,CAACC,YAAT,EAAuB;IACnBD,GAAG,CAACC,YAAJ,GAAmB,EAAnB;EACH;;EACDD,GAAG,CAACC,YAAJ,CAAiB/oB,IAAjB,IAAyB6f,GAAzB;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS0I,YAAT,CAAsBG,QAAtB,EAAgC;EAC5B,IAAIM,cAAc,GAAGH,iBAAiB,MAAMlpB,MAAM,CAAC,kBAAD,CAAlD;EACA,IAAIspB,WAAW,GAAGnB,SAAS,CAACI,IAA5B;;EACA,IAAIc,cAAJ,EAAoB;IAChB,IAAIE,KAAK,GAAGpB,SAAS,CAACkB,cAAc,CAACtmB,WAAf,EAAD,CAArB;;IACA,IAAIwmB,KAAK,IAAIA,KAAK,GAAG,CAArB,EAAwB;MACpBD,WAAW,GAAGC,KAAd;IACH;EACJ,CALD,MAMK,IAAIR,QAAJ,EAAc;IACfO,WAAW,GAAGP,QAAd;EACH;;EACD,IAAIS,MAAM,GAAG;IAAEF,WAAW,EAAEA;EAAf,CAAb;EACApoB,MAAM,CAAColB,MAAP,CAAc6B,SAAd,EAAyBhf,OAAzB,CAAiC,UAAUsP,EAAV,EAAc;IAC3C,IAAIpY,IAAI,GAAGoY,EAAE,CAACpY,IAAd;IAAA,IAAoBgoB,QAAQ,GAAG5P,EAAE,CAAC4P,QAAlC;;IACAmB,MAAM,CAACnpB,IAAI,CAAC6d,WAAL,EAAD,CAAN,GAA6B,YAAY;MACrC,IAAI6G,IAAI,GAAG,EAAX;;MACA,KAAK,IAAI0E,EAAE,GAAG,CAAd,EAAiBA,EAAE,GAAGxmB,SAAS,CAAC3D,MAAhC,EAAwCmqB,EAAE,EAA1C,EAA8C;QAC1C1E,IAAI,CAAC0E,EAAD,CAAJ,GAAWxmB,SAAS,CAACwmB,EAAD,CAApB;MACH;;MACD,IAAIpB,QAAQ,IAAIiB,WAAW,CAACjB,QAAxB,IAAoCtD,IAAI,CAACzlB,MAAL,GAAc,CAAtD,EAAyD;QACrD,IAAI+C,OAAO,GAAG0iB,IAAI,CAAC,CAAD,CAAlB;QACA,IAAI2E,OAAO,GAAG3E,IAAI,CAAC9e,MAAL,CAAY,CAAZ,CAAd;QACA,IAAI0jB,YAAY,GAAG,MAAMxmB,MAAN,CAAa9C,IAAb,EAAmB,IAAnB,EAAyB8C,MAAzB,CAAgCd,OAAhC,CAAnB;;QACA,IAAIhC,IAAI,KAAK,OAAT,IAAoBA,IAAI,KAAK,MAAjC,EAAyC;UACrC0a,OAAO,CAACC,GAAR,CAAY9X,KAAZ,CAAkB6X,OAAlB,EAA2BgN,aAAa,CAAC,CAAC4B,YAAD,CAAD,EAAiBD,OAAjB,EAA0B,KAA1B,CAAxC;QACH,CAFD,MAGK,IAAIrpB,IAAI,KAAK,MAAb,EAAqB;UACtB0a,OAAO,CAACsB,IAAR,CAAanZ,KAAb,CAAmB6X,OAAnB,EAA4BgN,aAAa,CAAC,CAAC4B,YAAD,CAAD,EAAiBD,OAAjB,EAA0B,KAA1B,CAAzC;QACH,CAFI,MAGA;UACD3O,OAAO,CAACS,KAAR,CAActY,KAAd,CAAoB6X,OAApB,EAA6BgN,aAAa,CAAC,CAAC4B,YAAD,CAAD,EAAiBD,OAAjB,EAA0B,KAA1B,CAA1C;QACH;MACJ;IACJ,CAnBD;EAoBH,CAtBD;EAuBAT,WAAW,CAAC,QAAD,EAAWO,MAAX,CAAX;EACA,OAAOA,MAAP;AACH;AAED;AACA;AACA;AACA;;;AAEA,SAASN,iBAAT,GAAgD;EAAA,IAArBU,OAAqB,uEAAXhS,SAAW;EAC9C,IAAIiS,eAAe,GAAG,CAAC,CAAC5F,UAAU,CAACjkB,MAAnC;;EACA,IAAI,CAAC6pB,eAAD,IAAoBD,OAAxB,EAAiC;IAC/BjB,SAAS,GAAGtM,IAAZ,CAAiBuN,OAAjB;EACD;;EACD,OAAOC,eAAP;AACD;AAGD;AACA;AACA;AACA;;;AACA,SAASC,aAAT,GAAwC;EAAA,IAAjBjD,GAAiB,uEAAXjP,SAAW;;EACtC,IAAI,CAACsR,iBAAiB,EAAtB,EAA0B;IACxB,MAAM,IAAI9mB,KAAJ,CAAUykB,GAAG,IAAI,sGAAjB,CAAN;EACD;;EACD,OAAO7mB,MAAP;AACD;;AAED,SAAS+pB,eAAT,CAAyB1pB,IAAzB,EAA+B6f,GAA/B,EAAoC8J,GAApC,EAAyC;EACrC,IAAIvR,EAAJ;;EACA,IAAIuR,GAAG,KAAK,KAAK,CAAjB,EAAoB;IAAEA,GAAG,GAAG,EAAN;EAAW;;EACjC,IAAIC,GAAG,GAAGxU,kBAAV;EACA,IAAIxM,KAAK,GAAGghB,GAAG,CAAC/J,GAAD,CAAf;EACA,IAAIwF,GAAG,GAAGrlB,IAAI,GAAG,GAAP,GAAa4I,KAAvB;EACAyc,GAAG,IAAI,aAAa,CAACjN,EAAE,GAAGuR,GAAG,CAAC3Y,IAAV,MAAoB,IAApB,IAA4BoH,EAAE,KAAK,KAAK,CAAxC,GAA4CA,EAA5C,GAAiD,GAA9D,CAAP;;EACA,IAAIuR,GAAG,CAACE,MAAR,EAAgB;IACZxE,GAAG,IAAI,eAAenhB,IAAI,CAAC0d,KAAL,CAAW+H,GAAG,CAACE,MAAf,CAAtB;EACH;;EACD,IAAIF,GAAG,CAAC3J,MAAR,EAAgB;IACZqF,GAAG,IAAI,cAAcsE,GAAG,CAAC3J,MAAzB;EACH;;EACD,IAAI2J,GAAG,CAACG,OAAR,EAAiB;IACbzE,GAAG,IAAI,eAAesE,GAAG,CAACG,OAAJ,CAAYzU,WAAZ,EAAtB;EACH;;EACD,IAAIsU,GAAG,CAACI,QAAR,EAAkB;IACd1E,GAAG,IAAI,YAAP;EACH;;EACD,IAAIsE,GAAG,CAACrJ,MAAR,EAAgB;IACZ+E,GAAG,IAAI,UAAP;EACH;;EACD,IAAIsE,GAAG,CAACK,QAAR,EAAkB;IACd,IAAIA,QAAQ,GAAG,OAAOL,GAAG,CAACK,QAAX,KAAwB,QAAxB,GACTL,GAAG,CAACK,QAAJ,CAAanM,WAAb,EADS,GAET8L,GAAG,CAACK,QAFV;;IAGA,QAAQA,QAAR;MACI,KAAK,IAAL;QACI3E,GAAG,IAAI,mBAAP;QACA;;MACJ,KAAK,KAAL;QACIA,GAAG,IAAI,gBAAP;QACA;;MACJ,KAAK,QAAL;QACIA,GAAG,IAAI,mBAAP;QACA;;MACJ,KAAK,MAAL;QACIA,GAAG,IAAI,iBAAP;QACA;;MACJ;QACI,MAAM,IAAIljB,SAAJ,CAAc,4BAAd,CAAN;IAdR;EAgBH;;EACD,OAAOkjB,GAAP;AACH;;AAED,IAAI4E,eAAe,GAAG,SAAlBA,eAAkB,GAAY;EAC9B,IAAIpB,iBAAiB,EAArB,EAAyB;IACrB,OAAOlpB,MAAM,CAACoE,QAAP,CAAgBgc,QAAhB,CAAyB9c,OAAzB,CAAiC,MAAjC,EAAyC,EAAzC,CAAP;EACH;;EACD,OAAOsU,SAAP;AACH,CALD;;AAMA,IAAI2S,kBAAJ;;AACA,SAASC,iBAAT,CAA2BC,SAA3B,EAAsC;EAClC,IAAI,CAACA,SAAL,EAAgB;IACZ,OAAO,EAAP;EACH;;EACD,IAAIrO,GAAG,GAAG,EAAV;EACA,IAAIsO,OAAO,GAAGD,SAAS,CAACprB,KAAV,CAAgB,GAAhB,CAAd;;EACA,KAAK,IAAIuE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8mB,OAAO,CAACprB,MAA5B,EAAoCsE,CAAC,EAArC,EAAyC;IACrC,IAAI4R,MAAM,GAAGkV,OAAO,CAAC9mB,CAAD,CAApB;IACA,IAAI+mB,GAAG,GAAGnV,MAAM,CAACxP,OAAP,CAAe,GAAf,CAAV;;IACA,IAAI2kB,GAAG,GAAG,CAAV,EAAa;MACTvO,GAAG,CAAC5G,MAAM,CAACkK,MAAP,CAAc9b,CAAC,GAAG,CAAJ,GAAQ,CAAR,GAAY,CAA1B,EAA6BA,CAAC,GAAG,CAAJ,GAAQ+mB,GAAG,GAAG,CAAd,GAAkBA,GAA/C,CAAD,CAAH,GAA2DnV,MAAM,CAACkK,MAAP,CAAciL,GAAG,GAAG,CAApB,CAA3D;IACH;EACJ;;EACD,OAAOvO,GAAP;AACH;;AACD,SAASwO,cAAT,CAAwBrT,MAAxB,EAAgCD,MAAhC,EAAwC;EACpC,OAAOpK,KAAK,CAACd,IAAN,CAAWmL,MAAM,CAACa,UAAlB,EAA8BjP,OAA9B,CAAsC,UAAU0hB,SAAV,EAAqB;IAC9DvT,MAAM,CAACuB,YAAP,CAAoBgS,SAAS,CAAC/nB,QAA9B,EAAwC+nB,SAAS,CAACC,SAAlD;EACH,CAFM,CAAP;AAGH;;AACD,SAASC,gBAAT,CAA0BC,OAA1B,EAAmCC,IAAnC,EAAyC;EACrCD,OAAO,CAACxQ,SAAR,GAAoByQ,IAApB;EACA,IAAIjT,OAAO,GAAGgT,OAAO,CAAC/Z,oBAAR,CAA6B,QAA7B,CAAd;EACA,IAAIia,KAAJ;;EACA,KAAKA,KAAK,GAAGlT,OAAO,CAAC1Y,MAAR,GAAiB,CAA9B,EAAiC4rB,KAAK,IAAI,CAA1C,EAA6CA,KAAK,EAAlD,EAAsD;IAClD,IAAIxS,MAAM,GAAGV,OAAO,CAACkT,KAAD,CAApB;IACA,IAAIjS,GAAG,GAAGtI,QAAQ,CAACgI,aAAT,CAAuB,QAAvB,CAAV;IACAiS,cAAc,CAAClS,MAAD,EAASO,GAAT,CAAd;;IACA,IAAIP,MAAM,CAAC8B,SAAX,EAAsB;MAClBvB,GAAG,CAACuB,SAAJ,GAAgB9B,MAAM,CAAC8B,SAAvB;IACH;;IACDvB,GAAG,CAACJ,YAAJ,CAAiB,mBAAjB,EAAsCmS,OAAO,CAAC3W,EAA9C;IACA1D,QAAQ,CAACM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,EAAyCiK,WAAzC,CAAqDjC,GAArD;IACAjB,OAAO,CAACkT,KAAD,CAAP,CAAeC,UAAf,CAA0BhQ,WAA1B,CAAsCnD,OAAO,CAACkT,KAAD,CAA7C;EACH;AACJ;;AACD,IAAIE,UAAU,GAAG,SAAbA,UAAa,CAAUC,QAAV,EAAoB;EACjC,IAAIA,QAAQ,KAAK,KAAK,CAAtB,EAAyB;IAAEA,QAAQ,GAAG,KAAX;EAAmB;;EAC9C,IAAIA,QAAQ,IAAId,kBAAhB,EAAoC;IAChC,OAAOA,kBAAP;EACH;;EACD,IAAInO,GAAG,GAAGoO,iBAAiB,CAAC7Z,QAAQ,CAAC6E,MAAV,CAA3B;EACA+U,kBAAkB,GAAGnO,GAArB;EACA,OAAOA,GAAP;AACH,CARD;;AASA,IAAImE,SAAS,GAAG,SAAZA,SAAY,CAAUlgB,IAAV,EAAgB;EAC5B,IAAI,CAACA,IAAL,EAAW;IACP,OAAO,IAAP;EACH;;EACD,OAAQgD,kBAAkB,CAACymB,aAAa,GAAGnZ,QAAhB,CAAyB6E,MAAzB,CAAgClS,OAAhC,CAAwC,IAAIgoB,MAAJ,CAAW,qBAC1E7V,kBAAkB,CAACpV,IAAD,CAAlB,CAAyBiD,OAAzB,CAAiC,aAAjC,EAAgD,MAAhD,CAD0E,GAE1E,6BAF+D,CAAxC,EAES,IAFT,CAAD,CAAlB,IAEsC,IAF9C;AAGH,CAPD;;AAQA,IAAIod,SAAS,GAAG,SAAZA,SAAY,CAAUrgB,IAAV,EAAgB4I,KAAhB,EAAuB0O,IAAvB,EAA6B;EACzC,IAAIA,IAAI,KAAK,KAAK,CAAlB,EAAqB;IAAEA,IAAI,GAAG,EAAP;EAAY;;EACnCmS,aAAa,GAAGnZ,QAAhB,CAAyB6E,MAAzB,GAAkCuU,eAAe,CAAC1pB,IAAD,EAAO4I,KAAP,EAAc0O,IAAd,CAAjD;AACH,CAHD;;AAIA,IAAI4T,YAAY,GAAG,SAAfA,YAAe,CAAUlrB,IAAV,EAAgBgR,IAAhB,EAAsB;EACrC,IAAIA,IAAI,KAAK,KAAK,CAAlB,EAAqB;IAAEA,IAAI,GAAG,GAAP;EAAa;;EACpCV,QAAQ,CAAC6E,MAAT,GAAkBnV,IAAI,GAAG,6CAAP,IAAwDgR,IAAI,GAAI,cAAcA,IAAlB,GAA0B,EAAtF,CAAlB;AACH,CAHD;;AAIA,IAAIma,UAAU,GAAG,SAAbA,UAAa,GAAY;EAAE,OAAOjnB,IAAI,CAACC,MAAL,GAAcpD,QAAd,CAAuB,EAAvB,EAA2ByC,SAA3B,CAAqC,CAArC,EAAwC,EAAxC,CAAP;AAAqD,CAApF;;AACA,IAAI4nB,cAAc,GAAG,SAAjBA,cAAiB,GAAY;EAAE,OAAOlnB,IAAI,CAACC,MAAL,GAAcpD,QAAd,CAAuB,EAAvB,EAA2ByC,SAA3B,CAAqC,CAArC,EAAwC,CAAxC,CAAP;AAAoD,CAAvF;;AACA,IAAIwb,UAAU,GAAG,SAAbA,UAAa,CAAUC,EAAV,EAAc;EAC3B,IAAI,CAACA,EAAL,EAAS;IACL,OAAO,EAAP;EACH;;EACD,IAAIC,WAAW,GAAGD,EAAE,CAAChgB,MAAH,GAAY,CAAZ,IAAiBggB,EAAE,CAAC5e,MAAH,CAAU,CAAV,MAAiB,GAAlC,GAAwC4e,EAAE,CAACzb,SAAH,CAAa,CAAb,CAAxC,GAA0Dyb,EAA5E;EACA,IAAIE,KAAK,GAAG,EAAZ;EACA,IAAIC,KAAK,GAAG,CAACF,WAAW,CAAC,CAAD,CAAX,KAAmB,GAAnB,GAAyBA,WAAW,CAACG,MAAZ,CAAmB,CAAnB,CAAzB,GAAiDH,WAAlD,EAA+DlgB,KAA/D,CAAqE,GAArE,CAAZ;;EACA,KAAK,IAAIuE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6b,KAAK,CAACngB,MAA1B,EAAkCsE,CAAC,EAAnC,EAAuC;IACnC,IAAI+b,IAAI,GAAGF,KAAK,CAAC7b,CAAD,CAAL,CAASvE,KAAT,CAAe,GAAf,CAAX;IACAmgB,KAAK,CAACnc,kBAAkB,CAACsc,IAAI,CAAC,CAAD,CAAL,CAAnB,CAAL,GAAqCtc,kBAAkB,CAACsc,IAAI,CAAC,CAAD,CAAJ,IAAW,EAAZ,CAAvD;EACH;;EACD,OAAOH,KAAP;AACH,CAZD;;AAaA,IAAIkM,SAAS,GAAG;EACZC,UAAU,EAAE,QADA;EAEZC,UAAU,EAAE,QAFA;EAGZC,YAAY,EAAE,UAHF;EAIZC,QAAQ,EAAE,MAJE;EAKZC,WAAW,EAAE;AALD,CAAhB;AAOA,IAAIC,SAAS,GAAG;EACZC,KAAK,EAAE,IADK;EAEZC,MAAM,EAAE,IAFI;EAGZC,KAAK,EAAE;AAHK,CAAhB;;AAKA,IAAIC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAUtkB,MAAV,EAAkB;EACtC,IAAI+R,MAAM,GAAG;IACTwS,GAAG,EAAE,EADI;IAETC,QAAQ,EAAE;EAFD,CAAb;;EAIA,KAAK,IAAIjsB,IAAT,IAAiByH,MAAjB,EAAyB;IACrB,IAAI,CAACA,MAAM,CAACxC,cAAP,CAAsBjF,IAAtB,CAAL,EAAkC;MAC9B;IACH;;IACD,IAAI6f,GAAG,GAAGpY,MAAM,CAACzH,IAAD,CAAhB;IACA,IAAIgsB,GAAG,GAAGX,SAAS,CAACrrB,IAAD,CAAnB;;IACA,IAAIgsB,GAAJ,EAAS;MACLxS,MAAM,CAACwS,GAAP,CAAWA,GAAX,IAAkBnM,GAAlB;IACH,CAFD,MAGK,IAAI8L,SAAS,CAAC3rB,IAAD,CAAb,EAAqB;MACtBwZ,MAAM,CAACyS,QAAP,CAAgBjsB,IAAhB,IAAwB6f,GAAxB;IACH;EACJ;;EACD,OAAOrG,MAAP;AACH,CAnBD,C,CAoBA;;;AACA,IAAI0S,YAAY,GAAG,SAAfA,YAAe,CAAUC,OAAV,EAAmB;EAClC,IAAIC,GAAG,GAAGD,OAAO,CAACntB,KAAR,CAAc,GAAd,EAAmB,CAAnB,CAAV;;EACA,IAAI,CAACotB,GAAL,EAAU;IACN,OAAOD,OAAP;EACH;;EACD,IAAIC,GAAG,CAACntB,MAAJ,IAAc,CAAlB,EAAqB;IACjB,OAAOktB,OAAP;EACH;;EACD,OAAOA,OAAO,CAAC7rB,KAAR,CAAc,CAAd,EAAiB,CAAC,CAAlB,IAAuB,IAAI+rB,MAAJ,CAAW,IAAID,GAAG,CAACntB,MAAnB,CAAvB,GAAoD,GAA3D;AACH,CATD;;AAUA,SAASgf,QAAT,CAAkBoH,GAAlB,EAAuBiH,MAAvB,EAA+B;EAC3B,OAAOjH,GAAG,CAAC1f,OAAJ,CAAY2mB,MAAZ,EAAoBjH,GAAG,CAACpmB,MAAJ,GAAaqtB,MAAM,CAACrtB,MAAxC,MAAoD,CAAC,CAA5D;AACH;;AACD,IAAIstB,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAUhO,IAAV,EAAgB;EACtC,OAAON,QAAQ,CAACM,IAAD,EAAO,GAAP,CAAf,EAA4B;IACxBA,IAAI,GAAGA,IAAI,CAACc,MAAL,CAAY,CAAZ,EAAed,IAAI,CAACtf,MAAL,GAAc,CAA7B,CAAP;EACH;;EACD,IAAIsf,IAAI,CAAC5Y,OAAL,CAAa,UAAb,MAA6B,CAA7B,IAAkC4Y,IAAI,CAAC5Y,OAAL,CAAa,SAAb,MAA4B,CAAlE,EAAqE;IACjE,OAAO4Y,IAAP;EACH,CAFD,MAGK;IACD,OAAO,OAAOA,IAAd;EACH;AACJ,CAVD;;AAYA,IAAIiO,WAAW;AAAG;AAAe,YAAY;EACzC,SAASA,WAAT,GAAuB;IACnB,KAAK7iB,KAAL,GAAa,EAAb;EACH;;EACD6iB,WAAW,CAAC1rB,SAAZ,CAAsB2rB,KAAtB,GAA8B,YAAY;IACtC,IAAI9iB,KAAK,GAAG,KAAKA,KAAjB;IACA,KAAKA,KAAL,GAAa,EAAb;IACA,OAAOA,KAAP;EACH,CAJD;;EAKA6iB,WAAW,CAAC1rB,SAAZ,CAAsB2C,IAAtB,GAA6B,YAAY;IACrC,IAAI2U,EAAJ;;IACA,IAAI6N,MAAM,GAAG,EAAb;;IACA,KAAK,IAAImD,EAAE,GAAG,CAAd,EAAiBA,EAAE,GAAGxmB,SAAS,CAAC3D,MAAhC,EAAwCmqB,EAAE,EAA1C,EAA8C;MAC1CnD,MAAM,CAACmD,EAAD,CAAN,GAAaxmB,SAAS,CAACwmB,EAAD,CAAtB;IACH;;IACD,CAAChR,EAAE,GAAG,KAAKzO,KAAX,EAAkBlG,IAAlB,CAAuBZ,KAAvB,CAA6BuV,EAA7B,EAAiC6N,MAAjC;EACH,CAPD;;EAQA,OAAOuG,WAAP;AACH,CAlBgC,EAAjC;;AAmBA,IAAIE,iBAAiB;AAAG;AAAe,YAAY;EAC/C,SAASA,iBAAT,CAA2B/jB,GAA3B,EAAgC;IAC5B,KAAKA,GAAL,GAAWA,GAAX;EACH;;EACD+jB,iBAAiB,CAAC5rB,SAAlB,CAA4B2rB,KAA5B,GAAoC,YAAY;IAC5C,IAAI9iB,KAAK,GAAG,KAAKgjB,GAAL,EAAZ;;IACA,IAAIhjB,KAAK,CAAC1K,MAAV,EAAkB;MACd,KAAK2tB,GAAL,CAAS,EAAT;IACH;;IACD,OAAOjjB,KAAP;EACH,CAND;;EAOA+iB,iBAAiB,CAAC5rB,SAAlB,CAA4B2C,IAA5B,GAAmC,YAAY;IAC3C,IAAIwiB,MAAM,GAAG,EAAb;;IACA,KAAK,IAAImD,EAAE,GAAG,CAAd,EAAiBA,EAAE,GAAGxmB,SAAS,CAAC3D,MAAhC,EAAwCmqB,EAAE,EAA1C,EAA8C;MAC1CnD,MAAM,CAACmD,EAAD,CAAN,GAAaxmB,SAAS,CAACwmB,EAAD,CAAtB;IACH;;IACD,IAAIzf,KAAK,GAAG,KAAKgjB,GAAL,EAAZ;IACAhjB,KAAK,CAAClG,IAAN,CAAWZ,KAAX,CAAiB8G,KAAjB,EAAwBsc,MAAxB;IACA,KAAK2G,GAAL,CAASjjB,KAAT;EACH,CARD;;EASA+iB,iBAAiB,CAAC5rB,SAAlB,CAA4B8rB,GAA5B,GAAkC,UAAUjjB,KAAV,EAAiB;IAC/CiM,YAAY,CAAC/Q,OAAb,CAAqB,KAAK8D,GAA1B,EAA+BqC,IAAI,CAACC,SAAL,CAAetB,KAAf,CAA/B;EACH,CAFD;;EAGA+iB,iBAAiB,CAAC5rB,SAAlB,CAA4B6rB,GAA5B,GAAkC,YAAY;IAC1C,IAAI7iB,IAAI,GAAG8L,YAAY,CAAC5M,OAAb,CAAqB,KAAKL,GAA1B,CAAX;;IACA,IAAImB,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,EAA9B,EAAkC;MAC9B,OAAOkB,IAAI,CAAC0E,KAAL,CAAW5F,IAAX,CAAP;IACH;;IACD,OAAO,EAAP;EACH,CAND;;EAOA,OAAO4iB,iBAAP;AACH,CA/BsC,EAAvC,C,CAiCA;;;AACA,IAAIG,YAAY,GAAG;EACfrtB,GAAG,EAAE,YADU;EAEfstB,IAAI,EAAE,0BAFS;EAGfrb,OAAO,EAAE;AAHM,CAAnB;AAKA,IAAIsb,aAAa,GAAG,GAAGjqB,MAAH,CAAU+pB,YAAY,CAACpb,OAAvB,EAAgC,GAAhC,EAAqC3O,MAArC,CAA4C+pB,YAAY,CAACrtB,GAAzD,EAA8D,GAA9D,EAAmEsD,MAAnE,CAA0E+pB,YAAY,CAACC,IAAvF,CAApB;AACA,IAAIE,iBAAiB,GAAG,WAAW,EAAnC;;AACA,IAAIC,eAAe,GAAG,SAAlBA,eAAkB,CAAUlc,GAAV,EAAemc,IAAf,EAAqB;EACvC5E,SAAS,GAAG5W,KAAZ,CAAkB,gBAAlB,EAAoCwb,IAApC;EACA,IAAIC,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAACF,IAAD,CAAT,EAAiB;IAAEpnB,IAAI,EAAE;EAAR,CAAjB,CAAX;EACA7F,SAAS,CAACotB,UAAV,CAAqBtc,GAArB,EAA0Boc,IAA1B;EACA,OAAOzjB,OAAO,CAACgC,OAAR,EAAP;AACH,CALD;;AAMA,SAAS4hB,SAAT,CAAmBC,MAAnB,EAA2B;EACvB,IAAI,OAAOA,MAAP,KAAkB,QAAtB,EAAgC;IAC5B,IAAI;MACA,OAAOviB,IAAI,CAACC,SAAL,CAAeD,IAAI,CAAC0E,KAAL,CAAW6d,MAAX,CAAf,EAAmC,IAAnC,EAAyC,CAAzC,CAAP;IACH,CAFD,CAGA,OAAO3uB,CAAP,EAAU;MACN,OAAO2uB,MAAP;IACH;EACJ;AACJ;;AACD,IAAIC,aAAa,GAAG,SAAhBA,aAAgB,CAAUzc,GAAV,EAAemc,IAAf,EAAqB;EACrCxS,OAAO,CAACC,GAAR,CAAY,yCAAyC7X,MAAzC,CAAgDiO,GAAhD,CAAZ,EAAkEuc,SAAS,CAACJ,IAAD,CAA3E;EACA,OAAOxjB,OAAO,CAACgC,OAAR,EAAP;AACH,CAHD,C,CAIA;AACA;;;AACA,SAAS+hB,oBAAT,CAA8BztB,IAA9B,EAAoCgR,IAApC,EAA0C;EACtC,IAAIA,IAAI,KAAK,KAAK,CAAlB,EAAqB;IAAEA,IAAI,GAAGuG,SAAP;EAAmB;;EAC1CvG,IAAI,GAAGA,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmCA,IAAnC,GAA0CrR,MAAM,CAACoE,QAAP,CAAgBqe,QAAjE;;EACA,IAAIpR,IAAI,IAAI,EAAR,IAAcA,IAAI,IAAI,GAA1B,EAA+B;IAC3B;EACH;;EACDka,YAAY,CAAClrB,IAAD,EAAOgR,IAAP,CAAZ;EACAyc,oBAAoB,CAACztB,IAAD,EAAOgR,IAAI,CAAC1Q,KAAL,CAAW,CAAX,EAAc0Q,IAAI,CAAC0c,WAAL,CAAiB,GAAjB,CAAd,CAAP,CAApB;AACH;;AACD,IAAIC,iBAAiB;AAAG;AAAe,YAAY;EAC/C,SAASA,iBAAT,CAA2B7O,YAA3B,EAAyCgC,UAAzC,EAAqD;IACjD,KAAKhC,YAAL,GAAoBA,YAApB;IACA,KAAKgC,UAAL,GAAkBA,UAAlB;EACH;;EACD6M,iBAAiB,CAAC7sB,SAAlB,CAA4B8sB,IAA5B,GAAmC,UAAUxlB,KAAV,EAAiB;IAChDiY,SAAS,CAAC,KAAKS,UAAN,EAAkB9V,IAAI,CAACC,SAAL,CAAe7C,KAAf,CAAlB,EAAyC;MAC9C4X,MAAM,EAAE,KAAKlB,YADiC;MAE9CwB,MAAM,EAAEhQ,QAAQ,CAACvM,QAAT,CAAkBgd,QAAlB,KAA+B,OAFO;MAG9C8I,MAAM,EAAEmD;IAHsC,CAAzC,CAAT;EAKH,CAND;;EAOAW,iBAAiB,CAAC7sB,SAAlB,CAA4B+sB,OAA5B,GAAsC,YAAY;IAC9CJ,oBAAoB,CAAC,KAAK3M,UAAN,CAApB;IACA,IAAIuE,GAAG,GAAGnF,SAAS,CAAC,KAAKY,UAAN,CAAnB;;IACA,IAAIuE,GAAJ,EAAS;MACL,IAAI;QACA,IAAIyI,MAAM,GAAG9iB,IAAI,CAAC0E,KAAL,CAAW1M,kBAAkB,CAACqiB,GAAD,CAA7B,CAAb;;QACA,IAAI,OAAOyI,MAAP,KAAkB,QAAtB,EAAgC;UAC5BxF,SAAS,GAAGtM,IAAZ,CAAiB,0BAA0BlZ,MAA1B,CAAiC,KAAKge,UAAtC,EAAkD,GAAlD,EAAuDhe,MAAvD,CAA8D,KAAKgc,YAAnE,EAAiF,qCAAjF,EAAwHhc,MAAxH,CAA+H,OAAOgrB,MAAP,KAAkB,QAAjJ,EAA2J,IAA3J,EAAiKhrB,MAAjK,CAAwKgrB,MAAxK,EAAgL,YAAhL,CAAjB;UACA,OAAOvW,SAAP;QACH;;QACD,OAAOuW,MAAP;MACH,CAPD,CAQA,OAAOlvB,CAAP,EAAU;QACN0pB,SAAS,GAAGnN,KAAZ,CAAkB,gCAAgCkK,GAAlD,EAAuDzmB,CAAvD;QACA,OAAO2Y,SAAP;MACH;IACJ;;IACD,OAAOA,SAAP;EACH,CAlBD;;EAmBAoW,iBAAiB,CAAC7sB,SAAlB,CAA4BitB,MAA5B,GAAqC,YAAY;IAC7C7C,YAAY,CAAC,KAAKpK,UAAN,CAAZ;EACH,CAFD;;EAGA,OAAO6M,iBAAP;AACH,CAnCsC,EAAvC;;AAoCA,IAAIK,aAAa;AAAG;AAAe,YAAY;EAC3C,SAASA,aAAT,GAAyB,CACxB;;EACDA,aAAa,CAACltB,SAAd,CAAwB8sB,IAAxB,GAA+B,UAAUxlB,KAAV,EAAiB,CAAG,CAAnD;;EACA4lB,aAAa,CAACltB,SAAd,CAAwB+sB,OAAxB,GAAkC,YAAY;IAC1C,OAAOtW,SAAP;EACH,CAFD;;EAGAyW,aAAa,CAACltB,SAAd,CAAwBitB,MAAxB,GAAiC,YAAY,CAAG,CAAhD;;EACA,OAAOC,aAAP;AACH,CATkC,EAAnC;;AAUA,IAAIC,iBAAiB,GAAG,KAAxB;;AACA,SAASC,WAAT,CAAqB5W,IAArB,EAA2B;EACvB,IAAI6W,MAAM,GAAG,IAAIC,eAAJ,EAAb;EACAD,MAAM,CAACjS,IAAP,CAAY5E,IAAZ;EACA,OAAO6W,MAAP;AACH;;AACD,IAAIE,UAAU,GAAG;EACbC,WAAW,EAAE,uBAAY;IAAE,OAAO/W,SAAP;EAAmB,CADjC;EAEbgX,cAAc,EAAE,0BAAY;IAAE,OAAQ;MAClC3R,OAAO,EAAEtM,QAAQ,CAACE,QADgB;MAElCO,GAAG,EAAEpR,MAAM,CAACoE,QAAP,CAAgB+M,IAFa;MAGlC0d,UAAU,EAAEle,QAAQ,CAACC,KAHa;MAIlCke,QAAQ,EAAEne,QAAQ,CAACvM,QAAT,CAAkBqe,QAJM;MAKlCsM,QAAQ,EAAEpe,QAAQ,CAACvM,QAAT,CAAkBgc,QALM;MAMlC4O,UAAU,EAAEhvB,MAAM,CAACoE,QAAP,CAAgBC,MANM;MAOlC4qB,iBAAiB,EAAElN,MAAM,CAACzQ,KAAP,GAAe,GAAf,GAAqByQ,MAAM,CAACxQ,MAPb;MAQlC2d,OAAO,EAAE3qB,IAAI,CAAC4qB,GAAL,CAASxe,QAAQ,CAACye,eAAT,CAAyBC,WAAzB,IAAwC,CAAjD,EAAoDrvB,MAAM,CAAC8Q,UAAP,IAAqB,CAAzE,IACL,GADK,GAELvM,IAAI,CAAC4qB,GAAL,CAASxe,QAAQ,CAACye,eAAT,CAAyBE,YAAzB,IAAyC,CAAlD,EAAqDtvB,MAAM,CAAC+Q,WAAP,IAAsB,CAA3E,CAV8B;MAWlCwe,UAAU,EAAEjvB,SAAS,CAACC,SAXY;MAYlCivB,aAAa,EAAElvB,SAAS,CAACshB,QAZS;MAalC6N,YAAY,EAAE9e,QAAQ,CAAC8Q;IAbW,CAAR;EAczB,CAhBQ;EAiBbiO,cAAc,EAAE,wBAAUjX,EAAV,EAAc;IAC1B,IAAIpY,IAAI,GAAGoY,EAAE,CAACpY,IAAd;IAAA,IAAoBggB,MAAM,GAAG5H,EAAE,CAAC4H,MAAhC;IACAyN,oBAAoB,CAACztB,IAAD,CAApB;IACA,IAAIsvB,QAAQ,GAAGpP,SAAS,CAAClgB,IAAD,CAAxB;;IACA,IAAIsvB,QAAJ,EAAc;MACVhH,SAAS,GAAG5W,KAAZ,CAAkB,kBAAlB,EAAsC4d,QAAtC;MACA,OAAOA,QAAP;IACH;;IACD,IAAIC,KAAK,GAAGpE,UAAU,EAAtB;IACA7C,SAAS,GAAG5W,KAAZ,CAAkB,aAAlB,EAAiC6d,KAAjC;IACAlP,SAAS,CAACrgB,IAAD,EAAOuvB,KAAP,EAAc;MACnBvP,MAAM,EAAEA,MADW;MAEnBM,MAAM,EAAEhQ,QAAQ,CAACvM,QAAT,CAAkBgd,QAAlB,KAA+B,OAFpB;MAGnB8I,MAAM,EAAEmD;IAHW,CAAd,CAAT;IAKA,OAAOuC,KAAP;EACH;AAjCY,CAAjB;;AAmCA,SAASC,YAAT,CAAsBC,MAAtB,EAA8BpK,GAA9B,EAAmC;EAC/B,IAAI,CAACA,GAAL,EAAU;IACN,OAAOA,GAAP;EACH;;EACD,OAAO,CAACA,GAAG,KAAK,IAAR,IAAgBA,GAAG,KAAK,KAAK,CAA7B,GAAiC,KAAK,CAAtC,GAA0CA,GAAG,CAACpmB,MAA/C,IAAyD,CAAzD,IAA8DomB,GAAG,CAAC1f,OAAJ,CAAY8pB,MAAZ,MAAwB,CAAtF,GAA0FA,MAAM,GAAGpK,GAAnG,GAAyGA,GAAhH;AACH;;AACD,SAASqK,UAAT,CAAoBC,SAApB,EAA+BtK,GAA/B,EAAoC;EAChC,KAAK,IAAI+D,EAAE,GAAG,CAAT,EAAYhR,EAAE,GAAG,OAAOuX,SAAP,KAAqB,QAArB,GAChB,CAACA,SAAD,CADgB,GAEhBA,SAFN,EAEiBvG,EAAE,GAAGhR,EAAE,CAACnZ,MAFzB,EAEiCmqB,EAAE,EAFnC,EAEuC;IACnC,IAAIwG,OAAO,GAAGxX,EAAE,CAACgR,EAAD,CAAhB;;IACA,OAAO/D,GAAG,IAAIA,GAAG,CAACpmB,MAAJ,GAAa,CAApB,IAAyBomB,GAAG,CAAChlB,MAAJ,CAAWglB,GAAG,CAACpmB,MAAJ,GAAa,CAAxB,MAA+B2wB,OAA/D,EAAwE;MACpEvK,GAAG,GAAGA,GAAG,CAAC7hB,SAAJ,CAAc,CAAd,EAAiB6hB,GAAG,CAACpmB,MAAJ,GAAa,CAA9B,CAAN;IACH;EACJ;;EACD,OAAOomB,GAAP;AACH;;AACD,SAASwK,QAAT,CAAkBC,GAAlB,EAAuB/T,GAAvB,EAA4BzE,IAA5B,EAAkC;EAC9B,IAAIA,IAAI,KAAK,KAAK,CAAlB,EAAqB;IAAEA,IAAI,GAAG,EAAP;EAAY;;EACnC,OAAO;IACH+X,cAAc,EAAE,wBAAUjX,EAAV,EAAc;MAC1B,IAAIpY,IAAI,GAAGoY,EAAE,CAACpY,IAAd;MAAA,IAAoBggB,MAAM,GAAG5H,EAAE,CAAC4H,MAAhC;;MACA,IAAI1I,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAACyY,cAArD,EAAqE;QACjE,OAAO,EAAP;MACH;;MACD,IAAI5a,MAAM,GAAGgV,iBAAiB,CAAC2F,GAAG,CAAC9L,OAAJ,CAAY,QAAZ,CAAD,CAAjB,CAAyChkB,IAAzC,CAAb;;MACA,IAAI,CAACmV,MAAL,EAAa;QACT,IAAI6a,UAAU,GAAG;UACbnG,MAAM,EAAE,WAAW,EADN;UAEbE,QAAQ,EAAE;QAFG,CAAjB;;QAIA,IAAI/J,MAAJ,EAAY;UACRgQ,UAAU,CAAChQ,MAAX,GAAoBA,MAApB;QACH;;QACD,IAAIuP,KAAK,GAAGpE,UAAU,EAAtB;QACApP,GAAG,CAACiI,OAAJ,CAAY4I,GAAZ,CAAgB,YAAhB,EAA8BlD,eAAe,CAAC1pB,IAAD,EAAOuvB,KAAP,EAAcS,UAAd,CAA7C;QACA,OAAOT,KAAP;MACH,CAXD,MAYK;QACD,OAAOpa,MAAP;MACH;IACJ,CAtBE;IAuBHmZ,WAAW,EAAE,uBAAY;MACrB,IAAI2B,EAAE,GAAGH,GAAG,CAAC9L,OAAJ,CAAY,iBAAZ,KAAkC8L,GAAG,CAAC9L,OAAJ,CAAY,WAAZ,CAAlC,IAA8D8L,GAAG,CAAC,IAAD,CAA1E;MACA,OAAOG,EAAE,IAAIA,EAAE,CAACjxB,KAAH,CAAS,GAAT,EAAc,CAAd,EAAiB8e,IAAjB,EAAb;IACH,CA1BE;IA2BHyQ,cAAc,EAAE,0BAAY;MACxB,IAAI2B,WAAW,GAAGJ,GAAG,CAAC9L,OAAJ,CAAY2I,GAAZ,CAAgB,MAAhB,KAA2BmD,GAAG,CAAC9L,OAAJ,CAAY2I,GAAZ,CAAgB,MAAhB,CAA7C;MACA,IAAIwD,KAAK,GAAGT,UAAU,CAAC,CAAC,GAAD,EAAM,GAAN,CAAD,EAAaI,GAAG,CAAC9L,OAAJ,CAAY,mBAAZ,KAAoC8L,GAAG,CAAC,SAAD,CAAH,CAAe,UAAf,CAApC,IAAkE,MAA/E,CAAtB;;MACA,OAAOK,KAAK,IAAIA,KAAK,CAAClxB,MAAN,GAAe,CAAxB,IAA6BkxB,KAAK,CAAC9vB,MAAN,CAAa8vB,KAAK,CAAClxB,MAAN,GAAe,CAA5B,CAApC,EAAoE;QAChEkxB,KAAK,GAAGA,KAAK,CAAC3sB,SAAN,CAAgB,CAAhB,EAAmB2sB,KAAK,CAAClxB,MAAN,GAAe,CAAlC,CAAR;MACH;;MACD,IAAImxB,MAAM,GAAGN,GAAG,CAAC/e,GAAJ,IAAW,GAAxB;MACA,IAAIsf,QAAQ,GAAGD,MAAM,CAACzqB,OAAP,CAAe,GAAf,CAAf;MACA,IAAIqL,IAAJ,EAAUmO,KAAV;;MACA,IAAIkR,QAAQ,IAAI,CAAhB,EAAmB;QACfrf,IAAI,GAAGof,MAAM,CAAC5sB,SAAP,CAAiB,CAAjB,EAAoB6sB,QAApB,CAAP;QACAlR,KAAK,GAAGiR,MAAM,CAAC5sB,SAAP,CAAiB6sB,QAAQ,GAAG,CAA5B,CAAR;MACH,CAHD,MAIK;QACDrf,IAAI,GAAGof,MAAP;QACAjR,KAAK,GAAG5H,SAAR;MACH;;MACD4H,KAAK,GAAGqQ,YAAY,CAACrQ,KAAD,EAAQ,GAAR,CAApB;MACAnO,IAAI,GAAGwe,YAAY,CAACxe,IAAD,EAAO,GAAP,CAAnB;MACA,OAAO;QACHoe,YAAY,EAAE,EADX;QAEHV,QAAQ,EAAEwB,WAFP;QAGHzB,QAAQ,EAAE2B,MAHP;QAIHzB,UAAU,EAAExP,KAJT;QAKHqP,UAAU,EAAE,EALT;QAMH5R,OAAO,EAAEkT,GAAG,CAAC9L,OAAJ,CAAY,UAAZ,CANN;QAOH4K,iBAAiB,EAAE,EAPhB;QAQH7d,GAAG,EAAE,GAAGjO,MAAH,CAAUqtB,KAAV,EAAiB,KAAjB,EAAwBrtB,MAAxB,CAA+BotB,WAA/B,EAA4CptB,MAA5C,CAAmDkO,IAAI,IAAI,EAA3D,EAA+DlO,MAA/D,CAAsEqc,KAAK,IAAI,EAA/E,CARF;QASH+P,UAAU,EAAEY,GAAG,CAAC9L,OAAJ,CAAY,YAAZ,CATT;QAUHmL,aAAa,EAAEW,GAAG,CAAC9L,OAAJ,CAAY,iBAAZ,KACX8L,GAAG,CAAC9L,OAAJ,CAAY,iBAAZ,EAA+BhlB,KAA/B,CAAqC,GAArC,EAA0C,CAA1C,CAXD;QAYH6vB,OAAO,EAAE;MAZN,CAAP;IAcH;EA5DE,CAAP;AA8DH;;AACD,SAASyB,OAAT,CAAiBR,GAAjB,EAAsB/T,GAAtB,EAA2BzE,IAA3B,EAAiC;EAC7B,IAAIA,IAAI,KAAK,KAAK,CAAlB,EAAqB;IAAEA,IAAI,GAAG,EAAP;EAAY;;EACnC,IAAIiZ,MAAM,GAAG,SAATA,MAAS,CAAUT,GAAV,EAAe9vB,IAAf,EAAqB;IAC9B,IAAIwwB,IAAI,GAAGV,GAAG,CAAC9L,OAAJ,CAAYhkB,IAAI,CAAC6d,WAAL,EAAZ,CAAX;;IACA,IAAI,CAAC2S,IAAL,EAAW;MACP,OAAOjZ,SAAP;IACH;;IACD,IAAI,OAAOiZ,IAAP,KAAgB,QAApB,EAA8B;MAC1B,OAAOA,IAAP;IACH,CAFD,MAGK,IAAIA,IAAI,CAACvxB,MAAL,GAAc,CAAlB,EAAqB;MACtB,OAAOuxB,IAAI,CAAC1kB,IAAL,CAAU,GAAV,CAAP;IACH;EACJ,CAXD;;EAYA,OAAO;IACHujB,cAAc,EAAE,wBAAUjX,EAAV,EAAc;MAC1B,IAAIpY,IAAI,GAAGoY,EAAE,CAACpY,IAAd;MAAA,IAAoBggB,MAAM,GAAG5H,EAAE,CAAC4H,MAAhC;;MACA,IAAI1I,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAACyY,cAArD,EAAqE;QACjE,OAAO,EAAP;MACH;;MACD,IAAI5a,MAAM,GAAGgV,iBAAiB,CAAC2F,GAAG,CAAC9L,OAAJ,CAAY,QAAZ,CAAD,CAAjB,CAAyChkB,IAAzC,CAAb;;MACA,IAAI,CAACmV,MAAL,EAAa;QACT,IAAI6a,UAAU,GAAG;UACbnG,MAAM,EAAE,WAAW,EADN;UAEbE,QAAQ,EAAE;QAFG,CAAjB;;QAIA,IAAI/J,MAAJ,EAAY;UACRgQ,UAAU,CAAChQ,MAAX,GAAoBA,MAApB;QACH;;QACD,IAAIuP,KAAK,GAAGpE,UAAU,EAAtB;QACApP,GAAG,CAAC0U,SAAJ,CAAc,YAAd,EAA4B/G,eAAe,CAAC1pB,IAAD,EAAOuvB,KAAP,EAAcS,UAAd,CAA3C;QACA,OAAOT,KAAP;MACH,CAXD,MAYK;QACD,OAAOpa,MAAP;MACH;IACJ,CAtBE;IAuBHmZ,WAAW,EAAE,uBAAY;MACrB,IAAI2B,EAAE,GAAGM,MAAM,CAACT,GAAD,EAAM,iBAAN,CAAN,IACLS,MAAM,CAACT,GAAD,EAAM,WAAN,CADD,IAELA,GAAG,CAACY,MAAJ,CAAWC,aAFf;MAGA,OAAOV,EAAE,IAAIA,EAAE,CAACjxB,KAAH,CAAS,GAAT,EAAc,CAAd,EAAiB8e,IAAjB,EAAb;IACH,CA5BE;IA6BHyQ,cAAc,EAAE,0BAAY;MACxB,IAAIxd,GAAG,GAAG+e,GAAG,CAAC/e,GAAJ,GACJ,IAAImR,GAAJ,CAAQ4N,GAAG,CAAC/e,GAAZ,EAAiB+e,GAAG,CAAC/e,GAAJ,CAAQiN,UAAR,CAAmB,MAAnB,IAA6BzG,SAA7B,GAAyC,kBAA1D,CADI,GAEJ,EAFN;MAGA,IAAI2Y,WAAW,GAAGK,MAAM,CAACT,GAAD,EAAM,kBAAN,CAAN,IAAmCS,MAAM,CAACT,GAAD,EAAM,MAAN,CAAzC,IAA0D/e,GAAG,CAACgP,QAAhF;MACA,IAAIoQ,KAAK,GAAGT,UAAU,CAAC,CAAC,GAAD,EAAM,GAAN,CAAD,EAAaa,MAAM,CAACT,GAAD,EAAM,mBAAN,CAAN,IAAoC/e,GAAG,CAACgQ,QAArD,CAAtB;MACA,IAAI5B,KAAK,GAAGqQ,YAAY,CAAC,GAAD,EAAMze,GAAG,CAAC/M,MAAV,CAAxB;MACA,IAAIgN,IAAI,GAAGwe,YAAY,CAAC,GAAD,EAAMze,GAAG,CAACqR,QAAV,CAAvB;MACA,OAAO;QACHgN,YAAY,EAAE,EADX;QAEHV,QAAQ,EAAEwB,WAFP;QAGHzB,QAAQ,EAAEqB,GAAG,CAAC/e,GAHX;QAIH4d,UAAU,EAAExP,KAJT;QAKHqP,UAAU,EAAE,EALT;QAMH5R,OAAO,EAAE2T,MAAM,CAACT,GAAD,EAAM,UAAN,CANZ;QAOHlB,iBAAiB,EAAE,EAPhB;QAQH7d,GAAG,EAAE,GAAGjO,MAAH,CAAUqtB,KAAV,EAAiB,KAAjB,EAAwBrtB,MAAxB,CAA+BotB,WAA/B,EAA4CptB,MAA5C,CAAmDkO,IAAI,IAAI,EAA3D,EAA+DlO,MAA/D,CAAsEqc,KAAK,IAAI,EAA/E,CARF;QASH+P,UAAU,EAAEY,GAAG,CAAC9L,OAAJ,CAAY,YAAZ,CATT;QAUHmL,aAAa,EAAEW,GAAG,CAAC9L,OAAJ,CAAY,iBAAZ,KACX8L,GAAG,CAAC9L,OAAJ,CAAY,iBAAZ,EAA+BhlB,KAA/B,CAAqC,GAArC,EAA0C,CAA1C,CAXD;QAYH6vB,OAAO,EAAE;MAZN,CAAP;IAcH;EAnDE,CAAP;AAqDH;;AACD,IAAI+B,QAAQ,GAAG;EACXtC,WAAW,EAAE,uBAAY;IAAE,OAAO/W,SAAP;EAAmB,CADnC;EAEXgX,cAAc,EAAE,0BAAY;IAAE,OAAQ,EAAR;EAAc,CAFjC;EAGXc,cAAc,EAAE,0BAAY;IAAE,OAAO,EAAP;EAAY;AAH/B,CAAf;AAKA;AACA;AACA;;AACA,IAAIwB,IAAI,GAAG;EACPP,OAAO,EAAEA,OADF;EAEPQ,SAAS,EAAER,OAFJ;EAGP;EACA;EACAS,OAAO,EAAE,mBAAY;IAAE,OAAO1C,UAAP;EAAoB,CALpC;EAMP2C,OAAO,EAAEV,OANF;EAOPW,KAAK,EAAE,iBAAY;IAAE,OAAOL,QAAP;EAAkB;AAPhC,CAAX;;AASA,IAAIM,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAUngB,GAAV,EAAeogB,WAAf,EAA4BC,iBAA5B,EAA+CC,OAA/C,EAAwD;EAC3E,IAAIA,OAAO,KAAK,KAAK,CAArB,EAAwB;IAAEA,OAAO,GAAG,iBAAUvX,IAAV,EAAgBO,IAAhB,EAAsB,CAAG,CAAnC;EAAsC;;EAChE,IAAIyV,GAAG,GAAG,IAAInwB,MAAM,CAAC2xB,cAAX,EAAV;EACA,OAAO,IAAI5nB,OAAJ,CAAY,UAAUgC,OAAV,EAAmBa,MAAnB,EAA2B;IAC1CujB,GAAG,CAACnX,OAAJ,GAAc,UAAU/Z,CAAV,EAAa;MACvB0pB,SAAS,GAAGnN,KAAZ,CAAkB,gBAAlB,EAAoCgW,WAApC,EAAiDvyB,CAAjD;MACAyyB,OAAO,CAAC,CAAC,CAAF,EAAK,EAAL,CAAP;MACA9kB,MAAM,CAAC,IAAIxK,KAAJ,CAAU,uCAAV,CAAD,CAAN;IACH,CAJD;;IAKA+tB,GAAG,CAACpX,MAAJ,GAAa,YAAY;MACrB,IAAIoX,GAAG,CAAC7X,MAAJ,KAAe,GAAnB,EAAwB;QACpBoZ,OAAO,CAACvB,GAAG,CAAC7X,MAAL,EAAa,EAAb,CAAP;QACAqQ,SAAS,GAAGtM,IAAZ,CAAiB,0BAA0BlZ,MAA1B,CAAiCiO,GAAjC,EAAsC,KAAtC,EAA6CjO,MAA7C,CAAoDgtB,GAAG,CAAC7X,MAAxD,EAAgE,KAAhE,EAAuEnV,MAAvE,CAA8EgtB,GAAG,CAACyB,UAAlF,EAA8F,GAA9F,CAAjB,EAAqHJ,WAArH;QACA5kB,MAAM,CAAC,IAAIxK,KAAJ,CAAU,oCAAoCe,MAApC,CAA2CgtB,GAAG,CAAC7X,MAA/C,EAAuD,wBAAvD,CAAV,CAAD,CAAN;MACH,CAJD,MAKK;QACDoZ,OAAO,CAACvB,GAAG,CAAC7X,MAAL,EAAa6X,GAAG,CAAC5L,YAAjB,CAAP;MACH;;MACDxY,OAAO;IACV,CAVD;;IAWAokB,GAAG,CAAC0B,IAAJ,CAAS,MAAT,EAAiBzgB,GAAjB;IACA+e,GAAG,CAAC2B,gBAAJ,CAAqB,cAArB,EAAqC,kBAArC;IACA5wB,MAAM,CAAC4X,OAAP,CAAe2Y,iBAAiB,IAAI,EAApC,EAAwCtoB,OAAxC,CAAgD,UAAUsP,EAAV,EAAc;MAC1D,IAAIzP,GAAG,GAAGyP,EAAE,CAAC,CAAD,CAAZ;MAAA,IAAiByH,GAAG,GAAGzH,EAAE,CAAC,CAAD,CAAzB;MACA,OAAO0X,GAAG,CAAC2B,gBAAJ,CAAqB9oB,GAArB,EAA0BkX,GAA1B,CAAP;IACH,CAHD;IAIAiQ,GAAG,CAACpM,IAAJ,CAASyN,WAAT;IACA7I,SAAS,GAAG5W,KAAZ,CAAkB,cAAlB,EAAkCyf,WAAlC;EACH,CAzBM,CAAP;AA0BH,CA7BD;;AA8BA,IAAIO,cAAc,GAAG,SAAjBA,cAAiB,CAAU9S,KAAV,EAAiB;EAClC,OAAO,UAAU7N,GAAV,EAAeogB,WAAf,EAA4BC,iBAA5B,EAA+CC,OAA/C,EAAwD;IAC3D,IAAIA,OAAO,KAAK,KAAK,CAArB,EAAwB;MAAEA,OAAO,GAAG,iBAAUvX,IAAV,EAAgBO,IAAhB,EAAsB,CAAG,CAAnC;IAAsC;;IAChE,OAAOrB,SAAS,CAAC,KAAK,CAAN,EAAS,KAAK,CAAd,EAAiB,KAAK,CAAtB,EAAyB,YAAY;MACjD,IAAI+C,GAAJ,EAAS4V,GAAT,EAAcC,OAAd,EAAuBnX,IAAvB,EAA6BoX,WAA7B,EAA0CC,GAA1C;;MACA,IAAI1Z,EAAJ,EAAQkE,EAAR;;MACA,OAAO4K,WAAW,CAAC,IAAD,EAAO,UAAU6K,EAAV,EAAc;QACnC,QAAQA,EAAE,CAAC5K,KAAX;UACI,KAAK,CAAL;YACI4K,EAAE,CAAC1K,IAAH,CAAQ5jB,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;YACA,OAAO,CAAC;YAAE;YAAH,EAAcmb,KAAK,CAAC7N,GAAD,EAAM;cACxBnF,MAAM,EAAE,MADgB;cAExBoY,OAAO,EAAE+C,OAAQ,CAAC;gBAAEiL,MAAM,EAAE,kBAAV;gBAA8B,gBAAgB;cAA9C,CAAD,EAAsEZ,iBAAiB,IAAI,EAA3F,CAFO;cAGxB/W,IAAI,EAAE8W;YAHkB,CAAN,CAAnB,CAAP;;UAKJ,KAAK,CAAL;YACIpV,GAAG,GAAGgW,EAAE,CAAC3K,IAAH,EAAN;YACA,OAAO,CAAC;YAAE;YAAH,EAAc,CAAd,CAAP;;UACJ,KAAK,CAAL;YACIuK,GAAG,GAAGI,EAAE,CAAC3K,IAAH,EAAN;YACAkB,SAAS,GAAGnN,KAAZ,CAAkB,gBAAlB,EAAoCgW,WAApC,EAAiDQ,GAAjD;YACAN,OAAO,CAAC,CAAC,CAAF,EAAK,EAAL,CAAP;YACA,OAAO,CAAC;YAAE;YAAH,CAAP;;UACJ,KAAK,CAAL;YACI,IAAItV,GAAG,CAAC9D,MAAJ,KAAe,GAAnB,EAAwB;cACpBqQ,SAAS,GAAGtM,IAAZ,CAAiB,0BAA0BlZ,MAA1B,CAAiCiO,GAAjC,EAAsC,KAAtC,EAA6CjO,MAA7C,CAAoDiZ,GAAG,CAAC9D,MAAxD,EAAgE,KAAhE,EAAuEnV,MAAvE,CAA8EiZ,GAAG,CAACwV,UAAlF,EAA8F,GAA9F,CAAjB,EAAqHJ,WAArH;cACAE,OAAO,CAACtV,GAAG,CAAC9D,MAAL,EAAa,EAAb,CAAP;cACA,OAAO,CAAC;cAAE;cAAH,CAAP;YACH;;YACD2Z,OAAO,GAAG,EAAV;YACAnX,IAAI,GAAG,EAAP;YACAoX,WAAW,GAAG,CAACvV,EAAE,GAAG,CAAClE,EAAE,GAAG2D,GAAG,CAACiI,OAAV,MAAuB,IAAvB,IAA+B5L,EAAE,KAAK,KAAK,CAA3C,GAA+C,KAAK,CAApD,GAAwDA,EAAE,CAACuU,GAAH,CAAO,cAAP,CAA9D,MAA0F,IAA1F,IAAkGrQ,EAAE,KAAK,KAAK,CAA9G,GAAkHA,EAAlH,GAAuH,EAArI;YACAyV,EAAE,CAAC5K,KAAH,GAAW,CAAX;;UACJ,KAAK,CAAL;YACI4K,EAAE,CAAC1K,IAAH,CAAQ5jB,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;YACA,OAAO,CAAC;YAAE;YAAH,EAAcsY,GAAG,CAACtB,IAAJ,EAAd,CAAP;;UACJ,KAAK,CAAL;YACIA,IAAI,GAAGsX,EAAE,CAAC3K,IAAH,EAAP;YACAwK,OAAO,GAAG5mB,IAAI,CAAC0E,KAAL,CAAW+K,IAAX,CAAV;YACA,OAAO,CAAC;YAAE;YAAH,EAAc,CAAd,CAAP;;UACJ,KAAK,CAAL;YACIqX,GAAG,GAAGC,EAAE,CAAC3K,IAAH,EAAN;YACAkB,SAAS,GAAGnN,KAAZ,CAAkB,mBAAmBrY,MAAnB,CAA0BiO,GAA1B,EAA+B,2BAA/B,EAA4DjO,MAA5D,CAAmE+uB,WAAnE,EAAgF,SAAhF,EAA2F/uB,MAA3F,CAAkG2X,IAAlG,CAAlB,EAA2HqX,GAA3H;YACA,OAAO,CAAC;YAAE;YAAH,EAAc,CAAd,CAAP;;UACJ,KAAK,CAAL;YACI,IAAI;cACAT,OAAO,CAACtV,GAAG,CAAC9D,MAAL,EAAa2Z,OAAb,CAAP;YACH,CAFD,CAGA,OAAOhzB,CAAP,EAAU;cACN0pB,SAAS,GAAGnN,KAAZ,CAAkB,oBAAoBrY,MAApB,CAA2BiO,GAA3B,EAAgC,2BAAhC,EAA6DjO,MAA7D,CAAoE+uB,WAApE,EAAiF,SAAjF,EAA4F/uB,MAA5F,CAAmG2X,IAAnG,CAAlB,EAA4H7b,CAA5H;YACH;;YACD,OAAO,CAAC;YAAE;YAAH,CAAP;QA5CR;MA8CH,CA/CiB,CAAlB;IAgDH,CAnDe,CAAhB;EAoDH,CAtDD;AAuDH,CAxDD;;AAyDA,IAAIwvB,eAAe;AAAG;AAAe,YAAY;EAC7C,SAASA,eAAT,GAA2B;IACvB,KAAK6D,cAAL,GAAsB,EAAtB;IACA,KAAKC,mBAAL,GAA2B;MACvBC,WAAW,EAAE,EADU;MAEvBC,aAAa,EAAE;IAFQ,CAA3B;IAIA,KAAKtT,YAAL,GAAoB,EAApB;IACA,KAAKuT,YAAL,GAAoB,EAApB;IACA,KAAKC,YAAL,GAAoB,EAApB;IACA,KAAKC,YAAL,GAAoB,KAApB;IACA,KAAKC,MAAL,GAAc,EAAd;IACA,KAAKjkB,WAAL,GAAmB,KAAnB;IACA,KAAKkkB,UAAL,GAAkB,EAAlB;IACA,KAAKC,YAAL,GAAoB,MAApB;IACA,KAAKC,QAAL,GAAgB,MAAhB;IACA,KAAKC,SAAL,GAAiB,KAAjB;IACA,KAAKC,SAAL,GAAiB3B,gBAAjB;;IACA,KAAK4B,aAAL,GAAqB,YAAY;MAAE,OAAQ,EAAR;IAAc,CAAjD;;IACA,KAAKnpB,KAAL,GAAa,IAAI6iB,WAAJ,EAAb;IACA,KAAKuG,eAAL,GAAuB,CAAvB;IACA,KAAKC,YAAL,GAAoB,CAAC,GAAD,EAAM,IAAN,CAApB;IACA,KAAKC,QAAL,GAAgB,KAAhB;IACA,KAAKC,OAAL,GAAe,CAAf;EACH;;EACD9E,eAAe,CAACttB,SAAhB,CAA0BkT,EAA1B,GAA+B,UAAU5L,KAAV,EAAiB+qB,cAAjB,EAAiC;IAC5D,KAAKlB,cAAL,GAAsBlL,OAAQ,CAACA,OAAQ,CAAC,EAAD,EAAK,KAAKkL,cAAV,CAAT,EAAoC7pB,KAApC,CAA9B;IACAkgB,SAAS,GAAG5W,KAAZ,CAAkB,uBAAlB,EAA2CtJ,KAA3C;;IACA,IAAI,KAAKgrB,iBAAT,EAA4B;MACxB,KAAKA,iBAAL,CAAuBxF,IAAvB,CAA4BxlB,KAA5B;IACH,CAFD,MAGK;MACDkgB,SAAS,GAAGtM,IAAZ,CAAiB,sCAAjB;IACH;;IACD,IAAI,CAACmX,cAAL,EAAqB;MACjB,OAAO,KAAK3qB,KAAL,CAAW,eAAX,EAA4B,EAA5B,CAAP;IACH,CAFD,MAGK;MACD,OAAOkB,OAAO,CAACgC,OAAR,EAAP;IACH;EACJ,CAfD;;EAgBA0iB,eAAe,CAACttB,SAAhB,CAA0BuyB,QAA1B,GAAqC,UAAUhoB,OAAV,EAAmB;IACpD,OAAO,KAAKioB,QAAL,CAAcjoB,OAAd,CAAP;EACH,CAFD;;EAGA+iB,eAAe,CAACttB,SAAhB,CAA0ByyB,SAA1B,GAAsC,UAAUC,UAAV,EAAsB9b,GAAtB,EAA2BrM,OAA3B,EAAoC;IACtE,IAAI+M,EAAJ;;IACA,IAAI5Y,GAAG,GAAG6L,OAAO,CAAC7L,GAAlB;IAAA,IAAuBi0B,WAAW,GAAGzM,MAAM,CAAC3b,OAAD,EAAU,CAAC,KAAD,CAAV,CAA3C;;IACA,IAAI,CAAC7L,GAAL,EAAU;MACNA,GAAG,GAAGqpB,iBAAiB,KAAKgI,IAAI,CAACE,OAAL,EAAL,GAAsBF,IAAI,CAACI,KAAL,EAA7C;IACH;;IACD,KAAKyC,SAAL;IACA,IAAInpB,OAAO,GAAG,KAAKopB,MAAL,CAAYn0B,GAAZ,CAAd;;IACA,IAAIo0B,eAAe,GAAG7M,OAAQ,CAACA,OAAQ,CAAC,EAAD,EAAK,KAAKmL,mBAAL,CAAyBC,WAA9B,CAAT,EAAsD,CAAC/Z,EAAE,GAAG,KAAK8Z,mBAAL,CAAyBE,aAAzB,CAAuCoB,UAAvC,CAAN,MAA8D,IAA9D,IAAsEpb,EAAE,KAAK,KAAK,CAAlF,GAAsFA,EAAtF,GAA2F,EAAjJ,CAA9B;;IACA,IAAIyb,IAAI,GAAG9M,OAAQ,CAAC;MAAE+M,OAAO,EAAE,KAAKtB,MAAhB;MAAwB9a,GAAG,EAAEA,GAA7B;MAAkC8b,UAAU,EAAEA;IAA9C,CAAD,EAA6DC,WAA7D,CAAnB;;IACA,IAAIM,QAAQ,GAAGv0B,GAAG,CAAC8uB,WAAJ,EAAf;;IACA,IAAIyF,QAAJ,EAAc;MACVF,IAAI,CAAC,WAAD,CAAJ,GAAoBE,QAApB;IACH;;IACD,OAAO,KAAKC,UAAL,GACDjN,OAAQ,CAACA,OAAQ,CAACA,OAAQ,CAAC,EAAD,EAAK6M,eAAL,CAAT,EAAgC;MAAEK,UAAU,EAAE1pB;IAAd,CAAhC,CAAT,EAAmEspB,IAAnE,CADP,GACkF9M,OAAQ,CAACA,OAAQ,CAACA,OAAQ,CAAC,EAAD,EAAK6M,eAAL,CAAT,EAAgCrpB,OAAhC,CAAT,EAAmDspB,IAAnD,CADjG;EAEH,CAhBD;;EAiBAzF,eAAe,CAACttB,SAAhB,CAA0BozB,OAA1B,GAAoC,UAAUC,UAAV,EAAsBzd,MAAtB,EAA8B5Q,IAA9B,EAAoC;IACpE,IAAIsuB,SAAS,GAAG,UAAhB;;IACA,IAAItuB,IAAI,IAAIA,IAAI,KAAK,EAArB,EAAyB;MACrBsuB,SAAS,GAAGtuB,IAAZ;IACH;;IACD,IAAIlH,CAAC,GAAG,KAAK20B,SAAL,CAAea,SAAf,EAA0BD,UAA1B,EAAsC;MAC1CE,WAAW,EAAE3d;IAD6B,CAAtC,CAAR;IAGA,OAAO,KAAK4c,QAAL,CAAc10B,CAAd,CAAP;EACH,CATD;;EAUAwvB,eAAe,CAACttB,SAAhB,CAA0BwyB,QAA1B,GAAqC,UAAUpG,IAAV,EAAgB;IACjD,OAAOlU,SAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAetP,OAAf,EAAwB,YAAY;MAChD,OAAOwd,WAAW,CAAC,IAAD,EAAO,UAAU9O,EAAV,EAAc;QACnC,QAAQA,EAAE,CAAC+O,KAAX;UACI,KAAK,CAAL;YACI,IAAI,EAAE,KAAK4L,eAAL,GAAuB,CAAzB,CAAJ,EAAiC,OAAO,CAAC;YAAE;YAAH,EAAc,CAAd,CAAP;YACjC,KAAKppB,KAAL,CAAWlG,IAAX,CAAgB,CAACypB,IAAD,EAAO,CAAP,CAAhB;YACA,KAAKoH,aAAL,CAAmB,CAAnB;YACA,OAAO,CAAC;YAAE;YAAH,EAAc,CAAd,CAAP;;UACJ,KAAK,CAAL;YAAQ,OAAO,CAAC;YAAE;YAAH,EAAc,KAAKC,UAAL,CAAgBrH,IAAhB,CAAd,CAAP;;UACR,KAAK,CAAL;YACI9U,EAAE,CAACgP,IAAH;;YACAhP,EAAE,CAAC+O,KAAH,GAAW,CAAX;;UACJ,KAAK,CAAL;YAAQ,OAAO,CAAC;YAAE;YAAH,CAAP;QAVZ;MAYH,CAbiB,CAAlB;IAcH,CAfe,CAAhB;EAgBH,CAjBD;;EAkBAiH,eAAe,CAACttB,SAAhB,CAA0ByzB,UAA1B,GAAuC,UAAUrH,IAAV,EAAgB;IACnD,IAAIsH,KAAK,GAAG,IAAZ;;IACA,IAAI9B,YAAY,GAAG,KAAKA,YAAL,KAAsB,MAAtB,GAA+B,kBAAkB5vB,MAAlB,CAAyB,KAAK4vB,YAA9B,CAA/B,GAA6E,EAAhG;IACA,IAAIC,QAAQ,GAAG,KAAKA,QAAL,KAAkB,MAAlB,GAA2B,cAAc7vB,MAAd,CAAqB,KAAK6vB,QAA1B,CAA3B,GAAiE,EAAhF;IACA,IAAI8B,SAAS,GAAG5L,iBAAiB,KAAK,eAAL,GAAuB,mBAAxD;IACA,IAAI9X,GAAG,GAAG,GAAGjO,MAAH,CAAU,KAAKuvB,YAAf,EAA6BvvB,MAA7B,CAAoC2xB,SAApC,EAA+C,SAA/C,EAA0D3xB,MAA1D,CAAiE,KAAK0vB,MAAtE,EAA8E1vB,MAA9E,CAAqF4vB,YAArF,EAAmG5vB,MAAnG,CAA0G6vB,QAA1G,CAAV;;IACA,IAAI,KAAKJ,YAAT,EAAuB;MACnBxhB,GAAG,GAAG,GAAGjO,MAAH,CAAU,KAAKuvB,YAAf,EAA6B,OAA7B,EAAsCvvB,MAAtC,CAA6CsoB,cAAc,EAA3D,EAA+D,KAA/D,EAAsEtoB,MAAtE,CAA6EsoB,cAAc,EAA3F,EAA+F,GAA/F,EAAoGtoB,MAApG,CAA2G,KAAK0vB,MAAhH,EAAwH1vB,MAAxH,CAA+H4vB,YAA/H,EAA6I5vB,MAA7I,CAAoJ6vB,QAApJ,CAAN;IACH;;IACD,IAAI+B,UAAU,GAAG1pB,IAAI,CAACC,SAAL,CAAeiiB,IAAf,CAAjB;IACA5E,SAAS,GAAG5W,KAAZ,CAAkB,sBAAsB5O,MAAtB,CAA6BiO,GAA7B,CAAlB,EAAqD2jB,UAArD;IACA,OAAO,KAAK7B,SAAL,CAAe9hB,GAAf,EAAoB2jB,UAApB,EAAgC,KAAK5B,aAAL,EAAhC,EAAsD,UAAUhZ,IAAV,EAAgBO,IAAhB,EAAsB;MAC/E,OAAOma,KAAK,CAACG,UAAN,CAAiB7a,IAAjB,EAAuBO,IAAvB,CAAP;IACH,CAFM,CAAP;EAGH,CAdD;;EAeA+T,eAAe,CAACttB,SAAhB,CAA0BwzB,aAA1B,GAA0C,UAAUM,OAAV,EAAmB;IACzD,IAAIJ,KAAK,GAAG,IAAZ;;IACA,IAAI,KAAKvB,QAAT,EAAmB;MACf;IACH;;IACD,KAAKA,QAAL,GAAgB,IAAhB;;IACA,IAAI,OAAO2B,OAAP,KAAmB,WAAvB,EAAoC;MAChC,IAAIzwB,MAAM,GAAGD,IAAI,CAACC,MAAL,KAAgB,CAA7B;MACA,IAAI0wB,MAAM,GAAG3wB,IAAI,CAAC4wB,GAAL,CAAS,CAAT,EAAY,KAAK5B,OAAL,EAAZ,CAAb;MACA0B,OAAO,GAAG1wB,IAAI,CAAC6wB,GAAL,CAAS,KAAK/B,YAAL,CAAkB,CAAlB,IAAuB7uB,MAAvB,GAAgC0wB,MAAzC,EAAiD,KAAK7B,YAAL,CAAkB,CAAlB,CAAjD,CAAV;IACH;;IACD1K,SAAS,GAAG5W,KAAZ,CAAkB,mCAAmC5O,MAAnC,CAA0C8xB,OAA1C,EAAmD,MAAnD,CAAlB;IACAtsB,UAAU,CAAC,YAAY;MAAE,OAAOksB,KAAK,CAAC/H,KAAN,EAAP;IAAuB,CAAtC,EAAwCmI,OAAxC,CAAV;EACH,CAbD;;EAcAxG,eAAe,CAACttB,SAAhB,CAA0B2rB,KAA1B,GAAkC,YAAY;IAC1C,OAAOzT,SAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAetP,OAAf,EAAwB,YAAY;MAChD,IAAIC,KAAJ;;MACA,IAAIyO,EAAJ;;MACA,IAAIoc,KAAK,GAAG,IAAZ;;MACA,OAAOtN,WAAW,CAAC,IAAD,EAAO,UAAU5K,EAAV,EAAc;QACnC,QAAQA,EAAE,CAAC6K,KAAX;UACI,KAAK,CAAL;YACI,IAAI0B,iBAAiB,MAAM,CAAClpB,MAAM,CAACM,SAAP,CAAiB0R,MAA7C,EAAqD;cACjD,KAAKshB,QAAL,GAAgB,KAAhB;cACA,KAAKqB,aAAL;YACH;;YACD3qB,KAAK,GAAG,KAAKA,KAAL,CAAW8iB,KAAX,EAAR;YACA,KAAKwG,QAAL,GAAgB,KAAhB;;YACA,IAAItpB,KAAK,CAAC1K,MAAN,KAAiB,CAArB,EAAwB;cACpB,OAAO,CAAC;cAAE;cAAH,CAAP;YACH;;YACDqd,EAAE,CAAC6K,KAAH,GAAW,CAAX;;UACJ,KAAK,CAAL;YACI7K,EAAE,CAAC+K,IAAH,CAAQ5jB,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;YACA,OAAO,CAAC;YAAE;YAAH,EAAc,KAAK8wB,UAAL,CAAgB5qB,KAAK,CAAC9F,GAAN,CAAU,UAAUmxB,EAAV,EAAc;cAAE,OAAOA,EAAE,CAAC,CAAD,CAAT;YAAe,CAAzC,CAAhB,CAAd,CAAP;;UACJ,KAAK,CAAL;YACI1Y,EAAE,CAAC8K,IAAH;;YACA,KAAK8L,OAAL,GAAe,CAAf;YACA5K,SAAS,GAAG5W,KAAZ,CAAkB,wBAAwB5O,MAAxB,CAA+B6G,KAAK,CAAC1K,MAArC,EAA6C,oBAA7C,CAAlB;YACA,OAAO,CAAC;YAAE;YAAH,EAAc,CAAd,CAAP;;UACJ,KAAK,CAAL;YACIqd,EAAE,CAAC8K,IAAH;;YACAzd,KAAK,GAAGA,KAAK,CAAC9F,GAAN,CAAU,UAAUmxB,EAAV,EAAc;cAAE,OAAO,CAACA,EAAE,CAAC,CAAD,CAAH,EAAQA,EAAE,CAAC,CAAD,CAAF,GAAQ,CAAhB,CAAP;YAA4B,CAAtD,EAAwDxnB,MAAxD,CAA+D,UAAUwnB,EAAV,EAAc;cACjF,IAAIA,EAAE,CAAC,CAAD,CAAF,IAASR,KAAK,CAACzB,eAAnB,EAAoC;gBAChCzK,SAAS,GAAGnN,KAAZ,CAAkB,+BAA+BrY,MAA/B,CAAsCkyB,EAAE,CAAC,CAAD,CAAxC,EAA6C,oCAA7C,EAAmFlyB,MAAnF,CAA0F0xB,KAAK,CAACzB,eAAhG,EAAiH,gCAAjH,CAAlB;gBACA,OAAO,KAAP;cACH;;cACD,OAAO,IAAP;YACH,CANO,CAAR;;YAOA,IAAIppB,KAAK,CAAC1K,MAAN,GAAe,CAAnB,EAAsB;cAClB,CAACmZ,EAAE,GAAG,KAAKzO,KAAX,EAAkBlG,IAAlB,CAAuBZ,KAAvB,CAA6BuV,EAA7B,EAAiCzO,KAAjC;;cACA,KAAK2qB,aAAL;YACH,CAHD,MAIK;cACD,KAAKpB,OAAL,GAAe,CAAf;YACH;;YACD,OAAO,CAAC;YAAE;YAAH,EAAc,CAAd,CAAP;;UACJ,KAAK,CAAL;YAAQ,OAAO,CAAC;YAAE;YAAH,CAAP;QArCZ;MAuCH,CAxCiB,CAAlB;IAyCH,CA7Ce,CAAhB;EA8CH,CA/CD;;EAgDA9E,eAAe,CAACttB,SAAhB,CAA0B6zB,UAA1B,GAAuC,UAAU1c,MAAV,EAAkBkM,QAAlB,EAA4B;IAC/D,IAAI,KAAKuO,YAAL,KAAsB,QAAtB,IAAkC,KAAKA,YAAL,KAAsB,QAA5D,EAAsE;MAClE,IAAIza,MAAM,KAAK,GAAf,EAAoB;QAChB,IAAInO,IAAI,GAAGqa,QAAX;;QACA,IAAI,OAAOA,QAAP,KAAoB,QAAxB,EAAkC;UAC9Bra,IAAI,GAAGkB,IAAI,CAAC0E,KAAL,CAAWyU,QAAX,CAAP;QACH;;QACD,IAAI,CAACra,IAAI,CAAC,eAAD,CAAT,EAA4B;UACxB;QACH;MACJ;;MACD,KAAKspB,iBAAL,CAAuBrF,MAAvB;MACA,KAAKkH,gBAAL,CAAsBlH,MAAtB;MACA7C,YAAY,CAAC,KAAKoH,YAAN,CAAZ;IACH;;IACD,IAAIra,MAAM,KAAK,GAAf,EAAoB;MAChB,IAAInO,IAAI,GAAGqa,QAAX;;MACA,IAAI,OAAOA,QAAP,KAAoB,QAApB,IAAgCA,QAAQ,CAACllB,MAAT,GAAkB,CAAtD,EAAyD;QACrD6K,IAAI,GAAGkB,IAAI,CAAC0E,KAAL,CAAWyU,QAAX,CAAP;QACA,IAAI+Q,MAAM,GAAGprB,IAAI,CAAC,kBAAD,CAAjB;;QACA,IAAIorB,MAAM,IAAIA,MAAM,CAACj2B,MAAP,GAAgB,CAA9B,EAAiC;UAC7B,IAAIk2B,QAAQ,GAAGtM,iBAAiB,EAAhC;;UACA,IAAI,CAACsM,QAAL,EAAe;YACX7M,SAAS,GAAGnN,KAAZ,CAAkB,wDAAlB;UACH,CAFD,MAGK;YACD,KAAK,IAAIiO,EAAE,GAAG,CAAT,EAAYgM,QAAQ,GAAGF,MAA5B,EAAoC9L,EAAE,GAAGgM,QAAQ,CAACn2B,MAAlD,EAA0DmqB,EAAE,EAA5D,EAAgE;cAC5D,IAAIhR,EAAE,GAAGgd,QAAQ,CAAChM,EAAD,CAAjB;cAAA,IAAuBtjB,IAAI,GAAGsS,EAAE,CAACtS,IAAjC;cAAA,IAAuCkO,EAAE,GAAGoE,EAAE,CAACpE,EAA/C;cAAA,IAAmDpL,KAAK,GAAGwP,EAAE,CAACxP,KAA9D;;cACA,IAAI9C,IAAI,KAAK,KAAb,EAAoB;gBAChB,IAAI8S,GAAG,GAAGtI,QAAQ,CAACgI,aAAT,CAAuB,KAAvB,CAAV;gBACAM,GAAG,CAAC5E,EAAJ,GAASA,EAAT;gBACA0W,gBAAgB,CAAC9R,GAAD,EAAMhQ,KAAN,CAAhB;;gBACA,IAAIgQ,GAAG,CAACyc,iBAAJ,GAAwB,CAA5B,EAA+B;kBAC3B/kB,QAAQ,CAAC+J,IAAT,CAAcQ,WAAd,CAA0BjC,GAA1B;gBACH;cACJ;YACJ;UACJ;QACJ;MACJ;IACJ;EACJ,CAzCD;;EA0CAwV,eAAe,CAACttB,SAAhB,CAA0B6yB,MAA1B,GAAmC,UAAUn0B,GAAV,EAAe;IAC9C,IAAIwlB,GAAG,GAAG,IAAIvS,IAAJ,EAAV;IACA,IAAIrK,KAAK,GAAG5I,GAAG,CAAC+uB,cAAJ,MAAwB,EAApC;IACA,OAAOxH,OAAQ,CAACA,OAAQ,CAAC;MAAEuO,QAAQ,EAAE,EAAZ;MAAgB5tB,IAAI,EAAEqf,OAAQ,CAAC;QAAEwO,YAAY,EAAE,KAAK7C,YAAL,KAAsB,QAAtB,GAC1DlzB,GAAG,CAAC6vB,cAAJ,CAAmB;UACjBrvB,IAAI,EAAE,KAAKsyB,YADM;UAEjBtS,MAAM,EAAE,KAAKlB;QAFI,CAAnB,CAD0D,GAK1D;MAL0C,CAAD,EAKnC,KAAKmT,cAL8B,CAA9B;MAKiBuD,GAAG,EAAE,KAAKC,OAAL,EALtB;MAKsCC,QAAQ,EAAExJ,YAAY,CAAClH,GAAG,CAACvC,WAAJ,EAAD,CAL5D;MAKiFkT,eAAe,EAAE3Q,GAAG,CAAC1D,iBAAJ;IALlG,CAAD,EAK8HlZ,KAL9H,CAAT,EAK+I2jB,iBAAiB,CAAC/M,UAAU,CAAC5W,KAAK,CAACumB,UAAP,CAAX,CALhK,CAAf;EAMH,CATD;;EAUAP,eAAe,CAACttB,SAAhB,CAA0B20B,OAA1B,GAAoC,YAAY;IAC5C,IAAI,CAAC5M,iBAAiB,EAAtB,EAA0B;MACtB,OAAO,EAAP;IACH;;IACD,IAAIwB,OAAO,GAAGU,UAAU,CAAC,KAAD,CAAxB;IACA,IAAIhP,GAAG,GAAG,EAAV;;IACA,KAAK,IAAIqN,EAAE,GAAG,CAAT,EAAYhR,EAAE,GAAGvX,MAAM,CAAC4X,OAAP,CAAe4R,OAAf,CAAtB,EAA+CjB,EAAE,GAAGhR,EAAE,CAACnZ,MAAvD,EAA+DmqB,EAAE,EAAjE,EAAqE;MACjE,IAAI9M,EAAE,GAAGlE,EAAE,CAACgR,EAAD,CAAX;MAAA,IAAiBzgB,GAAG,GAAG2T,EAAE,CAAC,CAAD,CAAzB;MAAA,IAA8B1T,KAAK,GAAG0T,EAAE,CAAC,CAAD,CAAxC;;MACA,IAAI,KAAKmW,UAAL,CAAgB9pB,GAAhB,CAAJ,EAA0B;QACtBoT,GAAG,CAACpT,GAAG,CAACtI,MAAJ,CAAW,CAAX,KAAiB,GAAjB,GAAuBsI,GAAG,CAAC0W,MAAJ,CAAW,CAAX,CAAvB,GAAuC1W,GAAxC,CAAH,GAAkDC,KAAlD;MACH;IACJ;;IACD,OAAOmT,GAAP;EACH,CAbD;;EAcAqS,eAAe,CAACttB,SAAhB,CAA0B0H,KAA1B,GAAkC,UAAU1C,IAAV,EAAgBuF,OAAhB,EAAyB;IACvD,IAAIvB,IAAI,GAAGuB,OAAO,IAAI,EAAtB;IACAid,SAAS,GAAG5W,KAAZ,CAAkB,qBAAlB,EAAyC5L,IAAzC,EAA+CgE,IAA/C;IACA,IAAIlL,CAAC,GAAG,KAAK20B,SAAL,CAAeztB,IAAf,EAAqB,KAAKkuB,UAAL,GAAkB,QAAlB,GAA6B,OAAlD,EAA2D3oB,OAAO,IAAI,EAAtE,CAAR;IACA,OAAO,KAAKioB,QAAL,CAAc10B,CAAd,CAAP;EACH,CALD;;EAMAwvB,eAAe,CAACttB,SAAhB,CAA0Bob,IAA1B,GAAiC,UAAU/S,OAAV,EAAmB;IAChD,IAAIqrB,KAAK,GAAG,IAAZ;;IACA,IAAIpc,EAAJ,EAAQkE,EAAR,EAAYyV,EAAZ,EAAgB6D,EAAhB;;IACA,IAAI/M,iBAAiB,MAAM,CAAC1f,OAAO,CAAC0sB,eAApC,EAAqD;MACjD,IAAI1sB,OAAO,CAACyV,KAAZ,EAAmB;QACf0J,SAAS,GAAGtM,IAAZ,CAAiB,2GAAjB;MACH;;MACD,KAAK6W,SAAL,GAAiB,KAAKD,SAAL,GAAiB3F,eAAjB,GAAmCiE,gBAApD;IACH,CALD,MAMK;MACD,IAAI,CAAC/nB,OAAO,CAACyV,KAAT,IAAkB,CAACgF,UAAU,CAAChF,KAAlC,EAAyC;QACrC,MAAM,IAAI7c,KAAJ,CAAU,8HACZ,oFADE,CAAN;MAEH;;MACD,KAAK8wB,SAAL,GAAiBnB,cAAc,CAACvoB,OAAO,CAACyV,KAAR,IAAiBgF,UAAU,CAAChF,KAA7B,CAA/B;IACH;;IACD,IAAIzV,OAAO,CAAC2sB,cAAR,IACA,OAAO3sB,OAAO,CAAC2sB,cAAf,KAAkC,UADtC,EACkD;MAC9C,KAAKhD,aAAL,GAAqB3pB,OAAO,CAAC2sB,cAA7B;IACH,CAHD,MAIK,IAAI3sB,OAAO,CAAC2sB,cAAZ,EAA4B;MAC7B,KAAKhD,aAAL,GAAqB,YAAY;QAC7B,OAAO3pB,OAAO,CAAC2sB,cAAf;MACH,CAFD;IAGH;;IACD,IAAI3sB,OAAO,CAAC4sB,aAAR,KAA0B,MAA9B,EAAsC;MAClCzN,SAAS,GAAGtM,IAAZ,CAAiB,+FAAjB;MACA,KAAK6W,SAAL,GAAiBrF,aAAjB;IACH;;IACD,IAAIrkB,OAAO,CAAC6sB,SAAZ,EAAuB;MACnB,KAAKrD,QAAL,GAAgBxpB,OAAO,CAAC6sB,SAAxB;IACH;;IACD,IAAI7sB,OAAO,CAAC8sB,aAAZ,EAA2B;MACvB,KAAKvD,YAAL,GAAoBvpB,OAAO,CAAC8sB,aAA5B;IACH;;IACD,IAAI9sB,OAAO,CAAC+sB,cAAR,KAA2B,QAA/B,EAAyC;MACrC,KAAKvD,QAAL,GAAgB,QAAhB;MACA,KAAKD,YAAL,GAAoB,QAApB;IACH;;IACD,IAAIvpB,OAAO,CAACgtB,cAAR,IAA0Bl2B,SAAS,CAACotB,UAAxC,EAAoD;MAChD,KAAKuF,SAAL,GAAiB,IAAjB;IACH,CAzC+C,CA0ChD;;;IACA,IAAI,KAAKF,YAAL,KAAsB,QAAtB,IAAkC,KAAKE,SAA3C,EAAsD;MAClD,KAAKF,YAAL,GAAoB,QAApB;IACH;;IACD,IAAIvpB,OAAO,CAACitB,SAAZ,EAAuB;MACnB5N,eAAe,CAACrf,OAAO,CAACitB,SAAT,CAAf;IACH;;IACD,KAAKC,cAAL,GAAsBltB,OAAtB;IACAmf,SAAS,GAAG5W,KAAZ,CAAkB,oCAAlB,EAAwDvI,OAAxD,EAAiE4jB,aAAjE;;IACA,IAAI,CAAC5jB,OAAO,CAACR,GAAb,EAAkB;MACd2f,SAAS,GAAGnN,KAAZ,CAAkB,iDAAlB;MACA;IACH;;IACD,KAAK6Y,UAAL,GACI7qB,OAAO,CAACmtB,WAAR,KAAwB/e,SAAxB,GACM0W,iBADN,GAEM,CAAC,CAAC9kB,OAAO,CAACmtB,WAHpB;IAIA,KAAKxX,YAAL,GAAoB3V,OAAO,CAACotB,aAAR,IAAyBtM,eAAe,EAA5D;IACA,KAAKoI,YAAL,GAAoB9F,mBAAmB,CAACpjB,OAAO,CAAC,eAAD,CAAP,IAA4B,aAA7B,CAAvC;IACA,KAAKopB,YAAL,GAAoBppB,OAAO,CAACqtB,aAAR,IAAyB,KAA7C;IACA,KAAKlE,YAAL,GAAoBnpB,OAAO,CAACstB,WAAR,IAAuB,aAA3C;IACA,KAAKjE,MAAL,GAAcrpB,OAAO,CAACR,GAAtB;;IACA,IAAI,KAAK+pB,YAAL,KAAsB,QAA1B,EAAoC;MAChC,KAAKuC,gBAAL,GAAwB,IAAIjH,aAAJ,EAAxB;IACH,CAFD,MAGK;MACD,KAAKiH,gBAAL,GAAwBpM,iBAAiB,KACnC,IAAI8E,iBAAJ,CAAsB,KAAK7O,YAA3B,EAAyC,KAAKwT,YAAL,GAAoB,QAA7D,CADmC,GAEnC,IAAItE,aAAJ,EAFN;IAGH;;IACD,IAAI,KAAK0E,YAAL,KAAsB,QAA1B,EAAoC;MAChC,KAAKU,iBAAL,GAAyB,IAAIpF,aAAJ,EAAzB;IACH,CAFD,MAGK;MACD,KAAKoF,iBAAL,GAAyBvK,iBAAiB,KACpC,IAAI8E,iBAAJ,CAAsB,KAAK7O,YAA3B,EAAyC,KAAKwT,YAAL,GAAoB,MAA7D,CADoC,GAEpC,IAAItE,aAAJ,EAFN;IAGH;;IACD,IAAI,KAAKiH,gBAAT,EAA2B;MACvB,IAAIyB,QAAQ,GAAG,KAAKzB,gBAAL,CAAsBpH,OAAtB,EAAf;;MACA,IAAI6I,QAAJ,EAAc;QACV,KAAKxE,mBAAL,GAA2BwE,QAA3B;QACA,KAAKxE,mBAAL,CAAyBC,WAAzB,GAAuC,CAAC/Z,EAAE,GAAGse,QAAQ,CAACvE,WAAf,MAAgC,IAAhC,IAAwC/Z,EAAE,KAAK,KAAK,CAApD,GAAwDA,EAAxD,GAA6D,EAApG;QACA,KAAK8Z,mBAAL,CAAyBE,aAAzB,GAAyC,CAAC9V,EAAE,GAAGoa,QAAQ,CAACtE,aAAf,MAAkC,IAAlC,IAA0C9V,EAAE,KAAK,KAAK,CAAtD,GAA0DA,EAA1D,GAA+D,EAAxG;MACH;;MACDgM,SAAS,GAAG5W,KAAZ,CAAkB,gCAAlB,EAAoD,KAAKwgB,mBAAzD;IACH;;IACD,IAAI/oB,OAAO,CAACwtB,yBAAR,KAAsC,KAA1C,EAAiD;MAC7C,KAAKlE,UAAL,GAAkB,EAAlB;IACH,CAFD,MAGK;MACD,CAACtpB,OAAO,CAACwtB,yBAAR,IAAqC,CAClC,KADkC,EAElC,MAFkC,EAGlC,SAHkC,EAIlC,aAJkC,EAKlC,kBALkC,CAAtC,EAMG7tB,OANH,CAMW,UAAU9I,IAAV,EAAgB;QAAE,OAAQw0B,KAAK,CAAC/B,UAAN,CAAiBzyB,IAAjB,IAAyB,IAAjC;MAAyC,CANtE;IAOH;;IACD,IAAImJ,OAAO,CAACytB,OAAZ,EAAqB;MACjBtO,SAAS,GAAGtM,IAAZ,CAAiB,8CAAjB;IACH;;IACD,IAAI7S,OAAO,CAAC0tB,YAAZ,EAA0B;MACtBC,qBAAqB,CAAC,IAAD,CAArB;IACH;;IACD,IAAIjO,iBAAiB,EAArB,EAAyB;MACrB,IAAI,CAAC1f,OAAO,CAAC4tB,yBAAb,EAAwC;QACpC,KAAKptB,KAAL,GAAa,IAAI+iB,iBAAJ,CAAsB,mBAAtB,CAAb;QACA,KAAK4H,aAAL,CAAmB,CAAnB;MACH;;MACD30B,MAAM,CAACuY,gBAAP,CAAwB,cAAxB,EAAwC,YAAY;QAAE,OAAOsc,KAAK,CAAC/H,KAAN,EAAP;MAAuB,CAA7E;IACH;;IACD,KAAKuG,YAAL,GAAoB,CAChB,CAACjB,EAAE,GAAG5oB,OAAO,CAAC6tB,gBAAd,MAAoC,IAApC,IAA4CjF,EAAE,KAAK,KAAK,CAAxD,GAA4DA,EAA5D,GAAiE,KAAKiB,YAAL,CAAkB,CAAlB,CADjD,EAEhB,CAAC4C,EAAE,GAAGzsB,OAAO,CAAC8tB,gBAAd,MAAoC,IAApC,IAA4CrB,EAAE,KAAK,KAAK,CAAxD,GAA4DA,EAA5D,GAAiE,KAAK5C,YAAL,CAAkB,CAAlB,CAFjD,CAApB;;IAIA,IAAI,CAAC,CAAC7pB,OAAO,CAAC+tB,iBAAd,EAAiC;MAC7B,KAAKnE,eAAL,GAAuB5pB,OAAO,CAAC+tB,iBAA/B;IACH;;IACD,KAAK3oB,WAAL,GAAmB,IAAnB;EACH,CA1HD;;EA2HA6f,eAAe,CAACttB,SAAhB,CAA0Bq2B,kBAA1B,GAA+C,UAAU/kB,SAAV,EAAqB;IAChE,IAAIoiB,KAAK,GAAG,IAAZ;;IACA,IAAI4C,WAAW,GAAG,SAAdA,WAAc,CAAUC,KAAV,EAAiB;MAC/B,IAAIjf,EAAJ;;MACA,IAAI;QACA,IAAI/M,OAAO,GAAG0b,OAAQ,CAAC,EAAD,EAAKsQ,KAAK,CAAChsB,OAAX,CAAtB;;QACAid,SAAS,GAAG5W,KAAZ,CAAkB,6BAAlB,EAAiDrG,OAAO,CAAC+K,GAAzD;QACA,IAAIkhB,WAAW,GAAGD,KAAK,CAACE,YAAN,CAAmB,YAAnB,CAAlB;;QACA,IAAID,WAAW,IAAIA,WAAW,CAACllB,SAA/B,EAA0C;UACtC,IAAIolB,iBAAiB,GAAGF,WAAW,CAACllB,SAApC;;UACA,IAAI,OAAOolB,iBAAiB,CAAC9vB,IAAzB,KAAkC,UAAlC,IACA8vB,iBAAiB,CAAC9vB,IAAlB,EADA,IAEA,OAAO8vB,iBAAiB,CAAC9vB,IAAlB,GAAyBsM,EAAhC,KAAuC,UAF3C,EAEuD;YACnD3I,OAAO,CAAC+K,GAAR,CAAYvO,MAAZ,GAAqB2vB,iBAAiB,CAAC9vB,IAAlB,GAAyBsM,EAAzB,EAArB;UACH;QACJ;;QACD,IAAI,CAACoE,EAAE,GAAG/M,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAAC+K,GAAhE,MAAyE,IAAzE,IAAiFgC,EAAE,KAAK,KAAK,CAA7F,GAAiG,KAAK,CAAtG,GAA0GA,EAAE,CAACoK,SAAjH,EAA4H;UACxHnX,OAAO,CAAC+K,GAAR,CAAYsM,MAAZ,GAAqBrX,OAAO,CAAC+K,GAAR,CAAYoM,SAAjC;QACH;;QACD,IAAI1c,IAAI,GAAGuxB,KAAK,CAAChsB,OAAN,CAAcvF,IAAd,EAAX;;QACA,IAAIA,IAAI,KAAK,OAAb,EAAsB;UAClBA,IAAI,GAAGuxB,KAAK,CAAChsB,OAAN,CAAcP,KAAd,EAAP;QACH;;QACD0pB,KAAK,CAACN,OAAN,CAAc,KAAd,EAAqB7oB,OAArB,EAA8BvF,IAA9B;MACH,CApBD,CAqBA,OAAOlH,CAAP,EAAU;QACN0pB,SAAS,GAAGtM,IAAZ,CAAiB,yBAAjB,EAA4Cpd,CAA5C;MACH;;MACDy4B,KAAK,CAAClxB,IAAN,CAAWkxB,KAAK,CAAChsB,OAAjB;IACH,CA3BD;;IA4BA,IAAI,OAAO+G,SAAS,CAACqlB,mBAAjB,KAAyC,UAA7C,EAAyD;MACrD;MACAnP,SAAS,GAAG5W,KAAZ,CAAkB,0DAAlB;MACAU,SAAS,CAACqlB,mBAAV,CAA8BL,WAA9B;IACH,CAJD,MAKK;MACD9O,SAAS,GAAG5W,KAAZ,CAAkB,2EAAlB;MACAU,SAAS,CAAC3O,IAAV,CAAe,CAAC,qBAAD,EAAwB2zB,WAAxB,CAAf;IACH;;IACDhlB,SAAS,CAAC,kBAAD,CAAT,GAAgC,IAAhC;EACH,CAxCD;;EAyCAgc,eAAe,CAACttB,SAAhB,CAA0B4yB,SAA1B,GAAsC,YAAY;IAC9C,IAAI,KAAKN,iBAAT,EAA4B;MACxB,IAAIhrB,KAAK,GAAG,KAAKgrB,iBAAL,CAAuBvF,OAAvB,EAAZ;;MACA,IAAIzlB,KAAJ,EAAW;QACP,KAAK6pB,cAAL,GAAsBlL,OAAQ,CAACA,OAAQ,CAAC,EAAD,EAAK3e,KAAL,CAAT,EAAsB,KAAK6pB,cAA3B,CAA9B;MACH;IACJ;EACJ,CAPD;;EAQA7D,eAAe,CAACttB,SAAhB,CAA0B8rB,GAA1B,GAAgC,UAAU7c,UAAV,EAAsBuH,IAAtB,EAA4B;IACxD,IAAIc,EAAJ;;IACA,IAAIgc,SAAS,GAAG9c,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAAC8c,SAAjE;IACA,IAAIsD,OAAO,GAAG,CAACpgB,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAACogB,OAAlD,MAA+DngB,SAA/D,KAA6ED,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAACogB,OAA9H,CAAd;;IACA,IAAItD,SAAS,KAAK7c,SAAlB,EAA6B;MACzB,IAAItB,OAAO,GAAG,CAACmC,EAAE,GAAG,KAAK8Z,mBAAL,CAAyBE,aAAzB,CAAuCgC,SAAvC,CAAN,MAA6D,IAA7D,IAAqEhc,EAAE,KAAK,KAAK,CAAjF,GAAqFA,EAArF,GAA0F,EAAxG;MACA,KAAK8Z,mBAAL,CAAyBE,aAAzB,CAAuCgC,SAAvC,IAAoDrN,OAAQ,CAACA,OAAQ,CAAC,EAAD,EAAK9Q,OAAL,CAAT,EAAwBlG,UAAxB,CAA5D;IACH,CAHD,MAIK;MACD,KAAKmiB,mBAAL,CAAyBC,WAAzB,GAAuCpL,OAAQ,CAACA,OAAQ,CAAC,EAAD,EAAK,KAAKmL,mBAAL,CAAyBC,WAA9B,CAAT,EAAqDpiB,UAArD,CAA/C;IACH;;IACD,IAAI,KAAKklB,gBAAL,IAAyByC,OAA7B,EAAsC;MAClC,KAAKzC,gBAAL,CAAsBrH,IAAtB,CAA2B,KAAKsE,mBAAhC;IACH;EACJ,CAdD;;EAeA9D,eAAe,CAACttB,SAAhB,CAA0B62B,KAA1B,GAAkC,UAAUC,YAAV,EAAwBtgB,IAAxB,EAA8B;IAC5DmS,aAAa;IACb,IAAI2K,SAAS,GAAG9c,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAAC8c,SAAjE;IACA,IAAIsD,OAAO,GAAG,CAACpgB,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAACogB,OAAlD,MAA+DngB,SAA/D,KAA6ED,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAACogB,OAA9H,CAAd;;IACA,IAAI,CAACtD,SAAL,EAAgB;MACZ,OAAO,KAAKlC,mBAAL,CAAyBC,WAAzB,CAAqCyF,YAArC,CAAP;IACH,CAFD,MAGK,IAAI,KAAK1F,mBAAL,CAAyBE,aAAzB,CAAuCgC,SAAvC,CAAJ,EAAuD;MACxD,OAAO,KAAKlC,mBAAL,CAAyBE,aAAzB,CAAuCgC,SAAvC,EAAkDwD,YAAlD,CAAP;IACH;;IACD,IAAI,KAAK3C,gBAAL,IAAyByC,OAA7B,EAAsC;MAClC,KAAKzC,gBAAL,CAAsBrH,IAAtB,CAA2B,KAAKsE,mBAAhC;IACH;EACJ,CAbD;;EAcA,OAAO9D,eAAP;AACH,CAxboC,EAArC;;AAybA,SAAS0I,qBAAT,CAA+Bn4B,CAA/B,EAAkC;EAC9B,IAAImqB,GAAG,GAAGnpB,MAAV;;EACA,IAAI,CAACmpB,GAAG,CAAC1W,SAAT,EAAoB;IAChB0W,GAAG,CAAC1W,SAAJ,GAAgB,EAAhB;EACH;;EACDzT,CAAC,CAACw4B,kBAAF,CAAqBrO,GAAG,CAAC1W,SAAzB;AACH","file":"static/js/vendors~main~b6f0fc4c.0ff2c682.chunk.js","sourcesContent":["function n$2(t,e,l,n,r){for(e=e.split?e.split(\".\"):e,n=0;n1&&(m(t,c.map(function(e){return e.replace(/[?[\\]\\\\ ]/g,\"\")}),t[u]),delete t[u]);}return t}(function(r){if(r){var t=r.match(/\\?(.*)/);return t&&t[1]?t[1].split(\"#\")[0]:\"\"}return $$1&&window.location.search.substring(1)}(r))}function m(e,r,t){for(var n=r.length-1,o=0;o>4;}return e}\n\nvar l=\"global\",o=j$1+\"global\"+j$1,n=typeof self===o$1&&self.self===self&&self||typeof global===o$1&&global.global===global&&global||void 0;function a$2(t){return n[o][t]}function f(t,e){return n[o][t]=e}function i$2(t){delete n[o][t];}function u$1(t,e,r){var l;try{if(b$2(t)){var o=window[t];l=o[e].bind(o);}}catch(t){}return l||r}n[o]||(n[o]={});var c$1={};function b$2(t){if(typeof c$1[t]!==e)return c$1[t];try{var e$1=window[t];e$1.setItem(e,e),e$1.removeItem(e);}catch(e){return c$1[t]=!1}return c$1[t]=!0}\n\nfunction g$1(){return g$1=Object.assign||function(e){for(var t=1;t1;return !1===i$1&&(d?f(e,t):a$2(e)),d?document.cookie=e+\"=\"+encodeURIComponent(t)+(r?\"; expires=\"+new Date(+new Date+1e3*r).toUTCString()+(c?\"; path=\"+c:\"\")+(u?\"; domain=\"+u:\"\")+(a?\"; secure\":\"\"):\"\"):decodeURIComponent(((\"; \"+document.cookie).split(\"; \"+e+\"=\")[1]||\"\").split(\";\")[0])}}\n\nvar r=\"localStorage\",g=b$2.bind(null,\"localStorage\");u$1(\"localStorage\",\"getItem\",a$2);u$1(\"localStorage\",\"setItem\",f);u$1(\"localStorage\",\"removeItem\",i$2);\n\nvar a=\"sessionStorage\",i=b$2.bind(null,\"sessionStorage\");u$1(\"sessionStorage\",\"getItem\",a$2);u$1(\"sessionStorage\",\"setItem\",f);u$1(\"sessionStorage\",\"removeItem\",i$2);\n\nfunction I(t){var o=t;try{if(\"true\"===(o=JSON.parse(t)))return !0;if(\"false\"===o)return !1;if(on(o))return o;parseFloat(o)===o&&(o=parseFloat(o));}catch(t){}if(null!==o&&\"\"!==o)return o}var k=g(),O=i(),x=a$1();function C(o,e){if(o){var r=A(e),a=!N(r),i=d(r)?I(localStorage.getItem(o)):void 0;if(a&&!I$2(i))return i;var n=h(r)?I(r$1(o)):void 0;if(a&&n)return n;var l=E(r)?I(sessionStorage.getItem(o)):void 0;if(a&&l)return l;var u=a$2(o);return a?u:{localStorage:i,sessionStorage:l,cookie:n,global:u}}}function L(r$2,a$1,l$1){if(r$2&&!I$2(a$1)){var u={},g=A(l$1),m=JSON.stringify(a$1),S=!N(g);return d(g)&&(u[r]=F(r,a$1,I(localStorage.getItem(r$2))),localStorage.setItem(r$2,m),S)?u[r]:h(g)&&(u[t]=F(t,a$1,I(r$1(r$2))),c(r$2,m),S)?u[t]:E(g)&&(u[a]=F(a,a$1,I(sessionStorage.getItem(r$2))),sessionStorage.setItem(r$2,m),S)?u[a]:(u[l]=F(l,a$1,a$2(r$2)),f(r$2,a$1),S?u[l]:u)}}function b(t$1,e){if(t$1){var a$1=A(e),s=C(t$1,m$1),n={};return !I$2(s.localStorage)&&d(a$1)&&(localStorage.removeItem(t$1),n[r]=s.localStorage),!I$2(s.cookie)&&h(a$1)&&(u(t$1),n[t]=s.cookie),!I$2(s.sessionStorage)&&E(a$1)&&(sessionStorage.removeItem(t$1),n[a]=s.sessionStorage),!I$2(s.global)&&G(a$1,l)&&(i$2(t$1),n[l]=s.global),n}}function A(t){return t?q$1(t)?t:t.storage:g$2}function d(t){return k&&G(t,r)}function h(t$1){return x&&G(t$1,t)}function E(t){return O&&G(t,a)}function N(t){return t===m$1||\"all\"===t}function G(t,o){return t===g$2||t===o||N(t)}function F(t,o,e){return {location:t,current:o,previous:e}}var J={setItem:L,getItem:C,removeItem:b};\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction analyticsLib() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaultSettings = {\n storage: J\n };\n return ke(_objectSpread2(_objectSpread2({}, defaultSettings), opts));\n}\n\nfunction findScript(src) {\n const scripts = Array.prototype.slice.call(window.document.querySelectorAll(\"script\"));\n return scripts.find(s => s.src === src);\n}\nfunction loadScript(src, attributes) {\n const found = findScript(src);\n if (found !== undefined) {\n const status = found === null || found === void 0 ? void 0 : found.getAttribute(\"status\");\n if (status === \"loaded\") {\n return Promise.resolve(found);\n }\n if (status === \"loading\") {\n return new Promise((resolve, reject) => {\n found.addEventListener(\"load\", () => resolve(found));\n found.addEventListener(\"error\", err => reject(err));\n });\n }\n }\n return new Promise((resolve, reject) => {\n var _a;\n const script = window.document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.src = src;\n script.async = true;\n script.setAttribute(\"status\", \"loading\");\n for (const [k, v] of Object.entries(attributes !== null && attributes !== void 0 ? attributes : {})) {\n script.setAttribute(k, v);\n }\n script.onload = () => {\n script.onerror = script.onload = null;\n script.setAttribute(\"status\", \"loaded\");\n resolve(script);\n };\n script.onerror = () => {\n script.onerror = script.onload = null;\n script.setAttribute(\"status\", \"error\");\n reject(new Error(`Failed to load ${src}`));\n };\n const tag = window.document.getElementsByTagName(\"script\")[0];\n (_a = tag.parentElement) === null || _a === void 0 ? void 0 : _a.insertBefore(script, tag);\n });\n}\n\nvar __awaiter$3 = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst tagPlugin = {\n id: \"tag\",\n handle(config, payload) {\n return __awaiter$3(this, void 0, void 0, function* () {\n if (!applyFilters(payload, config)) {\n return;\n }\n insertTags(config.code, payload);\n });\n },\n};\nfunction insertTags(code, event, opts = {}) {\n let tag;\n try {\n tag = JSON.parse(code);\n }\n catch (e) {\n tag = { code, lang: \"javascript\" };\n }\n const debug = opts.debug || false;\n if (isInBrowser()) {\n if (tag.lang === \"javascript\") {\n execJs(tag.code, event);\n }\n else {\n const codeHolder = document.createElement(\"span\");\n codeHolder.innerHTML = replaceMacro(tag.code, event);\n document.body.insertAdjacentElement(\"beforeend\", codeHolder);\n const scripts = codeHolder.querySelectorAll(\"script\");\n scripts.forEach(script => {\n const scriptClone = document.createElement(\"script\");\n scriptClone.type = scriptClone.type || \"text/javascript\";\n if (script.hasAttribute(\"src\")) {\n scriptClone.src = script.src;\n }\n scriptClone.text = script.text;\n if (debug) {\n console.log(`[JITSU] Executing script${script.hasAttribute(\"src\") ? ` ${script.src}` : \"\"}`, scriptClone.text);\n }\n document.head.appendChild(scriptClone);\n document.head.removeChild(scriptClone);\n });\n }\n }\n else {\n if (debug) {\n console.log(`[JITSU] insertTags(): cannot insert tags in non-browser environment`);\n }\n }\n}\nfunction execJs(code, event) {\n const varName = `jitsu_event_${randomId()}`;\n window[varName] = event;\n const iif = `(function(){\n const event = ${varName};\n ${code}\n })()`;\n try {\n eval(iif);\n }\n catch (e) {\n console.error(`[JITSU] Error executing JS code: ${e.message}. Code: `, iif);\n }\n finally {\n delete window[varName];\n }\n return iif;\n}\nfunction replaceMacro(code, event) {\n return code.replace(/{{\\s*event\\s*}}/g, JSON.stringify(event));\n}\n\nvar __awaiter$2 = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst logrocketPlugin = {\n id: \"logrocket\",\n handle(config, payload) {\n return __awaiter$2(this, void 0, void 0, function* () {\n if (!applyFilters(payload, config)) {\n return;\n }\n initLogrocketIfNeeded(config.appId);\n const action = logRocket => {\n if (payload.type === \"identify\" && payload.userId) {\n logRocket.identify(payload.userId, payload.traits || {});\n }\n };\n getLogRocketQueue().push(action);\n if (getLogRocketState() === \"loaded\") {\n flushLogRocketQueue(window[\"LogRocket\"]);\n }\n });\n },\n};\nfunction getLogRocketState() {\n return window[\"__jitsuLrState\"] || \"fresh\";\n}\nfunction setLogRocketState(s) {\n window[\"__jitsuLrState\"] = s;\n}\nfunction getLogRocketQueue() {\n return window[\"__jitsuLrQueue\"] || (window[\"__jitsuLrQueue\"] = []);\n}\nfunction flushLogRocketQueue(lr) {\n const queue = getLogRocketQueue();\n while (queue.length > 0) {\n const method = queue.shift();\n try {\n const res = method(lr);\n if (res) {\n res.catch(e => console.warn(`Async LogRocket method failed: ${e.message}`, e));\n }\n }\n catch (e) {\n console.warn(`LogRocket method failed: ${e.message}`, e);\n }\n }\n}\nfunction initLogrocketIfNeeded(appId) {\n return __awaiter$2(this, void 0, void 0, function* () {\n if (getLogRocketState() !== \"fresh\") {\n return;\n }\n setLogRocketState(\"loading\");\n loadScript(`https://cdn.lr-ingest.io/LogRocket.min.js`, { crossOrigin: \"anonymous\" })\n .then(() => {\n if (window[\"LogRocket\"]) {\n try {\n window[\"LogRocket\"].init(appId);\n }\n catch (e) {\n console.warn(`LogRocket (id=${appId}) init failed: ${e.message}`, e);\n setLogRocketState(\"failed\");\n }\n setLogRocketState(\"loaded\");\n flushLogRocketQueue(window[\"LogRocket\"]);\n }\n })\n .catch(e => {\n console.warn(`LogRocket (id=${appId}) init failed: ${e.message}`, e);\n setLogRocketState(\"failed\");\n });\n });\n}\n\nvar __awaiter$1 = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst defaultScriptSrc = \"https://www.googletagmanager.com/gtag/js\";\nconst gtmPlugin = {\n id: \"gtm\",\n handle(config, payload) {\n var _a, _b;\n return __awaiter$1(this, void 0, void 0, function* () {\n if (!applyFilters(payload, config)) {\n return;\n }\n yield initGtmIfNeeded(config);\n const dataLayer = window[config.dataLayerName || \"dataLayer\"];\n switch (payload.type) {\n case \"page\":\n const { properties: pageProperties, context } = payload;\n const pageEvent = {\n event: \"page_view\",\n url: pageProperties.url,\n title: pageProperties.title,\n referer: (_b = (_a = context === null || context === void 0 ? void 0 : context.page) === null || _a === void 0 ? void 0 : _a.referrer) !== null && _b !== void 0 ? _b : \"\",\n };\n if (config.debug) {\n console.log(\"gtag push\", pageEvent);\n }\n dataLayer.push(pageEvent);\n break;\n case \"track\":\n const { properties: trackProperties } = payload;\n const trackEvent = Object.assign({ event: payload.event }, trackProperties);\n if (payload.userId) {\n trackEvent.userId = payload.userId;\n }\n if (payload.anonymousId) {\n trackEvent.anonymousId = payload.anonymousId;\n }\n if (config.debug) {\n console.log(\"gtag push\", trackEvent);\n }\n dataLayer.push(trackEvent);\n break;\n case \"identify\":\n const { traits } = payload;\n const identifyEvent = Object.assign({ event: \"identify\" }, traits);\n if (payload.userId) {\n identifyEvent.userId = payload.userId;\n }\n if (payload.anonymousId) {\n identifyEvent.anonymousId = payload.anonymousId;\n }\n if (config.debug) {\n console.log(\"gtag push\", identifyEvent);\n }\n dataLayer.push(identifyEvent);\n break;\n }\n });\n },\n};\nfunction getGtmState() {\n return window[\"__jitsuGtmState\"] || \"fresh\";\n}\nfunction setGtmState(s) {\n window[\"__jitsuGtmState\"] = s;\n}\nfunction initGtmIfNeeded(config) {\n return __awaiter$1(this, void 0, void 0, function* () {\n if (getGtmState() !== \"fresh\") {\n return;\n }\n setGtmState(\"loading\");\n const dlName = config.dataLayerName || \"dataLayer\";\n const dlParam = dlName !== \"dataLayer\" ? \"&l=\" + dlName : \"\";\n const previewParams = config.preview\n ? `>m_preview=${config.preview}>m_auth=${config.auth}>m_cookies_win=x`\n : \"\";\n const scriptSrc = `${config.customScriptSrc || defaultScriptSrc}?id=${config.containerId}${dlParam}${previewParams}`;\n window[dlName] = window[dlName] || [];\n const gtag = function () {\n window[dlName].push(arguments);\n };\n // @ts-ignore\n gtag(\"js\", new Date());\n // @ts-ignore\n gtag(\"config\", config.containerId);\n loadScript(scriptSrc)\n .then(() => {\n setGtmState(\"loaded\");\n })\n .catch(e => {\n console.warn(`GTM (containerId=${config.containerId}) init failed: ${e.message}`, e);\n setGtmState(\"failed\");\n });\n });\n}\n\nfunction satisfyFilter(filter, subject) {\n return filter === \"*\" || filter.toLowerCase().trim() === (subject || \"\").trim().toLowerCase();\n}\nfunction satisfyDomainFilter(filter, subject) {\n if (filter === \"*\") {\n return true;\n }\n subject = subject || \"\";\n if (filter.startsWith(\"*.\")) {\n return subject.endsWith(filter.substring(1));\n }\n else {\n return filter === subject;\n }\n}\nfunction applyFilters(event, creds) {\n const { hosts = \"*\", events = \"*\" } = creds;\n try {\n const eventsArray = Array.isArray(events) ? events : events.split(\"\\n\");\n const hostsArray = Array.isArray(hosts) ? hosts : hosts.split(\"\\n\");\n return (!!hostsArray.find(hostFilter => { var _a; return satisfyDomainFilter(hostFilter, (_a = event.context) === null || _a === void 0 ? void 0 : _a.host); }) &&\n (!!eventsArray.find(eventFilter => satisfyFilter(eventFilter, event.type)) ||\n !!eventsArray.find(eventFilter => satisfyFilter(eventFilter, event.event))));\n }\n catch (e) {\n console.warn(`Failed to apply filters: ${e.message}. Typeof events: ${typeof events}, typeof hosts: ${typeof hosts}. Values`, events, hosts);\n throw new Error(`Failed to apply filters: ${e.message}. Typeof events: ${typeof events}, typeof hosts: ${typeof hosts}`);\n }\n}\nconst internalDestinationPlugins = {\n [tagPlugin.id]: tagPlugin,\n [gtmPlugin.id]: gtmPlugin,\n [logrocketPlugin.id]: logrocketPlugin,\n};\n\nvar name = \"@jitsu/js\";\nvar version = \"0.0.0\";\n\n/* global analytics */\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst defaultConfig = {\n /* Your segment writeKey */\n writeKey: null,\n /* Disable anonymous MTU */\n host: null,\n debug: false,\n fetch: null,\n echoEvents: false,\n cookieDomain: undefined,\n runtime: undefined,\n};\nconst parseQuery = (qs) => {\n if (!qs) {\n return {};\n }\n let queryString = qs.length > 0 && qs.charAt(0) === \"?\" ? qs.substring(1) : qs;\n let query = {};\n let pairs = (queryString[0] === \"?\" ? queryString.substr(1) : queryString).split(\"&\");\n for (let i = 0; i < pairs.length; i++) {\n let pair = pairs[i].split(\"=\");\n query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || \"\");\n }\n return query;\n};\nfunction utmToKey(key) {\n const name = key.substring(\"utm_\".length);\n return name === \"campaign\" ? \"name\" : name;\n}\nfunction parseUtms(query) {\n return Object.entries(query)\n .filter(([key]) => key.indexOf(\"utm_\") === 0)\n .reduce((acc, [key, value]) => (Object.assign(Object.assign({}, acc), { [utmToKey(key)]: value })), {});\n}\nfunction safeCall(f, defaultVal) {\n try {\n return f();\n }\n catch (e) {\n return defaultVal;\n }\n}\nfunction restoreTraits(storage) {\n const val = storage.getItem(\"__user_traits\");\n if (typeof val === \"string\") {\n return safeCall(() => JSON.parse(val), {});\n }\n return val;\n}\nfunction getTopLevelDomain(opts = {}) {\n if (opts.cookieDomain) {\n return opts.cookieDomain;\n }\n const [domain] = window.location.hostname.split(\":\");\n const parts = domain.split(\".\");\n if (parts[parts.length - 1] === \"localhost\" || parts.length < 2) {\n return parts[parts.length - 1];\n }\n else {\n return parts[parts.length - 2] + \".\" + parts[parts.length - 1];\n }\n}\nfunction getCookie(name) {\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n return parts.length === 2 ? parts.pop().split(\";\").shift() : undefined;\n}\nfunction removeCookie(name) {\n document.cookie = name + \"=;expires=Thu, 01 Jan 1970 00:00:01 GMT;\";\n}\nfunction setCookie(name, val, { domain, secure }) {\n document.cookie =\n name +\n \"=\" +\n val +\n \";domain=\" +\n domain +\n \";path=/\" +\n \";expires=\" +\n new Date(new Date().getTime() + 1000 * 60 * 60 * 24 * 365 * 5).toUTCString() +\n \";SameSite=\" +\n (secure ? \"None\" : \"Lax\") +\n (secure ? \";secure\" : \"\");\n}\nconst defaultCookie2Key = {\n __anon_id: \"__eventn_id\",\n __user_traits: \"__eventn_id_usr\",\n __user_id: \"__eventn_uid\",\n};\nconst cookieStorage = (cookieDomain, key2cookie) => {\n return {\n setItem(key, val) {\n const strVal = typeof val === \"object\" && val !== null ? encodeURIComponent(JSON.stringify(val)) : val;\n const cookieName = key2cookie[key] || key;\n setCookie(cookieName, strVal, {\n domain: cookieDomain,\n secure: window.location.protocol === \"https:\",\n });\n },\n getItem(key) {\n const cookieName = key2cookie[key] || key;\n const result = getCookie(cookieName);\n if (typeof result === \"undefined\" && key === \"__user_id\") {\n //backward compatibility with old jitsu cookie. get user id if from traits\n const traits = parse(getCookie(\"__eventn_id_usr\")) || {};\n return traits.internal_id || traits.user_id || traits.id || traits.userId;\n }\n return parse(result);\n },\n removeItem(key) {\n removeCookie(key2cookie[key] || key);\n },\n };\n};\nfunction windowRuntime(opts) {\n return {\n documentEncoding() {\n return window.document.characterSet;\n },\n timezoneOffset() {\n return new Date().getTimezoneOffset();\n },\n store() {\n return cookieStorage(opts.cookieDomain || getTopLevelDomain(), defaultCookie2Key);\n },\n language() {\n return window.navigator.language;\n },\n pageTitle() {\n return window.document.title;\n },\n pageUrl() {\n return window.location.href;\n },\n referrer() {\n return window.document.referrer;\n },\n screen() {\n return {\n width: window.screen.width,\n height: window.screen.height,\n innerWidth: window.innerWidth,\n innerHeight: window.innerHeight,\n density: Math.floor(window.devicePixelRatio),\n };\n },\n userAgent() {\n return window.navigator.userAgent;\n },\n };\n}\nconst emptyRuntime = (config) => ({\n documentEncoding() {\n return undefined;\n },\n timezoneOffset() {\n return undefined;\n },\n store() {\n const storage = {};\n return {\n setItem(key, val) {\n if (config.debug) {\n console.log(`[JITSU EMPTY RUNTIME] Set storage item ${key}=${JSON.stringify(val)}`);\n }\n storage[key] = val;\n },\n getItem(key) {\n const val = storage[key];\n if (config.debug) {\n console.log(`[JITSU EMPTY RUNTIME] Get storage item ${key}=${JSON.stringify(val)}`);\n }\n return val;\n },\n removeItem(key) {\n if (config.debug) {\n console.log(`[JITSU EMPTY RUNTIME] Get storage item ${key}=${storage[key]}`);\n }\n delete storage[key];\n },\n };\n },\n language() {\n return undefined;\n },\n pageTitle() {\n return undefined;\n },\n pageUrl() {\n return undefined;\n },\n referrer() {\n return undefined;\n },\n screen() {\n return undefined;\n },\n userAgent() {\n return undefined;\n },\n});\nfunction deepMerge(target, source) {\n if (typeof source !== \"object\" || source === null) {\n return source;\n }\n if (typeof target !== \"object\" || target === null) {\n return source;\n }\n return Object.entries(source).reduce((acc, [key, value]) => {\n acc[key] = deepMerge(target[key], value);\n return acc;\n }, target);\n}\nfunction isInBrowser() {\n return typeof document !== \"undefined\" && typeof window !== \"undefined\";\n}\nfunction adjustPayload(payload, config, storage) {\n var _a, _b;\n const runtime = config.runtime || (isInBrowser() ? windowRuntime(config) : emptyRuntime(config));\n const url = runtime.pageUrl();\n const parsedUrl = safeCall(() => new URL(url), undefined);\n const query = parsedUrl ? parseQuery(parsedUrl.search) : {};\n const properties = payload.properties || {};\n const customContext = ((_a = payload.properties) === null || _a === void 0 ? void 0 : _a.context) || {};\n (_b = payload.properties) === null || _b === void 0 ? true : delete _b.context;\n const referrer = runtime.referrer();\n const context = {\n library: {\n name: name,\n version: version,\n },\n userAgent: runtime.userAgent(),\n locale: runtime.language(),\n screen: runtime.screen(),\n traits: payload.type != \"identify\" && payload.type != \"group\" ? Object.assign({}, (restoreTraits(storage) || {})) : undefined,\n page: {\n path: properties.path || (parsedUrl && parsedUrl.pathname),\n referrer: referrer,\n referring_domain: safeCall(() => referrer && new URL(referrer).hostname),\n host: parsedUrl && parsedUrl.host,\n search: properties.search || (parsedUrl && parsedUrl.search),\n title: properties.title || runtime.pageTitle(),\n url: properties.url || url,\n encoding: properties.encoding || runtime.documentEncoding(),\n },\n campaign: parseUtms(query),\n };\n const withContext = Object.assign(Object.assign({}, payload), { timestamp: new Date().toISOString(), sentAt: new Date().toISOString(), messageId: randomId(properties.path || (parsedUrl && parsedUrl.pathname)), writeKey: maskWriteKey(config.writeKey), context: deepMerge(context, customContext) });\n delete withContext.meta;\n delete withContext.options;\n return withContext;\n}\nfunction processDestinations(destinations, method, event, debug, analyticsInstance) {\n return __awaiter(this, void 0, void 0, function* () {\n const promises = [];\n for (const destination of destinations) {\n const credentials = Object.assign(Object.assign({}, destination.credentials), destination.options);\n if (destination.deviceOptions.type === \"internal-plugin\") {\n const plugin = internalDestinationPlugins[destination.deviceOptions.name];\n if (plugin) {\n try {\n promises.push(plugin.handle(credentials, event));\n }\n catch (e) {\n console.warn(`[JITSU] Error processing event with internal plugin '${destination.deviceOptions.name}': ${e === null || e === void 0 ? void 0 : e.message}`, e);\n }\n }\n else {\n console.warn(`[JITSU] Unknown internal plugin '${destination.deviceOptions.name}' for destination '${destination.id}'`);\n }\n }\n else if (destination.deviceOptions.type === \"analytics-plugin\") {\n yield loadScript(destination.deviceOptions.packageCdn);\n const plugin = window[destination.deviceOptions.moduleVarName];\n if (!plugin) {\n console.warn(`[JITSU] Broken plugin '${destination.deviceOptions.packageCdn}' for destination '${destination.id}' - it doesn't export '${destination.deviceOptions.moduleVarName}' variable`);\n }\n else {\n let pluginInstance;\n try {\n pluginInstance = (typeof plugin === \"function\" ? plugin : plugin.init)(credentials);\n }\n catch (e) {\n console.warn(`[JITSU] Error creating plugin '${destination.deviceOptions.moduleVarName}@${destination.deviceOptions.packageCdn}' for destination '${destination.id}': ${e === null || e === void 0 ? void 0 : e.message}`, e);\n }\n try {\n if (debug) {\n console.log(`[JITSU] Plugin '${destination.deviceOptions.moduleVarName}@${destination.deviceOptions.packageCdn}' for destination '${destination.id}' initialized with config:`, pluginInstance.config);\n }\n pluginInstance.initialize({ config: pluginInstance.config, instance: analyticsInstance });\n }\n catch (e) {\n console.warn(`[JITSU] Error initializing plugin '${destination.deviceOptions.moduleVarName}@${destination.deviceOptions.packageCdn}' for destination '${destination.id}': ${e === null || e === void 0 ? void 0 : e.message}. Config: ${JSON.stringify(pluginInstance.config)}`, e);\n continue;\n }\n if (pluginInstance[method]) {\n try {\n pluginInstance[method]({ payload: event, config: pluginInstance.config, instance: analyticsInstance });\n }\n catch (e) {\n console.warn(`[JITSU] Error processing ${method}() with plugin '${destination.deviceOptions.moduleVarName}@${destination.deviceOptions.packageCdn}' for destination '${destination.id}': ${e === null || e === void 0 ? void 0 : e.message}`, e);\n }\n }\n }\n }\n }\n });\n}\nfunction looksLikeCuid(id) {\n return id.length === 25 && id.charAt(0) === \"c\";\n}\nfunction validateWriteKey(writeKey) {\n if (writeKey) {\n const [, secret] = writeKey.split(\":\", 2);\n if (!secret && !looksLikeCuid(writeKey)) {\n throw new Error(`Legacy write key detected - ${writeKey}! This format doesn't work anymore, it should be 'key:secret'. Please download a new key from Jitsu UI`);\n }\n }\n return writeKey;\n}\nfunction maskWriteKey(writeKey) {\n if (writeKey) {\n const [id, secret] = writeKey.split(\":\", 2);\n if (secret) {\n return `${id}:***`;\n }\n else {\n return id;\n }\n }\n return writeKey;\n}\nfunction send(method, payload, jitsuConfig, instance, store) {\n if (jitsuConfig.echoEvents) {\n console.log(`[JITSU] sending '${method}' event:`, payload);\n return;\n }\n const url = `${jitsuConfig.host}/api/s/${method}`;\n const fetch = jitsuConfig.fetch || globalThis.fetch;\n if (!fetch) {\n throw new Error(\"Please specify fetch function in jitsu plugin initialization, fetch isn't available in global scope\");\n }\n const debugHeader = jitsuConfig.debug ? { \"X-Enable-Debug\": \"true\" } : {};\n // if (jitsuConfig.debug) {\n // console.log(`[JITSU] Sending event to ${url}: `, JSON.stringify(payload, null, 2));\n // }\n const adjustedPayload = adjustPayload(payload, jitsuConfig, store);\n const authHeader = jitsuConfig.writeKey ? { \"X-Write-Key\": jitsuConfig.writeKey } : {};\n return fetch(url, {\n method: \"POST\",\n headers: Object.assign(Object.assign({ \"Content-Type\": \"application/json\" }, authHeader), debugHeader),\n body: JSON.stringify(adjustedPayload),\n })\n .then(res => {\n if (jitsuConfig.debug) {\n console.log(`[JITSU] ${url} replied ${res.status}. Original payload: `, JSON.stringify(adjustedPayload, null, 2));\n }\n if (res.ok) {\n return res.text();\n }\n else {\n return Promise.reject(res.text());\n }\n })\n .then(responseText => {\n let response;\n try {\n response = JSON.parse(responseText);\n }\n catch (e) {\n return Promise.reject(`Can't parse JSON: ${responseText}: ${e === null || e === void 0 ? void 0 : e.message}`);\n }\n if (response.destinations) {\n if (jitsuConfig.debug) {\n console.log(`[JITSU] Processing device destinations: `, JSON.stringify(response.destinations, null, 2));\n }\n return processDestinations(response.destinations, method, adjustedPayload, !!jitsuConfig.debug, instance);\n }\n })\n .catch(err => {\n if (jitsuConfig.debug) {\n console.error(`Jitsu ${url} failed: `, err);\n }\n });\n}\nconst jitsuAnalyticsPlugin = (pluginConfig = {}) => {\n const storageCache = {};\n // AnalyticsInstance's storage is async somewhere inside. So if we make 'page' call right after 'identify' call\n // 'page' call will load traits from storage before 'identify' call had a change to save them.\n // to avoid that we use in-memory cache for storage\n const cachingStorageWrapper = (persistentStorage) => ({\n setItem(key, val) {\n storageCache[key] = val;\n persistentStorage.setItem(key, val);\n },\n getItem(key) {\n return storageCache[key] || persistentStorage.getItem(key);\n },\n removeItem(key) {\n delete storageCache[key];\n persistentStorage.removeItem(key);\n },\n });\n const instanceConfig = Object.assign(Object.assign({}, defaultConfig), pluginConfig);\n return {\n name: \"jitsu\",\n config: instanceConfig,\n initialize: args => {\n const { config } = args;\n if (config.debug) {\n console.debug(\"[JITSU] Initializing Jitsu plugin with config: \", JSON.stringify(config));\n }\n if (!config.host && !config.echoEvents) {\n throw new Error(\"Please specify host variable in jitsu plugin initialization, or set echoEvents to true\");\n }\n validateWriteKey(config.writeKey);\n },\n page: args => {\n const { payload, config, instance } = args;\n return send(\"page\", payload, config, instance, cachingStorageWrapper(instance.storage));\n },\n track: args => {\n const { payload, config, instance } = args;\n return send(\"track\", payload, config, instance, cachingStorageWrapper(instance.storage));\n },\n identify: args => {\n const { payload, config, instance } = args;\n // Store traits in cache to be able to use them in page and track events that run asynchronously with current identify.\n storageCache[\"__user_traits\"] = payload.traits;\n return send(\"identify\", payload, config, instance, cachingStorageWrapper(instance.storage));\n },\n reset: args => {\n //clear storage cache\n Object.keys(storageCache).forEach(key => delete storageCache[key]);\n },\n methods: {\n //analytics doesn't support group as a base method, so we need to add it manually\n group(groupId, traits, options, callback) {\n const analyticsInstance = this.instance;\n const user = analyticsInstance.user();\n const userId = (options === null || options === void 0 ? void 0 : options.userId) || (user === null || user === void 0 ? void 0 : user.userId);\n const anonymousId = (options === null || options === void 0 ? void 0 : options.anonymousId) || (user === null || user === void 0 ? void 0 : user.anonymousId);\n return send(\"group\", Object.assign(Object.assign({ type: \"group\", groupId, traits }, (anonymousId ? { anonymousId } : {})), (userId ? { userId } : {})), instanceConfig, analyticsInstance, cachingStorageWrapper(analyticsInstance.storage));\n },\n },\n };\n};\nfunction getSeed() {\n var _a;\n const defaultSeed = Date.now() % 2147483647;\n return isInBrowser() ? ((_a = window === null || window === void 0 ? void 0 : window.performance) === null || _a === void 0 ? void 0 : _a.now()) || defaultSeed : defaultSeed;\n}\nfunction randomId(hashString = \"\") {\n const d = Date.now();\n return (((Math.random() * d * hash(hashString !== null && hashString !== void 0 ? hashString : \"\", getSeed())) % Number.MAX_SAFE_INTEGER).toString(36) +\n ((Math.random() * d * hash(hashString !== null && hashString !== void 0 ? hashString : \"\", getSeed())) % Number.MAX_SAFE_INTEGER).toString(36));\n}\nfunction hash(str, seed = 0) {\n let h1 = 0xdeadbeef ^ seed, h2 = 0x41c6ce57 ^ seed;\n for (let i = 0, ch; i < str.length; i++) {\n ch = str.charCodeAt(i);\n h1 = Math.imul(h1 ^ ch, 2654435761);\n h2 = Math.imul(h2 ^ ch, 1597334677);\n }\n h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^ Math.imul(h2 ^ (h2 >>> 13), 3266489909);\n h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^ Math.imul(h1 ^ (h1 >>> 13), 3266489909);\n return 4294967296 * (2097151 & h2) + (h1 >>> 0);\n}\n\nfunction parse(input) {\n let value = input;\n if ((input === null || input === void 0 ? void 0 : input.indexOf(\"%7B%22\")) === 0) {\n value = decodeURIComponent(input);\n }\n try {\n value = JSON.parse(value);\n if (value === \"true\")\n return true;\n if (value === \"false\")\n return false;\n if (typeof value === \"object\")\n return value;\n if (parseFloat(value) === value) {\n value = parseFloat(value);\n }\n }\n catch (e) { }\n if (value === null || value === \"\") {\n return;\n }\n return value;\n}\nconst emptyAnalytics = {\n track: () => Promise.resolve(),\n page: () => Promise.resolve(),\n user: () => ({}),\n identify: () => Promise.resolve({}),\n group: () => Promise.resolve({}),\n reset: () => Promise.resolve({}),\n};\nfunction createUnderlyingAnalyticsInstance(opts, rt, plugins = []) {\n const analytics = analyticsLib({\n app: \"test\",\n debug: !!opts.debug,\n storage: rt.store(),\n plugins: [jitsuAnalyticsPlugin(opts), ...plugins],\n });\n const originalPage = analytics.page;\n analytics.page = (...args) => {\n if (args.length === 2 && typeof args[0] === \"string\" && typeof args[1] === \"object\") {\n return originalPage(Object.assign({ name: args[0] }, args[1]));\n }\n else {\n return originalPage(...args);\n }\n };\n return Object.assign(Object.assign({}, analytics), { group(groupId, traits, options, callback) {\n for (const plugin of Object.values(analytics.plugins)) {\n if (plugin[\"group\"]) {\n plugin[\"group\"](groupId, traits, options, callback);\n }\n }\n return Promise.resolve({});\n } });\n}\nfunction jitsuAnalytics(opts) {\n const inBrowser = isInBrowser();\n const rt = opts.runtime || (inBrowser ? windowRuntime(opts) : emptyRuntime(opts));\n return createUnderlyingAnalyticsInstance(opts, rt);\n // if (inBrowser) {\n // const fetch = opts.fetch || globalThis.fetch;\n // if (!fetch) {\n // throw new Error(\n // \"Please specify fetch function in jitsu plugin initialization, fetch isn't available in global scope\"\n // );\n // }\n // const url = `${opts.host}/api/s/cfg`;\n // const authHeader = {};\n // const debugHeader = opts.debug ? { \"X-Enable-Debug\": \"true\" } : {};\n // fetch(url)\n // .then(res => res.json())\n // .then(res => {\n // result.loaded(createUnderlyingAnalyticsInstance(opts, rt, []));\n // })\n // .catch(e => {\n // console.warn(`[JITSU] error getting device-destinations from ${url}`, e);\n // result.loaded(createUnderlyingAnalyticsInstance(opts, rt));\n // });\n // } else {\n // result.loaded(createUnderlyingAnalyticsInstance(opts, rt));\n // }\n}\n\nexport { emptyAnalytics, emptyRuntime, getTopLevelDomain, isInBrowser, jitsuAnalytics, parseQuery, randomId, windowRuntime };\n","import { createContext } from \"react\";\nimport { AnalyticsInterface } from \"@jitsu/js\";\n\nexport type JitsuInstance = { analytics: AnalyticsInterface };\n\nconst JitsuContext = createContext(null);\n\nexport default JitsuContext;\n","import * as React from \"react\";\nimport { PropsWithChildren, useMemo } from \"react\";\nimport JitsuContext, { JitsuInstance } from \"./JitsuContext\";\nimport { emptyAnalytics, jitsuAnalytics } from \"@jitsu/js\";\nimport { ExtendedJitsuOptions } from \"./useJitsu\";\n\nconst JitsuProvider: React.FC> = props => {\n const instance: JitsuInstance = useMemo(() => {\n if (props.options.disabled) {\n return { analytics: emptyAnalytics };\n } else if (!props.options.host) {\n const msg = \". Jitsu host is not defined. Jitsu will not be initialized\";\n console.error(`%c${msg}`, \"color: red; font-weight: bold;\");\n return { analytics: emptyAnalytics };\n } else {\n return { analytics: jitsuAnalytics(props.options) };\n }\n }, [props.options.disabled, props.options.host]);\n return {props.children};\n};\n\nexport default JitsuProvider;\n","import { useContext } from \"react\";\nimport JitsuContext from \"./JitsuContext\";\n\nimport { AnalyticsInterface, jitsuAnalytics, JitsuOptions, emptyAnalytics } from \"@jitsu/js\";\n\nexport interface BeforeEffect {\n effect: (analytics: AnalyticsInterface) => any;\n deps: any[];\n}\n\nexport type ExtendedJitsuOptions =\n | (Omit & { host: string } & {\n disabled?: false | undefined;\n echoEvents?: boolean;\n })\n | { disabled: true; host?: undefined };\n\n/**\n * See for details http://jitsu.com/docs/sending-data/js-sdk/react\n */\nfunction useJitsu(opts?: ExtendedJitsuOptions): { analytics: AnalyticsInterface } {\n let jitsuInstance = useContext(JitsuContext);\n if (opts?.disabled) {\n return { analytics: emptyAnalytics };\n }\n if (!jitsuInstance) {\n if (opts?.host || opts?.echoEvents) {\n return { analytics: jitsuAnalytics(opts) };\n } else {\n const msg =\n \"Before calling useJitsu() hook, please wrap your component into . Read more in http://jitsu.com/docs/sending-data/js-sdk/react\";\n console.error(`%c${msg}`, \"color: red; font-weight: bold;\");\n return { analytics: emptyAnalytics };\n }\n } else if (opts?.host || opts?.echoEvents) {\n throw new Error(\n \"Jitsu client already set up with and cannot be overridden. Read more in http://jitsu.com/docs/sending-data/js-sdk/react\"\n );\n //Jitsu analytics is initialized inside provider\n } else if (jitsuInstance.analytics) {\n return jitsuInstance;\n } else {\n throw new Error(` is not initialized with undefined analytics instance`);\n }\n}\n\nexport default useJitsu;\nexport { AnalyticsInterface, JitsuOptions };\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\n\nvar LogLevels = {\n DEBUG: { name: \"DEBUG\", severity: 10 },\n INFO: { name: \"INFO\", severity: 100 },\n WARN: { name: \"WARN\", severity: 1000 },\n ERROR: { name: \"ERROR\", severity: 10000 },\n NONE: { name: \"NONE\", severity: 10000 }\n};\nvar rootLogger = null;\n/**\n * Create logger or return cached instance\n */\nfunction getLogger() {\n if (rootLogger) {\n return rootLogger;\n }\n else {\n return rootLogger = createLogger();\n }\n}\nfunction setRootLogLevel(logLevelName) {\n var logLevel = LogLevels[logLevelName.toLocaleUpperCase()];\n if (!logLevel) {\n console.warn(\"Can't find log level with name \".concat(logLevelName.toLocaleUpperCase(), \", defaulting to INFO\"));\n logLevel = LogLevels.INFO;\n }\n rootLogger = createLogger(logLevel);\n return rootLogger;\n}\nfunction setDebugVar(name, val) {\n if (!isWindowAvailable()) {\n return;\n }\n var win = window;\n if (!win.__jitsuDebug) {\n win.__jitsuDebug = {};\n }\n win.__jitsuDebug[name] = val;\n}\n/**\n * Creates a loggger with given log-level\n * @param logLevel\n */\nfunction createLogger(logLevel) {\n var globalLogLevel = isWindowAvailable() && window['__eventNLogLevel'];\n var minLogLevel = LogLevels.WARN;\n if (globalLogLevel) {\n var level = LogLevels[globalLogLevel.toUpperCase()];\n if (level && level > 0) {\n minLogLevel = level;\n }\n }\n else if (logLevel) {\n minLogLevel = logLevel;\n }\n var logger = { minLogLevel: minLogLevel };\n Object.values(LogLevels).forEach(function (_a) {\n var name = _a.name, severity = _a.severity;\n logger[name.toLowerCase()] = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (severity >= minLogLevel.severity && args.length > 0) {\n var message = args[0];\n var msgArgs = args.splice(1);\n var msgFormatted = \"[J-\".concat(name, \"] \").concat(message);\n if (name === 'DEBUG' || name === 'INFO') {\n console.log.apply(console, __spreadArray([msgFormatted], msgArgs, false));\n }\n else if (name === 'WARN') {\n console.warn.apply(console, __spreadArray([msgFormatted], msgArgs, false));\n }\n else {\n console.error.apply(console, __spreadArray([msgFormatted], msgArgs, false));\n }\n }\n };\n });\n setDebugVar(\"logger\", logger);\n return logger;\n}\n\n/**\n * Checks if global variable 'window' is available. If it's available,\n * code runs in browser environment\n */\n\nfunction isWindowAvailable(warnMsg = undefined) {\n let windowAvailable = !!globalThis.window;\n if (!windowAvailable && warnMsg) {\n getLogger().warn(warnMsg);\n }\n return windowAvailable;\n}\n\n\n/**\n * @param msg\n * @return {Window}\n */\nfunction requireWindow(msg = undefined) {\n if (!isWindowAvailable()) {\n throw new Error(msg || \"window' is not available. Seems like this code runs outside browser environment. It shouldn't happen\")\n }\n return window;\n}\n\nfunction serializeCookie(name, val, opt) {\n var _a;\n if (opt === void 0) { opt = {}; }\n var enc = encodeURIComponent;\n var value = enc(val);\n var str = name + \"=\" + value;\n str += \"; Path=\" + ((_a = opt.path) !== null && _a !== void 0 ? _a : \"/\");\n if (opt.maxAge) {\n str += \"; Max-Age=\" + Math.floor(opt.maxAge);\n }\n if (opt.domain) {\n str += \"; Domain=\" + opt.domain;\n }\n if (opt.expires) {\n str += \"; Expires=\" + opt.expires.toUTCString();\n }\n if (opt.httpOnly) {\n str += \"; HttpOnly\";\n }\n if (opt.secure) {\n str += \"; Secure\";\n }\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === \"string\"\n ? opt.sameSite.toLowerCase()\n : opt.sameSite;\n switch (sameSite) {\n case true:\n str += \"; SameSite=Strict\";\n break;\n case \"lax\":\n str += \"; SameSite=Lax\";\n break;\n case \"strict\":\n str += \"; SameSite=Strict\";\n break;\n case \"none\":\n str += \"; SameSite=None\";\n break;\n default:\n throw new TypeError(\"option sameSite is invalid\");\n }\n }\n return str;\n}\n\nvar getCookieDomain = function () {\n if (isWindowAvailable()) {\n return window.location.hostname.replace(\"www.\", \"\");\n }\n return undefined;\n};\nvar cookieParsingCache;\nfunction parseCookieString(cookieStr) {\n if (!cookieStr) {\n return {};\n }\n var res = {};\n var cookies = cookieStr.split(\";\");\n for (var i = 0; i < cookies.length; i++) {\n var cookie = cookies[i];\n var idx = cookie.indexOf(\"=\");\n if (idx > 0) {\n res[cookie.substr(i > 0 ? 1 : 0, i > 0 ? idx - 1 : idx)] = cookie.substr(idx + 1);\n }\n }\n return res;\n}\nfunction copyAttributes(source, target) {\n return Array.from(source.attributes).forEach(function (attribute) {\n target.setAttribute(attribute.nodeName, attribute.nodeValue);\n });\n}\nfunction insertAndExecute(element, html) {\n element.innerHTML = html;\n var scripts = element.getElementsByTagName(\"script\");\n var index;\n for (index = scripts.length - 1; index >= 0; index--) {\n var script = scripts[index];\n var tag = document.createElement(\"script\");\n copyAttributes(script, tag);\n if (script.innerHTML) {\n tag.innerHTML = script.innerHTML;\n }\n tag.setAttribute(\"data-jitsu-tag-id\", element.id);\n document.getElementsByTagName(\"head\")[0].appendChild(tag);\n scripts[index].parentNode.removeChild(scripts[index]);\n }\n}\nvar getCookies = function (useCache) {\n if (useCache === void 0) { useCache = false; }\n if (useCache && cookieParsingCache) {\n return cookieParsingCache;\n }\n var res = parseCookieString(document.cookie);\n cookieParsingCache = res;\n return res;\n};\nvar getCookie = function (name) {\n if (!name) {\n return null;\n }\n return (decodeURIComponent(requireWindow().document.cookie.replace(new RegExp(\"(?:(?:^|.*;)\\\\s*\" +\n encodeURIComponent(name).replace(/[\\-\\.\\+\\*]/g, \"\\\\$&\") +\n \"\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$\"), \"$1\")) || null);\n};\nvar setCookie = function (name, value, opts) {\n if (opts === void 0) { opts = {}; }\n requireWindow().document.cookie = serializeCookie(name, value, opts);\n};\nvar deleteCookie = function (name, path) {\n if (path === void 0) { path = \"/\"; }\n document.cookie = name + \"= ; expires = Thu, 01 Jan 1970 00:00:00 GMT\" + (path ? (\"; path = \" + path) : \"\");\n};\nvar generateId = function () { return Math.random().toString(36).substring(2, 12); };\nvar generateRandom = function () { return Math.random().toString(36).substring(2, 7); };\nvar parseQuery = function (qs) {\n if (!qs) {\n return {};\n }\n var queryString = qs.length > 0 && qs.charAt(0) === \"?\" ? qs.substring(1) : qs;\n var query = {};\n var pairs = (queryString[0] === \"?\" ? queryString.substr(1) : queryString).split(\"&\");\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i].split(\"=\");\n query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || \"\");\n }\n return query;\n};\nvar UTM_TYPES = {\n utm_source: \"source\",\n utm_medium: \"medium\",\n utm_campaign: \"campaign\",\n utm_term: \"term\",\n utm_content: \"content\",\n};\nvar CLICK_IDS = {\n gclid: true,\n fbclid: true,\n dclid: true,\n};\nvar getDataFromParams = function (params) {\n var result = {\n utm: {},\n click_id: {},\n };\n for (var name in params) {\n if (!params.hasOwnProperty(name)) {\n continue;\n }\n var val = params[name];\n var utm = UTM_TYPES[name];\n if (utm) {\n result.utm[utm] = val;\n }\n else if (CLICK_IDS[name]) {\n result.click_id[name] = val;\n }\n }\n return result;\n};\n//2020-08-24T13:42:16.439Z -> 2020-08-24T13:42:16.439123Z\nvar reformatDate = function (strDate) {\n var end = strDate.split(\".\")[1];\n if (!end) {\n return strDate;\n }\n if (end.length >= 7) {\n return strDate;\n }\n return strDate.slice(0, -1) + \"0\".repeat(7 - end.length) + \"Z\";\n};\nfunction endsWith(str, suffix) {\n return str.indexOf(suffix, str.length - suffix.length) !== -1;\n}\nvar getHostWithProtocol = function (host) {\n while (endsWith(host, \"/\")) {\n host = host.substr(0, host.length - 1);\n }\n if (host.indexOf(\"https://\") === 0 || host.indexOf(\"http://\") === 0) {\n return host;\n }\n else {\n return \"//\" + host;\n }\n};\n\nvar MemoryQueue = /** @class */ (function () {\n function MemoryQueue() {\n this.queue = [];\n }\n MemoryQueue.prototype.flush = function () {\n var queue = this.queue;\n this.queue = [];\n return queue;\n };\n MemoryQueue.prototype.push = function () {\n var _a;\n var values = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n values[_i] = arguments[_i];\n }\n (_a = this.queue).push.apply(_a, values);\n };\n return MemoryQueue;\n}());\nvar LocalStorageQueue = /** @class */ (function () {\n function LocalStorageQueue(key) {\n this.key = key;\n }\n LocalStorageQueue.prototype.flush = function () {\n var queue = this.get();\n if (queue.length) {\n this.set([]);\n }\n return queue;\n };\n LocalStorageQueue.prototype.push = function () {\n var values = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n values[_i] = arguments[_i];\n }\n var queue = this.get();\n queue.push.apply(queue, values);\n this.set(queue);\n };\n LocalStorageQueue.prototype.set = function (queue) {\n localStorage.setItem(this.key, JSON.stringify(queue));\n };\n LocalStorageQueue.prototype.get = function () {\n var data = localStorage.getItem(this.key);\n if (data !== null && data !== \"\") {\n return JSON.parse(data);\n }\n return [];\n };\n return LocalStorageQueue;\n}());\n\n//import { parse } from \"node-html-parser\";\nvar VERSION_INFO = {\n env: \"production\",\n date: \"2022-06-16T15:49:15.146Z\",\n version: \"3.1.3\",\n};\nvar JITSU_VERSION = \"\".concat(VERSION_INFO.version, \"/\").concat(VERSION_INFO.env, \"@\").concat(VERSION_INFO.date);\nvar MAX_AGE_TEN_YEARS = 31622400 * 10;\nvar beaconTransport = function (url, json) {\n getLogger().debug(\"Sending beacon\", json);\n var blob = new Blob([json], { type: \"text/plain\" });\n navigator.sendBeacon(url, blob);\n return Promise.resolve();\n};\nfunction tryFormat(string) {\n if (typeof string === \"string\") {\n try {\n return JSON.stringify(JSON.parse(string), null, 2);\n }\n catch (e) {\n return string;\n }\n }\n}\nvar echoTransport = function (url, json) {\n console.log(\"Jitsu client tried to send payload to \".concat(url), tryFormat(json));\n return Promise.resolve();\n};\n// This is a hack to expire all cookies with non-root path left behind by invalid tracking.\n// TODO remove soon\nfunction expireNonRootCookies(name, path) {\n if (path === void 0) { path = undefined; }\n path = path !== null && path !== void 0 ? path : window.location.pathname;\n if (path == \"\" || path == \"/\") {\n return;\n }\n deleteCookie(name, path);\n expireNonRootCookies(name, path.slice(0, path.lastIndexOf(\"/\")));\n}\nvar CookiePersistence = /** @class */ (function () {\n function CookiePersistence(cookieDomain, cookieName) {\n this.cookieDomain = cookieDomain;\n this.cookieName = cookieName;\n }\n CookiePersistence.prototype.save = function (props) {\n setCookie(this.cookieName, JSON.stringify(props), {\n domain: this.cookieDomain,\n secure: document.location.protocol !== \"http:\",\n maxAge: MAX_AGE_TEN_YEARS,\n });\n };\n CookiePersistence.prototype.restore = function () {\n expireNonRootCookies(this.cookieName);\n var str = getCookie(this.cookieName);\n if (str) {\n try {\n var parsed = JSON.parse(decodeURIComponent(str));\n if (typeof parsed !== \"object\") {\n getLogger().warn(\"Can't restore value of \".concat(this.cookieName, \"@\").concat(this.cookieDomain, \", expected to be object, but found \").concat(typeof parsed !== \"object\", \": \").concat(parsed, \". Ignoring\"));\n return undefined;\n }\n return parsed;\n }\n catch (e) {\n getLogger().error(\"Failed to decode JSON from \" + str, e);\n return undefined;\n }\n }\n return undefined;\n };\n CookiePersistence.prototype.delete = function () {\n deleteCookie(this.cookieName);\n };\n return CookiePersistence;\n}());\nvar NoPersistence = /** @class */ (function () {\n function NoPersistence() {\n }\n NoPersistence.prototype.save = function (props) { };\n NoPersistence.prototype.restore = function () {\n return undefined;\n };\n NoPersistence.prototype.delete = function () { };\n return NoPersistence;\n}());\nvar defaultCompatMode = false;\nfunction jitsuClient(opts) {\n var client = new JitsuClientImpl();\n client.init(opts);\n return client;\n}\nvar browserEnv = {\n getSourceIp: function () { return undefined; },\n describeClient: function () { return ({\n referer: document.referrer,\n url: window.location.href,\n page_title: document.title,\n doc_path: document.location.pathname,\n doc_host: document.location.hostname,\n doc_search: window.location.search,\n screen_resolution: screen.width + \"x\" + screen.height,\n vp_size: Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0) +\n \"x\" +\n Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0),\n user_agent: navigator.userAgent,\n user_language: navigator.language,\n doc_encoding: document.characterSet,\n }); },\n getAnonymousId: function (_a) {\n var name = _a.name, domain = _a.domain;\n expireNonRootCookies(name);\n var idCookie = getCookie(name);\n if (idCookie) {\n getLogger().debug(\"Existing user id\", idCookie);\n return idCookie;\n }\n var newId = generateId();\n getLogger().debug(\"New user id\", newId);\n setCookie(name, newId, {\n domain: domain,\n secure: document.location.protocol !== \"http:\",\n maxAge: MAX_AGE_TEN_YEARS,\n });\n return newId;\n },\n};\nfunction ensurePrefix(prefix, str) {\n if (!str) {\n return str;\n }\n return (str === null || str === void 0 ? void 0 : str.length) > 0 && str.indexOf(prefix) !== 0 ? prefix + str : str;\n}\nfunction cutPostfix(postfixes, str) {\n for (var _i = 0, _a = typeof postfixes === \"string\"\n ? [postfixes]\n : postfixes; _i < _a.length; _i++) {\n var postfix = _a[_i];\n while (str && str.length > 0 && str.charAt(str.length - 1) === postfix) {\n str = str.substring(0, str.length - 1);\n }\n }\n return str;\n}\nfunction fetchApi(req, res, opts) {\n if (opts === void 0) { opts = {}; }\n return {\n getAnonymousId: function (_a) {\n var name = _a.name, domain = _a.domain;\n if (opts === null || opts === void 0 ? void 0 : opts.disableCookies) {\n return \"\";\n }\n var cookie = parseCookieString(req.headers[\"cookie\"])[name];\n if (!cookie) {\n var cookieOpts = {\n maxAge: 31622400 * 10,\n httpOnly: false,\n };\n if (domain) {\n cookieOpts.domain = domain;\n }\n var newId = generateId();\n res.headers.set(\"Set-Cookie\", serializeCookie(name, newId, cookieOpts));\n return newId;\n }\n else {\n return cookie;\n }\n },\n getSourceIp: function () {\n var ip = req.headers[\"x-forwarded-for\"] || req.headers[\"x-real-ip\"] || req[\"ip\"];\n return ip && ip.split(\",\")[0].trim();\n },\n describeClient: function () {\n var requestHost = req.headers.get(\"host\") || req.headers.get(\"host\");\n var proto = cutPostfix([\":\", \"/\"], req.headers[\"x-forwarded-proto\"] || req[\"nextUrl\"][\"protocol\"] || \"http\");\n while (proto && proto.length > 0 && proto.charAt(proto.length - 1)) {\n proto = proto.substring(0, proto.length - 1);\n }\n var reqUrl = req.url || \"/\";\n var queryPos = reqUrl.indexOf(\"?\");\n var path, query;\n if (queryPos >= 0) {\n path = reqUrl.substring(0, queryPos);\n query = reqUrl.substring(queryPos + 1);\n }\n else {\n path = reqUrl;\n query = undefined;\n }\n query = ensurePrefix(query, \"?\");\n path = ensurePrefix(path, \"/\");\n return {\n doc_encoding: \"\",\n doc_host: requestHost,\n doc_path: reqUrl,\n doc_search: query,\n page_title: \"\",\n referer: req.headers[\"referrer\"],\n screen_resolution: \"\",\n url: \"\".concat(proto, \"://\").concat(requestHost).concat(path || \"\").concat(query || \"\"),\n user_agent: req.headers[\"user-agent\"],\n user_language: req.headers[\"accept-language\"] &&\n req.headers[\"accept-language\"].split(\",\")[0],\n vp_size: \"\",\n };\n },\n };\n}\nfunction httpApi(req, res, opts) {\n if (opts === void 0) { opts = {}; }\n var header = function (req, name) {\n var vals = req.headers[name.toLowerCase()];\n if (!vals) {\n return undefined;\n }\n if (typeof vals === \"string\") {\n return vals;\n }\n else if (vals.length > 0) {\n return vals.join(\",\");\n }\n };\n return {\n getAnonymousId: function (_a) {\n var name = _a.name, domain = _a.domain;\n if (opts === null || opts === void 0 ? void 0 : opts.disableCookies) {\n return \"\";\n }\n var cookie = parseCookieString(req.headers[\"cookie\"])[name];\n if (!cookie) {\n var cookieOpts = {\n maxAge: 31622400 * 10,\n httpOnly: false,\n };\n if (domain) {\n cookieOpts.domain = domain;\n }\n var newId = generateId();\n res.setHeader(\"Set-Cookie\", serializeCookie(name, newId, cookieOpts));\n return newId;\n }\n else {\n return cookie;\n }\n },\n getSourceIp: function () {\n var ip = header(req, \"x-forwarded-for\") ||\n header(req, \"x-real-ip\") ||\n req.socket.remoteAddress;\n return ip && ip.split(\",\")[0].trim();\n },\n describeClient: function () {\n var url = req.url\n ? new URL(req.url, req.url.startsWith(\"http\") ? undefined : \"http://localhost\")\n : {};\n var requestHost = header(req, \"x-forwarded-host\") || header(req, \"host\") || url.hostname;\n var proto = cutPostfix([\":\", \"/\"], header(req, \"x-forwarded-proto\") || url.protocol);\n var query = ensurePrefix(\"?\", url.search);\n var path = ensurePrefix(\"/\", url.pathname);\n return {\n doc_encoding: \"\",\n doc_host: requestHost,\n doc_path: req.url,\n doc_search: query,\n page_title: \"\",\n referer: header(req, \"referrer\"),\n screen_resolution: \"\",\n url: \"\".concat(proto, \"://\").concat(requestHost).concat(path || \"\").concat(query || \"\"),\n user_agent: req.headers[\"user-agent\"],\n user_language: req.headers[\"accept-language\"] &&\n req.headers[\"accept-language\"].split(\",\")[0],\n vp_size: \"\",\n };\n },\n };\n}\nvar emptyEnv = {\n getSourceIp: function () { return undefined; },\n describeClient: function () { return ({}); },\n getAnonymousId: function () { return \"\"; },\n};\n/**\n * Dictionary of supported environments\n */\nvar envs = {\n httpApi: httpApi,\n nextjsApi: httpApi,\n // fetchApi: fetchApi,\n // nextjsMiddleware: fetchApi,\n browser: function () { return browserEnv; },\n express: httpApi,\n empty: function () { return emptyEnv; },\n};\nvar xmlHttpTransport = function (url, jsonPayload, additionalHeaders, handler) {\n if (handler === void 0) { handler = function (code, body) { }; }\n var req = new window.XMLHttpRequest();\n return new Promise(function (resolve, reject) {\n req.onerror = function (e) {\n getLogger().error(\"Failed to send\", jsonPayload, e);\n handler(-1, {});\n reject(new Error(\"Failed to send JSON. See console logs\"));\n };\n req.onload = function () {\n if (req.status !== 200) {\n handler(req.status, {});\n getLogger().warn(\"Failed to send data to \".concat(url, \" (#\").concat(req.status, \" - \").concat(req.statusText, \")\"), jsonPayload);\n reject(new Error(\"Failed to send JSON. Error code: \".concat(req.status, \". See logs for details\")));\n }\n else {\n handler(req.status, req.responseText);\n }\n resolve();\n };\n req.open(\"POST\", url);\n req.setRequestHeader(\"Content-Type\", \"application/json\");\n Object.entries(additionalHeaders || {}).forEach(function (_a) {\n var key = _a[0], val = _a[1];\n return req.setRequestHeader(key, val);\n });\n req.send(jsonPayload);\n getLogger().debug(\"sending json\", jsonPayload);\n });\n};\nvar fetchTransport = function (fetch) {\n return function (url, jsonPayload, additionalHeaders, handler) {\n if (handler === void 0) { handler = function (code, body) { }; }\n return __awaiter(void 0, void 0, void 0, function () {\n var res, e_1, resJson, text, contentType, e_2;\n var _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _c.trys.push([0, 2, , 3]);\n return [4 /*yield*/, fetch(url, {\n method: \"POST\",\n headers: __assign({ Accept: \"application/json\", \"Content-Type\": \"application/json\" }, (additionalHeaders || {})),\n body: jsonPayload,\n })];\n case 1:\n res = _c.sent();\n return [3 /*break*/, 3];\n case 2:\n e_1 = _c.sent();\n getLogger().error(\"Failed to send\", jsonPayload, e_1);\n handler(-1, {});\n return [2 /*return*/];\n case 3:\n if (res.status !== 200) {\n getLogger().warn(\"Failed to send data to \".concat(url, \" (#\").concat(res.status, \" - \").concat(res.statusText, \")\"), jsonPayload);\n handler(res.status, {});\n return [2 /*return*/];\n }\n resJson = {};\n text = \"\";\n contentType = (_b = (_a = res.headers) === null || _a === void 0 ? void 0 : _a.get('Content-Type')) !== null && _b !== void 0 ? _b : \"\";\n _c.label = 4;\n case 4:\n _c.trys.push([4, 6, , 7]);\n return [4 /*yield*/, res.text()];\n case 5:\n text = _c.sent();\n resJson = JSON.parse(text);\n return [3 /*break*/, 7];\n case 6:\n e_2 = _c.sent();\n getLogger().error(\"Failed to parse \".concat(url, \" response. Content-type: \").concat(contentType, \" text: \").concat(text), e_2);\n return [3 /*break*/, 7];\n case 7:\n try {\n handler(res.status, resJson);\n }\n catch (e) {\n getLogger().error(\"Failed to handle \".concat(url, \" response. Content-type: \").concat(contentType, \" text: \").concat(text), e);\n }\n return [2 /*return*/];\n }\n });\n });\n };\n};\nvar JitsuClientImpl = /** @class */ (function () {\n function JitsuClientImpl() {\n this.userProperties = {};\n this.permanentProperties = {\n globalProps: {},\n propsPerEvent: {},\n };\n this.cookieDomain = \"\";\n this.trackingHost = \"\";\n this.idCookieName = \"\";\n this.randomizeUrl = false;\n this.apiKey = \"\";\n this.initialized = false;\n this._3pCookies = {};\n this.cookiePolicy = \"keep\";\n this.ipPolicy = \"keep\";\n this.beaconApi = false;\n this.transport = xmlHttpTransport;\n this.customHeaders = function () { return ({}); };\n this.queue = new MemoryQueue();\n this.maxSendAttempts = 4;\n this.retryTimeout = [500, 1e12];\n this.flushing = false;\n this.attempt = 1;\n }\n JitsuClientImpl.prototype.id = function (props, doNotSendEvent) {\n this.userProperties = __assign(__assign({}, this.userProperties), props);\n getLogger().debug(\"Jitsu user identified\", props);\n if (this.userIdPersistence) {\n this.userIdPersistence.save(props);\n }\n else {\n getLogger().warn(\"Id() is called before initialization\");\n }\n if (!doNotSendEvent) {\n return this.track(\"user_identify\", {});\n }\n else {\n return Promise.resolve();\n }\n };\n JitsuClientImpl.prototype.rawTrack = function (payload) {\n return this.sendJson(payload);\n };\n JitsuClientImpl.prototype.makeEvent = function (event_type, src, payload) {\n var _a;\n var env = payload.env, payloadData = __rest(payload, [\"env\"]);\n if (!env) {\n env = isWindowAvailable() ? envs.browser() : envs.empty();\n }\n this.restoreId();\n var context = this.getCtx(env);\n var persistentProps = __assign(__assign({}, this.permanentProperties.globalProps), ((_a = this.permanentProperties.propsPerEvent[event_type]) !== null && _a !== void 0 ? _a : {}));\n var base = __assign({ api_key: this.apiKey, src: src, event_type: event_type }, payloadData);\n var sourceIp = env.getSourceIp();\n if (sourceIp) {\n base[\"source_ip\"] = sourceIp;\n }\n return this.compatMode\n ? __assign(__assign(__assign({}, persistentProps), { eventn_ctx: context }), base) : __assign(__assign(__assign({}, persistentProps), context), base);\n };\n JitsuClientImpl.prototype._send3p = function (sourceType, object, type) {\n var eventType = \"3rdparty\";\n if (type && type !== \"\") {\n eventType = type;\n }\n var e = this.makeEvent(eventType, sourceType, {\n src_payload: object,\n });\n return this.sendJson(e);\n };\n JitsuClientImpl.prototype.sendJson = function (json) {\n return __awaiter(this, void 0, Promise, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(this.maxSendAttempts > 1)) return [3 /*break*/, 1];\n this.queue.push([json, 0]);\n this.scheduleFlush(0);\n return [3 /*break*/, 3];\n case 1: return [4 /*yield*/, this.doSendJson(json)];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n JitsuClientImpl.prototype.doSendJson = function (json) {\n var _this = this;\n var cookiePolicy = this.cookiePolicy !== \"keep\" ? \"&cookie_policy=\".concat(this.cookiePolicy) : \"\";\n var ipPolicy = this.ipPolicy !== \"keep\" ? \"&ip_policy=\".concat(this.ipPolicy) : \"\";\n var urlPrefix = isWindowAvailable() ? \"/api/v1/event\" : \"/api/v1/s2s/event\";\n var url = \"\".concat(this.trackingHost).concat(urlPrefix, \"?token=\").concat(this.apiKey).concat(cookiePolicy).concat(ipPolicy);\n if (this.randomizeUrl) {\n url = \"\".concat(this.trackingHost, \"/api.\").concat(generateRandom(), \"?p_\").concat(generateRandom(), \"=\").concat(this.apiKey).concat(cookiePolicy).concat(ipPolicy);\n }\n var jsonString = JSON.stringify(json);\n getLogger().debug(\"Sending payload to \".concat(url), jsonString);\n return this.transport(url, jsonString, this.customHeaders(), function (code, body) {\n return _this.postHandle(code, body);\n });\n };\n JitsuClientImpl.prototype.scheduleFlush = function (timeout) {\n var _this = this;\n if (this.flushing) {\n return;\n }\n this.flushing = true;\n if (typeof timeout === \"undefined\") {\n var random = Math.random() + 1;\n var factor = Math.pow(2, this.attempt++);\n timeout = Math.min(this.retryTimeout[0] * random * factor, this.retryTimeout[1]);\n }\n getLogger().debug(\"Scheduling event queue flush in \".concat(timeout, \" ms.\"));\n setTimeout(function () { return _this.flush(); }, timeout);\n };\n JitsuClientImpl.prototype.flush = function () {\n return __awaiter(this, void 0, Promise, function () {\n var queue;\n var _a;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (isWindowAvailable() && !window.navigator.onLine) {\n this.flushing = false;\n this.scheduleFlush();\n }\n queue = this.queue.flush();\n this.flushing = false;\n if (queue.length === 0) {\n return [2 /*return*/];\n }\n _b.label = 1;\n case 1:\n _b.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.doSendJson(queue.map(function (el) { return el[0]; }))];\n case 2:\n _b.sent();\n this.attempt = 1;\n getLogger().debug(\"Successfully flushed \".concat(queue.length, \" events from queue\"));\n return [3 /*break*/, 4];\n case 3:\n _b.sent();\n queue = queue.map(function (el) { return [el[0], el[1] + 1]; }).filter(function (el) {\n if (el[1] >= _this.maxSendAttempts) {\n getLogger().error(\"Dropping queued event after \".concat(el[1], \" attempts since max send attempts \").concat(_this.maxSendAttempts, \" reached. See logs for details\"));\n return false;\n }\n return true;\n });\n if (queue.length > 0) {\n (_a = this.queue).push.apply(_a, queue);\n this.scheduleFlush();\n }\n else {\n this.attempt = 1;\n }\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n JitsuClientImpl.prototype.postHandle = function (status, response) {\n if (this.cookiePolicy === \"strict\" || this.cookiePolicy === \"comply\") {\n if (status === 200) {\n var data = response;\n if (typeof response === \"string\") {\n data = JSON.parse(response);\n }\n if (!data[\"delete_cookie\"]) {\n return;\n }\n }\n this.userIdPersistence.delete();\n this.propsPersistance.delete();\n deleteCookie(this.idCookieName);\n }\n if (status === 200) {\n var data = response;\n if (typeof response === \"string\" && response.length > 0) {\n data = JSON.parse(response);\n var extras = data[\"jitsu_sdk_extras\"];\n if (extras && extras.length > 0) {\n var isWindow = isWindowAvailable();\n if (!isWindow) {\n getLogger().error(\"Tags destination supported only in browser environment\");\n }\n else {\n for (var _i = 0, extras_1 = extras; _i < extras_1.length; _i++) {\n var _a = extras_1[_i], type = _a.type, id = _a.id, value = _a.value;\n if (type === \"tag\") {\n var tag = document.createElement(\"div\");\n tag.id = id;\n insertAndExecute(tag, value);\n if (tag.childElementCount > 0) {\n document.body.appendChild(tag);\n }\n }\n }\n }\n }\n }\n }\n };\n JitsuClientImpl.prototype.getCtx = function (env) {\n var now = new Date();\n var props = env.describeClient() || {};\n return __assign(__assign({ event_id: \"\", user: __assign({ anonymous_id: this.cookiePolicy !== \"strict\"\n ? env.getAnonymousId({\n name: this.idCookieName,\n domain: this.cookieDomain,\n })\n : \"\" }, this.userProperties), ids: this._getIds(), utc_time: reformatDate(now.toISOString()), local_tz_offset: now.getTimezoneOffset() }, props), getDataFromParams(parseQuery(props.doc_search)));\n };\n JitsuClientImpl.prototype._getIds = function () {\n if (!isWindowAvailable()) {\n return {};\n }\n var cookies = getCookies(false);\n var res = {};\n for (var _i = 0, _a = Object.entries(cookies); _i < _a.length; _i++) {\n var _b = _a[_i], key = _b[0], value = _b[1];\n if (this._3pCookies[key]) {\n res[key.charAt(0) == \"_\" ? key.substr(1) : key] = value;\n }\n }\n return res;\n };\n JitsuClientImpl.prototype.track = function (type, payload) {\n var data = payload || {};\n getLogger().debug(\"track event of type\", type, data);\n var e = this.makeEvent(type, this.compatMode ? \"eventn\" : \"jitsu\", payload || {});\n return this.sendJson(e);\n };\n JitsuClientImpl.prototype.init = function (options) {\n var _this = this;\n var _a, _b, _c, _d;\n if (isWindowAvailable() && !options.force_use_fetch) {\n if (options.fetch) {\n getLogger().warn(\"Custom fetch implementation is provided to Jitsu. However, it will be ignored since Jitsu runs in browser\");\n }\n this.transport = this.beaconApi ? beaconTransport : xmlHttpTransport;\n }\n else {\n if (!options.fetch && !globalThis.fetch) {\n throw new Error(\"Jitsu runs in Node environment. However, neither JitsuOptions.fetch is provided, nor global fetch function is defined. \\n\" +\n \"Please, provide custom fetch implementation. You can get it via node-fetch package\");\n }\n this.transport = fetchTransport(options.fetch || globalThis.fetch);\n }\n if (options.custom_headers &&\n typeof options.custom_headers === \"function\") {\n this.customHeaders = options.custom_headers;\n }\n else if (options.custom_headers) {\n this.customHeaders = function () {\n return options.custom_headers;\n };\n }\n if (options.tracking_host === \"echo\") {\n getLogger().warn('jitsuClient is configured with \"echo\" transport. Outgoing requests will be written to console');\n this.transport = echoTransport;\n }\n if (options.ip_policy) {\n this.ipPolicy = options.ip_policy;\n }\n if (options.cookie_policy) {\n this.cookiePolicy = options.cookie_policy;\n }\n if (options.privacy_policy === \"strict\") {\n this.ipPolicy = \"strict\";\n this.cookiePolicy = \"strict\";\n }\n if (options.use_beacon_api && navigator.sendBeacon) {\n this.beaconApi = true;\n }\n //can't handle delete cookie response when beacon api\n if (this.cookiePolicy === \"comply\" && this.beaconApi) {\n this.cookiePolicy = \"strict\";\n }\n if (options.log_level) {\n setRootLogLevel(options.log_level);\n }\n this.initialOptions = options;\n getLogger().debug(\"Initializing Jitsu Tracker tracker\", options, JITSU_VERSION);\n if (!options.key) {\n getLogger().error(\"Can't initialize Jitsu, key property is not set\");\n return;\n }\n this.compatMode =\n options.compat_mode === undefined\n ? defaultCompatMode\n : !!options.compat_mode;\n this.cookieDomain = options.cookie_domain || getCookieDomain();\n this.trackingHost = getHostWithProtocol(options[\"tracking_host\"] || \"t.jitsu.com\");\n this.randomizeUrl = options.randomize_url || false;\n this.idCookieName = options.cookie_name || \"__eventn_id\";\n this.apiKey = options.key;\n if (this.cookiePolicy === \"strict\") {\n this.propsPersistance = new NoPersistence();\n }\n else {\n this.propsPersistance = isWindowAvailable()\n ? new CookiePersistence(this.cookieDomain, this.idCookieName + \"_props\")\n : new NoPersistence();\n }\n if (this.cookiePolicy === \"strict\") {\n this.userIdPersistence = new NoPersistence();\n }\n else {\n this.userIdPersistence = isWindowAvailable()\n ? new CookiePersistence(this.cookieDomain, this.idCookieName + \"_usr\")\n : new NoPersistence();\n }\n if (this.propsPersistance) {\n var restored = this.propsPersistance.restore();\n if (restored) {\n this.permanentProperties = restored;\n this.permanentProperties.globalProps = (_a = restored.globalProps) !== null && _a !== void 0 ? _a : {};\n this.permanentProperties.propsPerEvent = (_b = restored.propsPerEvent) !== null && _b !== void 0 ? _b : {};\n }\n getLogger().debug(\"Restored persistent properties\", this.permanentProperties);\n }\n if (options.capture_3rd_party_cookies === false) {\n this._3pCookies = {};\n }\n else {\n (options.capture_3rd_party_cookies || [\n \"_ga\",\n \"_fbp\",\n \"_ym_uid\",\n \"ajs_user_id\",\n \"ajs_anonymous_id\",\n ]).forEach(function (name) { return (_this._3pCookies[name] = true); });\n }\n if (options.ga_hook) {\n getLogger().warn(\"GA event interceptor isn't supported anymore\");\n }\n if (options.segment_hook) {\n interceptSegmentCalls(this);\n }\n if (isWindowAvailable()) {\n if (!options.disable_event_persistence) {\n this.queue = new LocalStorageQueue(\"jitsu-event-queue\");\n this.scheduleFlush(0);\n }\n window.addEventListener(\"beforeunload\", function () { return _this.flush(); });\n }\n this.retryTimeout = [\n (_c = options.min_send_timeout) !== null && _c !== void 0 ? _c : this.retryTimeout[0],\n (_d = options.max_send_timeout) !== null && _d !== void 0 ? _d : this.retryTimeout[1],\n ];\n if (!!options.max_send_attempts) {\n this.maxSendAttempts = options.max_send_attempts;\n }\n this.initialized = true;\n };\n JitsuClientImpl.prototype.interceptAnalytics = function (analytics) {\n var _this = this;\n var interceptor = function (chain) {\n var _a;\n try {\n var payload = __assign({}, chain.payload);\n getLogger().debug(\"Intercepted segment payload\", payload.obj);\n var integration = chain.integrations[\"Segment.io\"];\n if (integration && integration.analytics) {\n var analyticsOriginal = integration.analytics;\n if (typeof analyticsOriginal.user === \"function\" &&\n analyticsOriginal.user() &&\n typeof analyticsOriginal.user().id === \"function\") {\n payload.obj.userId = analyticsOriginal.user().id();\n }\n }\n if ((_a = payload === null || payload === void 0 ? void 0 : payload.obj) === null || _a === void 0 ? void 0 : _a.timestamp) {\n payload.obj.sentAt = payload.obj.timestamp;\n }\n var type = chain.payload.type();\n if (type === \"track\") {\n type = chain.payload.event();\n }\n _this._send3p(\"ajs\", payload, type);\n }\n catch (e) {\n getLogger().warn(\"Failed to send an event\", e);\n }\n chain.next(chain.payload);\n };\n if (typeof analytics.addSourceMiddleware === \"function\") {\n //analytics is fully initialized\n getLogger().debug(\"Analytics.js is initialized, calling addSourceMiddleware\");\n analytics.addSourceMiddleware(interceptor);\n }\n else {\n getLogger().debug(\"Analytics.js is not initialized, pushing addSourceMiddleware to callstack\");\n analytics.push([\"addSourceMiddleware\", interceptor]);\n }\n analytics[\"__en_intercepted\"] = true;\n };\n JitsuClientImpl.prototype.restoreId = function () {\n if (this.userIdPersistence) {\n var props = this.userIdPersistence.restore();\n if (props) {\n this.userProperties = __assign(__assign({}, props), this.userProperties);\n }\n }\n };\n JitsuClientImpl.prototype.set = function (properties, opts) {\n var _a;\n var eventType = opts === null || opts === void 0 ? void 0 : opts.eventType;\n var persist = (opts === null || opts === void 0 ? void 0 : opts.persist) === undefined || (opts === null || opts === void 0 ? void 0 : opts.persist);\n if (eventType !== undefined) {\n var current = (_a = this.permanentProperties.propsPerEvent[eventType]) !== null && _a !== void 0 ? _a : {};\n this.permanentProperties.propsPerEvent[eventType] = __assign(__assign({}, current), properties);\n }\n else {\n this.permanentProperties.globalProps = __assign(__assign({}, this.permanentProperties.globalProps), properties);\n }\n if (this.propsPersistance && persist) {\n this.propsPersistance.save(this.permanentProperties);\n }\n };\n JitsuClientImpl.prototype.unset = function (propertyName, opts) {\n requireWindow();\n var eventType = opts === null || opts === void 0 ? void 0 : opts.eventType;\n var persist = (opts === null || opts === void 0 ? void 0 : opts.persist) === undefined || (opts === null || opts === void 0 ? void 0 : opts.persist);\n if (!eventType) {\n delete this.permanentProperties.globalProps[propertyName];\n }\n else if (this.permanentProperties.propsPerEvent[eventType]) {\n delete this.permanentProperties.propsPerEvent[eventType][propertyName];\n }\n if (this.propsPersistance && persist) {\n this.propsPersistance.save(this.permanentProperties);\n }\n };\n return JitsuClientImpl;\n}());\nfunction interceptSegmentCalls(t) {\n var win = window;\n if (!win.analytics) {\n win.analytics = [];\n }\n t.interceptAnalytics(win.analytics);\n}\n\nexport { envs, fetchApi, httpApi, jitsuClient };\n"],"sourceRoot":""}