{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///../../js/src/util.js","webpack:///../../js/src/alert.js","webpack:///../../js/src/button.js","webpack:///../../js/src/carousel.js","webpack:///../../js/src/collapse.js","webpack:///../../node_modules/popper.js/dist/esm/popper.js","webpack:///../../js/src/dropdown.js","webpack:///../../js/src/modal.js","webpack:///../../js/src/tools/sanitizer.js","webpack:///../../js/src/tooltip.js","webpack:///../../js/src/popover.js","webpack:///../../js/src/scrollspy.js","webpack:///../../js/src/tab.js","webpack:///../../js/src/toast.js","webpack:///../../js/src/index.js","webpack:///./node_modules/jquery/dist/jquery.js","webpack:///(webpack)/buildin/global.js","webpack:///(webpack)/buildin/module.js","webpack:///./src/js/app.js","webpack:///./src/js/sections/content/form.js","webpack:///./src/js/sections/footer.js","webpack:///./src/js/sections/header.js"],"names":["TRANSITION_END","MAX_UID","MILLISECONDS_MULTIPLIER","bindType","delegateType","handle","$","event","called","Util","setTimeout","getSpecialTransitionEndEvent","getUID","prefix","Math","document","getSelectorFromElement","selector","element","hrefAttr","getTransitionDurationFromElement","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","reflow","triggerTransitionEnd","supportsTransitionEnd","Boolean","isElement","obj","typeCheckConfig","Object","expectedTypes","configTypes","value","config","valueType","toType","componentName","findShadowRoot","root","setTransitionEndSupport","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","close","rootElement","customEvent","dispose","_getRootElement","parent","_triggerCloseEvent","closeEvent","_removeElement","_destroyElement","_jQueryInterface","$element","data","_handleDismiss","alertInstance","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","activeElement","button","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","CAROUSEL","ITEM","POINTER_EVENT","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","navigator","window","next","nextWhenVisible","prev","clearInterval","cycle","setInterval","to","activeIndex","index","direction","_getConfig","_handleSwipe","absDeltax","_addEventListeners","_addTouchEventListeners","start","move","end","clearTimeout","e","_keydown","_getItemIndex","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","targetIndex","fromIndex","slideEvent","relatedTarget","from","_setActiveIndicatorElement","indicators","nextIndicator","_slide","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","eventDirectionName","slidEvent","nextElementInterval","parseInt","_config","action","_dataApiClickHandler","target","slideIndex","carousels","i","len","$carousel","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","toggleList","elem","filterElement","foundElem","show","actives","activesData","startEvent","dimension","complete","capitalizedDimension","scrollSize","hide","triggerArrayLength","trigger","$elem","setTransitioning","_getDimension","hasWidth","_getParent","children","_addAriaAndCollapsedClass","isOpen","triggerArray","_getTargetFromElement","$this","$trigger","selectors","$target","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","MENULEFT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","offset","flip","boundary","reference","display","Dropdown","isActive","_element","showEvent","referenceElement","hideEvent","update","_getMenuElement","_getPlacement","$parentDropdown","placement","_detectNavbar","_getOffset","_getPopperConfig","popperConfig","modifiers","enabled","preventOverflow","boundariesElement","_clearMenus","toggles","context","dropdownMenu","_getParentFromElement","_dataApiKeydownHandler","items","backdrop","focus","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLABLE","SCROLLBAR_MEASURER","BACKDROP","OPEN","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","transition","handleUpdate","_showElement","Node","shownEvent","transitionComplete","_enforceFocus","_setEscapeEvent","_setResizeEvent","_hideModal","_removeBackdrop","_showBackdrop","animate","callback","backdropTransitionDuration","callbackRemove","_adjustDialog","isModalOverflowing","_resetAdjustments","_checkScrollbar","rect","_setScrollbar","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","calculatedMargin","_resetScrollbar","padding","elements","margin","_getScrollbarWidth","scrollDiv","scrollbarWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","attrName","attr","allowedAttributeList","regExp","attrRegex","l","unsafeHtml","sanitizeFn","domParser","createdDocument","whitelistKeys","el","elName","attributeList","whitelistedAttributes","whiteList","allowedAttribute","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","container","fallbackPlacement","sanitize","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP","TOOLTIP_INNER","ARROW","Trigger","HOVER","MANUAL","Tooltip","enable","disable","toggleEnabled","dataKey","shadowRoot","isInTheDom","tip","tipId","attachment","behavior","arrow","onCreate","onUpdate","prevHoverState","isWithContent","addAttachmentClass","getTipElement","setContent","setElementContent","content","sanitizeHtml","getTitle","_getContainer","_getAttachment","_setListeners","triggers","eventIn","eventOut","_fixTitle","titleType","_enter","_leave","_isWithActiveTrigger","dataAttributes","_getDelegateConfig","_cleanTipClass","$tip","tabClass","_handlePopperPlacementChange","popperInstance","popperData","_fixTransition","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DROPDOWN_MENU","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","refresh","autoMethod","offsetMethod","offsetBase","targets","targetSelector","targetBCR","item","id","_getScrollTop","_getScrollHeight","_getOffsetHeight","_process","scrollTop","scrollHeight","maxScroll","offsetLength","isActiveTarget","_activate","queries","$link","_clear","node","scrollSpys","scrollSpysLength","$spy","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","previous","hiddenEvent","activeElements","active","isTransitioning","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","SHOWING","autohide","Toast","_close","version","minMajor","ltMajor","minMinor","minPatch","maxMajor","global","factory","module","exports","w","Error","noGlobal","arr","getProto","getPrototypeOf","slice","concat","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","call","support","isFunction","nodeType","isWindow","preservedScriptAttributes","type","src","noModule","DOMEval","doc","script","createElement","text","head","appendChild","parentNode","removeChild","jQuery","fn","init","rtrim","prototype","jquery","constructor","length","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","map","apply","arguments","first","eq","last","j","sort","splice","extend","options","name","copy","copyIsArray","clone","deep","isPlainObject","Array","isArray","undefined","expando","random","replace","isReady","error","msg","noop","proto","Ctor","isEmptyObject","globalEval","isArrayLike","trim","makeArray","results","inArray","second","grep","invert","callbackInverse","matches","callbackExpect","arg","guid","Symbol","iterator","split","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","pop","push_native","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","disabledAncestor","addCombinator","disabled","dir","childNodes","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","getElementsByTagName","getElementsByClassName","qsa","test","nodeName","getAttribute","setAttribute","toSelector","join","testContext","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","documentElement","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","tmp","innerHTML","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","val","specified","escape","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","createPseudo","relative","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","matcher","unmatched","innerText","lang","elemLang","hash","location","hasFocus","href","tabIndex","checked","selected","selectedIndex","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","needsContext","rsingleTag","winnow","qualifier","not","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","contents","has","closest","prevAll","add","addBack","sibling","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","reverse","rnothtmlwhite","createOptions","object","flag","Callbacks","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","empty","lock","fireWith","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","promise","fail","then","Deferred","func","tuples","state","always","deferred","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","catch","readyWait","wait","completed","removeEventListener","readyState","doScroll","access","chainable","emptyGet","raw","bulk","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","getData","JSON","parse","dataAttr","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isHiddenWithinTree","style","css","swap","old","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","body","showHide","values","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","tr","td","_default","optgroup","tbody","tfoot","colgroup","caption","th","getAll","setGlobalEval","refElements","rhtml","buildFragment","scripts","selection","ignored","fragment","createDocumentFragment","nodes","createTextNode","htmlPrefilter","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","on","types","one","origFn","off","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","triggered","dispatch","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","enumerable","originalEvent","writable","load","noBubble","blur","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","timeStamp","now","isSimulated","stopImmediatePropagation","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","valueIsFunction","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","rboxStyle","computeStyleTests","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","width","position","scrollboxSizeVal","offsetWidth","measure","round","backgroundClip","clearCloneStyle","boxSizingReliable","pixelBoxStyles","pixelPosition","reliableMarginLeft","scrollboxSize","curCSS","computed","minWidth","maxWidth","getPropertyValue","addGetHookIf","conditionFn","hookFn","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","emptyStyle","vendorPropName","capName","finalPropName","cssProps","setPositiveNumber","subtract","max","boxModelAdjustment","box","isBorderBox","styles","computedVal","extra","ceil","getWidthOrHeight","valueIsBorderBox","cssHooks","opacity","origName","isCustomProp","setProperty","isFinite","getClientRects","getBoundingClientRect","left","border","suffix","expand","expanded","parts","Tween","easing","propHooks","run","percent","eased","duration","pos","step","fx","scrollLeft","linear","swing","cos","PI","fxNow","inProgress","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","tick","createFxNow","genFx","includeWidth","height","createTween","Animation","tweeners","defaultPrefilter","opts","oldfire","propTween","restoreDisplay","isBox","anim","dataShow","unqueued","overflow","overflowX","overflowY","propFilter","specialEasing","properties","stopped","prefilters","currentTime","startTime","tweens","originalProperties","originalOptions","gotoEnd","bind","timer","tweener","prefilter","speed","opt","speeds","fadeTo","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","time","timeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","bool","attrNames","getter","lowercaseName","rfocusable","rclickable","removeProp","propFix","tabindex","stripAndCollapse","getClass","classesToArray","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","isTrigger","parentWindow","simulate","triggerHandler","attaches","nonce","rquery","parseXML","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rlocalProtocol","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","ajaxHandleResponses","responses","ct","finalDataType","firstDataType","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","responseFields","dataFilter","throws","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","overrideMimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","modified","getJSON","getScript","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","offsetHeight","xhr","XMLHttpRequest","xhrSuccessStatus","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","defaultExtra","funcName","hover","fnOver","fnOut","unbind","delegate","undelegate","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","define","_jQuery","_$","noConflict","g","Function","webpackPolyfill","deprecate","paths","footer","header","google","initMap","markerId","markers","TCZEW_BOUNDS","north","south","west","east","RATUSZ","lat","lng","updateHidden","allPositions","forEach","getPosition","toJSON","hiddenValue","stringify","placeMarker","marker","maps","Marker","addListener","setMap","panTo","Map","center","restriction","latLngBounds","strictBounds","zoom","fullscreenControl","streetViewControl","mapTypeControl","latLng","hiddenMarkers","decodeURIComponent","hiddenMarker","handleLogotypesSrcSwap","innerWidth","logotypes","logotype","dataset","desktopSrc","handleCookieSave","isCookiePresent","cookie","deleteCookiesInfo","querySelector","cookiesPolicy","saveCookie","handleCollapses","collapseWrappers","toggleCollapse","collapseWrapper","classList","wrapper","collapseToggler","collapseInner","handleMobileMenu","mobileMenuToggler","mobileMenu","toggleBodyLock","toggleMobileMenu","toggleToggler"],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClFA;;;;;;;AASA;;;;;;;AAMA,MAAMA,cAAc,GAApB;AACA,MAAMC,OAAO,GAAb;AACA,MAAMC,uBAAuB,GAA7B,K,CAAA;;AAGA,uBAAqB;AACnB,WAAO,8CAAP,WAAO,EAAP;AACD;;AAED,0CAAwC;AACtC,WAAO;AACLC,cAAQ,EADH;AAELC,kBAAY,EAFP;AAGLC,YAHK,yBAGS;AACZ,YAAIC,CAAC,CAACC,KAAK,CAAPD,MAAC,CAADA,IAAJ,IAAIA,CAAJ,EAA8B;AAC5B,iBAAOC,KAAK,CAALA,8BADqB,SACrBA,CAAP,CAD4B;AAE7B;;AACD,eAJY,SAIZ,CAJY;AAKb;AARI,KAAP;AAUD;;AAED,2CAAyC;AAAA;;AACvC,QAAIC,MAAM,GAAV;AAEAF,KAAC,CAADA,IAAC,CAADA,KAAYG,IAAI,CAAhBH,gBAAiC,YAAM;AACrCE,YAAM,GAANA;AADFF;AAIAI,cAAU,CAAC,YAAM;AACf,UAAI,CAAJ,QAAa;AACXD,YAAI,CAAJA;AACD;AAHO,OAAVC,QAAU,CAAVA;AAMA;AACD;;AAED,qCAAmC;AACjCJ,KAAC,CAADA;AACAA,KAAC,CAADA,cAAgBG,IAAI,CAApBH,kBAAuCK,4BAAvCL;AACD;AAED;;;;;;;AAMA,MAAMG,IAAI,GAAG;AAEXT,kBAAc,EAFH;AAIXY,UAJW,0BAII;AACb,SAAG;AACD;AACAC,cAAM,IAAI,CAAC,EAAEC,IAAI,CAAJA,WAFZ,OAEU,CAAXD,CAFC;AAAH,eAGSE,QAAQ,CAARA,eAHT,MAGSA,CAHT;;AAIA;AATS;AAYXC,0BAZW,2CAYqB;AAC9B,UAAIC,QAAQ,GAAGC,OAAO,CAAPA,aAAf,aAAeA,CAAf;;AAEA,UAAI,aAAaD,QAAQ,KAAzB,KAAmC;AACjC,YAAME,QAAQ,GAAGD,OAAO,CAAPA,aAAjB,MAAiBA,CAAjB;AACAD,gBAAQ,GAAGE,QAAQ,IAAIA,QAAQ,KAApBA,MAA+BA,QAAQ,CAAvCA,IAA+BA,EAA/BA,GAAXF;AACD;;AAED,UAAI;AACF,eAAOF,QAAQ,CAARA,qCAAP;AADF,QAEE,YAAY;AACZ;AACD;AAxBQ;AA2BXK,oCA3BW,qDA2B+B;AACxC,UAAI,CAAJ,SAAc;AACZ;AAFsC;;;AAMxC,UAAIC,kBAAkB,GAAGf,CAAC,CAADA,OAAC,CAADA,KAAzB,qBAAyBA,CAAzB;AACA,UAAIgB,eAAe,GAAGhB,CAAC,CAADA,OAAC,CAADA,KAAtB,kBAAsBA,CAAtB;AAEA,UAAMiB,uBAAuB,GAAGC,UAAU,CAA1C,kBAA0C,CAA1C;AACA,UAAMC,oBAAoB,GAAGD,UAAU,CAVC,eAUD,CAAvC,CAVwC;;AAaxC,UAAI,4BAA4B,CAAhC,sBAAuD;AACrD;AAdsC;;;AAkBxCH,wBAAkB,GAAGA,kBAAkB,CAAlBA,WAArBA,CAAqBA,CAArBA;AACAC,qBAAe,GAAGA,eAAe,CAAfA,WAAlBA,CAAkBA,CAAlBA;AAEA,aAAO,CAACE,UAAU,CAAVA,kBAAU,CAAVA,GAAiCA,UAAU,CAA5C,eAA4C,CAA5C,IAAP;AAhDS;AAmDXE,UAnDW,2BAmDK;AACd,aAAOR,OAAO,CAAd;AApDS;AAuDXS,wBAvDW,yCAuDmB;AAC5BrB,OAAC,CAADA,OAAC,CAADA;AAxDS;AA2DX;AACAsB,yBA5DW,mCA4Da;AACtB,aAAOC,OAAO,CAAd,cAAc,CAAd;AA7DS;AAgEXC,aAhEW,0BAgEI;AACb,aAAO,CAACC,GAAG,CAAHA,CAAG,CAAHA,IAAD,KAAP;AAjES;AAoEXC,mBApEW,+DAoEyC;AAClD,WAAK,IAAL,yBAAoC;AAClC,YAAIC,MAAM,CAANA,2CAAJ,QAAIA,CAAJ,EAAiE;AAC/D,cAAMC,aAAa,GAAGC,WAAW,CAAjC,QAAiC,CAAjC;AACA,cAAMC,KAAK,GAAWC,MAAM,CAA5B,QAA4B,CAA5B;AACA,cAAMC,SAAS,GAAOF,KAAK,IAAI3B,IAAI,CAAJA,UAAT2B,KAAS3B,CAAT2B,eACNG,MAAM,CADtB,KACsB,CADtB;;AAGA,cAAI,CAAC,+BAAL,SAAK,CAAL,EAAgD;AAC9C,kBAAM,UACDC,aAAa,CAAhB,WAAGA,KAAH,IAAGA,IAAH,kEAAGA,KAAH,yCADF,KACKA,CADC,CAAN;AAID;AACF;AACF;AAnFQ;AAsFXC,kBAtFW,mCAsFa;AACtB,UAAI,CAAC1B,QAAQ,CAARA,gBAAL,cAA4C;AAC1C;AAFoB;;;AAMtB,UAAI,OAAOG,OAAO,CAAd,gBAAJ,YAA+C;AAC7C,YAAMwB,IAAI,GAAGxB,OAAO,CAApB,WAAaA,EAAb;AACA,eAAOwB,IAAI,YAAJA,oBAAP;AACD;;AAED,UAAIxB,OAAO,YAAX,YAAmC;AACjC;AAZoB;;;AAgBtB,UAAI,CAACA,OAAO,CAAZ,YAAyB;AACvB;AACD;;AAED,aAAOT,IAAI,CAAJA,eAAoBS,OAAO,CAAlC,UAAOT,CAAP;AACD;AA3GU,GAAb;AA8GAkC,yBAAuB;ACpKvB;;;;;;AAMA,MAAMC,IAAI,GAAV;AACA,MAAMC,OAAO,GAAb;AACA,MAAMC,QAAQ,GAAd;AACA,MAAMC,SAAS,SAAf;AACA,MAAMC,YAAY,GAAlB;AACA,MAAMC,kBAAkB,GAAI3C,CAAC,CAADA,GAA5B,IAA4BA,CAA5B;AAEA,MAAM4C,QAAQ,GAAG;AACfC,WAAO,EAAG;AADK,GAAjB;AAIA,MAAMC,KAAK,GAAG;AACZC,SAAK,YADO;AAEZC,UAAM,aAFM;AAGZC,kBAAc,wBAAuBP;AAHzB,GAAd;AAMA,MAAMQ,SAAS,GAAG;AAChBC,SAAK,EADW;AAEhBC,QAAI,EAFY;AAGhBC,QAAI,EAAI;AAGV;;;;;;AANkB,GAAlB;;MAYMC;;;AACJ,4BAAqB;AACnB;AACD,K,CAAA;;;kCAQD;;WAEAC,K,GAAAA,wBAAe;AACb,UAAIC,WAAW,GAAG,KAAlB;;AACA,mBAAa;AACXA,mBAAW,GAAG,qBAAdA,OAAc,CAAdA;AACD;;AAED,UAAMC,WAAW,GAAG,wBAApB,WAAoB,CAApB;;AAEA,UAAIA,WAAW,CAAf,kBAAIA,EAAJ,EAAsC;AACpC;AACD;;AAED;AACD,K;;WAEDC,O,GAAAA,mBAAU;AACR1D,OAAC,CAADA,WAAa,KAAbA;AACA;AACD,K,CAAA;;;WAID2D,e,GAAAA,kCAAyB;AACvB,UAAMhD,QAAQ,GAAGR,IAAI,CAAJA,uBAAjB,OAAiBA,CAAjB;AACA,UAAIyD,MAAM,GAAV;;AAEA,oBAAc;AACZA,cAAM,GAAGnD,QAAQ,CAARA,cAATmD,QAASnD,CAATmD;AACD;;AAED,UAAI,CAAJ,QAAa;AACXA,cAAM,GAAG5D,CAAC,CAADA,OAAC,CAADA,eAAuBkD,SAAS,CAAhClD,OAAT4D,CAAS5D,CAAT4D;AACD;;AAED;AACD,K;;WAEDC,kB,GAAAA,qCAA4B;AAC1B,UAAMC,UAAU,GAAG9D,CAAC,CAADA,MAAQ8C,KAAK,CAAhC,KAAmB9C,CAAnB;AAEAA,OAAC,CAADA,OAAC,CAADA;AACA;AACD,K;;WAED+D,c,GAAAA,iCAAwB;AAAA;;AACtB/D,OAAC,CAADA,OAAC,CAADA,aAAuBkD,SAAS,CAAhClD;;AAEA,UAAI,CAACA,CAAC,CAADA,OAAC,CAADA,UAAoBkD,SAAS,CAAlC,IAAKlD,CAAL,EAA0C;AACxC;;AACA;AACD;;AAED,UAAMe,kBAAkB,GAAGZ,IAAI,CAAJA,iCAA3B,OAA2BA,CAA3B;AAEAH,OAAC,CAADA,OAAC,CAADA,KACOG,IAAI,CADXH,gBAC4B;AAAA,eAAW,KAAI,CAAJ,yBAAX,KAAW,CAAX;AAD5BA;AAGD,K;;WAEDgE,e,GAAAA,kCAAyB;AACvBhE,OAAC,CAADA,OAAC,CAADA,kBAEW8C,KAAK,CAFhB9C;AAID,K,CAAA;;;UAIMiE,gB,GAAP,kCAAgC;AAC9B,aAAO,UAAU,YAAY;AAC3B,YAAMC,QAAQ,GAAGlE,CAAC,CAAlB,IAAkB,CAAlB;AACA,YAAImE,IAAI,GAASD,QAAQ,CAARA,KAAjB,QAAiBA,CAAjB;;AAEA,YAAI,CAAJ,MAAW;AACTC,cAAI,GAAG,UAAPA,IAAO,CAAPA;AACAD,kBAAQ,CAARA;AACD;;AAED,YAAInC,MAAM,KAAV,SAAwB;AACtBoC,cAAI,CAAJA,MAAI,CAAJA;AACD;AAXH,OAAO,CAAP;AAaD,K;;UAEMC,c,GAAP,uCAAqC;AACnC,aAAO,iBAAiB;AACtB,mBAAW;AACTnE,eAAK,CAALA;AACD;;AAEDoE,qBAAa,CAAbA;AALF;AAOD,K;;;;0BAlGoB;AACnB;AACD;;;;;AAmGH;;;;;;;AAMArE,GAAC,CAADA,QAAC,CAADA,IACE8C,KAAK,CADP9C,gBAEE4C,QAAQ,CAFV5C,SAGEsD,KAAK,CAALA,eAAqB,IAHvBtD,KAGuB,EAArBsD,CAHFtD;AAMA;;;;;;AAMAA,GAAC,CAADA,WAAyBsD,KAAK,CAA9BtD;AACAA,GAAC,CAADA;;AACAA,GAAC,CAADA,sBAAyB,YAAM;AAC7BA,KAAC,CAADA;AACA,WAAOsD,KAAK,CAAZ;AAFFtD;ACpKA;;;;;;;AAMA,MAAMsC,MAAI,GAAV;AACA,MAAMC,SAAO,GAAb;AACA,MAAMC,UAAQ,GAAd;AACA,MAAMC,WAAS,SAAf;AACA,MAAMC,cAAY,GAAlB;AACA,MAAMC,oBAAkB,GAAI3C,CAAC,CAADA,GAA5B,MAA4BA,CAA5B;AAEA,MAAMkD,WAAS,GAAG;AAChBoB,UAAM,EADU;AAEhBC,UAAM,EAFU;AAGhBC,SAAK,EAAI;AAHO,GAAlB;AAMA,MAAM5B,UAAQ,GAAG;AACf6B,sBAAkB,EADH;AAEfC,eAAW,EAFI;AAGfC,SAAK,EAHU;AAIfL,UAAM,EAJS;AAKfC,UAAM,EAAe;AALN,GAAjB;AAQA,MAAMzB,OAAK,GAAG;AACZG,kBAAc,0BADF;AAEZ2B,uBAAmB,EAAG;AAIxB;;;;;;AANc,GAAd;;MAYMC;;;AACJ,6BAAqB;AACnB;AACD,K,CAAA;;;mCAQD;;WAEAC,M,GAAAA,kBAAS;AACP,UAAIC,kBAAkB,GAAtB;AACA,UAAIC,cAAc,GAAlB;AACA,UAAMxB,WAAW,GAAGxD,CAAC,CAAC,KAAFA,QAAC,CAADA,SAClB4C,UAAQ,CADU5C,aAApB,CAAoBA,CAApB;;AAIA,uBAAiB;AACf,YAAMiF,KAAK,GAAG,4BAA4BrC,UAAQ,CAAlD,KAAc,CAAd;;AAEA,mBAAW;AACT,cAAIqC,KAAK,CAALA,SAAJ,SAA4B;AAC1B,gBAAIA,KAAK,CAALA,WACF,iCAAiC/B,WAAS,CAD5C,MACE,CADF,EACsD;AACpD6B,gCAAkB,GAAlBA;AAFF,mBAGO;AACL,kBAAMG,aAAa,GAAG1B,WAAW,CAAXA,cAA0BZ,UAAQ,CAAxD,MAAsBY,CAAtB;;AAEA,iCAAmB;AACjBxD,iBAAC,CAADA,aAAC,CAADA,aAA6BkD,WAAS,CAAtClD;AACD;AACF;AACF;;AAED,kCAAwB;AACtB,gBAAIiF,KAAK,CAALA,4BACFzB,WAAW,CAAXA,aADEyB,UACFzB,CADEyB,IAEFA,KAAK,CAALA,mBAFEA,UAEFA,CAFEA,IAGFzB,WAAW,CAAXA,mBAHF,UAGEA,CAHF,EAG8C;AAC5C;AACD;;AACDyB,iBAAK,CAALA,UAAgB,CAAC,iCAAiC/B,WAAS,CAA3D+B,MAAiB,CAAjBA;AACAjF,aAAC,CAADA,KAAC,CAADA;AACD;;AAEDiF,eAAK,CAALA;AACAD,wBAAc,GAAdA;AACD;AACF;;AAED,0BAAoB;AAClB,mDACE,CAAC,iCAAiC9B,WAAS,CAD7C,MACG,CADH;AAED;;AAED,8BAAwB;AACtBlD,SAAC,CAAC,KAAFA,QAAC,CAADA,aAA6BkD,WAAS,CAAtClD;AACD;AACF,K;;WAED0D,O,GAAAA,mBAAU;AACR1D,OAAC,CAADA,WAAa,KAAbA;AACA;AACD,K,CAAA;;;WAIMiE,gB,GAAP,kCAAgC;AAC9B,aAAO,UAAU,YAAY;AAC3B,YAAIE,IAAI,GAAGnE,CAAC,CAADA,IAAC,CAADA,MAAX,UAAWA,CAAX;;AAEA,YAAI,CAAJ,MAAW;AACTmE,cAAI,GAAG,WAAPA,IAAO,CAAPA;AACAnE,WAAC,CAADA,IAAC,CAADA;AACD;;AAED,YAAI+B,MAAM,KAAV,UAAyB;AACvBoC,cAAI,CAAJA,MAAI,CAAJA;AACD;AAVH,OAAO,CAAP;AAYD,K;;;;0BA5EoB;AACnB;AACD;;;;;AA6EH;;;;;;;AAMAnE,GAAC,CAADA,QAAC,CAADA,IACM8C,OAAK,CADX9C,gBAC4B4C,UAAQ,CADpC5C,oBACyD,iBAAW;AAChEC,SAAK,CAALA;AAEA,QAAIkF,MAAM,GAAGlF,KAAK,CAAlB;;AAEA,QAAI,CAACD,CAAC,CAADA,MAAC,CAADA,UAAmBkD,WAAS,CAAjC,MAAKlD,CAAL,EAA2C;AACzCmF,YAAM,GAAGnF,CAAC,CAADA,MAAC,CAADA,SAAkB4C,UAAQ,CAAnCuC,MAASnF,CAATmF;AACD;;AAEDN,UAAM,CAANA,sBAA6B7E,CAAC,CAA9B6E,MAA8B,CAA9BA;AAVJ7E,QAYM8C,OAAK,CAZX9C,qBAYiC4C,UAAQ,CAZzC5C,oBAY8D,iBAAW;AACrE,QAAMmF,MAAM,GAAGnF,CAAC,CAACC,KAAK,CAAPD,MAAC,CAADA,SAAwB4C,UAAQ,CAAhC5C,QAAf,CAAeA,CAAf;AACAA,KAAC,CAADA,MAAC,CAADA,aAAsBkD,WAAS,CAA/BlD,OAAuC,oBAAoBC,KAAK,CAAhED,IAAuC,CAAvCA;AAdJA;AAiBA;;;;;;AAMAA,GAAC,CAADA,aAAa6E,MAAM,CAAnB7E;AACAA,GAAC,CAADA;;AACAA,GAAC,CAADA,wBAAwB,YAAM;AAC5BA,KAAC,CAADA;AACA,WAAO6E,MAAM,CAAb;AAFF7E;AC3JA;;;;;;;AAMA,MAAMsC,MAAI,GAAV;AACA,MAAMC,SAAO,GAAb;AACA,MAAMC,UAAQ,GAAd;AACA,MAAMC,WAAS,SAAf;AACA,MAAMC,cAAY,GAAlB;AACA,MAAMC,oBAAkB,GAAO3C,CAAC,CAADA,GAA/B,MAA+BA,CAA/B;AACA,MAAMoF,kBAAkB,GAAxB,G,CAAA;;AACA,MAAMC,mBAAmB,GAAzB,G,CAAA;;AACA,MAAMC,sBAAsB,GAA5B,I,CAAA;;AACA,MAAMC,eAAe,GAArB;AAEA,MAAMC,OAAO,GAAG;AACdC,YAAQ,EADM;AAEdC,YAAQ,EAFM;AAGdC,SAAK,EAHS;AAIdC,SAAK,EAJS;AAKdC,QAAI,EALU;AAMdC,SAAK,EAAM;AANG,GAAhB;AASA,MAAMC,WAAW,GAAG;AAClBN,YAAQ,EADU;AAElBC,YAAQ,EAFU;AAGlBC,SAAK,EAHa;AAIlBC,SAAK,EAJa;AAKlBC,QAAI,EALc;AAMlBC,SAAK,EAAM;AANO,GAApB;AASA,MAAME,SAAS,GAAG;AAChBC,QAAI,EADY;AAEhBC,QAAI,EAFY;AAGhBC,QAAI,EAHY;AAIhBC,SAAK,EAAM;AAJK,GAAlB;AAOA,MAAMtD,OAAK,GAAG;AACZuD,SAAK,YADO;AAEZC,QAAI,WAFQ;AAGZC,WAAO,cAHK;AAIZC,cAAU,iBAJE;AAKZC,cAAU,iBALE;AAMZC,cAAU,iBANE;AAOZC,aAAS,gBAPG;AAQZC,YAAQ,eARI;AASZC,eAAW,kBATC;AAUZC,aAAS,gBAVG;AAWZC,cAAU,gBAXE;AAYZC,iBAAa,yBAZD;AAaZ/D,kBAAc,0BAAuBP;AAbzB,GAAd;AAgBA,MAAMQ,WAAS,GAAG;AAChB+D,YAAQ,EADQ;AAEhB3C,UAAM,EAFU;AAGhB+B,SAAK,EAHW;AAIhBD,SAAK,EAJW;AAKhBD,QAAI,EALY;AAMhBF,QAAI,EANY;AAOhBC,QAAI,EAPY;AAQhBgB,QAAI,EARY;AAShBC,iBAAa,EAAG;AATA,GAAlB;AAYA,MAAMvE,UAAQ,GAAG;AACf0B,UAAM,EADS;AAEf8C,eAAW,EAFI;AAGfF,QAAI,EAHW;AAIfG,YAAQ,EAJO;AAKfC,aAAS,EALM;AAMfC,cAAU,EANK;AAOfC,cAAU,EAPK;AAQfC,aAAS,EAAK;AARC,GAAjB;AAWA,MAAMC,WAAW,GAAG;AAClBC,SAAK,EADa;AAElBC,OAAG,EAAK;AAGV;;;;;;AALoB,GAApB;;MAUMC;;;AACJ,uCAA6B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,qBAA0B,gBAA1B,MAA0B,CAA1B;AACA;AACA,gCAA0B,4BAA4BjF,UAAQ,CAA9D,UAA0B,CAA1B;AACA,6BAA0B,kBAAkBnC,QAAQ,CAA1B,mBAA8CqH,SAAS,CAATA,iBAAxE;AACA,2BAA0BvG,OAAO,CAACwG,MAAM,CAANA,gBAAuBA,MAAM,CAA/D,cAAiC,CAAjC;;AAEA;AACD,K,CAAA;;;qCAYD;;WAEAC,I,GAAAA,gBAAO;AACL,UAAI,CAAC,KAAL,YAAsB;AACpB,oBAAYhC,SAAS,CAArB;AACD;AACF,K;;WAEDiC,e,GAAAA,2BAAkB;AAChB;AACA;AACA,UAAI,CAACxH,QAAQ,CAAT,UACDT,CAAC,CAAC,KAAFA,QAAC,CAADA,eADC,IACkCA,CAAC,CAAC,KAAFA,QAAC,CAADA,uBADtC,UACwF;AACtF;AACD;AACF,K;;WAEDkI,I,GAAAA,gBAAO;AACL,UAAI,CAAC,KAAL,YAAsB;AACpB,oBAAYlC,SAAS,CAArB;AACD;AACF,K;;WAEDJ,K,GAAAA,sBAAa;AACX,UAAI,CAAJ,OAAY;AACV;AACD;;AAED,UAAI,4BAA4BhD,UAAQ,CAAxC,SAAI,CAAJ,EAAqD;AACnDzC,YAAI,CAAJA,qBAA0B,KAA1BA;AACA;AACD;;AAEDgI,mBAAa,CAAC,KAAdA,SAAa,CAAbA;AACA;AACD,K;;WAEDC,K,GAAAA,sBAAa;AACX,UAAI,CAAJ,OAAY;AACV;AACD;;AAED,UAAI,KAAJ,WAAoB;AAClBD,qBAAa,CAAC,KAAdA,SAAa,CAAbA;AACA;AACD;;AAED,UAAI,yBAAyB,CAAC,KAA9B,WAA8C;AAC5C,yBAAiBE,WAAW,CAC1B,CAAC5H,QAAQ,CAARA,kBAA2B,KAA3BA,kBAAkD,KAAnD,WAD0B,IAC1B,CAD0B,EAE1B,aAFF,QAA4B,CAA5B;AAID;AACF,K;;WAED6H,E,GAAAA,mBAAU;AAAA;;AACR,4BAAsB,4BAA4B1F,UAAQ,CAA1D,WAAsB,CAAtB;;AAEA,UAAM2F,WAAW,GAAG,mBAAmB,KAAvC,cAAoB,CAApB;;AAEA,UAAIC,KAAK,GAAG,qBAARA,KAAkCA,KAAK,GAA3C,GAAiD;AAC/C;AACD;;AAED,UAAI,KAAJ,YAAqB;AACnBxI,SAAC,CAAC,KAAFA,QAAC,CAADA,KAAqB8C,OAAK,CAA1B9C,MAAiC;AAAA,iBAAM,KAAI,CAAJ,GAAN,KAAM,CAAN;AAAjCA;AACA;AACD;;AAED,UAAIuI,WAAW,KAAf,OAA2B;AACzB;AACA;AACA;AACD;;AAED,UAAME,SAAS,GAAGD,KAAK,GAALA,cACdxC,SAAS,CADKwC,OAEdxC,SAAS,CAFb;;AAIA,6BAAuB,YAAvB,KAAuB,CAAvB;AACD,K;;WAEDtC,O,GAAAA,mBAAU;AACR1D,OAAC,CAAC,KAAFA,QAAC,CAADA;AACAA,OAAC,CAADA,WAAa,KAAbA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD,K,CAAA;;;WAID0I,U,GAAAA,4BAAmB;AACjB3G,YAAM,8BAANA,MAAM,CAANA;AAIA5B,UAAI,CAAJA;AACA;AACD,K;;WAEDwI,Y,GAAAA,wBAAe;AACb,UAAMC,SAAS,GAAGpI,IAAI,CAAJA,IAAS,KAA3B,WAAkBA,CAAlB;;AAEA,UAAIoI,SAAS,IAAb,iBAAkC;AAChC;AACD;;AAED,UAAMH,SAAS,GAAGG,SAAS,GAAG,KAPjB,WAOb,CAPa;;AAUb,UAAIH,SAAS,GAAb,GAAmB;AACjB;AAXW;;;AAeb,UAAIA,SAAS,GAAb,GAAmB;AACjB;AACD;AACF,K;;WAEDI,kB,GAAAA,8BAAqB;AAAA;;AACnB,UAAI,aAAJ,UAA2B;AACzB7I,SAAC,CAAC,KAAFA,QAAC,CAADA,IACM8C,OAAK,CADX9C,SACqB;AAAA,iBAAW,MAAI,CAAJ,SAAX,KAAW,CAAX;AADrBA;AAED;;AAED,UAAI,uBAAJ,SAAoC;AAClCA,SAAC,CAAC,KAAFA,QAAC,CAADA,IACM8C,OAAK,CADX9C,YACwB;AAAA,iBAAW,MAAI,CAAJ,MAAX,KAAW,CAAX;AADxBA,cAEM8C,OAAK,CAFX9C,YAEwB;AAAA,iBAAW,MAAI,CAAJ,MAAX,KAAW,CAAX;AAFxBA;AAGD;;AAED,UAAI,aAAJ,OAAwB;AACtB;AACD;AACF,K;;WAED8I,uB,GAAAA,mCAA0B;AAAA;;AACxB,UAAI,CAAC,KAAL,iBAA2B;AACzB;AACD;;AAED,UAAMC,KAAK,GAAG,SAARA,KAAQ,QAAW;AACvB,YAAI,MAAI,CAAJ,iBAAsBrB,WAAW,CAACzH,KAAK,CAALA,0BAAtC,WAAsCA,EAAD,CAArC,EAAsF;AACpF,gBAAI,CAAJ,cAAmBA,KAAK,CAALA,cAAnB;AADF,eAEO,IAAI,CAAC,MAAI,CAAT,eAAyB;AAC9B,gBAAI,CAAJ,cAAmBA,KAAK,CAALA,yBAAnB;AACD;AALH;;AAQA,UAAM+I,IAAI,GAAG,SAAPA,IAAO,QAAW;AACtB;AACA,YAAI/I,KAAK,CAALA,yBAA+BA,KAAK,CAALA,+BAAnC,GAA2E;AACzE,gBAAI,CAAJ;AADF,eAEO;AACL,gBAAI,CAAJ,cAAmBA,KAAK,CAALA,mCAAyC,MAAI,CAAhE;AACD;AANH;;AASA,UAAMgJ,GAAG,GAAG,SAANA,GAAM,QAAW;AACrB,YAAI,MAAI,CAAJ,iBAAsBvB,WAAW,CAACzH,KAAK,CAALA,0BAAtC,WAAsCA,EAAD,CAArC,EAAsF;AACpF,gBAAI,CAAJ,cAAmBA,KAAK,CAALA,wBAA8B,MAAI,CAArD;AACD;;AAED,cAAI,CAAJ;;AACA,YAAI,MAAI,CAAJ,kBAAJ,SAAoC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,gBAAI,CAAJ;;AACA,cAAI,MAAI,CAAR,cAAuB;AACrBiJ,wBAAY,CAAC,MAAI,CAAjBA,YAAY,CAAZA;AACD;;AACD,gBAAI,CAAJ,eAAoB9I,UAAU,CAAC;AAAA,mBAAW,MAAI,CAAJ,MAAX,KAAW,CAAX;AAAD,aAA+BkF,sBAAsB,GAAG,MAAI,CAAJ,QAAtF,QAA8B,CAA9B;AACD;AApBH;;AAuBAtF,OAAC,CAAC,+BAA+B4C,UAAQ,CAAzC5C,QAAE,CAAD,CAADA,IAAwD8C,OAAK,CAA7D9C,YAA0E;AAAA,eAAOmJ,CAAC,CAAR,cAAOA,EAAP;AAA1EnJ;;AACA,UAAI,KAAJ,eAAwB;AACtBA,SAAC,CAAC,KAAFA,QAAC,CAADA,IAAoB8C,OAAK,CAAzB9C,aAAuC;AAAA,iBAAW+I,KAAK,CAAhB,KAAgB,CAAhB;AAAvC/I;AACAA,SAAC,CAAC,KAAFA,QAAC,CAADA,IAAoB8C,OAAK,CAAzB9C,WAAqC;AAAA,iBAAWiJ,GAAG,CAAd,KAAc,CAAd;AAArCjJ;;AAEA,oCAA4BkD,WAAS,CAArC;AAJF,aAKO;AACLlD,SAAC,CAAC,KAAFA,QAAC,CAADA,IAAoB8C,OAAK,CAAzB9C,YAAsC;AAAA,iBAAW+I,KAAK,CAAhB,KAAgB,CAAhB;AAAtC/I;AACAA,SAAC,CAAC,KAAFA,QAAC,CAADA,IAAoB8C,OAAK,CAAzB9C,WAAqC;AAAA,iBAAWgJ,IAAI,CAAf,KAAe,CAAf;AAArChJ;AACAA,SAAC,CAAC,KAAFA,QAAC,CAADA,IAAoB8C,OAAK,CAAzB9C,UAAoC;AAAA,iBAAWiJ,GAAG,CAAd,KAAc,CAAd;AAApCjJ;AACD;AACF,K;;WAEDoJ,Q,GAAAA,yBAAgB;AACd,UAAI,uBAAuBnJ,KAAK,CAALA,OAA3B,OAAI,CAAJ,EAAkD;AAChD;AACD;;AAED,cAAQA,KAAK,CAAb;AACE;AACEA,eAAK,CAALA;AACA;AACA;;AACF;AACEA,eAAK,CAALA;AACA;AACA;;AACF;AATF;AAWD,K;;WAEDoJ,a,GAAAA,gCAAuB;AACrB,oBAAczI,OAAO,IAAIA,OAAO,CAAlBA,aACV,cAAcA,OAAO,CAAPA,4BAAoCgC,UAAQ,CADhDhC,IACIA,CAAd,CADUA,GAAd;AAGA,aAAO,oBAAP,OAAO,CAAP;AACD,K;;WAED0I,mB,GAAAA,uDAA8C;AAC5C,UAAMC,eAAe,GAAGd,SAAS,KAAKzC,SAAS,CAA/C;AACA,UAAMwD,eAAe,GAAGf,SAAS,KAAKzC,SAAS,CAA/C;;AACA,UAAMuC,WAAW,GAAO,mBAAxB,aAAwB,CAAxB;;AACA,UAAMkB,aAAa,GAAK,qBAAxB;AACA,UAAMC,aAAa,GAAKF,eAAe,IAAIjB,WAAW,KAA9BiB,KACAD,eAAe,IAAIhB,WAAW,KADtD;;AAGA,UAAImB,aAAa,IAAI,CAAC,aAAtB,MAAyC;AACvC;AACD;;AAED,UAAMC,KAAK,GAAOlB,SAAS,KAAKzC,SAAS,CAAvByC,OAA+B,CAA/BA,IAAlB;AACA,UAAMmB,SAAS,GAAG,CAACrB,WAAW,GAAZ,SAAwB,YAA1C;AAEA,aAAOqB,SAAS,KAAK,CAAdA,IACH,YAAY,qBADTA,CACH,CADGA,GACmC,YAD1C,SAC0C,CAD1C;AAED,K;;WAEDC,kB,GAAAA,+DAAsD;AACpD,UAAMC,WAAW,GAAG,mBAApB,aAAoB,CAApB;;AACA,UAAMC,SAAS,GAAG,mBAAmB,4BAA4BnH,UAAQ,CAAzE,WAAqC,CAAnB,CAAlB;;AACA,UAAMoH,UAAU,GAAG,CAAC,CAAD,MAAQlH,OAAK,CAAb,OAAqB;AACtCmH,qBAAa,EADyB;AAEtCxB,iBAAS,EAF6B;AAGtCyB,YAAI,EAHkC;AAItC5B,UAAE,EAAEwB;AAJkC,OAArB,CAAnB;AAOA9J,OAAC,CAAC,KAAFA,QAAC,CAADA;AAEA;AACD,K;;WAEDmK,0B,GAAAA,6CAAoC;AAClC,UAAI,KAAJ,oBAA6B;AAC3B,YAAMC,UAAU,GAAG,cAAc,yCAAyCxH,UAAQ,CAAlF,MAAiC,CAAd,CAAnB;AACA5C,SAAC,CAADA,UAAC,CAADA,aACekD,WAAS,CADxBlD;;AAGA,YAAMqK,aAAa,GAAG,iCACpB,mBADF,OACE,CADoB,CAAtB;;AAIA,2BAAmB;AACjBrK,WAAC,CAADA,aAAC,CAADA,UAA0BkD,WAAS,CAAnClD;AACD;AACF;AACF,K;;WAEDsK,M,GAAAA,oCAA2B;AAAA;;AACzB,UAAMpF,aAAa,GAAG,4BAA4BtC,UAAQ,CAA1D,WAAsB,CAAtB;;AACA,UAAM2H,kBAAkB,GAAG,mBAA3B,aAA2B,CAA3B;;AACA,UAAMC,WAAW,GAAK5J,OAAO,IAAIsE,aAAa,IAC5C,oCADF,aACE,CADF;;AAEA,UAAMuF,gBAAgB,GAAG,mBAAzB,WAAyB,CAAzB;;AACA,UAAMC,SAAS,GAAGnJ,OAAO,CAAC,KAA1B,SAAyB,CAAzB;AAEA;AACA;AACA;;AAEA,UAAIkH,SAAS,KAAKzC,SAAS,CAA3B,MAAkC;AAChC2E,4BAAoB,GAAGzH,WAAS,CAAhCyH;AACAC,sBAAc,GAAG1H,WAAS,CAA1B0H;AACAC,0BAAkB,GAAG7E,SAAS,CAA9B6E;AAHF,aAIO;AACLF,4BAAoB,GAAGzH,WAAS,CAAhCyH;AACAC,sBAAc,GAAG1H,WAAS,CAA1B0H;AACAC,0BAAkB,GAAG7E,SAAS,CAA9B6E;AACD;;AAED,UAAIL,WAAW,IAAIxK,CAAC,CAADA,WAAC,CAADA,UAAwBkD,WAAS,CAApD,MAAmBlD,CAAnB,EAA8D;AAC5D;AACA;AACD;;AAED,UAAMgK,UAAU,GAAG,qCAAnB,kBAAmB,CAAnB;;AACA,UAAIA,UAAU,CAAd,kBAAIA,EAAJ,EAAqC;AACnC;AACD;;AAED,UAAI,kBAAkB,CAAtB,aAAoC;AAClC;AACA;AACD;;AAED;;AAEA,qBAAe;AACb;AACD;;AAED;;AAEA,UAAMc,SAAS,GAAG,CAAC,CAAD,MAAQhI,OAAK,CAAb,MAAoB;AACpCmH,qBAAa,EADuB;AAEpCxB,iBAAS,EAF2B;AAGpCyB,YAAI,EAHgC;AAIpC5B,UAAE,EAAEmC;AAJgC,OAApB,CAAlB;;AAOA,UAAIzK,CAAC,CAAC,KAAFA,QAAC,CAADA,UAA0BkD,WAAS,CAAvC,KAAIlD,CAAJ,EAAgD;AAC9CA,SAAC,CAADA,WAAC,CAADA;AAEAG,YAAI,CAAJA;AAEAH,SAAC,CAADA,aAAC,CAADA;AACAA,SAAC,CAADA,WAAC,CAADA;AAEA,YAAM+K,mBAAmB,GAAGC,QAAQ,CAACR,WAAW,CAAXA,aAAD,eAACA,CAAD,EAApC,EAAoC,CAApC;;AACA,iCAAyB;AACvB,yCAA+B,gCAAgC,aAA/D;AACA;AAFF,eAGO;AACL,kCAAwB,gCAAgC,aAAxD;AACD;;AAED,YAAMzJ,kBAAkB,GAAGZ,IAAI,CAAJA,iCAA3B,aAA2BA,CAA3B;AAEAH,SAAC,CAADA,aAAC,CAADA,KACOG,IAAI,CADXH,gBAC4B,YAAM;AAC9BA,WAAC,CAADA,WAAC,CAADA,aACkB2K,oBADlB3K,MACkB2K,GADlB3K,yBAEYkD,WAAS,CAFrBlD;AAIAA,WAAC,CAADA,aAAC,CAADA,aAAgCkD,WAAS,CAAzClD,MAAgCkD,GAAhClD,GAAgCkD,GAAhClD,cAAgCkD,GAAhClD,GAAgCkD,GAAhClD;AAEA,gBAAI,CAAJ;AAEAI,oBAAU,CAAC;AAAA,mBAAMJ,CAAC,CAAC,MAAI,CAANA,QAAC,CAADA,SAAN,SAAMA,CAAN;AAAD,aAAVI,CAAU,CAAVA;AAVJJ;AAlBF,aA+BO;AACLA,SAAC,CAADA,aAAC,CAADA,aAA6BkD,WAAS,CAAtClD;AACAA,SAAC,CAADA,WAAC,CAADA,UAAwBkD,WAAS,CAAjClD;AAEA;AACAA,SAAC,CAAC,KAAFA,QAAC,CAADA;AACD;;AAED,qBAAe;AACb;AACD;AACF,K,CAAA;;;aAIMiE,gB,GAAP,kCAAgC;AAC9B,aAAO,UAAU,YAAY;AAC3B,YAAIE,IAAI,GAAGnE,CAAC,CAADA,IAAC,CAADA,MAAX,UAAWA,CAAX;;AACA,YAAIiL,OAAO,8BAENjL,CAAC,CAADA,IAAC,CAADA,CAFL,IAEKA,EAFM,CAAX;;AAKA,YAAI,oBAAJ,UAAgC;AAC9BiL,iBAAO,8BAAPA,MAAO,CAAPA;AAID;;AAED,YAAMC,MAAM,GAAG,sCAAsCD,OAAO,CAA5D;;AAEA,YAAI,CAAJ,MAAW;AACT9G,cAAI,GAAG,mBAAPA,OAAO,CAAPA;AACAnE,WAAC,CAADA,IAAC,CAADA;AACD;;AAED,YAAI,kBAAJ,UAAgC;AAC9BmE,cAAI,CAAJA;AADF,eAEO,IAAI,kBAAJ,UAAgC;AACrC,cAAI,OAAOA,IAAI,CAAX,MAAW,CAAX,KAAJ,aAAyC;AACvC,kBAAM,8CAAN,IAAM,CAAN;AACD;;AACDA,cAAI,CAAJA,MAAI,CAAJA;AAJK,eAKA,IAAI8G,OAAO,CAAPA,YAAoBA,OAAO,CAA/B,MAAsC;AAC3C9G,cAAI,CAAJA;AACAA,cAAI,CAAJA;AACD;AA/BH,OAAO,CAAP;AAiCD,K;;aAEMgH,oB,GAAP,qCAAmC;AACjC,UAAMxK,QAAQ,GAAGR,IAAI,CAAJA,uBAAjB,IAAiBA,CAAjB;;AAEA,UAAI,CAAJ,UAAe;AACb;AACD;;AAED,UAAMiL,MAAM,GAAGpL,CAAC,CAADA,QAAC,CAADA,CAAf,CAAeA,CAAf;;AAEA,UAAI,WAAW,CAACA,CAAC,CAADA,MAAC,CAADA,UAAmBkD,WAAS,CAA5C,QAAgBlD,CAAhB,EAAwD;AACtD;AACD;;AAED,UAAM+B,MAAM,qBACP/B,CAAC,CAADA,MAAC,CAADA,CADO,IACPA,EADO,EAEPA,CAAC,CAADA,IAAC,CAADA,CAFL,IAEKA,EAFO,CAAZ;;AAIA,UAAMqL,UAAU,GAAG,kBAAnB,eAAmB,CAAnB;;AAEA,sBAAgB;AACdtJ,cAAM,CAANA;AACD;;AAED8F,cAAQ,CAARA,sBAA+B7H,CAAC,CAAhC6H,MAAgC,CAAhCA;;AAEA,sBAAgB;AACd7H,SAAC,CAADA,MAAC,CAADA;AACD;;AAEDC,WAAK,CAALA;AACD,K;;;;0BAjcoB;AACnB;AACD;;;0BAEoB;AACnB;AACD;;;;;AA8bH;;;;;;;AAMAD,GAAC,CAADA,QAAC,CAADA,IACM8C,OAAK,CADX9C,gBAC4B4C,UAAQ,CADpC5C,YACiD6H,QAAQ,CADzD7H;AAGAA,GAAC,CAADA,MAAC,CAADA,IAAa8C,OAAK,CAAlB9C,eAAkC,YAAM;AACtC,QAAMsL,SAAS,GAAG,cAAc7K,QAAQ,CAARA,iBAA0BmC,UAAQ,CAAlE,SAAgCnC,CAAd,CAAlB;;AACA,SAAK,IAAI8K,CAAC,GAAL,GAAWC,GAAG,GAAGF,SAAS,CAA/B,QAAwCC,CAAC,GAAzC,KAAiDA,CAAjD,IAAsD;AACpD,UAAME,SAAS,GAAGzL,CAAC,CAACsL,SAAS,CAA7B,CAA6B,CAAV,CAAnB;;AACAzD,cAAQ,CAARA,iCAA0C4D,SAAS,CAAnD5D,IAA0C4D,EAA1C5D;AACD;AALH7H;AAQA;;;;;;AAMAA,GAAC,CAADA,aAAa6H,QAAQ,CAArB7H;AACAA,GAAC,CAADA;;AACAA,GAAC,CAADA,wBAAwB,YAAM;AAC5BA,KAAC,CAADA;AACA,WAAO6H,QAAQ,CAAf;AAFF7H;AC9kBA;;;;;;;AAMA,MAAMsC,MAAI,GAAV;AACA,MAAMC,SAAO,GAAb;AACA,MAAMC,UAAQ,GAAd;AACA,MAAMC,WAAS,SAAf;AACA,MAAMC,cAAY,GAAlB;AACA,MAAMC,oBAAkB,GAAI3C,CAAC,CAADA,GAA5B,MAA4BA,CAA5B;AAEA,MAAMwF,SAAO,GAAG;AACdV,UAAM,EADQ;AAEdlB,UAAM,EAAG;AAFK,GAAhB;AAKA,MAAMmC,aAAW,GAAG;AAClBjB,UAAM,EADY;AAElBlB,UAAM,EAAG;AAFS,GAApB;AAKA,MAAMd,OAAK,GAAG;AACZO,QAAI,WADQ;AAEZqI,SAAK,YAFO;AAGZC,QAAI,WAHQ;AAIZC,UAAM,aAJM;AAKZ3I,kBAAc,0BAAuBP;AALzB,GAAd;AAQA,MAAMQ,WAAS,GAAG;AAChBG,QAAI,EADY;AAEhBwI,YAAQ,EAFQ;AAGhBC,cAAU,EAHM;AAIhBC,aAAS,EAAI;AAJG,GAAlB;AAOA,MAAMC,SAAS,GAAG;AAChBC,SAAK,EADW;AAEhBC,UAAM,EAAG;AAFO,GAAlB;AAKA,MAAMtJ,UAAQ,GAAG;AACfuJ,WAAO,EADQ;AAEfzH,eAAW,EAAG;AAGhB;;;;;;AALiB,GAAjB;;MAWM0H;;;AACJ,uCAA6B;AAC3B;AACA;AACA,qBAAwB,gBAAxB,MAAwB,CAAxB;AACA,2BAAwB,cAAc3L,QAAQ,CAARA,iBACpC,wCAAmCG,OAAO,CAA1C,8DAC0CA,OAAO,CADjD,KADF,KACE,CADoCH,CAAd,CAAxB;AAKA,UAAM4L,UAAU,GAAG,cAAc5L,QAAQ,CAARA,iBAA0BmC,UAAQ,CAAnE,WAAiCnC,CAAd,CAAnB;;AACA,WAAK,IAAI8K,CAAC,GAAL,GAAWC,GAAG,GAAGa,UAAU,CAAhC,QAAyCd,CAAC,GAA1C,KAAkDA,CAAlD,IAAuD;AACrD,YAAMe,IAAI,GAAGD,UAAU,CAAvB,CAAuB,CAAvB;AACA,YAAM1L,QAAQ,GAAGR,IAAI,CAAJA,uBAAjB,IAAiBA,CAAjB;AACA,YAAMoM,aAAa,GAAG,cAAc9L,QAAQ,CAARA,iBAAd,QAAcA,CAAd,SACZ;AAAA,iBAAe+L,SAAS,KAAxB;AADV,SAAsB,CAAtB;;AAGA,YAAI7L,QAAQ,KAARA,QAAqB4L,aAAa,CAAbA,SAAzB,GAAmD;AACjD;;AACA;AACD;AACF;;AAED,qBAAe,sBAAsB,KAAtB,UAAsB,EAAtB,GAAf;;AAEA,UAAI,CAAC,aAAL,QAA0B;AACxB,uCAA+B,KAA/B,UAA8C,KAA9C;AACD;;AAED,UAAI,aAAJ,QAAyB;AACvB;AACD;AACF,K,CAAA;;;qCAYD;;WAEAzH,M,GAAAA,kBAAS;AACP,UAAI9E,CAAC,CAAC,KAAFA,QAAC,CAADA,UAA0BkD,WAAS,CAAvC,IAAIlD,CAAJ,EAA+C;AAC7C;AADF,aAEO;AACL;AACD;AACF,K;;WAEDyM,I,GAAAA,gBAAO;AAAA;;AACL,UAAI,yBACFzM,CAAC,CAAC,KAAFA,QAAC,CAADA,UAA0BkD,WAAS,CADrC,IACElD,CADF,EAC6C;AAC3C;AACD;;AAED;AACA;;AAEA,UAAI,KAAJ,SAAkB;AAChB0M,eAAO,GAAG,cAAc,8BAA8B9J,UAAQ,CAApD,OAAc,CAAd,SACA,gBAAU;AAChB,cAAI,OAAO,KAAI,CAAJ,QAAP,WAAJ,UAA6C;AAC3C,mBAAO0J,IAAI,CAAJA,gCAAqC,KAAI,CAAJ,QAA5C;AACD;;AAED,iBAAOA,IAAI,CAAJA,mBAAwBpJ,WAAS,CAAxC,QAAOoJ,CAAP;AANJI,SAAU,CAAVA;;AASA,YAAIA,OAAO,CAAPA,WAAJ,GAA0B;AACxBA,iBAAO,GAAPA;AACD;AACF;;AAED,mBAAa;AACXC,mBAAW,GAAG3M,CAAC,CAADA,OAAC,CAADA,KAAe,KAAfA,gBAAd2M,UAAc3M,CAAd2M;;AACA,YAAIA,WAAW,IAAIA,WAAW,CAA9B,kBAAiD;AAC/C;AACD;AACF;;AAED,UAAMC,UAAU,GAAG5M,CAAC,CAADA,MAAQ8C,OAAK,CAAhC,IAAmB9C,CAAnB;AACAA,OAAC,CAAC,KAAFA,QAAC,CAADA;;AACA,UAAI4M,UAAU,CAAd,kBAAIA,EAAJ,EAAqC;AACnC;AACD;;AAED,mBAAa;AACXR,gBAAQ,CAARA,sBAA+BpM,CAAC,CAADA,OAAC,CAADA,KAAe,KAA9CoM,SAA+BpM,CAA/BoM;;AACA,YAAI,CAAJ,aAAkB;AAChBpM,WAAC,CAADA,OAAC,CAADA;AACD;AACF;;AAED,UAAM6M,SAAS,GAAG,KAAlB,aAAkB,EAAlB;;AAEA7M,OAAC,CAAC,KAAFA,QAAC,CAADA,aACekD,WAAS,CADxBlD,mBAEYkD,WAAS,CAFrBlD;AAIA;;AAEA,UAAI,mBAAJ,QAA+B;AAC7BA,SAAC,CAAC,KAAFA,aAAC,CAADA,aACekD,WAAS,CADxBlD;AAGD;;AAED;;AAEA,UAAM8M,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB9M,SAAC,CAAC,KAAI,CAANA,QAAC,CAADA,aACekD,WAAS,CADxBlD,qBAEYkD,WAAS,CAFrBlD,mBAGYkD,WAAS,CAHrBlD;AAKA,aAAI,CAAJ;;AAEA,aAAI,CAAJ;;AAEAA,SAAC,CAAC,KAAI,CAANA,QAAC,CAADA,SAAyB8C,OAAK,CAA9B9C;AAVF;;AAaA,UAAM+M,oBAAoB,GAAGF,SAAS,CAATA,CAAS,CAATA,iBAA6BA,SAAS,CAATA,MAA1D,CAA0DA,CAA1D;AACA,UAAMG,UAAU,cAAhB;AACA,UAAMjM,kBAAkB,GAAGZ,IAAI,CAAJA,iCAAsC,KAAjE,QAA2BA,CAA3B;AAEAH,OAAC,CAAC,KAAFA,QAAC,CAADA,KACOG,IAAI,CADXH;AAIA,uCAAoC,cAApC,UAAoC,IAApC;AACD,K;;WAEDiN,I,GAAAA,gBAAO;AAAA;;AACL,UAAI,yBACF,CAACjN,CAAC,CAAC,KAAFA,QAAC,CAADA,UAA0BkD,WAAS,CADtC,IACGlD,CADH,EAC8C;AAC5C;AACD;;AAED,UAAM4M,UAAU,GAAG5M,CAAC,CAADA,MAAQ8C,OAAK,CAAhC,IAAmB9C,CAAnB;AACAA,OAAC,CAAC,KAAFA,QAAC,CAADA;;AACA,UAAI4M,UAAU,CAAd,kBAAIA,EAAJ,EAAqC;AACnC;AACD;;AAED,UAAMC,SAAS,GAAG,KAAlB,aAAkB,EAAlB;;AAEA,uCAAoC,sCAApC,SAAoC,IAApC;AAEA1M,UAAI,CAAJA,OAAY,KAAZA;AAEAH,OAAC,CAAC,KAAFA,QAAC,CAADA,UACYkD,WAAS,CADrBlD,wBAEekD,WAAS,CAFxBlD,sBAGekD,WAAS,CAHxBlD;AAKA,UAAMkN,kBAAkB,GAAG,mBAA3B;;AACA,UAAIA,kBAAkB,GAAtB,GAA4B;AAC1B,aAAK,IAAI3B,CAAC,GAAV,GAAgBA,CAAC,GAAjB,oBAAwCA,CAAxC,IAA6C;AAC3C,cAAM4B,OAAO,GAAG,mBAAhB,CAAgB,CAAhB;AACA,cAAMxM,QAAQ,GAAGR,IAAI,CAAJA,uBAAjB,OAAiBA,CAAjB;;AAEA,cAAIQ,QAAQ,KAAZ,MAAuB;AACrB,gBAAMyM,KAAK,GAAGpN,CAAC,CAAC,cAAcS,QAAQ,CAARA,iBAA9B,QAA8BA,CAAd,CAAD,CAAf;;AACA,gBAAI,CAAC2M,KAAK,CAALA,SAAelK,WAAS,CAA7B,IAAKkK,CAAL,EAAqC;AACnCpN,eAAC,CAADA,OAAC,CAADA,UAAoBkD,WAAS,CAA7BlD;AAED;AACF;AACF;AACF;;AAED;;AAEA,UAAM8M,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,cAAI,CAAJ;;AACA9M,SAAC,CAAC,MAAI,CAANA,QAAC,CAADA,aACekD,WAAS,CADxBlD,qBAEYkD,WAAS,CAFrBlD,kBAGW8C,OAAK,CAHhB9C;AAFF;;AAQA;AACA,UAAMe,kBAAkB,GAAGZ,IAAI,CAAJA,iCAAsC,KAAjE,QAA2BA,CAA3B;AAEAH,OAAC,CAAC,KAAFA,QAAC,CAADA,KACOG,IAAI,CADXH;AAGD,K;;WAEDqN,gB,GAAAA,2CAAkC;AAChC;AACD,K;;WAED3J,O,GAAAA,mBAAU;AACR1D,OAAC,CAADA,WAAa,KAAbA;AAEA;AACA;AACA;AACA;AACA;AACD,K,CAAA;;;WAID0I,U,GAAAA,4BAAmB;AACjB3G,YAAM,gCAANA,MAAM,CAANA;AAIAA,YAAM,CAANA,SAAgBR,OAAO,CAACQ,MAAM,CALb,MAKM,CAAvBA,CALiB;;AAMjB5B,UAAI,CAAJA;AACA;AACD,K;;WAEDmN,a,GAAAA,yBAAgB;AACd,UAAMC,QAAQ,GAAGvN,CAAC,CAAC,KAAFA,QAAC,CAADA,UAA0BgM,SAAS,CAApD,KAAiBhM,CAAjB;AACA,aAAOuN,QAAQ,GAAGvB,SAAS,CAAZ,QAAqBA,SAAS,CAA7C;AACD,K;;WAEDwB,U,GAAAA,sBAAa;AAAA;;AACX;;AAEA,UAAIrN,IAAI,CAAJA,UAAe,aAAnB,MAAIA,CAAJ,EAAyC;AACvCyD,cAAM,GAAG,aAD8B,MACvCA,CADuC;;AAIvC,YAAI,OAAO,oBAAP,WAAJ,aAAuD;AACrDA,gBAAM,GAAG,oBAATA,CAAS,CAATA;AACD;AANH,aAOO;AACLA,cAAM,GAAGnD,QAAQ,CAARA,cAAuB,aAAhCmD,MAASnD,CAATmD;AACD;;AAED,UAAMjD,QAAQ,iDAC6B,aAD7B,SAAd;AAGA,UAAM8M,QAAQ,GAAG,cAAc7J,MAAM,CAANA,iBAA/B,QAA+BA,CAAd,CAAjB;AACA5D,OAAC,CAADA,QAAC,CAADA,MAAiB,sBAAgB;AAC/B,cAAI,CAAJ,0BACEoM,QAAQ,CAARA,sBADF,OACEA,CADF,EAEE,CAFF,OAEE,CAFF;AADFpM;AAOA;AACD,K;;WAED0N,yB,GAAAA,0DAAiD;AAC/C,UAAMC,MAAM,GAAG3N,CAAC,CAADA,OAAC,CAADA,UAAoBkD,WAAS,CAA5C,IAAelD,CAAf;;AAEA,UAAI4N,YAAY,CAAhB,QAAyB;AACvB5N,SAAC,CAADA,YAAC,CAADA,aACekD,WAAS,CADxBlD,WACoC,CADpCA;AAGD;AACF,K,CAAA;;;aAIM6N,qB,GAAP,wCAAsC;AACpC,UAAMlN,QAAQ,GAAGR,IAAI,CAAJA,uBAAjB,OAAiBA,CAAjB;AACA,aAAOQ,QAAQ,GAAGF,QAAQ,CAARA,cAAH,QAAGA,CAAH,GAAf;AACD,K;;aAEMwD,gB,GAAP,kCAAgC;AAC9B,aAAO,UAAU,YAAY;AAC3B,YAAM6J,KAAK,GAAK9N,CAAC,CAAjB,IAAiB,CAAjB;AACA,YAAImE,IAAI,GAAQ2J,KAAK,CAALA,KAAhB,UAAgBA,CAAhB;;AACA,YAAM7C,OAAO,gCAER6C,KAAK,CAFG,IAERA,EAFQ,EAGR,kDAHL,EAAa,CAAb;;AAMA,YAAI,SAAS7C,OAAO,CAAhB,UAA2B,iBAA/B,MAA+B,CAA/B,EAAyD;AACvDA,iBAAO,CAAPA;AACD;;AAED,YAAI,CAAJ,MAAW;AACT9G,cAAI,GAAG,mBAAPA,OAAO,CAAPA;AACA2J,eAAK,CAALA;AACD;;AAED,YAAI,kBAAJ,UAAgC;AAC9B,cAAI,OAAO3J,IAAI,CAAX,MAAW,CAAX,KAAJ,aAAyC;AACvC,kBAAM,8CAAN,IAAM,CAAN;AACD;;AACDA,cAAI,CAAJA,MAAI,CAAJA;AACD;AAvBH,OAAO,CAAP;AAyBD,K;;;;0BArQoB;AACnB;AACD;;;0BAEoB;AACnB;AACD;;;;;AAkQH;;;;;;;AAMAnE,GAAC,CAADA,QAAC,CAADA,IAAe8C,OAAK,CAApB9C,gBAAqC4C,UAAQ,CAA7C5C,aAA2D,iBAAiB;AAC1E;AACA,QAAIC,KAAK,CAALA,0BAAJ,KAAyC;AACvCA,WAAK,CAALA;AACD;;AAED,QAAM8N,QAAQ,GAAG/N,CAAC,CAAlB,IAAkB,CAAlB;AACA,QAAMW,QAAQ,GAAGR,IAAI,CAAJA,uBAAjB,IAAiBA,CAAjB;AACA,QAAM6N,SAAS,GAAG,cAAcvN,QAAQ,CAARA,iBAAhC,QAAgCA,CAAd,CAAlB;AAEAT,KAAC,CAADA,SAAC,CAADA,MAAkB,YAAY;AAC5B,UAAMiO,OAAO,GAAGjO,CAAC,CAAjB,IAAiB,CAAjB;AACA,UAAMmE,IAAI,GAAM8J,OAAO,CAAPA,KAAhB,UAAgBA,CAAhB;AACA,UAAMlM,MAAM,GAAIoC,IAAI,cAAc4J,QAAQ,CAA1C,IAAkCA,EAAlC;;AACA3B,cAAQ,CAARA;AAJFpM;AAVFA;AAkBA;;;;;;AAMAA,GAAC,CAADA,aAAaoM,QAAQ,CAArBpM;AACAA,GAAC,CAADA;;AACAA,GAAC,CAADA,wBAAwB,YAAM;AAC5BA,KAAC,CAADA;AACA,WAAOoM,QAAQ,CAAf;AAFFpM;AC5YA;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAI,SAAS,GAAG,OAAO,MAAP,KAAkB,WAAlB,IAAiC,OAAO,QAAP,KAAoB,WAArE;AAEA,MAAI,qBAAqB,GAAG,CAAC,MAAD,EAAS,SAAT,EAAoB,SAApB,CAA5B;AACA,MAAI,eAAe,GAAG,CAAtB;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,qBAAqB,CAAC,MAA1C,EAAkD,CAAC,IAAI,CAAvD,EAA0D;AACxD,QAAI,SAAS,IAAI,SAAS,CAAC,SAAV,CAAoB,OAApB,CAA4B,qBAAqB,CAAC,CAAD,CAAjD,KAAyD,CAA1E,EAA6E;AAC3E,qBAAe,GAAG,CAAlB;AACA;AACD;AACF;;AAED,WAAS,iBAAT,CAA2B,EAA3B,EAA+B;AAC7B,QAAI,MAAM,GAAG,KAAb;AACA,WAAO,YAAY;AACjB,UAAI,MAAJ,EAAY;AACV;AACD;;AACD,YAAM,GAAG,IAAT;AACA,YAAM,CAAC,OAAP,CAAe,OAAf,GAAyB,IAAzB,CAA8B,YAAY;AACxC,cAAM,GAAG,KAAT;AACA,UAAE;AACH,OAHD;AAID,KATD;AAUD;;AAED,WAAS,YAAT,CAAsB,EAAtB,EAA0B;AACxB,QAAI,SAAS,GAAG,KAAhB;AACA,WAAO,YAAY;AACjB,UAAI,CAAC,SAAL,EAAgB;AACd,iBAAS,GAAG,IAAZ;AACA,kBAAU,CAAC,YAAY;AACrB,mBAAS,GAAG,KAAZ;AACA,YAAE;AACH,SAHS,EAGP,eAHO,CAAV;AAID;AACF,KARD;AASD;;AAED,MAAI,kBAAkB,GAAG,SAAS,IAAI,MAAM,CAAC,OAA7C;AAEA;;;;;;;;;;AASA,MAAI,QAAQ,GAAG,kBAAkB,GAAG,iBAAH,GAAuB,YAAxD;AAEA;;;;;;;;AAOA,WAAS,UAAT,CAAoB,eAApB,EAAqC;AACnC,QAAI,OAAO,GAAG,EAAd;AACA,WAAO,eAAe,IAAI,OAAO,CAAC,QAAR,CAAiB,IAAjB,CAAsB,eAAtB,MAA2C,mBAArE;AACD;AAED;;;;;;;;;AAOA,WAAS,wBAAT,CAAkC,OAAlC,EAA2C,QAA3C,EAAqD;AACnD,QAAI,OAAO,CAAC,QAAR,KAAqB,CAAzB,EAA4B;AAC1B,aAAO,EAAP;AACD,KAHkD,CAIrD;;;AACE,QAAI,MAAM,GAAG,OAAO,CAAC,aAAR,CAAsB,WAAnC;AACA,QAAI,GAAG,GAAG,MAAM,CAAC,gBAAP,CAAwB,OAAxB,EAAiC,IAAjC,CAAV;AACA,WAAO,QAAQ,GAAG,GAAG,CAAC,QAAD,CAAN,GAAmB,GAAlC;AACD;AAED;;;;;;;;;AAOA,WAAS,aAAT,CAAuB,OAAvB,EAAgC;AAC9B,QAAI,OAAO,CAAC,QAAR,KAAqB,MAAzB,EAAiC;AAC/B,aAAO,OAAP;AACD;;AACD,WAAO,OAAO,CAAC,UAAR,IAAsB,OAAO,CAAC,IAArC;AACD;AAED;;;;;;;;;AAOA,WAAS,eAAT,CAAyB,OAAzB,EAAkC;AAClC;AACE,QAAI,CAAC,OAAL,EAAc;AACZ,aAAO,QAAQ,CAAC,IAAhB;AACD;;AAED,YAAQ,OAAO,CAAC,QAAhB;AACE,WAAK,MAAL;AACA,WAAK,MAAL;AACE,eAAO,OAAO,CAAC,aAAR,CAAsB,IAA7B;;AACF,WAAK,WAAL;AACE,eAAO,OAAO,CAAC,IAAf;AALJ,KANgC,CAclC;;;AAEE,QAAI,qBAAqB,GAAG,wBAAwB,CAAC,OAAD,CAApD;AAAA,QACI,QAAQ,GAAG,qBAAqB,CAAC,QADrC;AAAA,QAEI,SAAS,GAAG,qBAAqB,CAAC,SAFtC;AAAA,QAGI,SAAS,GAAG,qBAAqB,CAAC,SAHtC;;AAKA,QAAI,wBAAwB,IAAxB,CAA6B,QAAQ,GAAG,SAAX,GAAuB,SAApD,CAAJ,EAAoE;AAClE,aAAO,OAAP;AACD;;AAED,WAAO,eAAe,CAAC,aAAa,CAAC,OAAD,CAAd,CAAtB;AACD;;AAED,MAAI,MAAM,GAAG,SAAS,IAAI,CAAC,EAAE,MAAM,CAAC,oBAAP,IAA+B,QAAQ,CAAC,YAA1C,CAA3B;AACA,MAAI,MAAM,GAAG,SAAS,IAAI,UAAU,IAAV,CAAe,SAAS,CAAC,SAAzB,CAA1B;AAEA;;;;;;;;AAOA,WAAS,IAAT,CAAc,OAAd,EAAuB;AACrB,QAAI,OAAO,KAAK,EAAhB,EAAoB;AAClB,aAAO,MAAP;AACD;;AACD,QAAI,OAAO,KAAK,EAAhB,EAAoB;AAClB,aAAO,MAAP;AACD;;AACD,WAAO,MAAM,IAAI,MAAjB;AACD;AAED;;;;;;;;;AAOA,WAAS,eAAT,CAAyB,OAAzB,EAAkC;AAChC,QAAI,CAAC,OAAL,EAAc;AACZ,aAAO,QAAQ,CAAC,eAAhB;AACD;;AAED,QAAI,cAAc,GAAG,IAAI,CAAC,EAAD,CAAJ,GAAW,QAAQ,CAAC,IAApB,GAA2B,IAAhD,CALgC,CAOlC;;AACE,QAAI,YAAY,GAAG,OAAO,CAAC,YAAR,IAAwB,IAA3C,CARgC,CASlC;;AACE,WAAO,YAAY,KAAK,cAAjB,IAAmC,OAAO,CAAC,kBAAlD,EAAsE;AACpE,kBAAY,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,kBAAnB,EAAuC,YAAtD;AACD;;AAED,QAAI,QAAQ,GAAG,YAAY,IAAI,YAAY,CAAC,QAA5C;;AAEA,QAAI,CAAC,QAAD,IAAa,QAAQ,KAAK,MAA1B,IAAoC,QAAQ,KAAK,MAArD,EAA6D;AAC3D,aAAO,OAAO,GAAG,OAAO,CAAC,aAAR,CAAsB,eAAzB,GAA2C,QAAQ,CAAC,eAAlE;AACD,KAlB+B,CAoBlC;AACA;;;AACE,QAAI,CAAC,IAAD,EAAO,IAAP,EAAa,OAAb,EAAsB,OAAtB,CAA8B,YAAY,CAAC,QAA3C,MAAyD,CAAC,CAA1D,IAA+D,wBAAwB,CAAC,YAAD,EAAe,UAAf,CAAxB,KAAuD,QAA1H,EAAoI;AAClI,aAAO,eAAe,CAAC,YAAD,CAAtB;AACD;;AAED,WAAO,YAAP;AACD;;AAED,WAAS,iBAAT,CAA2B,OAA3B,EAAoC;AAClC,QAAI,QAAQ,GAAG,OAAO,CAAC,QAAvB;;AAEA,QAAI,QAAQ,KAAK,MAAjB,EAAyB;AACvB,aAAO,KAAP;AACD;;AACD,WAAO,QAAQ,KAAK,MAAb,IAAuB,eAAe,CAAC,OAAO,CAAC,iBAAT,CAAf,KAA+C,OAA7E;AACD;AAED;;;;;;;;;AAOA,WAAS,OAAT,CAAiB,IAAjB,EAAuB;AACrB,QAAI,IAAI,CAAC,UAAL,KAAoB,IAAxB,EAA8B;AAC5B,aAAO,OAAO,CAAC,IAAI,CAAC,UAAN,CAAd;AACD;;AAED,WAAO,IAAP;AACD;AAED;;;;;;;;;;AAQA,WAAS,sBAAT,CAAgC,QAAhC,EAA0C,QAA1C,EAAoD;AACpD;AACE,QAAI,CAAC,QAAD,IAAa,CAAC,QAAQ,CAAC,QAAvB,IAAmC,CAAC,QAApC,IAAgD,CAAC,QAAQ,CAAC,QAA9D,EAAwE;AACtE,aAAO,QAAQ,CAAC,eAAhB;AACD,KAJiD,CAMpD;;;AACE,QAAI,KAAK,GAAG,QAAQ,CAAC,uBAAT,CAAiC,QAAjC,IAA6C,IAAI,CAAC,2BAA9D;AACA,QAAI,KAAK,GAAG,KAAK,GAAG,QAAH,GAAc,QAA/B;AACA,QAAI,GAAG,GAAG,KAAK,GAAG,QAAH,GAAc,QAA7B,CATkD,CAWpD;;AACE,QAAI,KAAK,GAAG,QAAQ,CAAC,WAAT,EAAZ;AACA,SAAK,CAAC,QAAN,CAAe,KAAf,EAAsB,CAAtB;AACA,SAAK,CAAC,MAAN,CAAa,GAAb,EAAkB,CAAlB;AACA,QAAI,uBAAuB,GAAG,KAAK,CAAC,uBAApC,CAfkD,CAiBpD;;AAEE,QAAI,QAAQ,KAAK,uBAAb,IAAwC,QAAQ,KAAK,uBAArD,IAAgF,KAAK,CAAC,QAAN,CAAe,GAAf,CAApF,EAAyG;AACvG,UAAI,iBAAiB,CAAC,uBAAD,CAArB,EAAgD;AAC9C,eAAO,uBAAP;AACD;;AAED,aAAO,eAAe,CAAC,uBAAD,CAAtB;AACD,KAzBiD,CA2BpD;;;AACE,QAAI,YAAY,GAAG,OAAO,CAAC,QAAD,CAA1B;;AACA,QAAI,YAAY,CAAC,IAAjB,EAAuB;AACrB,aAAO,sBAAsB,CAAC,YAAY,CAAC,IAAd,EAAoB,QAApB,CAA7B;AACD,KAFD,MAEO;AACL,aAAO,sBAAsB,CAAC,QAAD,EAAW,OAAO,CAAC,QAAD,CAAP,CAAkB,IAA7B,CAA7B;AACD;AACF;AAED;;;;;;;;;;AAQA,WAAS,SAAT,CAAmB,OAAnB,EAA4B;AAC1B,QAAI,IAAI,GAAG,SAAS,CAAC,MAAV,GAAmB,CAAnB,IAAwB,SAAS,CAAC,CAAD,CAAT,KAAiB,SAAzC,GAAqD,SAAS,CAAC,CAAD,CAA9D,GAAoE,KAA/E;AAEA,QAAI,SAAS,GAAG,IAAI,KAAK,KAAT,GAAiB,WAAjB,GAA+B,YAA/C;AACA,QAAI,QAAQ,GAAG,OAAO,CAAC,QAAvB;;AAEA,QAAI,QAAQ,KAAK,MAAb,IAAuB,QAAQ,KAAK,MAAxC,EAAgD;AAC9C,UAAI,IAAI,GAAG,OAAO,CAAC,aAAR,CAAsB,eAAjC;AACA,UAAI,gBAAgB,GAAG,OAAO,CAAC,aAAR,CAAsB,gBAAtB,IAA0C,IAAjE;AACA,aAAO,gBAAgB,CAAC,SAAD,CAAvB;AACD;;AAED,WAAO,OAAO,CAAC,SAAD,CAAd;AACD;AAED;;;;;;;;;;;AASA,WAAS,aAAT,CAAuB,IAAvB,EAA6B,OAA7B,EAAsC;AACpC,QAAI,QAAQ,GAAG,SAAS,CAAC,MAAV,GAAmB,CAAnB,IAAwB,SAAS,CAAC,CAAD,CAAT,KAAiB,SAAzC,GAAqD,SAAS,CAAC,CAAD,CAA9D,GAAoE,KAAnF;AAEA,QAAI,SAAS,GAAG,SAAS,CAAC,OAAD,EAAU,KAAV,CAAzB;AACA,QAAI,UAAU,GAAG,SAAS,CAAC,OAAD,EAAU,MAAV,CAA1B;AACA,QAAI,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAA/B;AACA,QAAI,CAAC,GAAL,IAAY,SAAS,GAAG,QAAxB;AACA,QAAI,CAAC,MAAL,IAAe,SAAS,GAAG,QAA3B;AACA,QAAI,CAAC,IAAL,IAAa,UAAU,GAAG,QAA1B;AACA,QAAI,CAAC,KAAL,IAAc,UAAU,GAAG,QAA3B;AACA,WAAO,IAAP;AACD;AAED;;;;;;;;;;;AAUA,WAAS,cAAT,CAAwB,MAAxB,EAAgC,IAAhC,EAAsC;AACpC,QAAI,KAAK,GAAG,IAAI,KAAK,GAAT,GAAe,MAAf,GAAwB,KAApC;AACA,QAAI,KAAK,GAAG,KAAK,KAAK,MAAV,GAAmB,OAAnB,GAA6B,QAAzC;AAEA,WAAO,UAAU,CAAC,MAAM,CAAC,WAAW,KAAX,GAAmB,OAApB,CAAP,EAAqC,EAArC,CAAV,GAAqD,UAAU,CAAC,MAAM,CAAC,WAAW,KAAX,GAAmB,OAApB,CAAP,EAAqC,EAArC,CAAtE;AACD;;AAED,WAAS,OAAT,CAAiB,IAAjB,EAAuB,IAAvB,EAA6B,IAA7B,EAAmC,aAAnC,EAAkD;AAChD,WAAO,IAAI,CAAC,GAAL,CAAS,IAAI,CAAC,WAAW,IAAZ,CAAb,EAAgC,IAAI,CAAC,WAAW,IAAZ,CAApC,EAAuD,IAAI,CAAC,WAAW,IAAZ,CAA3D,EAA8E,IAAI,CAAC,WAAW,IAAZ,CAAlF,EAAqG,IAAI,CAAC,WAAW,IAAZ,CAAzG,EAA4H,IAAI,CAAC,EAAD,CAAJ,GAAW,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAZ,CAAL,CAAR,GAAkC,QAAQ,CAAC,aAAa,CAAC,YAAY,IAAI,KAAK,QAAT,GAAoB,KAApB,GAA4B,MAAxC,CAAD,CAAd,CAA1C,GAA6G,QAAQ,CAAC,aAAa,CAAC,YAAY,IAAI,KAAK,QAAT,GAAoB,QAApB,GAA+B,OAA3C,CAAD,CAAd,CAAhI,GAAuM,CAAnU,CAAP;AACD;;AAED,WAAS,cAAT,CAAwB,QAAxB,EAAkC;AAChC,QAAI,IAAI,GAAG,QAAQ,CAAC,IAApB;AACA,QAAI,IAAI,GAAG,QAAQ,CAAC,eAApB;AACA,QAAI,aAAa,GAAG,IAAI,CAAC,EAAD,CAAJ,IAAY,gBAAgB,CAAC,IAAD,CAAhD;AAEA,WAAO;AACL,YAAM,EAAE,OAAO,CAAC,QAAD,EAAW,IAAX,EAAiB,IAAjB,EAAuB,aAAvB,CADV;AAEL,WAAK,EAAE,OAAO,CAAC,OAAD,EAAU,IAAV,EAAgB,IAAhB,EAAsB,aAAtB;AAFT,KAAP;AAID;;AAED,MAAI,cAAc,GAAG,SAAjB,cAAiB,CAAU,QAAV,EAAoB,WAApB,EAAiC;AACpD,QAAI,EAAE,QAAQ,YAAY,WAAtB,CAAJ,EAAwC;AACtC,YAAM,IAAI,SAAJ,CAAc,mCAAd,CAAN;AACD;AACF,GAJD;;AAMA,MAAI,WAAW,GAAG,YAAY;AAC5B,aAAS,gBAAT,CAA0B,MAA1B,EAAkC,KAAlC,EAAyC;AACvC,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,CAAC,MAA1B,EAAkC,CAAC,EAAnC,EAAuC;AACrC,YAAI,UAAU,GAAG,KAAK,CAAC,CAAD,CAAtB;AACA,kBAAU,CAAC,UAAX,GAAwB,UAAU,CAAC,UAAX,IAAyB,KAAjD;AACA,kBAAU,CAAC,YAAX,GAA0B,IAA1B;AACA,YAAI,WAAW,UAAf,EAA2B,UAAU,CAAC,QAAX,GAAsB,IAAtB;AAC3B,cAAM,CAAC,cAAP,CAAsB,MAAtB,EAA8B,UAAU,CAAC,GAAzC,EAA8C,UAA9C;AACD;AACF;;AAED,WAAO,UAAU,WAAV,EAAuB,UAAvB,EAAmC,WAAnC,EAAgD;AACrD,UAAI,UAAJ,EAAgB,gBAAgB,CAAC,WAAW,CAAC,SAAb,EAAwB,UAAxB,CAAhB;AAChB,UAAI,WAAJ,EAAiB,gBAAgB,CAAC,WAAD,EAAc,WAAd,CAAhB;AACjB,aAAO,WAAP;AACD,KAJD;AAKD,GAhBiB,EAAlB;;AAsBA,MAAI,cAAc,GAAG,SAAjB,cAAiB,CAAU,GAAV,EAAe,GAAf,EAAoB,KAApB,EAA2B;AAC9C,QAAI,GAAG,IAAI,GAAX,EAAgB;AACd,YAAM,CAAC,cAAP,CAAsB,GAAtB,EAA2B,GAA3B,EAAgC;AAC9B,aAAK,EAAE,KADuB;AAE9B,kBAAU,EAAE,IAFkB;AAG9B,oBAAY,EAAE,IAHgB;AAI9B,gBAAQ,EAAE;AAJoB,OAAhC;AAMD,KAPD,MAOO;AACL,SAAG,CAAC,GAAD,CAAH,GAAW,KAAX;AACD;;AAED,WAAO,GAAP;AACD,GAbD;;AAeA,MAAI,QAAQ,GAAG,MAAM,CAAC,MAAP,IAAiB,UAAU,MAAV,EAAkB;AAChD,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,SAAS,CAAC,MAA9B,EAAsC,CAAC,EAAvC,EAA2C;AACzC,UAAI,MAAM,GAAG,SAAS,CAAC,CAAD,CAAtB;;AAEA,WAAK,IAAI,GAAT,IAAgB,MAAhB,EAAwB;AACtB,YAAI,MAAM,CAAC,SAAP,CAAiB,cAAjB,CAAgC,IAAhC,CAAqC,MAArC,EAA6C,GAA7C,CAAJ,EAAuD;AACrD,gBAAM,CAAC,GAAD,CAAN,GAAc,MAAM,CAAC,GAAD,CAApB;AACD;AACF;AACF;;AAED,WAAO,MAAP;AACD,GAZD;AAcA;;;;;;;;;AAOA,WAAS,aAAT,CAAuB,OAAvB,EAAgC;AAC9B,WAAO,QAAQ,CAAC,EAAD,EAAK,OAAL,EAAc;AAC3B,WAAK,EAAE,OAAO,CAAC,IAAR,GAAe,OAAO,CAAC,KADH;AAE3B,YAAM,EAAE,OAAO,CAAC,GAAR,GAAc,OAAO,CAAC;AAFH,KAAd,CAAf;AAID;AAED;;;;;;;;;AAOA,WAAS,qBAAT,CAA+B,OAA/B,EAAwC;AACtC,QAAI,IAAI,GAAG,EAAX,CADsC,CAGxC;AACA;AACA;;AACE,QAAI;AACF,UAAI,IAAI,CAAC,EAAD,CAAR,EAAc;AACZ,YAAI,GAAG,OAAO,CAAC,qBAAR,EAAP;AACA,YAAI,SAAS,GAAG,SAAS,CAAC,OAAD,EAAU,KAAV,CAAzB;AACA,YAAI,UAAU,GAAG,SAAS,CAAC,OAAD,EAAU,MAAV,CAA1B;AACA,YAAI,CAAC,GAAL,IAAY,SAAZ;AACA,YAAI,CAAC,IAAL,IAAa,UAAb;AACA,YAAI,CAAC,MAAL,IAAe,SAAf;AACA,YAAI,CAAC,KAAL,IAAc,UAAd;AACD,OARD,MAQO;AACL,YAAI,GAAG,OAAO,CAAC,qBAAR,EAAP;AACD;AACF,KAZD,CAYE,OAAO,CAAP,EAAU,CAAE;;AAEd,QAAI,MAAM,GAAG;AACX,UAAI,EAAE,IAAI,CAAC,IADA;AAEX,SAAG,EAAE,IAAI,CAAC,GAFC;AAGX,WAAK,EAAE,IAAI,CAAC,KAAL,GAAa,IAAI,CAAC,IAHd;AAIX,YAAM,EAAE,IAAI,CAAC,MAAL,GAAc,IAAI,CAAC;AAJhB,KAAb,CApBsC,CA2BxC;;AACE,QAAI,KAAK,GAAG,OAAO,CAAC,QAAR,KAAqB,MAArB,GAA8B,cAAc,CAAC,OAAO,CAAC,aAAT,CAA5C,GAAsE,EAAlF;AACA,QAAI,KAAK,GAAG,KAAK,CAAC,KAAN,IAAe,OAAO,CAAC,WAAvB,IAAsC,MAAM,CAAC,KAAP,GAAe,MAAM,CAAC,IAAxE;AACA,QAAI,MAAM,GAAG,KAAK,CAAC,MAAN,IAAgB,OAAO,CAAC,YAAxB,IAAwC,MAAM,CAAC,MAAP,GAAgB,MAAM,CAAC,GAA5E;AAEA,QAAI,cAAc,GAAG,OAAO,CAAC,WAAR,GAAsB,KAA3C;AACA,QAAI,aAAa,GAAG,OAAO,CAAC,YAAR,GAAuB,MAA3C,CAjCsC,CAmCxC;AACA;;AACE,QAAI,cAAc,IAAI,aAAtB,EAAqC;AACnC,UAAI,MAAM,GAAG,wBAAwB,CAAC,OAAD,CAArC;AACA,oBAAc,IAAI,cAAc,CAAC,MAAD,EAAS,GAAT,CAAhC;AACA,mBAAa,IAAI,cAAc,CAAC,MAAD,EAAS,GAAT,CAA/B;AAEA,YAAM,CAAC,KAAP,IAAgB,cAAhB;AACA,YAAM,CAAC,MAAP,IAAiB,aAAjB;AACD;;AAED,WAAO,aAAa,CAAC,MAAD,CAApB;AACD;;AAED,WAAS,oCAAT,CAA8C,QAA9C,EAAwD,MAAxD,EAAgE;AAC9D,QAAI,aAAa,GAAG,SAAS,CAAC,MAAV,GAAmB,CAAnB,IAAwB,SAAS,CAAC,CAAD,CAAT,KAAiB,SAAzC,GAAqD,SAAS,CAAC,CAAD,CAA9D,GAAoE,KAAxF;AAEA,QAAI,MAAM,GAAG,IAAI,CAAC,EAAD,CAAjB;AACA,QAAI,MAAM,GAAG,MAAM,CAAC,QAAP,KAAoB,MAAjC;AACA,QAAI,YAAY,GAAG,qBAAqB,CAAC,QAAD,CAAxC;AACA,QAAI,UAAU,GAAG,qBAAqB,CAAC,MAAD,CAAtC;AACA,QAAI,YAAY,GAAG,eAAe,CAAC,QAAD,CAAlC;AAEA,QAAI,MAAM,GAAG,wBAAwB,CAAC,MAAD,CAArC;AACA,QAAI,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,cAAR,EAAwB,EAAxB,CAA/B;AACA,QAAI,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,eAAR,EAAyB,EAAzB,CAAhC,CAX8D,CAahE;;AACE,QAAI,aAAa,IAAI,MAArB,EAA6B;AAC3B,gBAAU,CAAC,GAAX,GAAiB,IAAI,CAAC,GAAL,CAAS,UAAU,CAAC,GAApB,EAAyB,CAAzB,CAAjB;AACA,gBAAU,CAAC,IAAX,GAAkB,IAAI,CAAC,GAAL,CAAS,UAAU,CAAC,IAApB,EAA0B,CAA1B,CAAlB;AACD;;AACD,QAAI,OAAO,GAAG,aAAa,CAAC;AAC1B,SAAG,EAAE,YAAY,CAAC,GAAb,GAAmB,UAAU,CAAC,GAA9B,GAAoC,cADf;AAE1B,UAAI,EAAE,YAAY,CAAC,IAAb,GAAoB,UAAU,CAAC,IAA/B,GAAsC,eAFlB;AAG1B,WAAK,EAAE,YAAY,CAAC,KAHM;AAI1B,YAAM,EAAE,YAAY,CAAC;AAJK,KAAD,CAA3B;AAMA,WAAO,CAAC,SAAR,GAAoB,CAApB;AACA,WAAO,CAAC,UAAR,GAAqB,CAArB,CAzB8D,CA2BhE;AACA;AACA;AACA;;AACE,QAAI,CAAC,MAAD,IAAW,MAAf,EAAuB;AACrB,UAAI,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,SAAR,EAAmB,EAAnB,CAA1B;AACA,UAAI,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,UAAR,EAAoB,EAApB,CAA3B;AAEA,aAAO,CAAC,GAAR,IAAe,cAAc,GAAG,SAAhC;AACA,aAAO,CAAC,MAAR,IAAkB,cAAc,GAAG,SAAnC;AACA,aAAO,CAAC,IAAR,IAAgB,eAAe,GAAG,UAAlC;AACA,aAAO,CAAC,KAAR,IAAiB,eAAe,GAAG,UAAnC,CAPqB,CASzB;;AACI,aAAO,CAAC,SAAR,GAAoB,SAApB;AACA,aAAO,CAAC,UAAR,GAAqB,UAArB;AACD;;AAED,QAAI,MAAM,IAAI,CAAC,aAAX,GAA2B,MAAM,CAAC,QAAP,CAAgB,YAAhB,CAA3B,GAA2D,MAAM,KAAK,YAAX,IAA2B,YAAY,CAAC,QAAb,KAA0B,MAApH,EAA4H;AAC1H,aAAO,GAAG,aAAa,CAAC,OAAD,EAAU,MAAV,CAAvB;AACD;;AAED,WAAO,OAAP;AACD;;AAED,WAAS,6CAAT,CAAuD,OAAvD,EAAgE;AAC9D,QAAI,aAAa,GAAG,SAAS,CAAC,MAAV,GAAmB,CAAnB,IAAwB,SAAS,CAAC,CAAD,CAAT,KAAiB,SAAzC,GAAqD,SAAS,CAAC,CAAD,CAA9D,GAAoE,KAAxF;AAEA,QAAI,IAAI,GAAG,OAAO,CAAC,aAAR,CAAsB,eAAjC;AACA,QAAI,cAAc,GAAG,oCAAoC,CAAC,OAAD,EAAU,IAAV,CAAzD;AACA,QAAI,KAAK,GAAG,IAAI,CAAC,GAAL,CAAS,IAAI,CAAC,WAAd,EAA2B,MAAM,CAAC,UAAP,IAAqB,CAAhD,CAAZ;AACA,QAAI,MAAM,GAAG,IAAI,CAAC,GAAL,CAAS,IAAI,CAAC,YAAd,EAA4B,MAAM,CAAC,WAAP,IAAsB,CAAlD,CAAb;AAEA,QAAI,SAAS,GAAG,CAAC,aAAD,GAAiB,SAAS,CAAC,IAAD,CAA1B,GAAmC,CAAnD;AACA,QAAI,UAAU,GAAG,CAAC,aAAD,GAAiB,SAAS,CAAC,IAAD,EAAO,MAAP,CAA1B,GAA2C,CAA5D;AAEA,QAAI,MAAM,GAAG;AACX,SAAG,EAAE,SAAS,GAAG,cAAc,CAAC,GAA3B,GAAiC,cAAc,CAAC,SAD1C;AAEX,UAAI,EAAE,UAAU,GAAG,cAAc,CAAC,IAA5B,GAAmC,cAAc,CAAC,UAF7C;AAGX,WAAK,EAAE,KAHI;AAIX,YAAM,EAAE;AAJG,KAAb;AAOA,WAAO,aAAa,CAAC,MAAD,CAApB;AACD;AAED;;;;;;;;;;AAQA,WAAS,OAAT,CAAiB,OAAjB,EAA0B;AACxB,QAAI,QAAQ,GAAG,OAAO,CAAC,QAAvB;;AACA,QAAI,QAAQ,KAAK,MAAb,IAAuB,QAAQ,KAAK,MAAxC,EAAgD;AAC9C,aAAO,KAAP;AACD;;AACD,QAAI,wBAAwB,CAAC,OAAD,EAAU,UAAV,CAAxB,KAAkD,OAAtD,EAA+D;AAC7D,aAAO,IAAP;AACD;;AACD,QAAI,UAAU,GAAG,aAAa,CAAC,OAAD,CAA9B;;AACA,QAAI,CAAC,UAAL,EAAiB;AACf,aAAO,KAAP;AACD;;AACD,WAAO,OAAO,CAAC,UAAD,CAAd;AACD;AAED;;;;;;;;;AAQA,WAAS,4BAAT,CAAsC,OAAtC,EAA+C;AAC/C;AACE,QAAI,CAAC,OAAD,IAAY,CAAC,OAAO,CAAC,aAArB,IAAsC,IAAI,EAA9C,EAAkD;AAChD,aAAO,QAAQ,CAAC,eAAhB;AACD;;AACD,QAAI,EAAE,GAAG,OAAO,CAAC,aAAjB;;AACA,WAAO,EAAE,IAAI,wBAAwB,CAAC,EAAD,EAAK,WAAL,CAAxB,KAA8C,MAA3D,EAAmE;AACjE,QAAE,GAAG,EAAE,CAAC,aAAR;AACD;;AACD,WAAO,EAAE,IAAI,QAAQ,CAAC,eAAtB;AACD;AAED;;;;;;;;;;;;;AAWA,WAAS,aAAT,CAAuB,MAAvB,EAA+B,SAA/B,EAA0C,OAA1C,EAAmD,iBAAnD,EAAsE;AACpE,QAAI,aAAa,GAAG,SAAS,CAAC,MAAV,GAAmB,CAAnB,IAAwB,SAAS,CAAC,CAAD,CAAT,KAAiB,SAAzC,GAAqD,SAAS,CAAC,CAAD,CAA9D,GAAoE,KAAxF,CADoE,CAGtE;;AAEE,QAAI,UAAU,GAAG;AAAE,SAAG,EAAE,CAAP;AAAU,UAAI,EAAE;AAAhB,KAAjB;AACA,QAAI,YAAY,GAAG,aAAa,GAAG,4BAA4B,CAAC,MAAD,CAA/B,GAA0C,sBAAsB,CAAC,MAAD,EAAS,SAAT,CAAhG,CANoE,CAQtE;;AACE,QAAI,iBAAiB,KAAK,UAA1B,EAAsC;AACpC,gBAAU,GAAG,6CAA6C,CAAC,YAAD,EAAe,aAAf,CAA1D;AACD,KAFD,MAEO;AACT;AACI,UAAI,cAAc,GAAG,KAAK,CAA1B;;AACA,UAAI,iBAAiB,KAAK,cAA1B,EAA0C;AACxC,sBAAc,GAAG,eAAe,CAAC,aAAa,CAAC,SAAD,CAAd,CAAhC;;AACA,YAAI,cAAc,CAAC,QAAf,KAA4B,MAAhC,EAAwC;AACtC,wBAAc,GAAG,MAAM,CAAC,aAAP,CAAqB,eAAtC;AACD;AACF,OALD,MAKO,IAAI,iBAAiB,KAAK,QAA1B,EAAoC;AACzC,sBAAc,GAAG,MAAM,CAAC,aAAP,CAAqB,eAAtC;AACD,OAFM,MAEA;AACL,sBAAc,GAAG,iBAAjB;AACD;;AAED,UAAI,OAAO,GAAG,oCAAoC,CAAC,cAAD,EAAiB,YAAjB,EAA+B,aAA/B,CAAlD,CAdK,CAgBT;;AACI,UAAI,cAAc,CAAC,QAAf,KAA4B,MAA5B,IAAsC,CAAC,OAAO,CAAC,YAAD,CAAlD,EAAkE;AAChE,YAAI,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,aAAR,CAApC;AAAA,YACI,MAAM,GAAG,eAAe,CAAC,MAD7B;AAAA,YAEI,KAAK,GAAG,eAAe,CAAC,KAF5B;;AAIA,kBAAU,CAAC,GAAX,IAAkB,OAAO,CAAC,GAAR,GAAc,OAAO,CAAC,SAAxC;AACA,kBAAU,CAAC,MAAX,GAAoB,MAAM,GAAG,OAAO,CAAC,GAArC;AACA,kBAAU,CAAC,IAAX,IAAmB,OAAO,CAAC,IAAR,GAAe,OAAO,CAAC,UAA1C;AACA,kBAAU,CAAC,KAAX,GAAmB,KAAK,GAAG,OAAO,CAAC,IAAnC;AACD,OATD,MASO;AACX;AACM,kBAAU,GAAG,OAAb;AACD;AACF,KAzCmE,CA2CtE;;;AACE,WAAO,GAAG,OAAO,IAAI,CAArB;AACA,QAAI,eAAe,GAAG,OAAO,OAAP,KAAmB,QAAzC;AACA,cAAU,CAAC,IAAX,IAAmB,eAAe,GAAG,OAAH,GAAa,OAAO,CAAC,IAAR,IAAgB,CAA/D;AACA,cAAU,CAAC,GAAX,IAAkB,eAAe,GAAG,OAAH,GAAa,OAAO,CAAC,GAAR,IAAe,CAA7D;AACA,cAAU,CAAC,KAAX,IAAoB,eAAe,GAAG,OAAH,GAAa,OAAO,CAAC,KAAR,IAAiB,CAAjE;AACA,cAAU,CAAC,MAAX,IAAqB,eAAe,GAAG,OAAH,GAAa,OAAO,CAAC,MAAR,IAAkB,CAAnE;AAEA,WAAO,UAAP;AACD;;AAED,WAAS,OAAT,CAAiB,IAAjB,EAAuB;AACrB,QAAI,KAAK,GAAG,IAAI,CAAC,KAAjB;AAAA,QACI,MAAM,GAAG,IAAI,CAAC,MADlB;AAGA,WAAO,KAAK,GAAG,MAAf;AACD;AAED;;;;;;;;;;;AASA,WAAS,oBAAT,CAA8B,SAA9B,EAAyC,OAAzC,EAAkD,MAAlD,EAA0D,SAA1D,EAAqE,iBAArE,EAAwF;AACtF,QAAI,OAAO,GAAG,SAAS,CAAC,MAAV,GAAmB,CAAnB,IAAwB,SAAS,CAAC,CAAD,CAAT,KAAiB,SAAzC,GAAqD,SAAS,CAAC,CAAD,CAA9D,GAAoE,CAAlF;;AAEA,QAAI,SAAS,CAAC,OAAV,CAAkB,MAAlB,MAA8B,CAAC,CAAnC,EAAsC;AACpC,aAAO,SAAP;AACD;;AAED,QAAI,UAAU,GAAG,aAAa,CAAC,MAAD,EAAS,SAAT,EAAoB,OAApB,EAA6B,iBAA7B,CAA9B;AAEA,QAAI,KAAK,GAAG;AACV,SAAG,EAAE;AACH,aAAK,EAAE,UAAU,CAAC,KADf;AAEH,cAAM,EAAE,OAAO,CAAC,GAAR,GAAc,UAAU,CAAC;AAF9B,OADK;AAKV,WAAK,EAAE;AACL,aAAK,EAAE,UAAU,CAAC,KAAX,GAAmB,OAAO,CAAC,KAD7B;AAEL,cAAM,EAAE,UAAU,CAAC;AAFd,OALG;AASV,YAAM,EAAE;AACN,aAAK,EAAE,UAAU,CAAC,KADZ;AAEN,cAAM,EAAE,UAAU,CAAC,MAAX,GAAoB,OAAO,CAAC;AAF9B,OATE;AAaV,UAAI,EAAE;AACJ,aAAK,EAAE,OAAO,CAAC,IAAR,GAAe,UAAU,CAAC,IAD7B;AAEJ,cAAM,EAAE,UAAU,CAAC;AAFf;AAbI,KAAZ;AAmBA,QAAI,WAAW,GAAG,MAAM,CAAC,IAAP,CAAY,KAAZ,EAAmB,GAAnB,CAAuB,UAAU,GAAV,EAAe;AACtD,aAAO,QAAQ,CAAC;AACd,WAAG,EAAE;AADS,OAAD,EAEZ,KAAK,CAAC,GAAD,CAFO,EAEA;AACb,YAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAD,CAAN;AADA,OAFA,CAAf;AAKD,KANiB,EAMf,IANe,CAMV,UAAU,CAAV,EAAa,CAAb,EAAgB;AACtB,aAAO,CAAC,CAAC,IAAF,GAAS,CAAC,CAAC,IAAlB;AACD,KARiB,CAAlB;AAUA,QAAI,aAAa,GAAG,WAAW,CAAC,MAAZ,CAAmB,UAAU,KAAV,EAAiB;AACtD,UAAI,KAAK,GAAG,KAAK,CAAC,KAAlB;AAAA,UACI,MAAM,GAAG,KAAK,CAAC,MADnB;AAEA,aAAO,KAAK,IAAI,MAAM,CAAC,WAAhB,IAA+B,MAAM,IAAI,MAAM,CAAC,YAAvD;AACD,KAJmB,CAApB;AAMA,QAAI,iBAAiB,GAAG,aAAa,CAAC,MAAd,GAAuB,CAAvB,GAA2B,aAAa,CAAC,CAAD,CAAb,CAAiB,GAA5C,GAAkD,WAAW,CAAC,CAAD,CAAX,CAAe,GAAzF;AAEA,QAAI,SAAS,GAAG,SAAS,CAAC,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAAhB;AAEA,WAAO,iBAAiB,IAAI,SAAS,GAAG,MAAM,SAAT,GAAqB,EAAlC,CAAxB;AACD;AAED;;;;;;;;;;;;AAUA,WAAS,mBAAT,CAA6B,KAA7B,EAAoC,MAApC,EAA4C,SAA5C,EAAuD;AACrD,QAAI,aAAa,GAAG,SAAS,CAAC,MAAV,GAAmB,CAAnB,IAAwB,SAAS,CAAC,CAAD,CAAT,KAAiB,SAAzC,GAAqD,SAAS,CAAC,CAAD,CAA9D,GAAoE,IAAxF;AAEA,QAAI,kBAAkB,GAAG,aAAa,GAAG,4BAA4B,CAAC,MAAD,CAA/B,GAA0C,sBAAsB,CAAC,MAAD,EAAS,SAAT,CAAtG;AACA,WAAO,oCAAoC,CAAC,SAAD,EAAY,kBAAZ,EAAgC,aAAhC,CAA3C;AACD;AAED;;;;;;;;;AAOA,WAAS,aAAT,CAAuB,OAAvB,EAAgC;AAC9B,QAAI,MAAM,GAAG,OAAO,CAAC,aAAR,CAAsB,WAAnC;AACA,QAAI,MAAM,GAAG,MAAM,CAAC,gBAAP,CAAwB,OAAxB,CAAb;AACA,QAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,SAAP,IAAoB,CAArB,CAAV,GAAoC,UAAU,CAAC,MAAM,CAAC,YAAP,IAAuB,CAAxB,CAAtD;AACA,QAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,UAAP,IAAqB,CAAtB,CAAV,GAAqC,UAAU,CAAC,MAAM,CAAC,WAAP,IAAsB,CAAvB,CAAvD;AACA,QAAI,MAAM,GAAG;AACX,WAAK,EAAE,OAAO,CAAC,WAAR,GAAsB,CADlB;AAEX,YAAM,EAAE,OAAO,CAAC,YAAR,GAAuB;AAFpB,KAAb;AAIA,WAAO,MAAP;AACD;AAED;;;;;;;;;AAOA,WAAS,oBAAT,CAA8B,SAA9B,EAAyC;AACvC,QAAI,IAAI,GAAG;AAAE,UAAI,EAAE,OAAR;AAAiB,WAAK,EAAE,MAAxB;AAAgC,YAAM,EAAE,KAAxC;AAA+C,SAAG,EAAE;AAApD,KAAX;AACA,WAAO,SAAS,CAAC,OAAV,CAAkB,wBAAlB,EAA4C,UAAU,OAAV,EAAmB;AACpE,aAAO,IAAI,CAAC,OAAD,CAAX;AACD,KAFM,CAAP;AAGD;AAED;;;;;;;;;;;;AAUA,WAAS,gBAAT,CAA0B,MAA1B,EAAkC,gBAAlC,EAAoD,SAApD,EAA+D;AAC7D,aAAS,GAAG,SAAS,CAAC,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAAZ,CAD6D,CAG/D;;AACE,QAAI,UAAU,GAAG,aAAa,CAAC,MAAD,CAA9B,CAJ6D,CAM/D;;AACE,QAAI,aAAa,GAAG;AAClB,WAAK,EAAE,UAAU,CAAC,KADA;AAElB,YAAM,EAAE,UAAU,CAAC;AAFD,KAApB,CAP6D,CAY/D;;AACE,QAAI,OAAO,GAAG,CAAC,OAAD,EAAU,MAAV,EAAkB,OAAlB,CAA0B,SAA1B,MAAyC,CAAC,CAAxD;AACA,QAAI,QAAQ,GAAG,OAAO,GAAG,KAAH,GAAW,MAAjC;AACA,QAAI,aAAa,GAAG,OAAO,GAAG,MAAH,GAAY,KAAvC;AACA,QAAI,WAAW,GAAG,OAAO,GAAG,QAAH,GAAc,OAAvC;AACA,QAAI,oBAAoB,GAAG,CAAC,OAAD,GAAW,QAAX,GAAsB,OAAjD;AAEA,iBAAa,CAAC,QAAD,CAAb,GAA0B,gBAAgB,CAAC,QAAD,CAAhB,GAA6B,gBAAgB,CAAC,WAAD,CAAhB,GAAgC,CAA7D,GAAiE,UAAU,CAAC,WAAD,CAAV,GAA0B,CAArH;;AACA,QAAI,SAAS,KAAK,aAAlB,EAAiC;AAC/B,mBAAa,CAAC,aAAD,CAAb,GAA+B,gBAAgB,CAAC,aAAD,CAAhB,GAAkC,UAAU,CAAC,oBAAD,CAA3E;AACD,KAFD,MAEO;AACL,mBAAa,CAAC,aAAD,CAAb,GAA+B,gBAAgB,CAAC,oBAAoB,CAAC,aAAD,CAArB,CAA/C;AACD;;AAED,WAAO,aAAP;AACD;AAED;;;;;;;;;;;AASA,WAAS,IAAT,CAAc,GAAd,EAAmB,KAAnB,EAA0B;AAC1B;AACE,QAAI,KAAK,CAAC,SAAN,CAAgB,IAApB,EAA0B;AACxB,aAAO,GAAG,CAAC,IAAJ,CAAS,KAAT,CAAP;AACD,KAJuB,CAM1B;;;AACE,WAAO,GAAG,CAAC,MAAJ,CAAW,KAAX,EAAkB,CAAlB,CAAP;AACD;AAED;;;;;;;;;;;AASA,WAAS,SAAT,CAAmB,GAAnB,EAAwB,IAAxB,EAA8B,KAA9B,EAAqC;AACrC;AACE,QAAI,KAAK,CAAC,SAAN,CAAgB,SAApB,EAA+B;AAC7B,aAAO,GAAG,CAAC,SAAJ,CAAc,UAAU,GAAV,EAAe;AAClC,eAAO,GAAG,CAAC,IAAD,CAAH,KAAc,KAArB;AACD,OAFM,CAAP;AAGD,KANkC,CAQrC;;;AACE,QAAI,KAAK,GAAG,IAAI,CAAC,GAAD,EAAM,UAAU,GAAV,EAAe;AACnC,aAAO,GAAG,CAAC,IAAD,CAAH,KAAc,KAArB;AACD,KAFe,CAAhB;AAGA,WAAO,GAAG,CAAC,OAAJ,CAAY,KAAZ,CAAP;AACD;AAED;;;;;;;;;;;;AAUA,WAAS,YAAT,CAAsB,SAAtB,EAAiC,IAAjC,EAAuC,IAAvC,EAA6C;AAC3C,QAAI,cAAc,GAAG,IAAI,KAAK,SAAT,GAAqB,SAArB,GAAiC,SAAS,CAAC,KAAV,CAAgB,CAAhB,EAAmB,SAAS,CAAC,SAAD,EAAY,MAAZ,EAAoB,IAApB,CAA5B,CAAtD;AAEA,kBAAc,CAAC,OAAf,CAAuB,UAAU,QAAV,EAAoB;AACzC,UAAI,QAAQ,CAAC,UAAD,CAAZ,EAA0B;AAC9B;AACM,eAAO,CAAC,IAAR,CAAa,uDAAb;AACD;;AACD,UAAI,EAAE,GAAG,QAAQ,CAAC,UAAD,CAAR,IAAwB,QAAQ,CAAC,EAA1C,CALyC,CAKI;;AAC7C,UAAI,QAAQ,CAAC,OAAT,IAAoB,UAAU,CAAC,EAAD,CAAlC,EAAwC;AAC5C;AACA;AACA;AACM,YAAI,CAAC,OAAL,CAAa,MAAb,GAAsB,aAAa,CAAC,IAAI,CAAC,OAAL,CAAa,MAAd,CAAnC;AACA,YAAI,CAAC,OAAL,CAAa,SAAb,GAAyB,aAAa,CAAC,IAAI,CAAC,OAAL,CAAa,SAAd,CAAtC;AAEA,YAAI,GAAG,EAAE,CAAC,IAAD,EAAO,QAAP,CAAT;AACD;AACF,KAfD;AAiBA,WAAO,IAAP;AACD;AAED;;;;;;;;;AAOA,WAAS,MAAT,GAAkB;AAClB;AACE,QAAI,KAAK,KAAL,CAAW,WAAf,EAA4B;AAC1B;AACD;;AAED,QAAI,IAAI,GAAG;AACT,cAAQ,EAAE,IADD;AAET,YAAM,EAAE,EAFC;AAGT,iBAAW,EAAE,EAHJ;AAIT,gBAAU,EAAE,EAJH;AAKT,aAAO,EAAE,KALA;AAMT,aAAO,EAAE;AANA,KAAX,CANgB,CAelB;;AACE,QAAI,CAAC,OAAL,CAAa,SAAb,GAAyB,mBAAmB,CAAC,KAAK,KAAN,EAAa,KAAK,MAAlB,EAA0B,KAAK,SAA/B,EAA0C,KAAK,OAAL,CAAa,aAAvD,CAA5C,CAhBgB,CAkBlB;AACA;AACA;;AACE,QAAI,CAAC,SAAL,GAAiB,oBAAoB,CAAC,KAAK,OAAL,CAAa,SAAd,EAAyB,IAAI,CAAC,OAAL,CAAa,SAAtC,EAAiD,KAAK,MAAtD,EAA8D,KAAK,SAAnE,EAA8E,KAAK,OAAL,CAAa,SAAb,CAAuB,IAAvB,CAA4B,iBAA1G,EAA6H,KAAK,OAAL,CAAa,SAAb,CAAuB,IAAvB,CAA4B,OAAzJ,CAArC,CArBgB,CAuBlB;;AACE,QAAI,CAAC,iBAAL,GAAyB,IAAI,CAAC,SAA9B;AAEA,QAAI,CAAC,aAAL,GAAqB,KAAK,OAAL,CAAa,aAAlC,CA1BgB,CA4BlB;;AACE,QAAI,CAAC,OAAL,CAAa,MAAb,GAAsB,gBAAgB,CAAC,KAAK,MAAN,EAAc,IAAI,CAAC,OAAL,CAAa,SAA3B,EAAsC,IAAI,CAAC,SAA3C,CAAtC;AAEA,QAAI,CAAC,OAAL,CAAa,MAAb,CAAoB,QAApB,GAA+B,KAAK,OAAL,CAAa,aAAb,GAA6B,OAA7B,GAAuC,UAAtE,CA/BgB,CAiClB;;AACE,QAAI,GAAG,YAAY,CAAC,KAAK,SAAN,EAAiB,IAAjB,CAAnB,CAlCgB,CAoClB;AACA;;AACE,QAAI,CAAC,KAAK,KAAL,CAAW,SAAhB,EAA2B;AACzB,WAAK,KAAL,CAAW,SAAX,GAAuB,IAAvB;AACA,WAAK,OAAL,CAAa,QAAb,CAAsB,IAAtB;AACD,KAHD,MAGO;AACL,WAAK,OAAL,CAAa,QAAb,CAAsB,IAAtB;AACD;AACF;AAED;;;;;;;;AAMA,WAAS,iBAAT,CAA2B,SAA3B,EAAsC,YAAtC,EAAoD;AAClD,WAAO,SAAS,CAAC,IAAV,CAAe,UAAU,IAAV,EAAgB;AACpC,UAAI,IAAI,GAAG,IAAI,CAAC,IAAhB;AAAA,UACI,OAAO,GAAG,IAAI,CAAC,OADnB;AAEA,aAAO,OAAO,IAAI,IAAI,KAAK,YAA3B;AACD,KAJM,CAAP;AAKD;AAED;;;;;;;;;AAOA,WAAS,wBAAT,CAAkC,QAAlC,EAA4C;AAC1C,QAAI,QAAQ,GAAG,CAAC,KAAD,EAAQ,IAAR,EAAc,QAAd,EAAwB,KAAxB,EAA+B,GAA/B,CAAf;AACA,QAAI,SAAS,GAAG,QAAQ,CAAC,MAAT,CAAgB,CAAhB,EAAmB,WAAnB,KAAmC,QAAQ,CAAC,KAAT,CAAe,CAAf,CAAnD;;AAEA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,QAAQ,CAAC,MAA7B,EAAqC,CAAC,EAAtC,EAA0C;AACxC,UAAI,MAAM,GAAG,QAAQ,CAAC,CAAD,CAArB;AACA,UAAI,OAAO,GAAG,MAAM,GAAG,KAAK,MAAL,GAAc,SAAjB,GAA6B,QAAjD;;AACA,UAAI,OAAO,QAAQ,CAAC,IAAT,CAAc,KAAd,CAAoB,OAApB,CAAP,KAAwC,WAA5C,EAAyD;AACvD,eAAO,OAAP;AACD;AACF;;AACD,WAAO,IAAP;AACD;AAED;;;;;;;AAKA,WAAS,OAAT,GAAmB;AACjB,SAAK,KAAL,CAAW,WAAX,GAAyB,IAAzB,CADiB,CAGnB;;AACE,QAAI,iBAAiB,CAAC,KAAK,SAAN,EAAiB,YAAjB,CAArB,EAAqD;AACnD,WAAK,MAAL,CAAY,eAAZ,CAA4B,aAA5B;AACA,WAAK,MAAL,CAAY,KAAZ,CAAkB,QAAlB,GAA6B,EAA7B;AACA,WAAK,MAAL,CAAY,KAAZ,CAAkB,GAAlB,GAAwB,EAAxB;AACA,WAAK,MAAL,CAAY,KAAZ,CAAkB,IAAlB,GAAyB,EAAzB;AACA,WAAK,MAAL,CAAY,KAAZ,CAAkB,KAAlB,GAA0B,EAA1B;AACA,WAAK,MAAL,CAAY,KAAZ,CAAkB,MAAlB,GAA2B,EAA3B;AACA,WAAK,MAAL,CAAY,KAAZ,CAAkB,UAAlB,GAA+B,EAA/B;AACA,WAAK,MAAL,CAAY,KAAZ,CAAkB,wBAAwB,CAAC,WAAD,CAA1C,IAA2D,EAA3D;AACD;;AAED,SAAK,qBAAL,GAfiB,CAiBnB;AACA;;AACE,QAAI,KAAK,OAAL,CAAa,eAAjB,EAAkC;AAChC,WAAK,MAAL,CAAY,UAAZ,CAAuB,WAAvB,CAAmC,KAAK,MAAxC;AACD;;AACD,WAAO,IAAP;AACD;AAED;;;;;;;AAKA,WAAS,SAAT,CAAmB,OAAnB,EAA4B;AAC1B,QAAI,aAAa,GAAG,OAAO,CAAC,aAA5B;AACA,WAAO,aAAa,GAAG,aAAa,CAAC,WAAjB,GAA+B,MAAnD;AACD;;AAED,WAAS,qBAAT,CAA+B,YAA/B,EAA6C,KAA7C,EAAoD,QAApD,EAA8D,aAA9D,EAA6E;AAC3E,QAAI,MAAM,GAAG,YAAY,CAAC,QAAb,KAA0B,MAAvC;AACA,QAAI,MAAM,GAAG,MAAM,GAAG,YAAY,CAAC,aAAb,CAA2B,WAA9B,GAA4C,YAA/D;AACA,UAAM,CAAC,gBAAP,CAAwB,KAAxB,EAA+B,QAA/B,EAAyC;AAAE,aAAO,EAAE;AAAX,KAAzC;;AAEA,QAAI,CAAC,MAAL,EAAa;AACX,2BAAqB,CAAC,eAAe,CAAC,MAAM,CAAC,UAAR,CAAhB,EAAqC,KAArC,EAA4C,QAA5C,EAAsD,aAAtD,CAArB;AACD;;AACD,iBAAa,CAAC,IAAd,CAAmB,MAAnB;AACD;AAED;;;;;;;;AAMA,WAAS,mBAAT,CAA6B,SAA7B,EAAwC,OAAxC,EAAiD,KAAjD,EAAwD,WAAxD,EAAqE;AACrE;AACE,SAAK,CAAC,WAAN,GAAoB,WAApB;AACA,aAAS,CAAC,SAAD,CAAT,CAAqB,gBAArB,CAAsC,QAAtC,EAAgD,KAAK,CAAC,WAAtD,EAAmE;AAAE,aAAO,EAAE;AAAX,KAAnE,EAHmE,CAKrE;;AACE,QAAI,aAAa,GAAG,eAAe,CAAC,SAAD,CAAnC;AACA,yBAAqB,CAAC,aAAD,EAAgB,QAAhB,EAA0B,KAAK,CAAC,WAAhC,EAA6C,KAAK,CAAC,aAAnD,CAArB;AACA,SAAK,CAAC,aAAN,GAAsB,aAAtB;AACA,SAAK,CAAC,aAAN,GAAsB,IAAtB;AAEA,WAAO,KAAP;AACD;AAED;;;;;;;;AAMA,WAAS,oBAAT,GAAgC;AAC9B,QAAI,CAAC,KAAK,KAAL,CAAW,aAAhB,EAA+B;AAC7B,WAAK,KAAL,GAAa,mBAAmB,CAAC,KAAK,SAAN,EAAiB,KAAK,OAAtB,EAA+B,KAAK,KAApC,EAA2C,KAAK,cAAhD,CAAhC;AACD;AACF;AAED;;;;;;;;AAMA,WAAS,oBAAT,CAA8B,SAA9B,EAAyC,KAAzC,EAAgD;AAChD;AACE,aAAS,CAAC,SAAD,CAAT,CAAqB,mBAArB,CAAyC,QAAzC,EAAmD,KAAK,CAAC,WAAzD,EAF8C,CAIhD;;AACE,SAAK,CAAC,aAAN,CAAoB,OAApB,CAA4B,UAAU,MAAV,EAAkB;AAC5C,YAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,KAAK,CAAC,WAA3C;AACD,KAFD,EAL8C,CAShD;;AACE,SAAK,CAAC,WAAN,GAAoB,IAApB;AACA,SAAK,CAAC,aAAN,GAAsB,EAAtB;AACA,SAAK,CAAC,aAAN,GAAsB,IAAtB;AACA,SAAK,CAAC,aAAN,GAAsB,KAAtB;AACA,WAAO,KAAP;AACD;AAED;;;;;;;;;AAOA,WAAS,qBAAT,GAAiC;AAC/B,QAAI,KAAK,KAAL,CAAW,aAAf,EAA8B;AAC5B,0BAAoB,CAAC,KAAK,cAAN,CAApB;AACA,WAAK,KAAL,GAAa,oBAAoB,CAAC,KAAK,SAAN,EAAiB,KAAK,KAAtB,CAAjC;AACD;AACF;AAED;;;;;;;;;AAOA,WAAS,SAAT,CAAmB,CAAnB,EAAsB;AACpB,WAAO,CAAC,KAAK,EAAN,IAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAD,CAAX,CAAlB,IAAqC,QAAQ,CAAC,CAAD,CAApD;AACD;AAED;;;;;;;;;;AAQA,WAAS,SAAT,CAAmB,OAAnB,EAA4B,MAA5B,EAAoC;AAClC,UAAM,CAAC,IAAP,CAAY,MAAZ,EAAoB,OAApB,CAA4B,UAAU,IAAV,EAAgB;AAC1C,UAAI,IAAI,GAAG,EAAX,CAD0C,CAE9C;;AACI,UAAI,CAAC,OAAD,EAAU,QAAV,EAAoB,KAApB,EAA2B,OAA3B,EAAoC,QAApC,EAA8C,MAA9C,EAAsD,OAAtD,CAA8D,IAA9D,MAAwE,CAAC,CAAzE,IAA8E,SAAS,CAAC,MAAM,CAAC,IAAD,CAAP,CAA3F,EAA2G;AACzG,YAAI,GAAG,IAAP;AACD;;AACD,aAAO,CAAC,KAAR,CAAc,IAAd,IAAsB,MAAM,CAAC,IAAD,CAAN,GAAe,IAArC;AACD,KAPD;AAQD;AAED;;;;;;;;;;AAQA,WAAS,aAAT,CAAuB,OAAvB,EAAgC,UAAhC,EAA4C;AAC1C,UAAM,CAAC,IAAP,CAAY,UAAZ,EAAwB,OAAxB,CAAgC,UAAU,IAAV,EAAgB;AAC9C,UAAI,KAAK,GAAG,UAAU,CAAC,IAAD,CAAtB;;AACA,UAAI,KAAK,KAAK,KAAd,EAAqB;AACnB,eAAO,CAAC,YAAR,CAAqB,IAArB,EAA2B,UAAU,CAAC,IAAD,CAArC;AACD,OAFD,MAEO;AACL,eAAO,CAAC,eAAR,CAAwB,IAAxB;AACD;AACF,KAPD;AAQD;AAED;;;;;;;;;;;AASA,WAAS,UAAT,CAAoB,IAApB,EAA0B;AAC1B;AACA;AACA;AACA;AACE,aAAS,CAAC,IAAI,CAAC,QAAL,CAAc,MAAf,EAAuB,IAAI,CAAC,MAA5B,CAAT,CALwB,CAO1B;AACA;;AACE,iBAAa,CAAC,IAAI,CAAC,QAAL,CAAc,MAAf,EAAuB,IAAI,CAAC,UAA5B,CAAb,CATwB,CAW1B;;AACE,QAAI,IAAI,CAAC,YAAL,IAAqB,MAAM,CAAC,IAAP,CAAY,IAAI,CAAC,WAAjB,EAA8B,MAAvD,EAA+D;AAC7D,eAAS,CAAC,IAAI,CAAC,YAAN,EAAoB,IAAI,CAAC,WAAzB,CAAT;AACD;;AAED,WAAO,IAAP;AACD;AAED;;;;;;;;;;;;AAUA,WAAS,gBAAT,CAA0B,SAA1B,EAAqC,MAArC,EAA6C,OAA7C,EAAsD,eAAtD,EAAuE,KAAvE,EAA8E;AAC9E;AACE,QAAI,gBAAgB,GAAG,mBAAmB,CAAC,KAAD,EAAQ,MAAR,EAAgB,SAAhB,EAA2B,OAAO,CAAC,aAAnC,CAA1C,CAF4E,CAI9E;AACA;AACA;;AACE,QAAI,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAT,EAAoB,gBAApB,EAAsC,MAAtC,EAA8C,SAA9C,EAAyD,OAAO,CAAC,SAAR,CAAkB,IAAlB,CAAuB,iBAAhF,EAAmG,OAAO,CAAC,SAAR,CAAkB,IAAlB,CAAuB,OAA1H,CAApC;AAEA,UAAM,CAAC,YAAP,CAAoB,aAApB,EAAmC,SAAnC,EAT4E,CAW9E;AACA;;AACE,aAAS,CAAC,MAAD,EAAS;AAAE,cAAQ,EAAE,OAAO,CAAC,aAAR,GAAwB,OAAxB,GAAkC;AAA9C,KAAT,CAAT;AAEA,WAAO,OAAP;AACD;AAED;;;;;;;;;;;;;;;;;;;;;AAmBA,WAAS,iBAAT,CAA2B,IAA3B,EAAiC,WAAjC,EAA8C;AAC5C,QAAI,aAAa,GAAG,IAAI,CAAC,OAAzB;AAAA,QACI,MAAM,GAAG,aAAa,CAAC,MAD3B;AAAA,QAEI,SAAS,GAAG,aAAa,CAAC,SAF9B;AAGA,QAAI,KAAK,GAAG,IAAI,CAAC,KAAjB;AAAA,QACI,KAAK,GAAG,IAAI,CAAC,KADjB;;AAGA,QAAI,OAAO,GAAG,SAAS,OAAT,CAAiB,CAAjB,EAAoB;AAChC,aAAO,CAAP;AACD,KAFD;;AAIA,QAAI,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,KAAX,CAA1B;AACA,QAAI,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,KAAR,CAAvB;AAEA,QAAI,UAAU,GAAG,CAAC,MAAD,EAAS,OAAT,EAAkB,OAAlB,CAA0B,IAAI,CAAC,SAA/B,MAA8C,CAAC,CAAhE;AACA,QAAI,WAAW,GAAG,IAAI,CAAC,SAAL,CAAe,OAAf,CAAuB,GAAvB,MAAgC,CAAC,CAAnD;AACA,QAAI,eAAe,GAAG,cAAc,GAAG,CAAjB,KAAuB,WAAW,GAAG,CAA3D;AACA,QAAI,YAAY,GAAG,cAAc,GAAG,CAAjB,KAAuB,CAAvB,IAA4B,WAAW,GAAG,CAAd,KAAoB,CAAnE;AAEA,QAAI,mBAAmB,GAAG,CAAC,WAAD,GAAe,OAAf,GAAyB,UAAU,IAAI,WAAd,IAA6B,eAA7B,GAA+C,KAA/C,GAAuD,KAA1G;AACA,QAAI,iBAAiB,GAAG,CAAC,WAAD,GAAe,OAAf,GAAyB,KAAjD;AAEA,WAAO;AACL,UAAI,EAAE,mBAAmB,CAAC,YAAY,IAAI,CAAC,WAAjB,IAAgC,WAAhC,GAA8C,MAAM,CAAC,IAAP,GAAc,CAA5D,GAAgE,MAAM,CAAC,IAAxE,CADpB;AAEL,SAAG,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAR,CAFjB;AAGL,YAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAR,CAHpB;AAIL,WAAK,EAAE,mBAAmB,CAAC,MAAM,CAAC,KAAR;AAJrB,KAAP;AAMD;;AAED,MAAI,SAAS,GAAG,SAAS,IAAI,WAAW,IAAX,CAAgB,SAAS,CAAC,SAA1B,CAA7B;AAEA;;;;;;;;AAOA,WAAS,YAAT,CAAsB,IAAtB,EAA4B,OAA5B,EAAqC;AACnC,QAAI,CAAC,GAAG,OAAO,CAAC,CAAhB;AAAA,QACI,CAAC,GAAG,OAAO,CAAC,CADhB;AAEA,QAAI,MAAM,GAAG,IAAI,CAAC,OAAL,CAAa,MAA1B,CAHmC,CAKrC;;AAEE,QAAI,2BAA2B,GAAG,IAAI,CAAC,IAAI,CAAC,QAAL,CAAc,SAAf,EAA0B,UAAU,QAAV,EAAoB;AAClF,aAAO,QAAQ,CAAC,IAAT,KAAkB,YAAzB;AACD,KAFqC,CAAJ,CAE/B,eAFH;;AAGA,QAAI,2BAA2B,KAAK,SAApC,EAA+C;AAC7C,aAAO,CAAC,IAAR,CAAa,+HAAb;AACD;;AACD,QAAI,eAAe,GAAG,2BAA2B,KAAK,SAAhC,GAA4C,2BAA5C,GAA0E,OAAO,CAAC,eAAxG;AAEA,QAAI,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,QAAL,CAAc,MAAf,CAAlC;AACA,QAAI,gBAAgB,GAAG,qBAAqB,CAAC,YAAD,CAA5C,CAhBmC,CAkBrC;;AACE,QAAI,MAAM,GAAG;AACX,cAAQ,EAAE,MAAM,CAAC;AADN,KAAb;AAIA,QAAI,OAAO,GAAG,iBAAiB,CAAC,IAAD,EAAO,MAAM,CAAC,gBAAP,GAA0B,CAA1B,IAA+B,CAAC,SAAvC,CAA/B;AAEA,QAAI,KAAK,GAAG,CAAC,KAAK,QAAN,GAAiB,KAAjB,GAAyB,QAArC;AACA,QAAI,KAAK,GAAG,CAAC,KAAK,OAAN,GAAgB,MAAhB,GAAyB,OAArC,CA1BmC,CA4BrC;AACA;AACA;;AACE,QAAI,gBAAgB,GAAG,wBAAwB,CAAC,WAAD,CAA/C,CA/BmC,CAiCrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACE,QAAI,IAAI,GAAG,KAAK,CAAhB;AAAA,QACI,GAAG,GAAG,KAAK,CADf;;AAEA,QAAI,KAAK,KAAK,QAAd,EAAwB;AAC1B;AACA;AACI,UAAI,YAAY,CAAC,QAAb,KAA0B,MAA9B,EAAsC;AACpC,WAAG,GAAG,CAAC,YAAY,CAAC,YAAd,GAA6B,OAAO,CAAC,MAA3C;AACD,OAFD,MAEO;AACL,WAAG,GAAG,CAAC,gBAAgB,CAAC,MAAlB,GAA2B,OAAO,CAAC,MAAzC;AACD;AACF,KARD,MAQO;AACL,SAAG,GAAG,OAAO,CAAC,GAAd;AACD;;AACD,QAAI,KAAK,KAAK,OAAd,EAAuB;AACrB,UAAI,YAAY,CAAC,QAAb,KAA0B,MAA9B,EAAsC;AACpC,YAAI,GAAG,CAAC,YAAY,CAAC,WAAd,GAA4B,OAAO,CAAC,KAA3C;AACD,OAFD,MAEO;AACL,YAAI,GAAG,CAAC,gBAAgB,CAAC,KAAlB,GAA0B,OAAO,CAAC,KAAzC;AACD;AACF,KAND,MAMO;AACL,UAAI,GAAG,OAAO,CAAC,IAAf;AACD;;AACD,QAAI,eAAe,IAAI,gBAAvB,EAAyC;AACvC,YAAM,CAAC,gBAAD,CAAN,GAA2B,iBAAiB,IAAjB,GAAwB,MAAxB,GAAiC,GAAjC,GAAuC,QAAlE;AACA,YAAM,CAAC,KAAD,CAAN,GAAgB,CAAhB;AACA,YAAM,CAAC,KAAD,CAAN,GAAgB,CAAhB;AACA,YAAM,CAAC,UAAP,GAAoB,WAApB;AACD,KALD,MAKO;AACT;AACI,UAAI,SAAS,GAAG,KAAK,KAAK,QAAV,GAAqB,CAAC,CAAtB,GAA0B,CAA1C;AACA,UAAI,UAAU,GAAG,KAAK,KAAK,OAAV,GAAoB,CAAC,CAArB,GAAyB,CAA1C;AACA,YAAM,CAAC,KAAD,CAAN,GAAgB,GAAG,GAAG,SAAtB;AACA,YAAM,CAAC,KAAD,CAAN,GAAgB,IAAI,GAAG,UAAvB;AACA,YAAM,CAAC,UAAP,GAAoB,KAAK,GAAG,IAAR,GAAe,KAAnC;AACD,KA5EkC,CA8ErC;;;AACE,QAAI,UAAU,GAAG;AACf,qBAAe,IAAI,CAAC;AADL,KAAjB,CA/EmC,CAmFrC;;AACE,QAAI,CAAC,UAAL,GAAkB,QAAQ,CAAC,EAAD,EAAK,UAAL,EAAiB,IAAI,CAAC,UAAtB,CAA1B;AACA,QAAI,CAAC,MAAL,GAAc,QAAQ,CAAC,EAAD,EAAK,MAAL,EAAa,IAAI,CAAC,MAAlB,CAAtB;AACA,QAAI,CAAC,WAAL,GAAmB,QAAQ,CAAC,EAAD,EAAK,IAAI,CAAC,OAAL,CAAa,KAAlB,EAAyB,IAAI,CAAC,WAA9B,CAA3B;AAEA,WAAO,IAAP;AACD;AAED;;;;;;;;;;;;AAUA,WAAS,kBAAT,CAA4B,SAA5B,EAAuC,cAAvC,EAAuD,aAAvD,EAAsE;AACpE,QAAI,UAAU,GAAG,IAAI,CAAC,SAAD,EAAY,UAAU,IAAV,EAAgB;AAC/C,UAAI,IAAI,GAAG,IAAI,CAAC,IAAhB;AACA,aAAO,IAAI,KAAK,cAAhB;AACD,KAHoB,CAArB;AAKA,QAAI,UAAU,GAAG,CAAC,CAAC,UAAF,IAAgB,SAAS,CAAC,IAAV,CAAe,UAAU,QAAV,EAAoB;AAClE,aAAO,QAAQ,CAAC,IAAT,KAAkB,aAAlB,IAAmC,QAAQ,CAAC,OAA5C,IAAuD,QAAQ,CAAC,KAAT,GAAiB,UAAU,CAAC,KAA1F;AACD,KAFgC,CAAjC;;AAIA,QAAI,CAAC,UAAL,EAAiB;AACf,UAAI,WAAW,GAAG,MAAM,cAAN,GAAuB,GAAzC;;AACA,UAAI,SAAS,GAAG,MAAM,aAAN,GAAsB,GAAtC;AACA,aAAO,CAAC,IAAR,CAAa,SAAS,GAAG,2BAAZ,GAA0C,WAA1C,GAAwD,2DAAxD,GAAsH,WAAtH,GAAoI,GAAjJ;AACD;;AACD,WAAO,UAAP;AACD;AAED;;;;;;;;;AAOA,WAAS,KAAT,CAAe,IAAf,EAAqB,OAArB,EAA8B;AAC5B,QAAI,mBAAJ,CAD4B,CAG9B;;;AACE,QAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAL,CAAc,SAAf,EAA0B,OAA1B,EAAmC,cAAnC,CAAvB,EAA2E;AACzE,aAAO,IAAP;AACD;;AAED,QAAI,YAAY,GAAG,OAAO,CAAC,OAA3B,CAR4B,CAU9B;;AACE,QAAI,OAAO,YAAP,KAAwB,QAA5B,EAAsC;AACpC,kBAAY,GAAG,IAAI,CAAC,QAAL,CAAc,MAAd,CAAqB,aAArB,CAAmC,YAAnC,CAAf,CADoC,CAGxC;;AACI,UAAI,CAAC,YAAL,EAAmB;AACjB,eAAO,IAAP;AACD;AACF,KAPD,MAOO;AACT;AACA;AACI,UAAI,CAAC,IAAI,CAAC,QAAL,CAAc,MAAd,CAAqB,QAArB,CAA8B,YAA9B,CAAL,EAAkD;AAChD,eAAO,CAAC,IAAR,CAAa,+DAAb;AACA,eAAO,IAAP;AACD;AACF;;AAED,QAAI,SAAS,GAAG,IAAI,CAAC,SAAL,CAAe,KAAf,CAAqB,GAArB,EAA0B,CAA1B,CAAhB;AACA,QAAI,aAAa,GAAG,IAAI,CAAC,OAAzB;AAAA,QACI,MAAM,GAAG,aAAa,CAAC,MAD3B;AAAA,QAEI,SAAS,GAAG,aAAa,CAAC,SAF9B;AAIA,QAAI,UAAU,GAAG,CAAC,MAAD,EAAS,OAAT,EAAkB,OAAlB,CAA0B,SAA1B,MAAyC,CAAC,CAA3D;AAEA,QAAI,GAAG,GAAG,UAAU,GAAG,QAAH,GAAc,OAAlC;AACA,QAAI,eAAe,GAAG,UAAU,GAAG,KAAH,GAAW,MAA3C;AACA,QAAI,IAAI,GAAG,eAAe,CAAC,WAAhB,EAAX;AACA,QAAI,OAAO,GAAG,UAAU,GAAG,MAAH,GAAY,KAApC;AACA,QAAI,MAAM,GAAG,UAAU,GAAG,QAAH,GAAc,OAArC;AACA,QAAI,gBAAgB,GAAG,aAAa,CAAC,YAAD,CAAb,CAA4B,GAA5B,CAAvB,CAvC4B,CAyC9B;AACA;AACA;AACA;AAEA;;AACE,QAAI,SAAS,CAAC,MAAD,CAAT,GAAoB,gBAApB,GAAuC,MAAM,CAAC,IAAD,CAAjD,EAAyD;AACvD,UAAI,CAAC,OAAL,CAAa,MAAb,CAAoB,IAApB,KAA6B,MAAM,CAAC,IAAD,CAAN,IAAgB,SAAS,CAAC,MAAD,CAAT,GAAoB,gBAApC,CAA7B;AACD,KAjD2B,CAkD9B;;;AACE,QAAI,SAAS,CAAC,IAAD,CAAT,GAAkB,gBAAlB,GAAqC,MAAM,CAAC,MAAD,CAA/C,EAAyD;AACvD,UAAI,CAAC,OAAL,CAAa,MAAb,CAAoB,IAApB,KAA6B,SAAS,CAAC,IAAD,CAAT,GAAkB,gBAAlB,GAAqC,MAAM,CAAC,MAAD,CAAxE;AACD;;AACD,QAAI,CAAC,OAAL,CAAa,MAAb,GAAsB,aAAa,CAAC,IAAI,CAAC,OAAL,CAAa,MAAd,CAAnC,CAtD4B,CAwD9B;;AACE,QAAI,MAAM,GAAG,SAAS,CAAC,IAAD,CAAT,GAAkB,SAAS,CAAC,GAAD,CAAT,GAAiB,CAAnC,GAAuC,gBAAgB,GAAG,CAAvE,CAzD4B,CA2D9B;AACA;;AACE,QAAI,GAAG,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAL,CAAc,MAAf,CAAlC;AACA,QAAI,gBAAgB,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,eAAZ,CAAJ,EAAkC,EAAlC,CAAjC;AACA,QAAI,gBAAgB,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,eAAX,GAA6B,OAA9B,CAAJ,EAA4C,EAA5C,CAAjC;AACA,QAAI,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC,OAAL,CAAa,MAAb,CAAoB,IAApB,CAAT,GAAqC,gBAArC,GAAwD,gBAAxE,CAhE4B,CAkE9B;;AACE,aAAS,GAAG,IAAI,CAAC,GAAL,CAAS,IAAI,CAAC,GAAL,CAAS,MAAM,CAAC,GAAD,CAAN,GAAc,gBAAvB,EAAyC,SAAzC,CAAT,EAA8D,CAA9D,CAAZ;AAEA,QAAI,CAAC,YAAL,GAAoB,YAApB;AACA,QAAI,CAAC,OAAL,CAAa,KAAb,IAAsB,mBAAmB,GAAG,EAAtB,EAA0B,cAAc,CAAC,mBAAD,EAAsB,IAAtB,EAA4B,IAAI,CAAC,KAAL,CAAW,SAAX,CAA5B,CAAxC,EAA4F,cAAc,CAAC,mBAAD,EAAsB,OAAtB,EAA+B,EAA/B,CAA1G,EAA8I,mBAApK;AAEA,WAAO,IAAP;AACD;AAED;;;;;;;;;AAOA,WAAS,oBAAT,CAA8B,SAA9B,EAAyC;AACvC,QAAI,SAAS,KAAK,KAAlB,EAAyB;AACvB,aAAO,OAAP;AACD,KAFD,MAEO,IAAI,SAAS,KAAK,OAAlB,EAA2B;AAChC,aAAO,KAAP;AACD;;AACD,WAAO,SAAP;AACD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,MAAI,UAAU,GAAG,CAAC,YAAD,EAAe,MAAf,EAAuB,UAAvB,EAAmC,WAAnC,EAAgD,KAAhD,EAAuD,SAAvD,EAAkE,aAAlE,EAAiF,OAAjF,EAA0F,WAA1F,EAAuG,YAAvG,EAAqH,QAArH,EAA+H,cAA/H,EAA+I,UAA/I,EAA2J,MAA3J,EAAmK,YAAnK,CAAjB,C,CAEA;;AACA,MAAI,eAAe,GAAG,UAAU,CAAC,KAAX,CAAiB,CAAjB,CAAtB;AAEA;;;;;;;;;;;AAUA,WAAS,SAAT,CAAmB,SAAnB,EAA8B;AAC5B,QAAI,OAAO,GAAG,SAAS,CAAC,MAAV,GAAmB,CAAnB,IAAwB,SAAS,CAAC,CAAD,CAAT,KAAiB,SAAzC,GAAqD,SAAS,CAAC,CAAD,CAA9D,GAAoE,KAAlF;AAEA,QAAI,KAAK,GAAG,eAAe,CAAC,OAAhB,CAAwB,SAAxB,CAAZ;AACA,QAAI,GAAG,GAAG,eAAe,CAAC,KAAhB,CAAsB,KAAK,GAAG,CAA9B,EAAiC,MAAjC,CAAwC,eAAe,CAAC,KAAhB,CAAsB,CAAtB,EAAyB,KAAzB,CAAxC,CAAV;AACA,WAAO,OAAO,GAAG,GAAG,CAAC,OAAJ,EAAH,GAAmB,GAAjC;AACD;;AAED,MAAI,SAAS,GAAG;AACd,QAAI,EAAE,MADQ;AAEd,aAAS,EAAE,WAFG;AAGd,oBAAgB,EAAE;AAHJ,GAAhB;AAMA;;;;;;;;AAOA,WAAS,IAAT,CAAc,IAAd,EAAoB,OAApB,EAA6B;AAC7B;AACE,QAAI,iBAAiB,CAAC,IAAI,CAAC,QAAL,CAAc,SAAf,EAA0B,OAA1B,CAArB,EAAyD;AACvD,aAAO,IAAP;AACD;;AAED,QAAI,IAAI,CAAC,OAAL,IAAgB,IAAI,CAAC,SAAL,KAAmB,IAAI,CAAC,iBAA5C,EAA+D;AACjE;AACI,aAAO,IAAP;AACD;;AAED,QAAI,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,QAAL,CAAc,MAAf,EAAuB,IAAI,CAAC,QAAL,CAAc,SAArC,EAAgD,OAAO,CAAC,OAAxD,EAAiE,OAAO,CAAC,iBAAzE,EAA4F,IAAI,CAAC,aAAjG,CAA9B;AAEA,QAAI,SAAS,GAAG,IAAI,CAAC,SAAL,CAAe,KAAf,CAAqB,GAArB,EAA0B,CAA1B,CAAhB;AACA,QAAI,iBAAiB,GAAG,oBAAoB,CAAC,SAAD,CAA5C;AACA,QAAI,SAAS,GAAG,IAAI,CAAC,SAAL,CAAe,KAAf,CAAqB,GAArB,EAA0B,CAA1B,KAAgC,EAAhD;AAEA,QAAI,SAAS,GAAG,EAAhB;;AAEA,YAAQ,OAAO,CAAC,QAAhB;AACE,WAAK,SAAS,CAAC,IAAf;AACE,iBAAS,GAAG,CAAC,SAAD,EAAY,iBAAZ,CAAZ;AACA;;AACF,WAAK,SAAS,CAAC,SAAf;AACE,iBAAS,GAAG,SAAS,CAAC,SAAD,CAArB;AACA;;AACF,WAAK,SAAS,CAAC,gBAAf;AACE,iBAAS,GAAG,SAAS,CAAC,SAAD,EAAY,IAAZ,CAArB;AACA;;AACF;AACE,iBAAS,GAAG,OAAO,CAAC,QAApB;AAXJ;;AAcA,aAAS,CAAC,OAAV,CAAkB,UAAU,IAAV,EAAgB,KAAhB,EAAuB;AACvC,UAAI,SAAS,KAAK,IAAd,IAAsB,SAAS,CAAC,MAAV,KAAqB,KAAK,GAAG,CAAvD,EAA0D;AACxD,eAAO,IAAP;AACD;;AAED,eAAS,GAAG,IAAI,CAAC,SAAL,CAAe,KAAf,CAAqB,GAArB,EAA0B,CAA1B,CAAZ;AACA,uBAAiB,GAAG,oBAAoB,CAAC,SAAD,CAAxC;AAEA,UAAI,aAAa,GAAG,IAAI,CAAC,OAAL,CAAa,MAAjC;AACA,UAAI,UAAU,GAAG,IAAI,CAAC,OAAL,CAAa,SAA9B,CATuC,CAW3C;;AACI,UAAI,KAAK,GAAG,IAAI,CAAC,KAAjB;AACA,UAAI,WAAW,GAAG,SAAS,KAAK,MAAd,IAAwB,KAAK,CAAC,aAAa,CAAC,KAAf,CAAL,GAA6B,KAAK,CAAC,UAAU,CAAC,IAAZ,CAA1D,IAA+E,SAAS,KAAK,OAAd,IAAyB,KAAK,CAAC,aAAa,CAAC,IAAf,CAAL,GAA4B,KAAK,CAAC,UAAU,CAAC,KAAZ,CAAzI,IAA+J,SAAS,KAAK,KAAd,IAAuB,KAAK,CAAC,aAAa,CAAC,MAAf,CAAL,GAA8B,KAAK,CAAC,UAAU,CAAC,GAAZ,CAAzN,IAA6O,SAAS,KAAK,QAAd,IAA0B,KAAK,CAAC,aAAa,CAAC,GAAf,CAAL,GAA2B,KAAK,CAAC,UAAU,CAAC,MAAZ,CAAzT;AAEA,UAAI,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,IAAf,CAAL,GAA4B,KAAK,CAAC,UAAU,CAAC,IAAZ,CAArD;AACA,UAAI,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC,KAAf,CAAL,GAA6B,KAAK,CAAC,UAAU,CAAC,KAAZ,CAAvD;AACA,UAAI,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,GAAf,CAAL,GAA2B,KAAK,CAAC,UAAU,CAAC,GAAZ,CAAnD;AACA,UAAI,eAAe,GAAG,KAAK,CAAC,aAAa,CAAC,MAAf,CAAL,GAA8B,KAAK,CAAC,UAAU,CAAC,MAAZ,CAAzD;AAEA,UAAI,mBAAmB,GAAG,SAAS,KAAK,MAAd,IAAwB,aAAxB,IAAyC,SAAS,KAAK,OAAd,IAAyB,cAAlE,IAAoF,SAAS,KAAK,KAAd,IAAuB,YAA3G,IAA2H,SAAS,KAAK,QAAd,IAA0B,eAA/K,CApBuC,CAsB3C;;AACI,UAAI,UAAU,GAAG,CAAC,KAAD,EAAQ,QAAR,EAAkB,OAAlB,CAA0B,SAA1B,MAAyC,CAAC,CAA3D;AACA,UAAI,gBAAgB,GAAG,CAAC,CAAC,OAAO,CAAC,cAAV,KAA6B,UAAU,IAAI,SAAS,KAAK,OAA5B,IAAuC,aAAvC,IAAwD,UAAU,IAAI,SAAS,KAAK,KAA5B,IAAqC,cAA7F,IAA+G,CAAC,UAAD,IAAe,SAAS,KAAK,OAA7B,IAAwC,YAAvJ,IAAuK,CAAC,UAAD,IAAe,SAAS,KAAK,KAA7B,IAAsC,eAA1O,CAAvB;;AAEA,UAAI,WAAW,IAAI,mBAAf,IAAsC,gBAA1C,EAA4D;AAChE;AACM,YAAI,CAAC,OAAL,GAAe,IAAf;;AAEA,YAAI,WAAW,IAAI,mBAAnB,EAAwC;AACtC,mBAAS,GAAG,SAAS,CAAC,KAAK,GAAG,CAAT,CAArB;AACD;;AAED,YAAI,gBAAJ,EAAsB;AACpB,mBAAS,GAAG,oBAAoB,CAAC,SAAD,CAAhC;AACD;;AAED,YAAI,CAAC,SAAL,GAAiB,SAAS,IAAI,SAAS,GAAG,MAAM,SAAT,GAAqB,EAAlC,CAA1B,CAZ0D,CAchE;AACA;;AACM,YAAI,CAAC,OAAL,CAAa,MAAb,GAAsB,QAAQ,CAAC,EAAD,EAAK,IAAI,CAAC,OAAL,CAAa,MAAlB,EAA0B,gBAAgB,CAAC,IAAI,CAAC,QAAL,CAAc,MAAf,EAAuB,IAAI,CAAC,OAAL,CAAa,SAApC,EAA+C,IAAI,CAAC,SAApD,CAA1C,CAA9B;AAEA,YAAI,GAAG,YAAY,CAAC,IAAI,CAAC,QAAL,CAAc,SAAf,EAA0B,IAA1B,EAAgC,MAAhC,CAAnB;AACD;AACF,KA9CD;AA+CA,WAAO,IAAP;AACD;AAED;;;;;;;;;AAOA,WAAS,YAAT,CAAsB,IAAtB,EAA4B;AAC1B,QAAI,aAAa,GAAG,IAAI,CAAC,OAAzB;AAAA,QACI,MAAM,GAAG,aAAa,CAAC,MAD3B;AAAA,QAEI,SAAS,GAAG,aAAa,CAAC,SAF9B;AAIA,QAAI,SAAS,GAAG,IAAI,CAAC,SAAL,CAAe,KAAf,CAAqB,GAArB,EAA0B,CAA1B,CAAhB;AACA,QAAI,KAAK,GAAG,IAAI,CAAC,KAAjB;AACA,QAAI,UAAU,GAAG,CAAC,KAAD,EAAQ,QAAR,EAAkB,OAAlB,CAA0B,SAA1B,MAAyC,CAAC,CAA3D;AACA,QAAI,IAAI,GAAG,UAAU,GAAG,OAAH,GAAa,QAAlC;AACA,QAAI,MAAM,GAAG,UAAU,GAAG,MAAH,GAAY,KAAnC;AACA,QAAI,WAAW,GAAG,UAAU,GAAG,OAAH,GAAa,QAAzC;;AAEA,QAAI,MAAM,CAAC,IAAD,CAAN,GAAe,KAAK,CAAC,SAAS,CAAC,MAAD,CAAV,CAAxB,EAA6C;AAC3C,UAAI,CAAC,OAAL,CAAa,MAAb,CAAoB,MAApB,IAA8B,KAAK,CAAC,SAAS,CAAC,MAAD,CAAV,CAAL,GAA2B,MAAM,CAAC,WAAD,CAA/D;AACD;;AACD,QAAI,MAAM,CAAC,MAAD,CAAN,GAAiB,KAAK,CAAC,SAAS,CAAC,IAAD,CAAV,CAA1B,EAA6C;AAC3C,UAAI,CAAC,OAAL,CAAa,MAAb,CAAoB,MAApB,IAA8B,KAAK,CAAC,SAAS,CAAC,IAAD,CAAV,CAAnC;AACD;;AAED,WAAO,IAAP;AACD;AAED;;;;;;;;;;;;;;AAYA,WAAS,OAAT,CAAiB,GAAjB,EAAsB,WAAtB,EAAmC,aAAnC,EAAkD,gBAAlD,EAAoE;AACpE;AACE,QAAI,KAAK,GAAG,GAAG,CAAC,KAAJ,CAAU,2BAAV,CAAZ;AACA,QAAI,KAAK,GAAG,CAAC,KAAK,CAAC,CAAD,CAAlB;AACA,QAAI,IAAI,GAAG,KAAK,CAAC,CAAD,CAAhB,CAJkE,CAMpE;;AACE,QAAI,CAAC,KAAL,EAAY;AACV,aAAO,GAAP;AACD;;AAED,QAAI,IAAI,CAAC,OAAL,CAAa,GAAb,MAAsB,CAA1B,EAA6B;AAC3B,UAAI,OAAO,GAAG,KAAK,CAAnB;;AACA,cAAQ,IAAR;AACE,aAAK,IAAL;AACE,iBAAO,GAAG,aAAV;AACA;;AACF,aAAK,GAAL;AACA,aAAK,IAAL;AACA;AACE,iBAAO,GAAG,gBAAV;AAPJ;;AAUA,UAAI,IAAI,GAAG,aAAa,CAAC,OAAD,CAAxB;AACA,aAAO,IAAI,CAAC,WAAD,CAAJ,GAAoB,GAApB,GAA0B,KAAjC;AACD,KAdD,MAcO,IAAI,IAAI,KAAK,IAAT,IAAiB,IAAI,KAAK,IAA9B,EAAoC;AAC7C;AACI,UAAI,IAAI,GAAG,KAAK,CAAhB;;AACA,UAAI,IAAI,KAAK,IAAb,EAAmB;AACjB,YAAI,GAAG,IAAI,CAAC,GAAL,CAAS,QAAQ,CAAC,eAAT,CAAyB,YAAlC,EAAgD,MAAM,CAAC,WAAP,IAAsB,CAAtE,CAAP;AACD,OAFD,MAEO;AACL,YAAI,GAAG,IAAI,CAAC,GAAL,CAAS,QAAQ,CAAC,eAAT,CAAyB,WAAlC,EAA+C,MAAM,CAAC,UAAP,IAAqB,CAApE,CAAP;AACD;;AACD,aAAO,IAAI,GAAG,GAAP,GAAa,KAApB;AACD,KATM,MASA;AACT;AACA;AACI,aAAO,KAAP;AACD;AACF;AAED;;;;;;;;;;;;;AAWA,WAAS,WAAT,CAAqB,MAArB,EAA6B,aAA7B,EAA4C,gBAA5C,EAA8D,aAA9D,EAA6E;AAC3E,QAAI,OAAO,GAAG,CAAC,CAAD,EAAI,CAAJ,CAAd,CAD2E,CAG7E;AACA;AACA;;AACE,QAAI,SAAS,GAAG,CAAC,OAAD,EAAU,MAAV,EAAkB,OAAlB,CAA0B,aAA1B,MAA6C,CAAC,CAA9D,CAN2E,CAQ7E;AACA;;AACE,QAAI,SAAS,GAAG,MAAM,CAAC,KAAP,CAAa,SAAb,EAAwB,GAAxB,CAA4B,UAAU,IAAV,EAAgB;AAC1D,aAAO,IAAI,CAAC,IAAL,EAAP;AACD,KAFe,CAAhB,CAV2E,CAc7E;AACA;;AACE,QAAI,OAAO,GAAG,SAAS,CAAC,OAAV,CAAkB,IAAI,CAAC,SAAD,EAAY,UAAU,IAAV,EAAgB;AAC9D,aAAO,IAAI,CAAC,MAAL,CAAY,MAAZ,MAAwB,CAAC,CAAhC;AACD,KAFmC,CAAtB,CAAd;;AAIA,QAAI,SAAS,CAAC,OAAD,CAAT,IAAsB,SAAS,CAAC,OAAD,CAAT,CAAmB,OAAnB,CAA2B,GAA3B,MAAoC,CAAC,CAA/D,EAAkE;AAChE,aAAO,CAAC,IAAR,CAAa,8EAAb;AACD,KAtB0E,CAwB7E;AACA;;;AACE,QAAI,UAAU,GAAG,aAAjB;AACA,QAAI,GAAG,GAAG,OAAO,KAAK,CAAC,CAAb,GAAiB,CAAC,SAAS,CAAC,KAAV,CAAgB,CAAhB,EAAmB,OAAnB,EAA4B,MAA5B,CAAmC,CAAC,SAAS,CAAC,OAAD,CAAT,CAAmB,KAAnB,CAAyB,UAAzB,EAAqC,CAArC,CAAD,CAAnC,CAAD,EAAgF,CAAC,SAAS,CAAC,OAAD,CAAT,CAAmB,KAAnB,CAAyB,UAAzB,EAAqC,CAArC,CAAD,EAA0C,MAA1C,CAAiD,SAAS,CAAC,KAAV,CAAgB,OAAO,GAAG,CAA1B,CAAjD,CAAhF,CAAjB,GAAmL,CAAC,SAAD,CAA7L,CA3B2E,CA6B7E;;AACE,OAAG,GAAG,GAAG,CAAC,GAAJ,CAAQ,UAAU,EAAV,EAAc,KAAd,EAAqB;AACrC;AACI,UAAI,WAAW,GAAG,CAAC,KAAK,KAAK,CAAV,GAAc,CAAC,SAAf,GAA2B,SAA5B,IAAyC,QAAzC,GAAoD,OAAtE;AACA,UAAI,iBAAiB,GAAG,KAAxB;AACA,aAAO,EAAE,CACb;AACA;AAFa,OAGR,MAHM,CAGC,UAAU,CAAV,EAAa,CAAb,EAAgB;AACtB,YAAI,CAAC,CAAC,CAAC,CAAC,MAAF,GAAW,CAAZ,CAAD,KAAoB,EAApB,IAA0B,CAAC,GAAD,EAAM,GAAN,EAAW,OAAX,CAAmB,CAAnB,MAA0B,CAAC,CAAzD,EAA4D;AAC1D,WAAC,CAAC,CAAC,CAAC,MAAF,GAAW,CAAZ,CAAD,GAAkB,CAAlB;AACA,2BAAiB,GAAG,IAApB;AACA,iBAAO,CAAP;AACD,SAJD,MAIO,IAAI,iBAAJ,EAAuB;AAC5B,WAAC,CAAC,CAAC,CAAC,MAAF,GAAW,CAAZ,CAAD,IAAmB,CAAnB;AACA,2BAAiB,GAAG,KAApB;AACA,iBAAO,CAAP;AACD,SAJM,MAIA;AACL,iBAAO,CAAC,CAAC,MAAF,CAAS,CAAT,CAAP;AACD;AACF,OAfM,EAeJ,EAfI,EAgBX;AAhBW,OAiBN,GAjBM,CAiBF,UAAU,GAAV,EAAe;AAClB,eAAO,OAAO,CAAC,GAAD,EAAM,WAAN,EAAmB,aAAnB,EAAkC,gBAAlC,CAAd;AACD,OAnBM,CAAP;AAoBD,KAxBK,CAAN,CA9B2E,CAwD7E;;AACE,OAAG,CAAC,OAAJ,CAAY,UAAU,EAAV,EAAc,KAAd,EAAqB;AAC/B,QAAE,CAAC,OAAH,CAAW,UAAU,IAAV,EAAgB,MAAhB,EAAwB;AACjC,YAAI,SAAS,CAAC,IAAD,CAAb,EAAqB;AACnB,iBAAO,CAAC,KAAD,CAAP,IAAkB,IAAI,IAAI,EAAE,CAAC,MAAM,GAAG,CAAV,CAAF,KAAmB,GAAnB,GAAyB,CAAC,CAA1B,GAA8B,CAAlC,CAAtB;AACD;AACF,OAJD;AAKD,KAND;AAOA,WAAO,OAAP;AACD;AAED;;;;;;;;;;;AASA,WAAS,MAAT,CAAgB,IAAhB,EAAsB,IAAtB,EAA4B;AAC1B,QAAI,MAAM,GAAG,IAAI,CAAC,MAAlB;AACA,QAAI,SAAS,GAAG,IAAI,CAAC,SAArB;AAAA,QACI,aAAa,GAAG,IAAI,CAAC,OADzB;AAAA,QAEI,MAAM,GAAG,aAAa,CAAC,MAF3B;AAAA,QAGI,SAAS,GAAG,aAAa,CAAC,SAH9B;AAKA,QAAI,aAAa,GAAG,SAAS,CAAC,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAApB;AAEA,QAAI,OAAO,GAAG,KAAK,CAAnB;;AACA,QAAI,SAAS,CAAC,CAAC,MAAF,CAAb,EAAwB;AACtB,aAAO,GAAG,CAAC,CAAC,MAAF,EAAU,CAAV,CAAV;AACD,KAFD,MAEO;AACL,aAAO,GAAG,WAAW,CAAC,MAAD,EAAS,MAAT,EAAiB,SAAjB,EAA4B,aAA5B,CAArB;AACD;;AAED,QAAI,aAAa,KAAK,MAAtB,EAA8B;AAC5B,YAAM,CAAC,GAAP,IAAc,OAAO,CAAC,CAAD,CAArB;AACA,YAAM,CAAC,IAAP,IAAe,OAAO,CAAC,CAAD,CAAtB;AACD,KAHD,MAGO,IAAI,aAAa,KAAK,OAAtB,EAA+B;AACpC,YAAM,CAAC,GAAP,IAAc,OAAO,CAAC,CAAD,CAArB;AACA,YAAM,CAAC,IAAP,IAAe,OAAO,CAAC,CAAD,CAAtB;AACD,KAHM,MAGA,IAAI,aAAa,KAAK,KAAtB,EAA6B;AAClC,YAAM,CAAC,IAAP,IAAe,OAAO,CAAC,CAAD,CAAtB;AACA,YAAM,CAAC,GAAP,IAAc,OAAO,CAAC,CAAD,CAArB;AACD,KAHM,MAGA,IAAI,aAAa,KAAK,QAAtB,EAAgC;AACrC,YAAM,CAAC,IAAP,IAAe,OAAO,CAAC,CAAD,CAAtB;AACA,YAAM,CAAC,GAAP,IAAc,OAAO,CAAC,CAAD,CAArB;AACD;;AAED,QAAI,CAAC,MAAL,GAAc,MAAd;AACA,WAAO,IAAP;AACD;AAED;;;;;;;;;AAOA,WAAS,eAAT,CAAyB,IAAzB,EAA+B,OAA/B,EAAwC;AACtC,QAAI,iBAAiB,GAAG,OAAO,CAAC,iBAAR,IAA6B,eAAe,CAAC,IAAI,CAAC,QAAL,CAAc,MAAf,CAApE,CADsC,CAGxC;AACA;AACA;;AACE,QAAI,IAAI,CAAC,QAAL,CAAc,SAAd,KAA4B,iBAAhC,EAAmD;AACjD,uBAAiB,GAAG,eAAe,CAAC,iBAAD,CAAnC;AACD,KARqC,CAUxC;AACA;AACA;;;AACE,QAAI,aAAa,GAAG,wBAAwB,CAAC,WAAD,CAA5C;AACA,QAAI,YAAY,GAAG,IAAI,CAAC,QAAL,CAAc,MAAd,CAAqB,KAAxC,CAdsC,CAcQ;;AAC9C,QAAI,GAAG,GAAG,YAAY,CAAC,GAAvB;AAAA,QACI,IAAI,GAAG,YAAY,CAAC,IADxB;AAAA,QAEI,SAAS,GAAG,YAAY,CAAC,aAAD,CAF5B;AAIA,gBAAY,CAAC,GAAb,GAAmB,EAAnB;AACA,gBAAY,CAAC,IAAb,GAAoB,EAApB;AACA,gBAAY,CAAC,aAAD,CAAZ,GAA8B,EAA9B;AAEA,QAAI,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,QAAL,CAAc,MAAf,EAAuB,IAAI,CAAC,QAAL,CAAc,SAArC,EAAgD,OAAO,CAAC,OAAxD,EAAiE,iBAAjE,EAAoF,IAAI,CAAC,aAAzF,CAA9B,CAvBsC,CAyBxC;AACA;;AACE,gBAAY,CAAC,GAAb,GAAmB,GAAnB;AACA,gBAAY,CAAC,IAAb,GAAoB,IAApB;AACA,gBAAY,CAAC,aAAD,CAAZ,GAA8B,SAA9B;AAEA,WAAO,CAAC,UAAR,GAAqB,UAArB;AAEA,QAAI,KAAK,GAAG,OAAO,CAAC,QAApB;AACA,QAAI,MAAM,GAAG,IAAI,CAAC,OAAL,CAAa,MAA1B;AAEA,QAAI,KAAK,GAAG;AACV,aAAO,EAAE,SAAS,OAAT,CAAiB,SAAjB,EAA4B;AACnC,YAAI,KAAK,GAAG,MAAM,CAAC,SAAD,CAAlB;;AACA,YAAI,MAAM,CAAC,SAAD,CAAN,GAAoB,UAAU,CAAC,SAAD,CAA9B,IAA6C,CAAC,OAAO,CAAC,mBAA1D,EAA+E;AAC7E,eAAK,GAAG,IAAI,CAAC,GAAL,CAAS,MAAM,CAAC,SAAD,CAAf,EAA4B,UAAU,CAAC,SAAD,CAAtC,CAAR;AACD;;AACD,eAAO,cAAc,CAAC,EAAD,EAAK,SAAL,EAAgB,KAAhB,CAArB;AACD,OAPS;AAQV,eAAS,EAAE,SAAS,SAAT,CAAmB,SAAnB,EAA8B;AACvC,YAAI,QAAQ,GAAG,SAAS,KAAK,OAAd,GAAwB,MAAxB,GAAiC,KAAhD;AACA,YAAI,KAAK,GAAG,MAAM,CAAC,QAAD,CAAlB;;AACA,YAAI,MAAM,CAAC,SAAD,CAAN,GAAoB,UAAU,CAAC,SAAD,CAA9B,IAA6C,CAAC,OAAO,CAAC,mBAA1D,EAA+E;AAC7E,eAAK,GAAG,IAAI,CAAC,GAAL,CAAS,MAAM,CAAC,QAAD,CAAf,EAA2B,UAAU,CAAC,SAAD,CAAV,IAAyB,SAAS,KAAK,OAAd,GAAwB,MAAM,CAAC,KAA/B,GAAuC,MAAM,CAAC,MAAvE,CAA3B,CAAR;AACD;;AACD,eAAO,cAAc,CAAC,EAAD,EAAK,QAAL,EAAe,KAAf,CAArB;AACD;AAfS,KAAZ;AAkBA,SAAK,CAAC,OAAN,CAAc,UAAU,SAAV,EAAqB;AACjC,UAAI,IAAI,GAAG,CAAC,MAAD,EAAS,KAAT,EAAgB,OAAhB,CAAwB,SAAxB,MAAuC,CAAC,CAAxC,GAA4C,SAA5C,GAAwD,WAAnE;AACA,YAAM,GAAG,QAAQ,CAAC,EAAD,EAAK,MAAL,EAAa,KAAK,CAAC,IAAD,CAAL,CAAY,SAAZ,CAAb,CAAjB;AACD,KAHD;AAKA,QAAI,CAAC,OAAL,CAAa,MAAb,GAAsB,MAAtB;AAEA,WAAO,IAAP;AACD;AAED;;;;;;;;;AAOA,WAAS,KAAT,CAAe,IAAf,EAAqB;AACnB,QAAI,SAAS,GAAG,IAAI,CAAC,SAArB;AACA,QAAI,aAAa,GAAG,SAAS,CAAC,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAApB;AACA,QAAI,cAAc,GAAG,SAAS,CAAC,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAArB,CAHmB,CAKrB;;AACE,QAAI,cAAJ,EAAoB;AAClB,UAAI,aAAa,GAAG,IAAI,CAAC,OAAzB;AAAA,UACI,SAAS,GAAG,aAAa,CAAC,SAD9B;AAAA,UAEI,MAAM,GAAG,aAAa,CAAC,MAF3B;AAIA,UAAI,UAAU,GAAG,CAAC,QAAD,EAAW,KAAX,EAAkB,OAAlB,CAA0B,aAA1B,MAA6C,CAAC,CAA/D;AACA,UAAI,IAAI,GAAG,UAAU,GAAG,MAAH,GAAY,KAAjC;AACA,UAAI,WAAW,GAAG,UAAU,GAAG,OAAH,GAAa,QAAzC;AAEA,UAAI,YAAY,GAAG;AACjB,aAAK,EAAE,cAAc,CAAC,EAAD,EAAK,IAAL,EAAW,SAAS,CAAC,IAAD,CAApB,CADJ;AAEjB,WAAG,EAAE,cAAc,CAAC,EAAD,EAAK,IAAL,EAAW,SAAS,CAAC,IAAD,CAAT,GAAkB,SAAS,CAAC,WAAD,CAA3B,GAA2C,MAAM,CAAC,WAAD,CAA5D;AAFF,OAAnB;AAKA,UAAI,CAAC,OAAL,CAAa,MAAb,GAAsB,QAAQ,CAAC,EAAD,EAAK,MAAL,EAAa,YAAY,CAAC,cAAD,CAAzB,CAA9B;AACD;;AAED,WAAO,IAAP;AACD;AAED;;;;;;;;;AAOA,WAAS,IAAT,CAAc,IAAd,EAAoB;AAClB,QAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAL,CAAc,SAAf,EAA0B,MAA1B,EAAkC,iBAAlC,CAAvB,EAA6E;AAC3E,aAAO,IAAP;AACD;;AAED,QAAI,OAAO,GAAG,IAAI,CAAC,OAAL,CAAa,SAA3B;AACA,QAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAL,CAAc,SAAf,EAA0B,UAAU,QAAV,EAAoB;AAC5D,aAAO,QAAQ,CAAC,IAAT,KAAkB,iBAAzB;AACD,KAFe,CAAJ,CAET,UAFH;;AAIA,QAAI,OAAO,CAAC,MAAR,GAAiB,KAAK,CAAC,GAAvB,IAA8B,OAAO,CAAC,IAAR,GAAe,KAAK,CAAC,KAAnD,IAA4D,OAAO,CAAC,GAAR,GAAc,KAAK,CAAC,MAAhF,IAA0F,OAAO,CAAC,KAAR,GAAgB,KAAK,CAAC,IAApH,EAA0H;AAC5H;AACI,UAAI,IAAI,CAAC,IAAL,KAAc,IAAlB,EAAwB;AACtB,eAAO,IAAP;AACD;;AAED,UAAI,CAAC,IAAL,GAAY,IAAZ;AACA,UAAI,CAAC,UAAL,CAAgB,qBAAhB,IAAyC,EAAzC;AACD,KARD,MAQO;AACT;AACI,UAAI,IAAI,CAAC,IAAL,KAAc,KAAlB,EAAyB;AACvB,eAAO,IAAP;AACD;;AAED,UAAI,CAAC,IAAL,GAAY,KAAZ;AACA,UAAI,CAAC,UAAL,CAAgB,qBAAhB,IAAyC,KAAzC;AACD;;AAED,WAAO,IAAP;AACD;AAED;;;;;;;;;AAOA,WAAS,KAAT,CAAe,IAAf,EAAqB;AACnB,QAAI,SAAS,GAAG,IAAI,CAAC,SAArB;AACA,QAAI,aAAa,GAAG,SAAS,CAAC,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAApB;AACA,QAAI,aAAa,GAAG,IAAI,CAAC,OAAzB;AAAA,QACI,MAAM,GAAG,aAAa,CAAC,MAD3B;AAAA,QAEI,SAAS,GAAG,aAAa,CAAC,SAF9B;AAIA,QAAI,OAAO,GAAG,CAAC,MAAD,EAAS,OAAT,EAAkB,OAAlB,CAA0B,aAA1B,MAA6C,CAAC,CAA5D;AAEA,QAAI,cAAc,GAAG,CAAC,KAAD,EAAQ,MAAR,EAAgB,OAAhB,CAAwB,aAAxB,MAA2C,CAAC,CAAjE;AAEA,UAAM,CAAC,OAAO,GAAG,MAAH,GAAY,KAApB,CAAN,GAAmC,SAAS,CAAC,aAAD,CAAT,IAA4B,cAAc,GAAG,MAAM,CAAC,OAAO,GAAG,OAAH,GAAa,QAArB,CAAT,GAA0C,CAApF,CAAnC;AAEA,QAAI,CAAC,SAAL,GAAiB,oBAAoB,CAAC,SAAD,CAArC;AACA,QAAI,CAAC,OAAL,CAAa,MAAb,GAAsB,aAAa,CAAC,MAAD,CAAnC;AAEA,WAAO,IAAP;AACD;AAED;;;;;;;;;;;;AAYA;;;;;;;;;;;AASA,MAAI,SAAS,GAAG;AAChB;;;;;;;;AAQE,SAAK,EAAE;AACT;AACI,WAAK,EAAE,GAFF;;AAGT;AACI,aAAO,EAAE,IAJJ;;AAKT;AACI,QAAE,EAAE;AANC,KATO;;AAkBhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCE,UAAM,EAAE;AACV;AACI,WAAK,EAAE,GAFD;;AAGV;AACI,aAAO,EAAE,IAJH;;AAKV;AACI,QAAE,EAAE,MANE;;AAOV;;;AAGI,YAAM,EAAE;AAVF,KAxDM;;AAqEhB;;;;;;;;;;;;;;;;;AAiBE,mBAAe,EAAE;AACnB;AACI,WAAK,EAAE,GAFQ;;AAGnB;AACI,aAAO,EAAE,IAJM;;AAKnB;AACI,QAAE,EAAE,eANW;;AAOnB;;;;;AAKI,cAAQ,EAAE,CAAC,MAAD,EAAS,OAAT,EAAkB,KAAlB,EAAyB,QAAzB,CAZK;;AAanB;;;;;;AAMI,aAAO,EAAE,CAnBM;;AAoBnB;;;;;AAKI,uBAAiB,EAAE;AAzBJ,KAtFH;;AAkHhB;;;;;;;;;AASE,gBAAY,EAAE;AAChB;AACI,WAAK,EAAE,GAFK;;AAGhB;AACI,aAAO,EAAE,IAJG;;AAKhB;AACI,QAAE,EAAE;AANQ,KA3HA;;AAoIhB;;;;;;;;;;AAUE,SAAK,EAAE;AACT;AACI,WAAK,EAAE,GAFF;;AAGT;AACI,aAAO,EAAE,IAJJ;;AAKT;AACI,QAAE,EAAE,KANC;;AAOT;AACI,aAAO,EAAE;AARJ,KA9IO;;AAyJhB;;;;;;;;;;;AAWE,QAAI,EAAE;AACR;AACI,WAAK,EAAE,GAFH;;AAGR;AACI,aAAO,EAAE,IAJL;;AAKR;AACI,QAAE,EAAE,IANA;;AAOR;;;;;;AAMI,cAAQ,EAAE,MAbN;;AAcR;;;;AAII,aAAO,EAAE,CAlBL;;AAmBR;;;;;;AAMI,uBAAiB,EAAE;AAzBf,KApKQ;;AAgMhB;;;;;;;AAOE,SAAK,EAAE;AACT;AACI,WAAK,EAAE,GAFF;;AAGT;AACI,aAAO,EAAE,KAJJ;;AAKT;AACI,QAAE,EAAE;AANC,KAvMO;;AAgNhB;;;;;;;;;;AAUE,QAAI,EAAE;AACR;AACI,WAAK,EAAE,GAFH;;AAGR;AACI,aAAO,EAAE,IAJL;;AAKR;AACI,QAAE,EAAE;AANA,KA1NQ;;AAmOhB;;;;;;;;;;;;;;;AAeE,gBAAY,EAAE;AAChB;AACI,WAAK,EAAE,GAFK;;AAGhB;AACI,aAAO,EAAE,IAJG;;AAKhB;AACI,QAAE,EAAE,YANQ;;AAOhB;;;;;AAKI,qBAAe,EAAE,IAZL;;AAahB;;;;;AAKI,OAAC,EAAE,QAlBS;;AAmBhB;;;;;AAKI,OAAC,EAAE;AAxBS,KAlPA;;AA6QhB;;;;;;;;;;;;;;;AAeE,cAAU,EAAE;AACd;AACI,WAAK,EAAE,GAFG;;AAGd;AACI,aAAO,EAAE,IAJC;;AAKd;AACI,QAAE,EAAE,UANM;;AAOd;AACI,YAAM,EAAE,gBARE;;AASd;;;;;;AAMI,qBAAe,EAAE;AAfP;AA5RE,GAAhB;AA+SA;;;;;;;;;;;;;;;;;;;AAmBA;;;;;;;;;;;;;;;;;AAgBA,MAAI,QAAQ,GAAG;AACf;;;;AAIE,aAAS,EAAE,QALE;;AAOf;;;;AAIE,iBAAa,EAAE,KAXF;;AAaf;;;;AAIE,iBAAa,EAAE,IAjBF;;AAmBf;;;;;AAKE,mBAAe,EAAE,KAxBJ;;AA0Bf;;;;;;AAME,YAAQ,EAAE,SAAS,QAAT,GAAoB,CAAE,CAhCnB;;AAkCf;;;;;;;;AAQE,YAAQ,EAAE,SAAS,QAAT,GAAoB,CAAE,CA1CnB;;AA4Cf;;;;;AAKE,aAAS,EAAE;AAjDE,GAAf;AAoDA;;;;;AAKA;;;;AAKA;AACA;;AACA,MAAI,MAAM,GAAG,YAAY;AACzB;;;;;;;;AAQE,aAAS,MAAT,CAAgB,SAAhB,EAA2B,MAA3B,EAAmC;AACjC,UAAI,KAAK,GAAG,IAAZ;;AAEA,UAAI,OAAO,GAAG,SAAS,CAAC,MAAV,GAAmB,CAAnB,IAAwB,SAAS,CAAC,CAAD,CAAT,KAAiB,SAAzC,GAAqD,SAAS,CAAC,CAAD,CAA9D,GAAoE,EAAlF;AACA,oBAAc,CAAC,IAAD,EAAO,MAAP,CAAd;;AAEA,WAAK,cAAL,GAAsB,YAAY;AAChC,eAAO,qBAAqB,CAAC,KAAK,CAAC,MAAP,CAA5B;AACD,OAFD,CANiC,CAUrC;;;AACI,WAAK,MAAL,GAAc,QAAQ,CAAC,KAAK,MAAL,CAAY,IAAZ,CAAiB,IAAjB,CAAD,CAAtB,CAXiC,CAarC;;AACI,WAAK,OAAL,GAAe,QAAQ,CAAC,EAAD,EAAK,MAAM,CAAC,QAAZ,EAAsB,OAAtB,CAAvB,CAdiC,CAgBrC;;AACI,WAAK,KAAL,GAAa;AACX,mBAAW,EAAE,KADF;AAEX,iBAAS,EAAE,KAFA;AAGX,qBAAa,EAAE;AAHJ,OAAb,CAjBiC,CAuBrC;;AACI,WAAK,SAAL,GAAiB,SAAS,IAAI,SAAS,CAAC,MAAvB,GAAgC,SAAS,CAAC,CAAD,CAAzC,GAA+C,SAAhE;AACA,WAAK,MAAL,GAAc,MAAM,IAAI,MAAM,CAAC,MAAjB,GAA0B,MAAM,CAAC,CAAD,CAAhC,GAAsC,MAApD,CAzBiC,CA2BrC;;AACI,WAAK,OAAL,CAAa,SAAb,GAAyB,EAAzB;AACA,YAAM,CAAC,IAAP,CAAY,QAAQ,CAAC,EAAD,EAAK,MAAM,CAAC,QAAP,CAAgB,SAArB,EAAgC,OAAO,CAAC,SAAxC,CAApB,EAAwE,OAAxE,CAAgF,UAAU,IAAV,EAAgB;AAC9F,aAAK,CAAC,OAAN,CAAc,SAAd,CAAwB,IAAxB,IAAgC,QAAQ,CAAC,EAAD,EAAK,MAAM,CAAC,QAAP,CAAgB,SAAhB,CAA0B,IAA1B,KAAmC,EAAxC,EAA4C,OAAO,CAAC,SAAR,GAAoB,OAAO,CAAC,SAAR,CAAkB,IAAlB,CAApB,GAA8C,EAA1F,CAAxC;AACD,OAFD,EA7BiC,CAiCrC;;AACI,WAAK,SAAL,GAAiB,MAAM,CAAC,IAAP,CAAY,KAAK,OAAL,CAAa,SAAzB,EAAoC,GAApC,CAAwC,UAAU,IAAV,EAAgB;AACvE,eAAO,QAAQ,CAAC;AACd,cAAI,EAAE;AADQ,SAAD,EAEZ,KAAK,CAAC,OAAN,CAAc,SAAd,CAAwB,IAAxB,CAFY,CAAf;AAGD,OAJgB,EAKrB;AALqB,OAMhB,IANgB,CAMX,UAAU,CAAV,EAAa,CAAb,EAAgB;AACpB,eAAO,CAAC,CAAC,KAAF,GAAU,CAAC,CAAC,KAAnB;AACD,OARgB,CAAjB,CAlCiC,CA4CrC;AACA;AACA;AACA;;AACI,WAAK,SAAL,CAAe,OAAf,CAAuB,UAAU,eAAV,EAA2B;AAChD,YAAI,eAAe,CAAC,OAAhB,IAA2B,UAAU,CAAC,eAAe,CAAC,MAAjB,CAAzC,EAAmE;AACjE,yBAAe,CAAC,MAAhB,CAAuB,KAAK,CAAC,SAA7B,EAAwC,KAAK,CAAC,MAA9C,EAAsD,KAAK,CAAC,OAA5D,EAAqE,eAArE,EAAsF,KAAK,CAAC,KAA5F;AACD;AACF,OAJD,EAhDiC,CAsDrC;;AACI,WAAK,MAAL;AAEA,UAAI,aAAa,GAAG,KAAK,OAAL,CAAa,aAAjC;;AACA,UAAI,aAAJ,EAAmB;AACvB;AACM,aAAK,oBAAL;AACD;;AAED,WAAK,KAAL,CAAW,aAAX,GAA2B,aAA3B;AACD,KAzEsB,CA2EzB;AACA;;;AAGE,eAAW,CAAC,MAAD,EAAS,CAAC;AACnB,SAAG,EAAE,QADc;AAEnB,WAAK,EAAE,SAAS,SAAT,GAAqB;AAC1B,eAAO,MAAM,CAAC,IAAP,CAAY,IAAZ,CAAP;AACD;AAJkB,KAAD,EAKjB;AACD,SAAG,EAAE,SADJ;AAED,WAAK,EAAE,SAAS,UAAT,GAAsB;AAC3B,eAAO,OAAO,CAAC,IAAR,CAAa,IAAb,CAAP;AACD;AAJA,KALiB,EAUjB;AACD,SAAG,EAAE,sBADJ;AAED,WAAK,EAAE,SAAS,uBAAT,GAAmC;AACxC,eAAO,oBAAoB,CAAC,IAArB,CAA0B,IAA1B,CAAP;AACD;AAJA,KAViB,EAejB;AACD,SAAG,EAAE,uBADJ;AAED,WAAK,EAAE,SAAS,wBAAT,GAAoC;AACzC,eAAO,qBAAqB,CAAC,IAAtB,CAA2B,IAA3B,CAAP;AACD;AAEL;;;;;;AAOA;;;;;;;;;;;;;;;;;AAbK,KAfiB,CAAT,CAAX;AA8CA,WAAO,MAAP;AACD,GA9HY,EAAb;AAgIA;;;;;;;;;;;;;;;;;;;;;AAqBA,QAAM,CAAC,KAAP,GAAe,CAAC,OAAO,MAAP,KAAkB,WAAlB,GAAgC,MAAhC,GAAyC,MAA1C,EAAkD,WAAjE;AACA,QAAM,CAAC,UAAP,GAAoB,UAApB;AACA,QAAM,CAAC,QAAP,GAAkB,QAAlB;ACtgFA;;;;;;AAMA,MAAMsC,MAAI,GAAV;AACA,MAAMC,SAAO,GAAb;AACA,MAAMC,UAAQ,GAAd;AACA,MAAMC,WAAS,SAAf;AACA,MAAMC,cAAY,GAAlB;AACA,MAAMC,oBAAkB,GAAS3C,CAAC,CAADA,GAAjC,MAAiCA,CAAjC;AACA,MAAMkO,cAAc,GAApB,G,CAAA;;AACA,MAAMC,aAAa,GAAnB,G,CAAA;;AACA,MAAMC,WAAW,GAAjB,E,CAAA;;AACA,MAAMC,gBAAgB,GAAtB,G,CAAA;;AACA,MAAMC,kBAAkB,GAAxB,G,CAAA;;AACA,MAAMC,wBAAwB,GAA9B,E,CAAA;;AACA,MAAMC,cAAc,GAAa,WAAcH,gBAAd,MAAcA,GAAd,kBAAcA,GAAd,GAAcA,GAA/C,cAAiC,CAAjC;AAEA,MAAMvL,OAAK,GAAG;AACZ6I,QAAI,WADQ;AAEZC,UAAM,aAFM;AAGZvI,QAAI,WAHQ;AAIZqI,SAAK,YAJO;AAKZ+C,SAAK,YALO;AAMZxL,kBAAc,0BANF;AAOZyL,oBAAgB,4BAPJ;AAQZC,kBAAc,0BAAyBjM;AAR3B,GAAd;AAWA,MAAMQ,WAAS,GAAG;AAChB0L,YAAQ,EADQ;AAEhBvL,QAAI,EAFY;AAGhBwL,UAAM,EAHU;AAIhBC,aAAS,EAJO;AAKhBC,YAAQ,EALQ;AAMhBC,aAAS,EANO;AAOhBC,YAAQ,EAPQ;AAQhBC,mBAAe,EAAG;AARF,GAAlB;AAWA,MAAMtM,UAAQ,GAAG;AACf8B,eAAW,EADI;AAEfyK,cAAU,EAFK;AAGfC,QAAI,EAHW;AAIfC,cAAU,EAJK;AAKfC,iBAAa,EAAG;AALD,GAAjB;AAQA,MAAMC,aAAa,GAAG;AACpBC,OAAG,EADiB;AAEpBC,UAAM,EAFc;AAGpBC,UAAM,EAHc;AAIpBC,aAAS,EAJW;AAKpBvJ,SAAK,EALe;AAMpBwJ,YAAQ,EANY;AAOpBzJ,QAAI,EAPgB;AAQpB0J,WAAO,EAAK;AARQ,GAAtB;AAWA,MAAMrK,SAAO,GAAG;AACdsK,UAAM,EADQ;AAEdC,QAAI,EAFU;AAGdC,YAAQ,EAHM;AAIdC,aAAS,EAJK;AAKdC,WAAO,EAAK;AALE,GAAhB;AAQA,MAAMnK,aAAW,GAAG;AAClB+J,UAAM,EADY;AAElBC,QAAI,EAFc;AAGlBC,YAAQ,EAHU;AAIlBC,aAAS,EAJS;AAKlBC,WAAO,EAAK;AAGd;;;;;;AARoB,GAApB;;MAcMC;;;AACJ,uCAA6B;AAC3B;AACA;AACA,qBAAiB,gBAAjB,MAAiB,CAAjB;AACA,mBAAiB,KAAjB,eAAiB,EAAjB;AACA,uBAAiB,KAAjB,aAAiB,EAAjB;;AAEA;AACD,K,CAAA;;;qCAgBD;;WAEArL,M,GAAAA,kBAAS;AACP,UAAI,0BAA0B9E,CAAC,CAAC,KAAFA,QAAC,CAADA,UAA0BkD,WAAS,CAAjE,QAA8BlD,CAA9B,EAA6E;AAC3E;AACD;;AAED,UAAM4D,MAAM,GAAKuM,QAAQ,CAARA,sBAA+B,KAAhD,QAAiBA,CAAjB;;AACA,UAAMC,QAAQ,GAAGpQ,CAAC,CAAC,KAAFA,KAAC,CAADA,UAAuBkD,WAAS,CAAjD,IAAiBlD,CAAjB;;AAEAmQ,cAAQ,CAARA;;AAEA,oBAAc;AACZ;AACD;;AAED,UAAMlG,aAAa,GAAG;AACpBA,qBAAa,EAAE,KAAKoG;AADA,OAAtB;AAGA,UAAMC,SAAS,GAAGtQ,CAAC,CAADA,MAAQ8C,OAAK,CAAb9C,MAAlB,aAAkBA,CAAlB;AAEAA,OAAC,CAADA,MAAC,CAADA;;AAEA,UAAIsQ,SAAS,CAAb,kBAAIA,EAAJ,EAAoC;AAClC;AAtBK;;;AA0BP,UAAI,CAAC,KAAL,WAAqB;AACnB;;;;AAIA,YAAI,kBAAJ,aAAmC;AACjC,gBAAM,cAAN,mEAAM,CAAN;AACD;;AAED,YAAIC,gBAAgB,GAAG,KAAvB;;AAEA,YAAI,2BAAJ,UAAyC;AACvCA,0BAAgB,GAAhBA;AADF,eAEO,IAAIpQ,IAAI,CAAJA,UAAe,aAAnB,SAAIA,CAAJ,EAA4C;AACjDoQ,0BAAgB,GAAG,aAD8B,SACjDA,CADiD;;AAIjD,cAAI,OAAO,uBAAP,WAAJ,aAA0D;AACxDA,4BAAgB,GAAG,uBAAnBA,CAAmB,CAAnBA;AACD;AAnBgB;AAuBnB;AACA;;;AACA,YAAI,0BAAJ,gBAA8C;AAC5CvQ,WAAC,CAADA,MAAC,CAADA,UAAmBkD,WAAS,CAA5BlD;AACD;;AACD,uBAAe,6BAA6B,KAA7B,OAAyC,KAAxD,gBAAwD,EAAzC,CAAf;AAtDK;AA0DP;AACA;AACA;;;AACA,UAAI,kBAAkBS,QAAQ,CAA1B,mBACAT,CAAC,CAADA,MAAC,CAADA,SAAkB4C,UAAQ,CAA1B5C,uBADJ,GACyD;AACvDA,SAAC,CAACS,QAAQ,CAAVT,IAAC,CAADA,kCAAkDA,CAAC,CAAnDA;AACD;;AAED;;AACA;;AAEAA,OAAC,CAAC,KAAFA,KAAC,CAADA,aAA0BkD,WAAS,CAAnClD;AACAA,OAAC,CAADA,MAAC,CAADA,aACekD,WAAS,CADxBlD,cAEWA,CAAC,CAADA,MAAQ8C,OAAK,CAAb9C,OAFXA,aAEWA,CAFXA;AAGD,K;;WAEDyM,I,GAAAA,gBAAO;AACL,UAAI,0BAA0BzM,CAAC,CAAC,KAAFA,QAAC,CAADA,UAA0BkD,WAAS,CAA7D,QAA0BlD,CAA1B,IAA2EA,CAAC,CAAC,KAAFA,KAAC,CAADA,UAAuBkD,WAAS,CAA/G,IAA+ElD,CAA/E,EAAuH;AACrH;AACD;;AAED,UAAMiK,aAAa,GAAG;AACpBA,qBAAa,EAAE,KAAKoG;AADA,OAAtB;AAGA,UAAMC,SAAS,GAAGtQ,CAAC,CAADA,MAAQ8C,OAAK,CAAb9C,MAAlB,aAAkBA,CAAlB;;AACA,UAAM4D,MAAM,GAAGuM,QAAQ,CAARA,sBAA+B,KAA9C,QAAeA,CAAf;;AAEAnQ,OAAC,CAADA,MAAC,CAADA;;AAEA,UAAIsQ,SAAS,CAAb,kBAAIA,EAAJ,EAAoC;AAClC;AACD;;AAEDtQ,OAAC,CAAC,KAAFA,KAAC,CAADA,aAA0BkD,WAAS,CAAnClD;AACAA,OAAC,CAADA,MAAC,CAADA,aACekD,WAAS,CADxBlD,cAEWA,CAAC,CAADA,MAAQ8C,OAAK,CAAb9C,OAFXA,aAEWA,CAFXA;AAGD,K;;WAEDiN,I,GAAAA,gBAAO;AACL,UAAI,0BAA0BjN,CAAC,CAAC,KAAFA,QAAC,CAADA,UAA0BkD,WAAS,CAA7D,QAA0BlD,CAA1B,IAA2E,CAACA,CAAC,CAAC,KAAFA,KAAC,CAADA,UAAuBkD,WAAS,CAAhH,IAAgFlD,CAAhF,EAAwH;AACtH;AACD;;AAED,UAAMiK,aAAa,GAAG;AACpBA,qBAAa,EAAE,KAAKoG;AADA,OAAtB;AAGA,UAAMG,SAAS,GAAGxQ,CAAC,CAADA,MAAQ8C,OAAK,CAAb9C,MAAlB,aAAkBA,CAAlB;;AACA,UAAM4D,MAAM,GAAGuM,QAAQ,CAARA,sBAA+B,KAA9C,QAAeA,CAAf;;AAEAnQ,OAAC,CAADA,MAAC,CAADA;;AAEA,UAAIwQ,SAAS,CAAb,kBAAIA,EAAJ,EAAoC;AAClC;AACD;;AAEDxQ,OAAC,CAAC,KAAFA,KAAC,CAADA,aAA0BkD,WAAS,CAAnClD;AACAA,OAAC,CAADA,MAAC,CAADA,aACekD,WAAS,CADxBlD,cAEWA,CAAC,CAADA,MAAQ8C,OAAK,CAAb9C,QAFXA,aAEWA,CAFXA;AAGD,K;;WAED0D,O,GAAAA,mBAAU;AACR1D,OAAC,CAADA,WAAa,KAAbA;AACAA,OAAC,CAAC,KAAFA,QAAC,CAADA;AACA;AACA;;AACA,UAAI,iBAAJ,MAA2B;AACzB;;AACA;AACD;AACF,K;;WAEDyQ,M,GAAAA,kBAAS;AACP,uBAAiB,KAAjB,aAAiB,EAAjB;;AACA,UAAI,iBAAJ,MAA2B;AACzB;AACD;AACF,K,CAAA;;;WAID5H,kB,GAAAA,8BAAqB;AAAA;;AACnB7I,OAAC,CAAC,KAAFA,QAAC,CAADA,IAAoB8C,OAAK,CAAzB9C,OAAiC,iBAAW;AAC1CC,aAAK,CAALA;AACAA,aAAK,CAALA;;AACA,aAAI,CAAJ;AAHFD;AAKD,K;;WAED0I,U,GAAAA,4BAAmB;AACjB3G,YAAM,qBACD,iBADC,SAED/B,CAAC,CAAC,KAAFA,QAAC,CAADA,CAFC,IAEDA,EAFC,EAAN+B,MAAM,CAANA;AAMA5B,UAAI,CAAJA,gCAGE,iBAHFA;AAMA;AACD,K;;WAEDuQ,e,GAAAA,2BAAkB;AAChB,UAAI,CAAC,KAAL,OAAiB;AACf,YAAM9M,MAAM,GAAGuM,QAAQ,CAARA,sBAA+B,KAA9C,QAAeA,CAAf;;AAEA,oBAAY;AACV,uBAAavM,MAAM,CAANA,cAAqBhB,UAAQ,CAA1C,IAAagB,CAAb;AACD;AACF;;AACD,aAAO,KAAP;AACD,K;;WAED+M,a,GAAAA,yBAAgB;AACd,UAAMC,eAAe,GAAG5Q,CAAC,CAAC,cAA1B,UAAyB,CAAzB;AACA,UAAI6Q,SAAS,GAAGtB,aAAa,CAFf,MAEd,CAFc;;AAKd,UAAIqB,eAAe,CAAfA,SAAyB1N,WAAS,CAAtC,MAAI0N,CAAJ,EAAgD;AAC9CC,iBAAS,GAAGtB,aAAa,CAAzBsB;;AACA,YAAI7Q,CAAC,CAAC,KAAFA,KAAC,CAADA,UAAuBkD,WAAS,CAApC,SAAIlD,CAAJ,EAAiD;AAC/C6Q,mBAAS,GAAGtB,aAAa,CAAzBsB;AACD;AAJH,aAKO,IAAID,eAAe,CAAfA,SAAyB1N,WAAS,CAAtC,SAAI0N,CAAJ,EAAmD;AACxDC,iBAAS,GAAGtB,aAAa,CAAzBsB;AADK,aAEA,IAAID,eAAe,CAAfA,SAAyB1N,WAAS,CAAtC,QAAI0N,CAAJ,EAAkD;AACvDC,iBAAS,GAAGtB,aAAa,CAAzBsB;AADK,aAEA,IAAI7Q,CAAC,CAAC,KAAFA,KAAC,CAADA,UAAuBkD,WAAS,CAApC,SAAIlD,CAAJ,EAAiD;AACtD6Q,iBAAS,GAAGtB,aAAa,CAAzBsB;AACD;;AACD;AACD,K;;WAEDC,a,GAAAA,yBAAgB;AACd,aAAO9Q,CAAC,CAAC,KAAFA,QAAC,CAADA,6BAAP;AACD,K;;WAED+Q,U,GAAAA,sBAAa;AAAA;;AACX,UAAMjB,MAAM,GAAZ;;AAEA,UAAI,OAAO,aAAP,WAAJ,YAA+C;AAC7CA,cAAM,CAANA,KAAY,gBAAU;AACpB3L,cAAI,CAAJA,4BACKA,IAAI,CADTA,SAEK,MAAI,CAAJ,eAAoBA,IAAI,CAAxB,SAAkC,MAAI,CAAtC,aAFLA;AAKA;AANF2L;AADF,aASO;AACLA,cAAM,CAANA,SAAgB,aAAhBA;AACD;;AAED;AACD,K;;WAEDkB,gB,GAAAA,4BAAmB;AACjB,UAAMC,YAAY,GAAG;AACnBJ,iBAAS,EAAE,KADQ,aACR,EADQ;AAEnBK,iBAAS,EAAE;AACTpB,gBAAM,EAAE,KADC,UACD,EADC;AAETC,cAAI,EAAE;AACJoB,mBAAO,EAAE,aAAapB;AADlB,WAFG;AAKTqB,yBAAe,EAAE;AACfC,6BAAiB,EAAE,aAAarB;AADjB,WALR,CAFQ;;AAER;AAFQ,OAArB;;AAcA,UAAI,yBAAJ,UAAuC;AACrCiB,oBAAY,CAAZA,uBAAoC;AAClCE,iBAAO,EAAE;AADyB,SAApCF;AAGD;;AAED;AACD,K,CAAA;;;aAIMhN,gB,GAAP,kCAAgC;AAC9B,aAAO,UAAU,YAAY;AAC3B,YAAIE,IAAI,GAAGnE,CAAC,CAADA,IAAC,CAADA,MAAX,UAAWA,CAAX;;AACA,YAAMiL,OAAO,GAAG,wCAAhB;;AAEA,YAAI,CAAJ,MAAW;AACT9G,cAAI,GAAG,mBAAPA,OAAO,CAAPA;AACAnE,WAAC,CAADA,IAAC,CAADA;AACD;;AAED,YAAI,kBAAJ,UAAgC;AAC9B,cAAI,OAAOmE,IAAI,CAAX,MAAW,CAAX,KAAJ,aAAyC;AACvC,kBAAM,8CAAN,IAAM,CAAN;AACD;;AACDA,cAAI,CAAJA,MAAI,CAAJA;AACD;AAdH,OAAO,CAAP;AAgBD,K;;aAEMmN,W,GAAP,4BAA0B;AACxB,UAAIrR,KAAK,KAAKA,KAAK,CAALA,sCACZA,KAAK,CAALA,oBAA0BA,KAAK,CAALA,UAD5B,WAAS,CAAT,EAC0D;AACxD;AACD;;AAED,UAAMsR,OAAO,GAAG,cAAc9Q,QAAQ,CAARA,iBAA0BmC,UAAQ,CAAhE,WAA8BnC,CAAd,CAAhB;;AAEA,WAAK,IAAI8K,CAAC,GAAL,GAAWC,GAAG,GAAG+F,OAAO,CAA7B,QAAsChG,CAAC,GAAvC,KAA+CA,CAA/C,IAAoD;AAClD,YAAM3H,MAAM,GAAGuM,QAAQ,CAARA,sBAA+BoB,OAAO,CAArD,CAAqD,CAAtCpB,CAAf;;AACA,YAAMqB,OAAO,GAAGxR,CAAC,CAACuR,OAAO,CAATvR,CAAS,CAAR,CAADA,MAAhB,UAAgBA,CAAhB;AACA,YAAMiK,aAAa,GAAG;AACpBA,uBAAa,EAAEsH,OAAO;AADF,SAAtB;;AAIA,YAAItR,KAAK,IAAIA,KAAK,CAALA,SAAb,SAAqC;AACnCgK,uBAAa,CAAbA;AACD;;AAED,YAAI,CAAJ,SAAc;AACZ;AACD;;AAED,YAAMwH,YAAY,GAAGD,OAAO,CAA5B;;AACA,YAAI,CAACxR,CAAC,CAADA,MAAC,CAADA,UAAmBkD,WAAS,CAAjC,IAAKlD,CAAL,EAAyC;AACvC;AACD;;AAED,YAAIC,KAAK,KAAKA,KAAK,CAALA,oBACV,uBAAuBA,KAAK,CAALA,OADbA,OACV,CADUA,IACsCA,KAAK,CAALA,oBAA0BA,KAAK,CAALA,UAD1EA,WAAK,CAALA,IAEAD,CAAC,CAADA,iBAAmBC,KAAK,CAF5B,MAEID,CAFJ,EAEsC;AACpC;AACD;;AAED,YAAMwQ,SAAS,GAAGxQ,CAAC,CAADA,MAAQ8C,OAAK,CAAb9C,MAAlB,aAAkBA,CAAlB;AACAA,SAAC,CAADA,MAAC,CAADA;;AACA,YAAIwQ,SAAS,CAAb,kBAAIA,EAAJ,EAAoC;AAClC;AA7BgD;AAiClD;;;AACA,YAAI,kBAAkB/P,QAAQ,CAA9B,iBAAgD;AAC9CT,WAAC,CAACS,QAAQ,CAAVT,IAAC,CAADA,mCAAmDA,CAAC,CAApDA;AACD;;AAEDuR,eAAO,CAAPA,CAAO,CAAPA;AAEAvR,SAAC,CAADA,YAAC,CAADA,aAA4BkD,WAAS,CAArClD;AACAA,SAAC,CAADA,MAAC,CAADA,aACekD,WAAS,CADxBlD,cAEWA,CAAC,CAADA,MAAQ8C,OAAK,CAAb9C,QAFXA,aAEWA,CAFXA;AAGD;AACF,K;;aAEM0R,qB,GAAP,wCAAsC;AACpC;AACA,UAAM/Q,QAAQ,GAAGR,IAAI,CAAJA,uBAAjB,OAAiBA,CAAjB;;AAEA,oBAAc;AACZyD,cAAM,GAAGnD,QAAQ,CAARA,cAATmD,QAASnD,CAATmD;AACD;;AAED,aAAOA,MAAM,IAAIhD,OAAO,CAAxB;AACD,K,CAAA;;;aAGM+Q,sB,GAAP,uCAAqC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAI,uBAAuB1R,KAAK,CAALA,OAAvB,WACAA,KAAK,CAALA,2BAAiCA,KAAK,CAALA,6BAClCA,KAAK,CAALA,gCAAsCA,KAAK,CAALA,UAAtCA,oBACCD,CAAC,CAACC,KAAK,CAAPD,MAAC,CAADA,SAAwB4C,UAAQ,CAAhC5C,MAHA,MACiCC,CADjC,GAGiD,CAACuO,cAAc,CAAdA,KAAoBvO,KAAK,CAH/E,KAGsDuO,CAHtD,EAGwF;AACtF;AACD;;AAEDvO,WAAK,CAALA;AACAA,WAAK,CAALA;;AAEA,UAAI,iBAAiBD,CAAC,CAADA,IAAC,CAADA,UAAiBkD,WAAS,CAA/C,QAAqBlD,CAArB,EAA2D;AACzD;AACD;;AAED,UAAM4D,MAAM,GAAKuM,QAAQ,CAARA,sBAAjB,IAAiBA,CAAjB;;AACA,UAAMC,QAAQ,GAAGpQ,CAAC,CAADA,MAAC,CAADA,UAAmBkD,WAAS,CAA7C,IAAiBlD,CAAjB;;AAEA,UAAI,aAAaoQ,QAAQ,KAAKnQ,KAAK,CAALA,4BAAkCA,KAAK,CAALA,UAAhE,aAAyB,CAAzB,EAAgG;AAC9F,YAAIA,KAAK,CAALA,UAAJ,gBAAoC;AAClC,cAAM6E,MAAM,GAAGlB,MAAM,CAANA,cAAqBhB,UAAQ,CAA5C,WAAegB,CAAf;AACA5D,WAAC,CAADA,MAAC,CAADA;AACD;;AAEDA,SAAC,CAADA,IAAC,CAADA;AACA;AACD;;AAED,UAAM4R,KAAK,GAAG,cAAchO,MAAM,CAANA,iBAAwBhB,UAAQ,CAA5D,aAA4BgB,CAAd,CAAd;;AAEA,UAAIgO,KAAK,CAALA,WAAJ,GAAwB;AACtB;AACD;;AAED,UAAIpJ,KAAK,GAAGoJ,KAAK,CAALA,QAAc3R,KAAK,CAA/B,MAAY2R,CAAZ;;AAEA,UAAI3R,KAAK,CAALA,8BAAoCuI,KAAK,GAA7C,GAAmD;AAAE;AACnDA,aAAK;AACN;;AAED,UAAIvI,KAAK,CAALA,gCAAsCuI,KAAK,GAAGoJ,KAAK,CAALA,SAAlD,GAAoE;AAAE;AACpEpJ,aAAK;AACN;;AAED,UAAIA,KAAK,GAAT,GAAe;AACbA,aAAK,GAALA;AACD;;AAEDoJ,WAAK,CAALA,KAAK,CAALA;AACD,K;;;;0BAjZoB;AACnB;AACD;;;0BAEoB;AACnB;AACD;;;0BAEwB;AACvB;AACD;;;;;AA0YH;;;;;;;AAMA5R,GAAC,CAADA,QAAC,CAADA,IACM8C,OAAK,CADX9C,kBAC8B4C,UAAQ,CADtC5C,aACoDmQ,QAAQ,CAD5DnQ,2BAEM8C,OAAK,CAFX9C,kBAE8B4C,UAAQ,CAFtC5C,MAE6CmQ,QAAQ,CAFrDnQ,2BAGS8C,OAAK,CAHd9C,cAGS8C,GAHT9C,GAGS8C,GAAwBA,OAAK,CAHtC9C,gBAGyDmQ,QAAQ,CAHjEnQ,gBAIM8C,OAAK,CAJX9C,gBAI4B4C,UAAQ,CAJpC5C,aAIkD,iBAAiB;AAC/DC,SAAK,CAALA;AACAA,SAAK,CAALA;;AACAkQ,YAAQ,CAARA,sBAA+BnQ,CAAC,CAAhCmQ,IAAgC,CAAhCA;AAPJnQ,QASM8C,OAAK,CATX9C,gBAS4B4C,UAAQ,CATpC5C,YASiD,aAAO;AACpDmJ,KAAC,CAADA;AAVJnJ;AAaA;;;;;;AAMAA,GAAC,CAADA,aAAamQ,QAAQ,CAArBnQ;AACAA,GAAC,CAADA;;AACAA,GAAC,CAADA,wBAAwB,YAAM;AAC5BA,KAAC,CAADA;AACA,WAAOmQ,QAAQ,CAAf;AAFFnQ;AChhBA;;;;;;;AAMA,MAAMsC,MAAI,GAAV;AACA,MAAMC,SAAO,GAAb;AACA,MAAMC,UAAQ,GAAd;AACA,MAAMC,WAAS,SAAf;AACA,MAAMC,cAAY,GAAlB;AACA,MAAMC,oBAAkB,GAAG3C,CAAC,CAADA,GAA3B,MAA2BA,CAA3B;AACA,MAAMkO,gBAAc,GAApB,G,CAAA;;AAEA,MAAM1I,SAAO,GAAG;AACdqM,YAAQ,EADM;AAEdnM,YAAQ,EAFM;AAGdoM,SAAK,EAHS;AAIdrF,QAAI,EAAO;AAJG,GAAhB;AAOA,MAAM1G,aAAW,GAAG;AAClB8L,YAAQ,EADU;AAElBnM,YAAQ,EAFU;AAGlBoM,SAAK,EAHa;AAIlBrF,QAAI,EAAO;AAJO,GAApB;AAOA,MAAM3J,OAAK,GAAG;AACZ6I,QAAI,WADQ;AAEZC,UAAM,aAFM;AAGZvI,QAAI,WAHQ;AAIZqI,SAAK,YAJO;AAKZqG,WAAO,cALK;AAMZC,UAAM,aANM;AAOZC,iBAAa,oBAPD;AAQZC,mBAAe,sBARH;AASZC,mBAAe,sBATH;AAUZC,qBAAiB,wBAVL;AAWZnP,kBAAc,0BAA0BP;AAX5B,GAAd;AAcA,MAAMQ,WAAS,GAAG;AAChBmP,cAAU,EADM;AAEhBC,sBAAkB,EAFF;AAGhBC,YAAQ,EAHQ;AAIhBC,QAAI,EAJY;AAKhBpP,QAAI,EALY;AAMhBC,QAAI,EAAiB;AANL,GAAlB;AASA,MAAMT,UAAQ,GAAG;AACf6P,UAAM,EADS;AAEfC,cAAU,EAFK;AAGfhO,eAAW,EAHI;AAIfiO,gBAAY,EAJG;AAKfC,iBAAa,EALE;AAMfC,kBAAc,EAAG;AAGnB;;;;;;AATiB,GAAjB;;MAeMC;;;AACJ,oCAA6B;AAC3B,qBAA4B,gBAA5B,MAA4B,CAA5B;AACA;AACA,qBAA4BlS,OAAO,CAAPA,cAAsBgC,UAAQ,CAA1D,MAA4BhC,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACD,K,CAAA;;;kCAYD;;WAEAkE,M,GAAAA,+BAAsB;AACpB,aAAO,gBAAgB,KAAhB,IAAgB,EAAhB,GAA8B,UAArC,aAAqC,CAArC;AACD,K;;WAED2H,I,GAAAA,6BAAoB;AAAA;;AAClB,UAAI,iBAAiB,KAArB,kBAA4C;AAC1C;AACD;;AAED,UAAIzM,CAAC,CAAC,KAAFA,QAAC,CAADA,UAA0BkD,WAAS,CAAvC,IAAIlD,CAAJ,EAA+C;AAC7C;AACD;;AAED,UAAMsQ,SAAS,GAAG,CAAC,CAAD,MAAQxN,OAAK,CAAb,MAAoB;AACpCmH,qBAAa,EAAbA;AADoC,OAApB,CAAlB;AAIAjK,OAAC,CAAC,KAAFA,QAAC,CAADA;;AAEA,UAAI,iBAAiBsQ,SAAS,CAA9B,kBAAqBA,EAArB,EAAqD;AACnD;AACD;;AAED;;AAEA;;AACA;;AAEA;;AAEA;;AACA;;AAEAtQ,OAAC,CAAC,KAAFA,QAAC,CAADA,IACE8C,OAAK,CADP9C,eAEE4C,UAAQ,CAFV5C,cAGE;AAAA,eAAW,KAAI,CAAJ,KAAX,KAAW,CAAX;AAHFA;AAMAA,OAAC,CAAC,KAAFA,OAAC,CAADA,IAAmB8C,OAAK,CAAxB9C,mBAA4C,YAAM;AAChDA,SAAC,CAAC,KAAI,CAANA,QAAC,CAADA,KAAqB8C,OAAK,CAA1B9C,iBAA4C,iBAAW;AACrD,cAAIA,CAAC,CAACC,KAAK,CAAPD,MAAC,CAADA,IAAmB,KAAI,CAA3B,QAAIA,CAAJ,EAAuC;AACrC,iBAAI,CAAJ;AACD;AAHHA;AADFA;;AAQA,yBAAmB;AAAA,eAAM,KAAI,CAAJ,aAAN,aAAM,CAAN;AAAnB;AACD,K;;WAEDiN,I,GAAAA,qBAAY;AAAA;;AACV,iBAAW;AACThN,aAAK,CAALA;AACD;;AAED,UAAI,CAAC,KAAD,YAAkB,KAAtB,kBAA6C;AAC3C;AACD;;AAED,UAAMuQ,SAAS,GAAGxQ,CAAC,CAADA,MAAQ8C,OAAK,CAA/B,IAAkB9C,CAAlB;AAEAA,OAAC,CAAC,KAAFA,QAAC,CAADA;;AAEA,UAAI,CAAC,KAAD,YAAkBwQ,SAAS,CAA/B,kBAAsBA,EAAtB,EAAsD;AACpD;AACD;;AAED;AACA,UAAMuC,UAAU,GAAG/S,CAAC,CAAC,KAAFA,QAAC,CAADA,UAA0BkD,WAAS,CAAtD,IAAmBlD,CAAnB;;AAEA,sBAAgB;AACd;AACD;;AAED;;AACA;;AAEAA,OAAC,CAADA,QAAC,CAADA,KAAgB8C,OAAK,CAArB9C;AAEAA,OAAC,CAAC,KAAFA,QAAC,CAADA,aAA6BkD,WAAS,CAAtClD;AAEAA,OAAC,CAAC,KAAFA,QAAC,CAADA,KAAqB8C,OAAK,CAA1B9C;AACAA,OAAC,CAAC,KAAFA,OAAC,CAADA,KAAoB8C,OAAK,CAAzB9C;;AAGA,sBAAgB;AACd,YAAMe,kBAAkB,GAAIZ,IAAI,CAAJA,iCAAsC,KAAlE,QAA4BA,CAA5B;AAEAH,SAAC,CAAC,KAAFA,QAAC,CAADA,KACOG,IAAI,CADXH,gBAC4B;AAAA,iBAAW,MAAI,CAAJ,WAAX,KAAW,CAAX;AAD5BA;AAHF,aAMO;AACL;AACD;AACF,K;;WAED0D,O,GAAAA,mBAAU;AACR,eAAS,KAAT,UAAwB,KAAxB,iBACW;AAAA,eAAiB1D,CAAC,CAADA,WAAC,CAADA,KAAjB,WAAiBA,CAAjB;AADX;AAGA;;;;;;AAKAA,OAAC,CAADA,QAAC,CAADA,KAAgB8C,OAAK,CAArB9C;AAEAA,OAAC,CAADA,WAAa,KAAbA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD,K;;WAEDgT,Y,GAAAA,wBAAe;AACb;AACD,K,CAAA;;;WAIDtK,U,GAAAA,4BAAmB;AACjB3G,YAAM,gCAANA,MAAM,CAANA;AAIA5B,UAAI,CAAJA;AACA;AACD,K;;WAED8S,Y,GAAAA,qCAA4B;AAAA;;AAC1B,UAAMF,UAAU,GAAG/S,CAAC,CAAC,KAAFA,QAAC,CAADA,UAA0BkD,WAAS,CAAtD,IAAmBlD,CAAnB;;AAEA,UAAI,CAAC,cAAD,cACA,sCAAsCkT,IAAI,CAD9C,cAC6D;AAC3D;AACAzS,gBAAQ,CAARA,iBAA0B,KAA1BA;AACD;;AAED;;AACA;;AACA;;AAEA,UAAIT,CAAC,CAAC,KAAFA,OAAC,CAADA,UAAyBkD,WAAS,CAAtC,UAAIlD,CAAJ,EAAoD;AAClD,mCAA2B4C,UAAQ,CAAnC;AADF,aAEO;AACL;AACD;;AAED,sBAAgB;AACdzC,YAAI,CAAJA,OAAY,KAAZA;AACD;;AAEDH,OAAC,CAAC,KAAFA,QAAC,CAADA,UAA0BkD,WAAS,CAAnClD;;AAEA,UAAI,aAAJ,OAAwB;AACtB;AACD;;AAED,UAAMmT,UAAU,GAAG,CAAC,CAAD,MAAQrQ,OAAK,CAAb,OAAqB;AACtCmH,qBAAa,EAAbA;AADsC,OAArB,CAAnB;;AAIA,UAAMmJ,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC/B,YAAI,MAAI,CAAJ,QAAJ,OAAwB;AACtB,gBAAI,CAAJ;AACD;;AACD,cAAI,CAAJ;AACApT,SAAC,CAAC,MAAI,CAANA,QAAC,CAADA;AALF;;AAQA,sBAAgB;AACd,YAAMe,kBAAkB,GAAIZ,IAAI,CAAJA,iCAAsC,KAAlE,OAA4BA,CAA5B;AAEAH,SAAC,CAAC,KAAFA,OAAC,CAADA,KACOG,IAAI,CADXH;AAHF,aAMO;AACLoT,0BAAkB;AACnB;AACF,K;;WAEDC,a,GAAAA,yBAAgB;AAAA;;AACdrT,OAAC,CAADA,QAAC,CAADA,KACO8C,OAAK,CADZ9C;AAAAA,UAEM8C,OAAK,CAFX9C,SAEqB,iBAAW;AAC5B,YAAIS,QAAQ,KAAKR,KAAK,CAAlBQ,UACA,MAAI,CAAJ,aAAkBR,KAAK,CADvBQ,UAEAT,CAAC,CAAC,MAAI,CAANA,QAAC,CAADA,KAAqBC,KAAK,CAA1BD,mBAFJ,GAEqD;AACnD,gBAAI,CAAJ;AACD;AAPLA;AASD,K;;WAEDsT,e,GAAAA,2BAAkB;AAAA;;AAChB,UAAI,iBAAiB,aAArB,UAA4C;AAC1CtT,SAAC,CAAC,KAAFA,QAAC,CAADA,IAAoB8C,OAAK,CAAzB9C,iBAA2C,iBAAW;AACpD,cAAIC,KAAK,CAALA,UAAJ,kBAAoC;AAClCA,iBAAK,CAALA;;AACA,kBAAI,CAAJ;AACD;AAJHD;AADF,aAOO,IAAI,CAAC,KAAL,UAAoB;AACzBA,SAAC,CAAC,KAAFA,QAAC,CAADA,KAAqB8C,OAAK,CAA1B9C;AACD;AACF,K;;WAEDuT,e,GAAAA,2BAAkB;AAAA;;AAChB,UAAI,KAAJ,UAAmB;AACjBvT,SAAC,CAADA,MAAC,CAADA,IAAa8C,OAAK,CAAlB9C,QAA2B;AAAA,iBAAW,MAAI,CAAJ,aAAX,KAAW,CAAX;AAA3BA;AADF,aAEO;AACLA,SAAC,CAADA,MAAC,CAADA,KAAc8C,OAAK,CAAnB9C;AACD;AACF,K;;WAEDwT,U,GAAAA,sBAAa;AAAA;;AACX;;AACA;;AACA;;AACA;;AACA,yBAAmB,YAAM;AACvBxT,SAAC,CAACS,QAAQ,CAAVT,IAAC,CAADA,aAA6BkD,WAAS,CAAtClD;;AACA,cAAI,CAAJ;;AACA,cAAI,CAAJ;;AACAA,SAAC,CAAC,MAAI,CAANA,QAAC,CAADA,SAAyB8C,OAAK,CAA9B9C;AAJF;AAMD,K;;WAEDyT,e,GAAAA,2BAAkB;AAChB,UAAI,KAAJ,WAAoB;AAClBzT,SAAC,CAAC,KAAFA,SAAC,CAADA;AACA;AACD;AACF,K;;WAED0T,a,GAAAA,iCAAwB;AAAA;;AACtB,UAAMC,OAAO,GAAG3T,CAAC,CAAC,KAAFA,QAAC,CAADA,UAA0BkD,WAAS,CAAnClD,QACZkD,WAAS,CADGlD,OAAhB;;AAGA,UAAI,iBAAiB,aAArB,UAA4C;AAC1C,yBAAiBS,QAAQ,CAARA,cAAjB,KAAiBA,CAAjB;AACA,mCAA2ByC,WAAS,CAApC;;AAEA,qBAAa;AACX;AACD;;AAEDlD,SAAC,CAAC,KAAFA,SAAC,CAADA,UAA2BS,QAAQ,CAAnCT;AAEAA,SAAC,CAAC,KAAFA,QAAC,CAADA,IAAoB8C,OAAK,CAAzB9C,eAAyC,iBAAW;AAClD,cAAI,MAAI,CAAR,sBAA+B;AAC7B,kBAAI,CAAJ;AACA;AACD;;AACD,cAAIC,KAAK,CAALA,WAAiBA,KAAK,CAA1B,eAA0C;AACxC;AACD;;AACD,cAAI,MAAI,CAAJ,qBAAJ,UAAwC;AACtC,kBAAI,CAAJ;AADF,iBAEO;AACL,kBAAI,CAAJ;AACD;AAZHD;;AAeA,qBAAa;AACXG,cAAI,CAAJA,OAAY,KAAZA;AACD;;AAEDH,SAAC,CAAC,KAAFA,SAAC,CAADA,UAA2BkD,WAAS,CAApClD;;AAEA,YAAI,CAAJ,UAAe;AACb;AACD;;AAED,YAAI,CAAJ,SAAc;AACZ4T,kBAAQ;AACR;AACD;;AAED,YAAMC,0BAA0B,GAAG1T,IAAI,CAAJA,iCAAsC,KAAzE,SAAmCA,CAAnC;AAEAH,SAAC,CAAC,KAAFA,SAAC,CAADA,KACOG,IAAI,CADXH;AA1CF,aA6CO,IAAI,CAAC,KAAD,YAAkB,KAAtB,WAAsC;AAC3CA,SAAC,CAAC,KAAFA,SAAC,CAADA,aAA8BkD,WAAS,CAAvClD;;AAEA,YAAM8T,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B,gBAAI,CAAJ;;AACA,wBAAc;AACZF,oBAAQ;AACT;AAJH;;AAOA,YAAI5T,CAAC,CAAC,KAAFA,QAAC,CAADA,UAA0BkD,WAAS,CAAvC,IAAIlD,CAAJ,EAA+C;AAC7C,cAAM6T,2BAA0B,GAAG1T,IAAI,CAAJA,iCAAsC,KAAzE,SAAmCA,CAAnC;;AAEAH,WAAC,CAAC,KAAFA,SAAC,CAADA,KACOG,IAAI,CADXH;AAHF,eAMO;AACL8T,wBAAc;AACf;AAlBI,aAmBA,cAAc;AACnBF,gBAAQ;AACT;AACF,K,CAAA;AAGD;AACA;AACA;;;WAEAG,a,GAAAA,yBAAgB;AACd,UAAMC,kBAAkB,GACtB,6BAA6BvT,QAAQ,CAARA,gBAD/B;;AAGA,UAAI,CAAC,KAAD,sBAAJ,oBAAoD;AAClD,0CAAqC,KAArC,eAAqC,GAArC;AACD;;AAED,UAAI,2BAA2B,CAA/B,oBAAoD;AAClD,2CAAsC,KAAtC,eAAsC,GAAtC;AACD;AACF,K;;WAEDwT,iB,GAAAA,6BAAoB;AAClB;AACA;AACD,K;;WAEDC,e,GAAAA,2BAAkB;AAChB,UAAMC,IAAI,GAAG1T,QAAQ,CAARA,KAAb,qBAAaA,EAAb;AACA,gCAA0B0T,IAAI,CAAJA,OAAYA,IAAI,CAAhBA,QAAyBpM,MAAM,CAAzD;AACA,6BAAuB,KAAvB,kBAAuB,EAAvB;AACD,K;;WAEDqM,a,GAAAA,yBAAgB;AAAA;;AACd,UAAI,KAAJ,oBAA6B;AAC3B;AACA;AACA,YAAMC,YAAY,GAAG,cAAc5T,QAAQ,CAARA,iBAA0BmC,UAAQ,CAArE,aAAmCnC,CAAd,CAArB;AACA,YAAM6T,aAAa,GAAG,cAAc7T,QAAQ,CAARA,iBAA0BmC,UAAQ,CAJ3C,cAISnC,CAAd,CAAtB,CAJ2B;;AAO3BT,SAAC,CAADA,YAAC,CAADA,MAAqB,0BAAoB;AACvC,cAAMuU,aAAa,GAAG3T,OAAO,CAAPA,MAAtB;AACA,cAAM4T,iBAAiB,GAAGxU,CAAC,CAADA,OAAC,CAADA,KAA1B,eAA0BA,CAA1B;AACAA,WAAC,CAADA,OAAC,CAADA,2DAE2BkB,UAAU,CAAVA,iBAAU,CAAVA,GAAgC,MAAI,CAF/DlB,eAE2BkB,GAF3BlB;AAVyB,SAO3BA,EAP2B;;AAgB3BA,SAAC,CAADA,aAAC,CAADA,MAAsB,0BAAoB;AACxC,cAAMyU,YAAY,GAAG7T,OAAO,CAAPA,MAArB;AACA,cAAM8T,gBAAgB,GAAG1U,CAAC,CAADA,OAAC,CAADA,KAAzB,cAAyBA,CAAzB;AACAA,WAAC,CAADA,OAAC,CAADA,wDAE0BkB,UAAU,CAAVA,gBAAU,CAAVA,GAA+B,MAAI,CAF7DlB,eAE0BkB,GAF1BlB;AAnByB,SAgB3BA,EAhB2B;;AAyB3B,YAAMuU,aAAa,GAAG9T,QAAQ,CAARA,WAAtB;AACA,YAAM+T,iBAAiB,GAAGxU,CAAC,CAACS,QAAQ,CAAVT,IAAC,CAADA,KAA1B,eAA0BA,CAA1B;AACAA,SAAC,CAACS,QAAQ,CAAVT,IAAC,CAADA,2DAE2BkB,UAAU,CAAVA,iBAAU,CAAVA,GAAgC,KAF3DlB,eAE2BkB,GAF3BlB;AAGD;;AAEDA,OAAC,CAACS,QAAQ,CAAVT,IAAC,CAADA,UAA0BkD,WAAS,CAAnClD;AACD,K;;WAED2U,e,GAAAA,2BAAkB;AAChB;AACA,UAAMN,YAAY,GAAG,cAAc5T,QAAQ,CAARA,iBAA0BmC,UAAQ,CAArE,aAAmCnC,CAAd,CAArB;AACAT,OAAC,CAADA,YAAC,CAADA,MAAqB,0BAAoB;AACvC,YAAM4U,OAAO,GAAG5U,CAAC,CAADA,OAAC,CAADA,MAAhB,eAAgBA,CAAhB;AACAA,SAAC,CAADA,OAAC,CAADA;AACAY,eAAO,CAAPA,qBAA6BgU,OAAO,aAApChU;AANc,OAGhBZ,EAHgB;;AAUhB,UAAM6U,QAAQ,GAAG,cAAcpU,QAAQ,CAARA,sBAA6BmC,UAAQ,CAApE,cAA+BnC,CAAd,CAAjB;AACAT,OAAC,CAADA,QAAC,CAADA,MAAiB,0BAAoB;AACnC,YAAM8U,MAAM,GAAG9U,CAAC,CAADA,OAAC,CAADA,MAAf,cAAeA,CAAf;;AACA,YAAI,kBAAJ,aAAmC;AACjCA,WAAC,CAADA,OAAC,CAADA;AACD;AAfa,OAWhBA,EAXgB;;AAmBhB,UAAM4U,OAAO,GAAG5U,CAAC,CAACS,QAAQ,CAAVT,IAAC,CAADA,MAAhB,eAAgBA,CAAhB;AACAA,OAAC,CAACS,QAAQ,CAAVT,IAAC,CAADA;AACAS,cAAQ,CAARA,0BAAmCmU,OAAO,aAA1CnU;AACD,K;;WAEDsU,kB,GAAAA,8BAAqB;AAAE;AACrB,UAAMC,SAAS,GAAGvU,QAAQ,CAARA,cAAlB,KAAkBA,CAAlB;AACAuU,eAAS,CAATA,YAAsB9R,WAAS,CAA/B8R;AACAvU,cAAQ,CAARA;AACA,UAAMwU,cAAc,GAAGD,SAAS,CAATA,gCAA0CA,SAAS,CAA1E;AACAvU,cAAQ,CAARA;AACA;AACD,K,CAAA;;;UAIMwD,gB,GAAP,iDAA+C;AAC7C,aAAO,UAAU,YAAY;AAC3B,YAAIE,IAAI,GAAGnE,CAAC,CAADA,IAAC,CAADA,MAAX,UAAWA,CAAX;;AACA,YAAMiL,OAAO,gCAERjL,CAAC,CAADA,IAAC,CAADA,CAFQ,IAERA,EAFQ,EAGR,kDAHL,EAAa,CAAb;;AAMA,YAAI,CAAJ,MAAW;AACTmE,cAAI,GAAG,gBAAPA,OAAO,CAAPA;AACAnE,WAAC,CAADA,IAAC,CAADA;AACD;;AAED,YAAI,kBAAJ,UAAgC;AAC9B,cAAI,OAAOmE,IAAI,CAAX,MAAW,CAAX,KAAJ,aAAyC;AACvC,kBAAM,8CAAN,IAAM,CAAN;AACD;;AACDA,cAAI,CAAJA,MAAI,CAAJA;AAJF,eAKO,IAAI8G,OAAO,CAAX,MAAkB;AACvB9G,cAAI,CAAJA;AACD;AApBH,OAAO,CAAP;AAsBD,K;;;;0BA9boB;AACnB;AACD;;;0BAEoB;AACnB;AACD;;;;;AA2bH;;;;;;;AAMAnE,GAAC,CAADA,QAAC,CAADA,IAAe8C,OAAK,CAApB9C,gBAAqC4C,UAAQ,CAA7C5C,aAA2D,iBAAiB;AAAA;;AAC1E;AACA,QAAMW,QAAQ,GAAGR,IAAI,CAAJA,uBAAjB,IAAiBA,CAAjB;;AAEA,kBAAc;AACZiL,YAAM,GAAG3K,QAAQ,CAARA,cAAT2K,QAAS3K,CAAT2K;AACD;;AAED,QAAMrJ,MAAM,GAAG/B,CAAC,CAADA,MAAC,CAADA,iDAERA,CAAC,CAADA,MAAC,CAADA,CAFQA,IAERA,EAFQA,EAGRA,CAAC,CAADA,IAAC,CAADA,CAHP,IAGOA,EAHQA,CAAf;;AAMA,QAAI,wBAAwB,iBAA5B,QAAqD;AACnDC,WAAK,CAALA;AACD;;AAED,QAAMgO,OAAO,GAAG,CAAC,CAAD,MAAC,CAAD,KAAcnL,OAAK,CAAnB,MAA0B,qBAAe;AACvD,UAAIwN,SAAS,CAAb,kBAAIA,EAAJ,EAAoC;AAClC;AACA;AACD;;AAEDrC,aAAO,CAAPA,IAAYnL,OAAK,CAAjBmL,QAA0B,YAAM;AAC9B,YAAIjO,CAAC,CAADA,OAAC,CAADA,IAAJ,UAAIA,CAAJ,EAA4B;AAC1B,iBAAI,CAAJ;AACD;AAHHiO;AANF,KAAgB,CAAhB;;AAaA6E,SAAK,CAALA,sBAA4B9S,CAAC,CAA7B8S,MAA6B,CAA7BA;AA/BF9S;AAkCA;;;;;;AAMAA,GAAC,CAADA,aAAa8S,KAAK,CAAlB9S;AACAA,GAAC,CAADA;;AACAA,GAAC,CAADA,wBAAwB,YAAM;AAC5BA,KAAC,CAADA;AACA,WAAO8S,KAAK,CAAZ;AAFF9S;AC5kBA;;;;;;;;AAOA,MAAMkV,QAAQ,GAAG,wEAAjB,YAAiB,CAAjB;AAWA,MAAMC,sBAAsB,GAA5B;AAEO,MAAMC,gBAAgB,GAAG;AAC9B;AACA,SAAK,uCAFyB,sBAEzB,CAFyB;AAG9BC,KAAC,EAAE,4BAH2B,KAG3B,CAH2B;AAI9BC,QAAI,EAJ0B;AAK9BC,KAAC,EAL6B;AAM9BC,MAAE,EAN4B;AAO9BC,OAAG,EAP2B;AAQ9BC,QAAI,EAR0B;AAS9BC,OAAG,EAT2B;AAU9BC,MAAE,EAV4B;AAW9BC,MAAE,EAX4B;AAY9BC,MAAE,EAZ4B;AAa9BC,MAAE,EAb4B;AAc9BC,MAAE,EAd4B;AAe9BC,MAAE,EAf4B;AAgB9BC,MAAE,EAhB4B;AAiB9BC,MAAE,EAjB4B;AAkB9B5K,KAAC,EAlB6B;AAmB9B6K,OAAG,EAAE,iCAnByB,QAmBzB,CAnByB;AAoB9BC,MAAE,EApB4B;AAqB9BC,MAAE,EArB4B;AAsB9BC,KAAC,EAtB6B;AAuB9BC,OAAG,EAvB2B;AAwB9BC,KAAC,EAxB6B;AAyB9BC,SAAK,EAzByB;AA0B9BC,QAAI,EA1B0B;AA2B9BC,OAAG,EA3B2B;AA4B9BC,OAAG,EA5B2B;AA6B9BC,UAAM,EA7BwB;AA8B9BC,KAAC,EA9B6B;AA+B9BC,MAAE,EAAE;AAGN;;;;;;AAlCgC,GAAzB;AAuCP,MAAMC,gBAAgB,GAAtB;AAEA;;;;;;AAKA,MAAMC,gBAAgB,GAAtB;;AAEA,wDAAsD;AACpD,QAAMC,QAAQ,GAAGC,IAAI,CAAJA,SAAjB,WAAiBA,EAAjB;;AAEA,QAAIC,oBAAoB,CAApBA,sBAA2C,CAA/C,GAAmD;AACjD,UAAInC,QAAQ,CAARA,sBAA+B,CAAnC,GAAuC;AACrC,eAAO3T,OAAO,CAAC6V,IAAI,CAAJA,qCAA0CA,IAAI,CAAJA,gBAAzD,gBAAyDA,CAA3C,CAAd;AACD;;AAED;AACD;;AAED,QAAME,MAAM,GAAG,oBAAoB,CAApB,OAA4B;AAAA,aAAeC,SAAS,YAAxB;AAXS,KAWrC,CAAf,CAXoD;;AAcpD,SAAK,IAAIhM,CAAC,GAAL,GAAWiM,CAAC,GAAGF,MAAM,CAA1B,QAAmC/L,CAAC,GAApC,GAA0CA,CAA1C,IAA+C;AAC7C,UAAI4L,QAAQ,CAARA,MAAeG,MAAM,CAAzB,CAAyB,CAArBH,CAAJ,EAA+B;AAC7B;AACD;AACF;;AAED;AACD;;AAEM,2DAAyD;AAC9D,QAAIM,UAAU,CAAVA,WAAJ,GAA6B;AAC3B;AACD;;AAED,QAAIC,UAAU,IAAI,sBAAlB,YAAoD;AAClD,aAAOA,UAAU,CAAjB,UAAiB,CAAjB;AACD;;AAED,QAAMC,SAAS,GAAG,IAAI5P,MAAM,CAA5B,SAAkB,EAAlB;AACA,QAAM6P,eAAe,GAAGD,SAAS,CAATA,4BAAxB,WAAwBA,CAAxB;AACA,QAAME,aAAa,GAAGlW,MAAM,CAANA,KAAtB,SAAsBA,CAAtB;AACA,QAAMkT,QAAQ,GAAG,cAAc+C,eAAe,CAAfA,sBAA/B,GAA+BA,CAAd,CAAjB;;AAZ8D;AAe5D,UAAME,EAAE,GAAGjD,QAAQ,CAAnB,CAAmB,CAAnB;AACA,UAAMkD,MAAM,GAAGD,EAAE,CAAFA,SAAf,WAAeA,EAAf;;AAEA,UAAID,aAAa,CAAbA,QAAsBC,EAAE,CAAFA,SAAtBD,WAAsBC,EAAtBD,MAAqD,CAAzD,GAA6D;AAC3DC,UAAE,CAAFA;AAEA;AACD;;AAED,UAAME,aAAa,GAAG,cAAcF,EAAE,CAAtC,UAAsB,CAAtB;AACA,UAAMG,qBAAqB,GAAG,UAAUC,SAAS,CAATA,GAAS,CAATA,IAAV,IAAgCA,SAAS,CAATA,MAAS,CAATA,IAA9D,EAA8B,CAA9B;AAEAF,mBAAa,CAAbA,QAAsB,gBAAU;AAC9B,YAAI,CAACG,gBAAgB,OAArB,qBAAqB,CAArB,EAAoD;AAClDL,YAAE,CAAFA,gBAAmBV,IAAI,CAAvBU;AACD;AAHHE;AA3B4D;;AAc9D,SAAK,IAAIzM,CAAC,GAAL,GAAWC,GAAG,GAAGqJ,QAAQ,CAA9B,QAAuCtJ,CAAC,GAAxC,KAAgDA,CAAhD,IAAqD;AAAA,uBAA5CA,CAA4C,EAArCC,GAAqC;;AAAA,+BAOjD;AAWH;;AAED,WAAOoM,eAAe,CAAfA,KAAP;AACD;AC/GD;;;;;;;AAMA,MAAMtV,MAAI,GAAV;AACA,MAAMC,SAAO,GAAb;AACA,MAAMC,UAAQ,GAAd;AACA,MAAMC,WAAS,SAAf;AACA,MAAME,oBAAkB,GAAM3C,CAAC,CAADA,GAA9B,MAA8BA,CAA9B;AACA,MAAMoY,YAAY,GAAlB;AACA,MAAMC,kBAAkB,GAAM,8CAA9B,GAA8B,CAA9B;AACA,MAAMC,qBAAqB,GAAG,0BAA9B,YAA8B,CAA9B;AAEA,MAAMvS,aAAW,GAAG;AAClBwS,aAAS,EADS;AAElBC,YAAQ,EAFU;AAGlBC,SAAK,EAHa;AAIlBtL,WAAO,EAJW;AAKlBuL,SAAK,EALa;AAMlBC,QAAI,EANc;AAOlBhY,YAAQ,EAPU;AAQlBkQ,aAAS,EARS;AASlBf,UAAM,EATY;AAUlB8I,aAAS,EAVS;AAWlBC,qBAAiB,EAXC;AAYlB7I,YAAQ,EAZU;AAalB8I,YAAQ,EAbU;AAclBpB,cAAU,EAdQ;AAelBQ,aAAS,EAAW;AAfF,GAApB;AAkBA,MAAM3I,eAAa,GAAG;AACpBwJ,QAAI,EADgB;AAEpBvJ,OAAG,EAFiB;AAGpBpJ,SAAK,EAHe;AAIpBsJ,UAAM,EAJc;AAKpBvJ,QAAI,EAAK;AALW,GAAtB;AAQA,MAAMX,SAAO,GAAG;AACd+S,aAAS,EADK;AAEdC,YAAQ,EAAY,uEAFN;AAKdrL,WAAO,EALO;AAMdsL,SAAK,EANS;AAOdC,SAAK,EAPS;AAQdC,QAAI,EARU;AASdhY,YAAQ,EATM;AAUdkQ,aAAS,EAVK;AAWdf,UAAM,EAXQ;AAYd8I,aAAS,EAZK;AAadC,qBAAiB,EAbH;AAcd7I,YAAQ,EAdM;AAed8I,YAAQ,EAfM;AAgBdpB,cAAU,EAhBI;AAiBdQ,aAAS,EAAW9C;AAjBN,GAAhB;AAoBA,MAAM4D,UAAU,GAAG;AACjB3V,QAAI,EADa;AAEjB4V,OAAG,EAAI;AAFU,GAAnB;AAKA,MAAMnW,OAAK,GAAG;AACZ6I,QAAI,WADQ;AAEZC,UAAM,aAFM;AAGZvI,QAAI,WAHQ;AAIZqI,SAAK,YAJO;AAKZwN,YAAQ,eALI;AAMZzK,SAAK,YANO;AAOZsD,WAAO,cAPK;AAQZoH,YAAQ,eARI;AASZ3S,cAAU,iBATE;AAUZC,cAAU,iBAAgBhE;AAVd,GAAd;AAaA,MAAMS,WAAS,GAAG;AAChBE,QAAI,EADY;AAEhBC,QAAI,EAAG;AAFS,GAAlB;AAKA,MAAMT,UAAQ,GAAG;AACfwW,WAAO,EADQ;AAEfC,iBAAa,EAFE;AAGfC,SAAK,EAAW;AAHD,GAAjB;AAMA,MAAMC,OAAO,GAAG;AACdC,SAAK,EADS;AAEdhV,SAAK,EAFS;AAGdiK,SAAK,EAHS;AAIdgL,UAAM,EAAG;AAIX;;;;;;AARgB,GAAhB;;MAcMC;;;AACJ,sCAA6B;AAC3B;;;;AAIA,UAAI,kBAAJ,aAAmC;AACjC,cAAM,cAAN,kEAAM,CAAN;AANyB;;;AAU3B;AACA;AACA;AACA;AACA,qBAd2B,IAc3B,CAd2B;;AAiB3B;AACA,oBAAe,gBAAf,MAAe,CAAf;AACA;;AAEA;AACD,K,CAAA;;;oCAgCD;;WAEAC,M,GAAAA,kBAAS;AACP;AACD,K;;WAEDC,O,GAAAA,mBAAU;AACR;AACD,K;;WAEDC,a,GAAAA,yBAAgB;AACd,wBAAkB,CAAC,KAAnB;AACD,K;;WAED/U,M,GAAAA,uBAAc;AACZ,UAAI,CAAC,KAAL,YAAsB;AACpB;AACD;;AAED,iBAAW;AACT,YAAMgV,OAAO,GAAG,iBAAhB;AACA,YAAItI,OAAO,GAAGxR,CAAC,CAACC,KAAK,CAAPD,aAAC,CAADA,MAAd,OAAcA,CAAd;;AAEA,YAAI,CAAJ,SAAc;AACZwR,iBAAO,GAAG,IAAI,KAAJ,YACRvR,KAAK,CADG,eAER,KAFFuR,kBAEE,EAFQ,CAAVA;AAIAxR,WAAC,CAACC,KAAK,CAAPD,aAAC,CAADA;AACD;;AAEDwR,eAAO,CAAPA,uBAA+B,CAACA,OAAO,CAAPA,eAAhCA;;AAEA,YAAIA,OAAO,CAAX,oBAAIA,EAAJ,EAAoC;AAClCA,iBAAO,CAAPA;AADF,eAEO;AACLA,iBAAO,CAAPA;AACD;AAlBH,aAmBO;AACL,YAAIxR,CAAC,CAAC,KAAFA,aAAE,EAAD,CAADA,UAAiCkD,WAAS,CAA9C,IAAIlD,CAAJ,EAAsD;AACpD;;AACA;AACD;;AAED;AACD;AACF,K;;WAED0D,O,GAAAA,mBAAU;AACRwF,kBAAY,CAAC,KAAbA,QAAY,CAAZA;AAEAlJ,OAAC,CAADA,WAAa,KAAbA,SAA2B,iBAA3BA;AAEAA,OAAC,CAAC,KAAFA,OAAC,CAADA,KAAoB,iBAApBA;AACAA,OAAC,CAAC,KAAFA,OAAC,CAADA;;AAEA,UAAI,KAAJ,KAAc;AACZA,SAAC,CAAC,KAAFA,GAAC,CAADA;AACD;;AAED;AACA;AACA;AACA;;AACA,UAAI,iBAAJ,MAA2B;AACzB;AACD;;AAED;AACA;AACA;AACA;AACD,K;;WAEDyM,I,GAAAA,gBAAO;AAAA;;AACL,UAAIzM,CAAC,CAAC,KAAFA,OAAC,CAADA,oBAAJ,QAA+C;AAC7C,cAAM,UAAN,qCAAM,CAAN;AACD;;AAED,UAAMsQ,SAAS,GAAGtQ,CAAC,CAADA,MAAQ,uBAA1B,IAAkBA,CAAlB;;AACA,UAAI,wBAAwB,KAA5B,YAA6C;AAC3CA,SAAC,CAAC,KAAFA,OAAC,CAADA;AAEA,YAAM+Z,UAAU,GAAG5Z,IAAI,CAAJA,eAAoB,KAAvC,OAAmBA,CAAnB;AACA,YAAM6Z,UAAU,GAAGha,CAAC,CAADA,SACjB+Z,UAAU,KAAVA,oBAAmC,2BADlB/Z,iBAEjB,KAFF,OAAmBA,CAAnB;;AAKA,YAAIsQ,SAAS,CAATA,wBAAkC,CAAtC,YAAmD;AACjD;AACD;;AAED,YAAM2J,GAAG,GAAK,KAAd,aAAc,EAAd;AACA,YAAMC,KAAK,GAAG/Z,IAAI,CAAJA,OAAY,iBAA1B,IAAcA,CAAd;AAEA8Z,WAAG,CAAHA;AACA;AAEA;;AAEA,YAAI,YAAJ,WAA2B;AACzBja,WAAC,CAADA,GAAC,CAADA,UAAgBkD,WAAS,CAAzBlD;AACD;;AAED,YAAM6Q,SAAS,GAAI,OAAO,YAAP,2BACf,sCAAsC,KADvB,OACf,CADe,GAEf,YAFJ;;AAIA,YAAMsJ,UAAU,GAAG,oBAAnB,SAAmB,CAAnB;;AACA;;AAEA,YAAMvB,SAAS,GAAG,KAAlB,aAAkB,EAAlB;;AACA5Y,SAAC,CAADA,GAAC,CAADA,MAAY,iBAAZA;;AAEA,YAAI,CAACA,CAAC,CAADA,SAAW,2BAAXA,iBAAuD,KAA5D,GAAKA,CAAL,EAAuE;AACrEA,WAAC,CAADA,GAAC,CAADA;AACD;;AAEDA,SAAC,CAAC,KAAFA,OAAC,CAADA,SAAwB,uBAAxBA;AAEA,uBAAe,WAAW,KAAX,cAA8B;AAC3C6Q,mBAAS,EADkC;AAE3CK,mBAAS,EAAE;AACTpB,kBAAM,EAAE,KADC,UACD,EADC;AAETC,gBAAI,EAAE;AACJqK,sBAAQ,EAAE,YAAYvB;AADlB,aAFG;AAKTwB,iBAAK,EAAE;AACLzZ,qBAAO,EAAEgC,UAAQ,CAAC0W;AADb,aALE;AAQTlI,2BAAe,EAAE;AACfC,+BAAiB,EAAE,YAAYrB;AADhB;AARR,WAFgC;AAc3CsK,kBAAQ,EAAE,wBAAU;AAClB,gBAAInW,IAAI,CAAJA,sBAA2BA,IAAI,CAAnC,WAA+C;AAC7C,mBAAI,CAAJ;AACD;AAjBwC;AAmB3CoW,kBAAQ,EAAE;AAAA,mBAAU,KAAI,CAAJ,6BAAV,IAAU,CAAV;AAAA;AAnBiC,SAA9B,CAAf;AAsBAva,SAAC,CAADA,GAAC,CAADA,UAAgBkD,WAAS,CA/DkB,IA+D3ClD,EA/D2C;AAkE3C;AACA;AACA;;AACA,YAAI,kBAAkBS,QAAQ,CAA9B,iBAAgD;AAC9CT,WAAC,CAACS,QAAQ,CAAVT,IAAC,CAADA,kCAAkDA,CAAC,CAAnDA;AACD;;AAED,YAAM8M,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,cAAI,KAAI,CAAJ,OAAJ,WAA2B;AACzB,iBAAI,CAAJ;AACD;;AACD,cAAM0N,cAAc,GAAG,KAAI,CAA3B;AACA,eAAI,CAAJ;AAEAxa,WAAC,CAAC,KAAI,CAANA,OAAC,CAADA,SAAwB,KAAI,CAAJ,kBAAxBA;;AAEA,cAAIwa,cAAc,KAAKxB,UAAU,CAAjC,KAAuC;AACrC,iBAAI,CAAJ;AACD;AAXH;;AAcA,YAAIhZ,CAAC,CAAC,KAAFA,GAAC,CAADA,UAAqBkD,WAAS,CAAlC,IAAIlD,CAAJ,EAA0C;AACxC,cAAMe,kBAAkB,GAAGZ,IAAI,CAAJA,iCAAsC,KAAjE,GAA2BA,CAA3B;AAEAH,WAAC,CAAC,KAAFA,GAAC,CAADA,KACOG,IAAI,CADXH;AAHF,eAMO;AACL8M,kBAAQ;AACT;AACF;AACF,K;;WAEDG,I,GAAAA,wBAAe;AAAA;;AACb,UAAMgN,GAAG,GAAS,KAAlB,aAAkB,EAAlB;AACA,UAAMzJ,SAAS,GAAGxQ,CAAC,CAADA,MAAQ,uBAA1B,IAAkBA,CAAlB;;AACA,UAAM8M,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,YAAI,MAAI,CAAJ,gBAAqBkM,UAAU,CAA/B,QAAwCiB,GAAG,CAA/C,YAA4D;AAC1DA,aAAG,CAAHA;AACD;;AAED,cAAI,CAAJ;;AACA,cAAI,CAAJ;;AACAja,SAAC,CAAC,MAAI,CAANA,OAAC,CAADA,SAAwB,MAAI,CAAJ,kBAAxBA;;AACA,YAAI,MAAI,CAAJ,YAAJ,MAA2B;AACzB,gBAAI,CAAJ;AACD;;AAED,sBAAc;AACZ4T,kBAAQ;AACT;AAdH;;AAiBA5T,OAAC,CAAC,KAAFA,OAAC,CAADA;;AAEA,UAAIwQ,SAAS,CAAb,kBAAIA,EAAJ,EAAoC;AAClC;AACD;;AAEDxQ,OAAC,CAADA,GAAC,CAADA,aAAmBkD,WAAS,CA1Bf,IA0BblD,EA1Ba;AA6Bb;;AACA,UAAI,kBAAkBS,QAAQ,CAA9B,iBAAgD;AAC9CT,SAAC,CAACS,QAAQ,CAAVT,IAAC,CAADA,mCAAmDA,CAAC,CAApDA;AACD;;AAED,0BAAoBuZ,OAAO,CAA3B;AACA,0BAAoBA,OAAO,CAA3B;AACA,0BAAoBA,OAAO,CAA3B;;AAEA,UAAIvZ,CAAC,CAAC,KAAFA,GAAC,CAADA,UAAqBkD,WAAS,CAAlC,IAAIlD,CAAJ,EAA0C;AACxC,YAAMe,kBAAkB,GAAGZ,IAAI,CAAJA,iCAA3B,GAA2BA,CAA3B;AAEAH,SAAC,CAADA,GAAC,CAADA,KACOG,IAAI,CADXH;AAHF,aAMO;AACL8M,gBAAQ;AACT;;AAED;AACD,K;;WAED2D,M,GAAAA,kBAAS;AACP,UAAI,iBAAJ,MAA2B;AACzB;AACD;AACF,K,CAAA;;;WAIDgK,a,GAAAA,yBAAgB;AACd,aAAOlZ,OAAO,CAAC,KAAf,QAAe,EAAD,CAAd;AACD,K;;WAEDmZ,kB,GAAAA,wCAA+B;AAC7B1a,OAAC,CAAC,KAAFA,aAAE,EAAD,CAADA,UAAoCoY,YAApCpY,MAAoCoY,GAApCpY;AACD,K;;WAED2a,a,GAAAA,yBAAgB;AACd,iBAAW,YAAY3a,CAAC,CAAC,YAAFA,QAAC,CAADA,CAAvB,CAAuBA,CAAvB;AACA,aAAO,KAAP;AACD,K;;WAED4a,U,GAAAA,sBAAa;AACX,UAAMX,GAAG,GAAG,KAAZ,aAAY,EAAZ;AACA,6BAAuBja,CAAC,CAACia,GAAG,CAAHA,iBAAqBrX,UAAQ,CAAtD,aAAyBqX,CAAD,CAAxB,EAAwE,KAAxE,QAAwE,EAAxE;AACAja,OAAC,CAADA,GAAC,CAADA,aAAsBkD,WAAS,CAA/BlD,IAAsBkD,GAAtBlD,GAAsBkD,GAAkBA,WAAS,CAAjDlD;AACD,K;;WAED6a,iB,GAAAA,8CAAqC;AACnC,UAAI,kCAAgCC,OAAO,CAAPA,YAAoBA,OAAO,CAA/D,MAAI,CAAJ,EAAyE;AACvE;AACA,YAAI,YAAJ,MAAsB;AACpB,cAAI,CAAC9a,CAAC,CAADA,OAAC,CAADA,aAAL,QAAKA,CAAL,EAAuC;AACrCkE,oBAAQ,CAARA;AACD;AAHH,eAIO;AACLA,kBAAQ,CAARA,KAAclE,CAAC,CAADA,OAAC,CAADA,CAAdkE,IAAclE,EAAdkE;AACD;;AAED;AACD;;AAED,UAAI,YAAJ,MAAsB;AACpB,YAAI,YAAJ,UAA0B;AACxB4W,iBAAO,GAAGC,YAAY,UAAU,YAAV,WAAiC,YAAvDD,UAAsB,CAAtBA;AACD;;AAED5W,gBAAQ,CAARA;AALF,aAMO;AACLA,gBAAQ,CAARA;AACD;AACF,K;;WAED8W,Q,GAAAA,oBAAW;AACT,UAAIvC,KAAK,GAAG,0BAAZ,qBAAY,CAAZ;;AAEA,UAAI,CAAJ,OAAY;AACVA,aAAK,GAAG,OAAO,YAAP,uBACJ,uBAAuB,KADnB,OACJ,CADI,GAEJ,YAFJA;AAGD;;AAED;AACD,K,CAAA;;;WAID1H,U,GAAAA,sBAAa;AAAA;;AACX,UAAMjB,MAAM,GAAZ;;AAEA,UAAI,OAAO,YAAP,WAAJ,YAA8C;AAC5CA,cAAM,CAANA,KAAY,gBAAU;AACpB3L,cAAI,CAAJA,4BACKA,IAAI,CADTA,SAEK,MAAI,CAAJ,cAAmBA,IAAI,CAAvB,SAAiC,MAAI,CAArC,YAFLA;AAKA;AANF2L;AADF,aASO;AACLA,cAAM,CAANA,SAAgB,YAAhBA;AACD;;AAED;AACD,K;;WAEDmL,a,GAAAA,yBAAgB;AACd,UAAI,0BAAJ,OAAqC;AACnC,eAAOxa,QAAQ,CAAf;AACD;;AAED,UAAIN,IAAI,CAAJA,UAAe,YAAnB,SAAIA,CAAJ,EAA2C;AACzC,eAAOH,CAAC,CAAC,YAAT,SAAQ,CAAR;AACD;;AAED,aAAOA,CAAC,CAADA,QAAC,CAADA,MAAiB,YAAxB,SAAOA,CAAP;AACD,K;;WAEDkb,c,GAAAA,mCAA0B;AACxB,aAAO3L,eAAa,CAACsB,SAAS,CAA9B,WAAqBA,EAAD,CAApB;AACD,K;;WAEDsK,a,GAAAA,yBAAgB;AAAA;;AACd,UAAMC,QAAQ,GAAG,0BAAjB,GAAiB,CAAjB;AAEAA,cAAQ,CAARA,QAAiB,mBAAa;AAC5B,YAAIjO,OAAO,KAAX,SAAyB;AACvBnN,WAAC,CAAC,MAAI,CAANA,OAAC,CAADA,IACE,MAAI,CAAJ,kBADFA,OAEE,MAAI,CAAJ,OAFFA,UAGE;AAAA,mBAAW,MAAI,CAAJ,OAAX,KAAW,CAAX;AAHFA;AADF,eAMO,IAAImN,OAAO,KAAKoM,OAAO,CAAvB,QAAgC;AACrC,cAAM8B,OAAO,GAAGlO,OAAO,KAAKoM,OAAO,CAAnBpM,QACZ,MAAI,CAAJ,kBADYA,aAEZ,MAAI,CAAJ,kBAFJ;AAGA,cAAMmO,QAAQ,GAAGnO,OAAO,KAAKoM,OAAO,CAAnBpM,QACb,MAAI,CAAJ,kBADaA,aAEb,MAAI,CAAJ,kBAFJ;AAIAnN,WAAC,CAAC,MAAI,CAANA,OAAC,CAADA,aAGI,MAAI,CAAJ,OAHJA,UAII;AAAA,mBAAW,MAAI,CAAJ,OAAX,KAAW,CAAX;AAJJA,0BAQI,MAAI,CAAJ,OARJA,UASI;AAAA,mBAAW,MAAI,CAAJ,OAAX,KAAW,CAAX;AATJA;AAWD;AA1BHob;AA6BApb,OAAC,CAAC,KAAFA,OAAC,CAADA,uCAEE,YAAM;AACJ,YAAI,MAAI,CAAR,SAAkB;AAChB,gBAAI,CAAJ;AACD;AALLA;;AASA,UAAI,YAAJ,UAA0B;AACxB,wCACK,KADL;AAEEmN,iBAAO,EAFT;AAGExM,kBAAQ,EAAE;AAHZ;AADF,aAMO;AACL;AACD;AACF,K;;WAED4a,S,GAAAA,qBAAY;AACV,UAAMC,SAAS,WAAU,0BAAzB,qBAAyB,CAAV,CAAf;;AAEA,UAAI,sCAAsCA,SAAS,KAAnD,UAAkE;AAChE,yDAEE,sCAFF;AAKA;AACD;AACF,K;;WAEDC,M,GAAAA,gCAAuB;AACrB,UAAM3B,OAAO,GAAG,iBAAhB;AACAtI,aAAO,GAAGA,OAAO,IAAIxR,CAAC,CAACC,KAAK,CAAPD,aAAC,CAADA,MAArBwR,OAAqBxR,CAArBwR;;AAEA,UAAI,CAAJ,SAAc;AACZA,eAAO,GAAG,IAAI,KAAJ,YACRvR,KAAK,CADG,eAER,KAFFuR,kBAEE,EAFQ,CAAVA;AAIAxR,SAAC,CAACC,KAAK,CAAPD,aAAC,CAADA;AACD;;AAED,iBAAW;AACTwR,eAAO,CAAPA,eACEvR,KAAK,CAALA,qBAA2BsZ,OAAO,CAAlCtZ,QAA2CsZ,OAAO,CADpD/H;AAGD;;AAED,UAAIxR,CAAC,CAACwR,OAAO,CAATxR,aAAEwR,EAAD,CAADxR,UAAoCkD,WAAS,CAA7ClD,SAAuDwR,OAAO,CAAPA,gBAAwBwH,UAAU,CAA7F,MAAoG;AAClGxH,eAAO,CAAPA,cAAsBwH,UAAU,CAAhCxH;AACA;AACD;;AAEDtI,kBAAY,CAACsI,OAAO,CAApBtI,QAAY,CAAZA;AAEAsI,aAAO,CAAPA,cAAsBwH,UAAU,CAAhCxH;;AAEA,UAAI,CAACA,OAAO,CAAPA,OAAD,SAAyB,CAACA,OAAO,CAAPA,aAA9B,MAAyD;AACvDA,eAAO,CAAPA;AACA;AACD;;AAEDA,aAAO,CAAPA,WAAmBpR,UAAU,CAAC,YAAM;AAClC,YAAIoR,OAAO,CAAPA,gBAAwBwH,UAAU,CAAtC,MAA6C;AAC3CxH,iBAAO,CAAPA;AACD;AAH0B,SAI1BA,OAAO,CAAPA,aAJHA,IAA6B,CAA7BA;AAKD,K;;WAEDkK,M,GAAAA,gCAAuB;AACrB,UAAM5B,OAAO,GAAG,iBAAhB;AACAtI,aAAO,GAAGA,OAAO,IAAIxR,CAAC,CAACC,KAAK,CAAPD,aAAC,CAADA,MAArBwR,OAAqBxR,CAArBwR;;AAEA,UAAI,CAAJ,SAAc;AACZA,eAAO,GAAG,IAAI,KAAJ,YACRvR,KAAK,CADG,eAER,KAFFuR,kBAEE,EAFQ,CAAVA;AAIAxR,SAAC,CAACC,KAAK,CAAPD,aAAC,CAADA;AACD;;AAED,iBAAW;AACTwR,eAAO,CAAPA,eACEvR,KAAK,CAALA,sBAA4BsZ,OAAO,CAAnCtZ,QAA4CsZ,OAAO,CADrD/H;AAGD;;AAED,UAAIA,OAAO,CAAX,oBAAIA,EAAJ,EAAoC;AAClC;AACD;;AAEDtI,kBAAY,CAACsI,OAAO,CAApBtI,QAAY,CAAZA;AAEAsI,aAAO,CAAPA,cAAsBwH,UAAU,CAAhCxH;;AAEA,UAAI,CAACA,OAAO,CAAPA,OAAD,SAAyB,CAACA,OAAO,CAAPA,aAA9B,MAAyD;AACvDA,eAAO,CAAPA;AACA;AACD;;AAEDA,aAAO,CAAPA,WAAmBpR,UAAU,CAAC,YAAM;AAClC,YAAIoR,OAAO,CAAPA,gBAAwBwH,UAAU,CAAtC,KAA4C;AAC1CxH,iBAAO,CAAPA;AACD;AAH0B,SAI1BA,OAAO,CAAPA,aAJHA,IAA6B,CAA7BA;AAKD,K;;WAEDmK,oB,GAAAA,gCAAuB;AACrB,WAAK,IAAL,WAAsB,KAAtB,gBAA2C;AACzC,YAAI,oBAAJ,OAAI,CAAJ,EAAkC;AAChC;AACD;AACF;;AAED;AACD,K;;WAEDjT,U,GAAAA,4BAAmB;AACjB,UAAMkT,cAAc,GAAG5b,CAAC,CAAC,KAAFA,OAAC,CAADA,CAAvB,IAAuBA,EAAvB;AAEA2B,YAAM,CAANA,6BACW,oBAAc;AACrB,YAAI2W,qBAAqB,CAArBA,sBAA4C,CAAhD,GAAoD;AAClD,iBAAOsD,cAAc,CAArB,QAAqB,CAArB;AACD;AAJLja;AAOAI,YAAM,qBACD,iBADC,yBAGD,kDAHLA,EAAM,CAANA;;AAMA,UAAI,OAAOA,MAAM,CAAb,UAAJ,UAAsC;AACpCA,cAAM,CAANA,QAAe;AACb0K,cAAI,EAAE1K,MAAM,CADC;AAEbkL,cAAI,EAAElL,MAAM,CAAC2W;AAFA,SAAf3W;AAID;;AAED,UAAI,OAAOA,MAAM,CAAb,UAAJ,UAAsC;AACpCA,cAAM,CAANA,QAAeA,MAAM,CAANA,MAAfA,QAAeA,EAAfA;AACD;;AAED,UAAI,OAAOA,MAAM,CAAb,YAAJ,UAAwC;AACtCA,cAAM,CAANA,UAAiBA,MAAM,CAANA,QAAjBA,QAAiBA,EAAjBA;AACD;;AAED5B,UAAI,CAAJA,gCAGE,iBAHFA;;AAMA,UAAI4B,MAAM,CAAV,UAAqB;AACnBA,cAAM,CAANA,WAAkBgZ,YAAY,CAAChZ,MAAM,CAAP,UAAkBA,MAAM,CAAxB,WAAoCA,MAAM,CAAxEA,UAA8B,CAA9BA;AACD;;AAED;AACD,K;;WAED8Z,kB,GAAAA,8BAAqB;AACnB,UAAM9Z,MAAM,GAAZ;;AAEA,UAAI,KAAJ,QAAiB;AACf,aAAK,IAAL,OAAkB,KAAlB,QAA+B;AAC7B,cAAI,kCAAkC,YAAtC,GAAsC,CAAtC,EAAwD;AACtDA,kBAAM,CAANA,GAAM,CAANA,GAAc,YAAdA,GAAc,CAAdA;AACD;AACF;AACF;;AAED;AACD,K;;WAED+Z,c,GAAAA,0BAAiB;AACf,UAAMC,IAAI,GAAG/b,CAAC,CAAC,KAAf,aAAe,EAAD,CAAd;AACA,UAAMgc,QAAQ,GAAGD,IAAI,CAAJA,oBAAjB,kBAAiBA,CAAjB;;AACA,UAAIC,QAAQ,KAARA,QAAqBA,QAAQ,CAAjC,QAA0C;AACxCD,YAAI,CAAJA,YAAiBC,QAAQ,CAARA,KAAjBD,EAAiBC,CAAjBD;AACD;AACF,K;;WAEDE,4B,GAAAA,kDAAyC;AACvC,UAAMC,cAAc,GAAGC,UAAU,CAAjC;AACA,iBAAWD,cAAc,CAAzB;;AACA;;AACA,8BAAwB,oBAAoBC,UAAU,CAAtD,SAAwB,CAAxB;AACD,K;;WAEDC,c,GAAAA,0BAAiB;AACf,UAAMnC,GAAG,GAAG,KAAZ,aAAY,EAAZ;AACA,UAAMoC,mBAAmB,GAAG,YAA5B;;AAEA,UAAIpC,GAAG,CAAHA,gCAAJ,MAA8C;AAC5C;AACD;;AAEDja,OAAC,CAADA,GAAC,CAADA,aAAmBkD,WAAS,CAA5BlD;AACA;AACA;AACA;AACA;AACD,K,CAAA;;;YAIMiE,gB,GAAP,kCAAgC;AAC9B,aAAO,UAAU,YAAY;AAC3B,YAAIE,IAAI,GAAGnE,CAAC,CAADA,IAAC,CAADA,MAAX,UAAWA,CAAX;;AACA,YAAMiL,OAAO,GAAG,gCAAhB;;AAEA,YAAI,SAAS,oBAAb,MAAa,CAAb,EAA0C;AACxC;AACD;;AAED,YAAI,CAAJ,MAAW;AACT9G,cAAI,GAAG,kBAAPA,OAAO,CAAPA;AACAnE,WAAC,CAADA,IAAC,CAADA;AACD;;AAED,YAAI,kBAAJ,UAAgC;AAC9B,cAAI,OAAOmE,IAAI,CAAX,MAAW,CAAX,KAAJ,aAAyC;AACvC,kBAAM,8CAAN,IAAM,CAAN;AACD;;AACDA,cAAI,CAAJA,MAAI,CAAJA;AACD;AAlBH,OAAO,CAAP;AAoBD,K;;;;0BA9mBoB;AACnB;AACD;;;0BAEoB;AACnB;AACD;;;0BAEiB;AAChB;AACD;;;0BAEqB;AACpB;AACD;;;0BAEkB;AACjB;AACD;;;0BAEsB;AACrB;AACD;;;0BAEwB;AACvB;AACD;;;;;AAulBH;;;;;;;AAMAnE,GAAC,CAADA,aAAa0Z,OAAO,CAApB1Z;AACAA,GAAC,CAADA;;AACAA,GAAC,CAADA,wBAAwB,YAAM;AAC5BA,KAAC,CAADA;AACA,WAAO0Z,OAAO,CAAd;AAFF1Z;ACjwBA;;;;;;;AAMA,MAAMsC,MAAI,GAAV;AACA,MAAMC,SAAO,GAAb;AACA,MAAMC,UAAQ,GAAd;AACA,MAAMC,WAAS,SAAf;AACA,MAAME,oBAAkB,GAAI3C,CAAC,CAADA,GAA5B,MAA4BA,CAA5B;AACA,MAAMoY,cAAY,GAAlB;AACA,MAAMC,oBAAkB,GAAI,gDAA5B,GAA4B,CAA5B;;AAEA,MAAM7S,SAAO,qBACRkU,OAAO,CADC;AAEX7I,aAAS,EAFE;AAGX1D,WAAO,EAHI;AAIX2N,WAAO,EAJI;AAKXtC,YAAQ,EAAI,4GAGA;AARD,IAAb;;AAWA,MAAMzS,aAAW,qBACZ2T,OAAO,CADK;AAEfoB,WAAO,EAAG;AAFK,IAAjB;;AAKA,MAAM5X,WAAS,GAAG;AAChBE,QAAI,EADY;AAEhBC,QAAI,EAAG;AAFS,GAAlB;AAKA,MAAMT,UAAQ,GAAG;AACf0Z,SAAK,EADU;AAEfC,WAAO,EAAG;AAFK,GAAjB;AAKA,MAAMzZ,OAAK,GAAG;AACZ6I,QAAI,WADQ;AAEZC,UAAM,aAFM;AAGZvI,QAAI,WAHQ;AAIZqI,SAAK,YAJO;AAKZwN,YAAQ,eALI;AAMZzK,SAAK,YANO;AAOZsD,WAAO,cAPK;AAQZoH,YAAQ,eARI;AASZ3S,cAAU,iBATE;AAUZC,cAAU,iBAAgBhE;AAG5B;;;;;;AAbc,GAAd;;MAmBM+Z;;;;;;;;;oCA+BJ;;WAEA/B,a,GAAAA,yBAAgB;AACd,aAAO,mBAAmB,KAA1B,WAA0B,EAA1B;AACD,K;;WAEDC,kB,GAAAA,wCAA+B;AAC7B1a,OAAC,CAAC,KAAFA,aAAE,EAAD,CAADA,UAAoCoY,cAApCpY,MAAoCoY,GAApCpY;AACD,K;;WAED2a,a,GAAAA,yBAAgB;AACd,iBAAW,YAAY3a,CAAC,CAAC,YAAFA,QAAC,CAADA,CAAvB,CAAuBA,CAAvB;AACA,aAAO,KAAP;AACD,K;;WAED4a,U,GAAAA,sBAAa;AACX,UAAMmB,IAAI,GAAG/b,CAAC,CAAC,KADJ,aACI,EAAD,CAAd,CADW;;AAIX,6BAAuB+b,IAAI,CAAJA,KAAUnZ,UAAQ,CAAzC,KAAuBmZ,CAAvB,EAAkD,KAAlD,QAAkD,EAAlD;;AACA,UAAIjB,OAAO,GAAG,KAAd,WAAc,EAAd;;AACA,UAAI,mBAAJ,YAAmC;AACjCA,eAAO,GAAGA,OAAO,CAAPA,KAAa,KAAvBA,OAAUA,CAAVA;AACD;;AACD,6BAAuBiB,IAAI,CAAJA,KAAUnZ,UAAQ,CAAzC,OAAuBmZ,CAAvB;AAEAA,UAAI,CAAJA,YAAoB7Y,WAAS,CAA7B6Y,IAAoB7Y,GAApB6Y,GAAoB7Y,GAAkBA,WAAS,CAA/C6Y;AACD,K,CAAA;;;WAIDU,W,GAAAA,uBAAc;AACZ,aAAO,6CACL,YADF;AAED,K;;WAEDX,c,GAAAA,0BAAiB;AACf,UAAMC,IAAI,GAAG/b,CAAC,CAAC,KAAf,aAAe,EAAD,CAAd;AACA,UAAMgc,QAAQ,GAAGD,IAAI,CAAJA,oBAAjB,oBAAiBA,CAAjB;;AACA,UAAIC,QAAQ,KAARA,QAAqBA,QAAQ,CAARA,SAAzB,GAA8C;AAC5CD,YAAI,CAAJA,YAAiBC,QAAQ,CAARA,KAAjBD,EAAiBC,CAAjBD;AACD;AACF,K,CAAA;;;YAIM9X,gB,GAAP,kCAAgC;AAC9B,aAAO,UAAU,YAAY;AAC3B,YAAIE,IAAI,GAAGnE,CAAC,CAADA,IAAC,CAADA,MAAX,UAAWA,CAAX;;AACA,YAAMiL,OAAO,GAAG,wCAAhB;;AAEA,YAAI,SAAS,oBAAb,MAAa,CAAb,EAA0C;AACxC;AACD;;AAED,YAAI,CAAJ,MAAW;AACT9G,cAAI,GAAG,kBAAPA,OAAO,CAAPA;AACAnE,WAAC,CAADA,IAAC,CAADA;AACD;;AAED,YAAI,kBAAJ,UAAgC;AAC9B,cAAI,OAAOmE,IAAI,CAAX,MAAW,CAAX,KAAJ,aAAyC;AACvC,kBAAM,8CAAN,IAAM,CAAN;AACD;;AACDA,cAAI,CAAJA,MAAI,CAAJA;AACD;AAlBH,OAAO,CAAP;AAoBD,K;;;;AAjGD;0BAEqB;AACnB;AACD;;;0BAEoB;AACnB;AACD;;;0BAEiB;AAChB;AACD;;;0BAEqB;AACpB;AACD;;;0BAEkB;AACjB;AACD;;;0BAEsB;AACrB;AACD;;;0BAEwB;AACvB;AACD;;;;IA7BmBuV,O;AAqGtB;;;;;;;AAMA1Z,GAAC,CAADA,aAAawc,OAAO,CAApBxc;AACAA,GAAC,CAADA;;AACAA,GAAC,CAADA,wBAAwB,YAAM;AAC5BA,KAAC,CAADA;AACA,WAAOwc,OAAO,CAAd;AAFFxc;ACxKA;;;;;;;AAMA,MAAMsC,MAAI,GAAV;AACA,MAAMC,SAAO,GAAb;AACA,MAAMC,UAAQ,GAAd;AACA,MAAMC,WAAS,SAAf;AACA,MAAMC,cAAY,GAAlB;AACA,MAAMC,oBAAkB,GAAG3C,CAAC,CAADA,GAA3B,MAA2BA,CAA3B;AAEA,MAAMwF,SAAO,GAAG;AACdsK,UAAM,EADQ;AAEd4M,UAAM,EAFQ;AAGdtR,UAAM,EAAG;AAHK,GAAhB;AAMA,MAAMrF,aAAW,GAAG;AAClB+J,UAAM,EADY;AAElB4M,UAAM,EAFY;AAGlBtR,UAAM,EAAG;AAHS,GAApB;AAMA,MAAMtI,OAAK,GAAG;AACZ6Z,YAAQ,eADI;AAEZC,UAAM,aAFM;AAGZ5V,iBAAa,yBAAsBtE;AAHvB,GAAd;AAMA,MAAMQ,WAAS,GAAG;AAChB2Z,iBAAa,EADG;AAEhBC,iBAAa,EAFG;AAGhBxY,UAAM,EAAU;AAHA,GAAlB;AAMA,MAAM1B,UAAQ,GAAG;AACfma,YAAQ,EADO;AAEfzY,UAAM,EAFS;AAGf0Y,kBAAc,EAHC;AAIfC,aAAS,EAJM;AAKfC,aAAS,EALM;AAMfC,cAAU,EANK;AAOfC,YAAQ,EAPO;AAQfC,kBAAc,EARC;AASfC,mBAAe,EAAG;AATH,GAAjB;AAYA,MAAMC,YAAY,GAAG;AACnBC,UAAM,EADa;AAEnBC,YAAQ,EAAG;AAGb;;;;;;AALqB,GAArB;;MAWMC;;;AACJ,wCAA6B;AAAA;;AAC3B;AACA,4BAAsB9c,OAAO,CAAPA,8BAAtB;AACA,qBAAsB,gBAAtB,MAAsB,CAAtB;AACA,uBAAyB,aAAH,MAAG,GAAH,GAAG,GAAuBgC,UAAQ,CAAlC,SAAG,GAAH,GAAG,IACA,aADH,MACG,GADH,GACG,GAAuBA,UAAQ,CADlC,UACG,GADH,GAAG,KAEA,aAFH,MAEG,GAFH,GAEG,GAAuBA,UAAQ,CAFxD,cAAyB,CAAzB;AAGA;AACA;AACA;AACA;AAEA5C,OAAC,CAAC,KAAFA,cAAC,CAADA,IAA0B8C,OAAK,CAA/B9C,QAAwC;AAAA,eAAW,KAAI,CAAJ,SAAX,KAAW,CAAX;AAAxCA;AAEA;;AACA;AACD,K,CAAA;;;sCAYD;;WAEA2d,O,GAAAA,mBAAU;AAAA;;AACR,UAAMC,UAAU,GAAG,wBAAwB,oBAAxB,SACfL,YAAY,CADG,SACOA,YAAY,CADtC;AAGA,UAAMM,YAAY,GAAG,8CACJ,aADjB;AAGA,UAAMC,UAAU,GAAGD,YAAY,KAAKN,YAAY,CAA7BM,WACf,KADeA,aACf,EADeA,GAAnB;AAGA;AACA;AAEA,2BAAqB,KAArB,gBAAqB,EAArB;AAEA,UAAME,OAAO,GAAG,cAActd,QAAQ,CAARA,iBAA0B,KAAxD,SAA8BA,CAAd,CAAhB;AAEAsd,aAAO,CAAPA,IACO,mBAAa;AAChB;AACA,YAAMC,cAAc,GAAG7d,IAAI,CAAJA,uBAAvB,OAAuBA,CAAvB;;AAEA,4BAAoB;AAClBiL,gBAAM,GAAG3K,QAAQ,CAARA,cAAT2K,cAAS3K,CAAT2K;AACD;;AAED,oBAAY;AACV,cAAM6S,SAAS,GAAG7S,MAAM,CAAxB,qBAAkBA,EAAlB;;AACA,cAAI6S,SAAS,CAATA,SAAmBA,SAAS,CAAhC,QAAyC;AACvC;AACA,mBAAO,CACLje,CAAC,CAADA,MAAC,CAADA,uBADK,YAAP,cAAO,CAAP;AAID;AACF;;AACD;AAnBJ+d,gBAqBU;AAAA;AArBVA,cAsBQ;AAAA,eAAU1I,CAAC,CAADA,CAAC,CAADA,GAAOE,CAAC,CAAlB,CAAkB,CAAlB;AAtBRwI,iBAuBW,gBAAU;AACjB,cAAI,CAAJ,cAAmBG,IAAI,CAAvB,CAAuB,CAAvB;;AACA,cAAI,CAAJ,cAAmBA,IAAI,CAAvB,CAAuB,CAAvB;AAzBJH;AA2BD,K;;WAEDra,O,GAAAA,mBAAU;AACR1D,OAAC,CAADA,WAAa,KAAbA;AACAA,OAAC,CAAC,KAAFA,cAAC,CAADA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD,K,CAAA;;;WAID0I,U,GAAAA,4BAAmB;AACjB3G,YAAM,gCAED,kDAFLA,EAAM,CAANA;;AAKA,UAAI,OAAOA,MAAM,CAAb,WAAJ,UAAuC;AACrC,YAAIoc,EAAE,GAAGne,CAAC,CAAC+B,MAAM,CAAR/B,MAAC,CAADA,MAAT,IAASA,CAAT;;AACA,YAAI,CAAJ,IAAS;AACPme,YAAE,GAAGhe,IAAI,CAAJA,OAALge,MAAKhe,CAALge;AACAne,WAAC,CAAC+B,MAAM,CAAR/B,MAAC,CAADA;AACD;;AACD+B,cAAM,CAANA;AACD;;AAED5B,UAAI,CAAJA;AAEA;AACD,K;;WAEDie,a,GAAAA,yBAAgB;AACd,aAAO,iCACH,oBADG,cAC+B,oBADtC;AAED,K;;WAEDC,gB,GAAAA,4BAAmB;AACjB,aAAO,oCAAoC7d,IAAI,CAAJA,IACzCC,QAAQ,CAARA,KADyCD,cAEzCC,QAAQ,CAARA,gBAFF,YAA2CD,CAA3C;AAID,K;;WAED8d,gB,GAAAA,4BAAmB;AACjB,aAAO,iCACHvW,MAAM,CADH,cACkB,4CADzB;AAED,K;;WAEDwW,Q,GAAAA,oBAAW;AACT,UAAMC,SAAS,GAAM,uBAAuB,aAA5C;;AACA,UAAMC,YAAY,GAAG,KAArB,gBAAqB,EAArB;;AACA,UAAMC,SAAS,GAAM,qCAEnB,KAFF,gBAEE,EAFF;;AAIA,UAAI,uBAAJ,cAAyC;AACvC;AACD;;AAED,UAAIF,SAAS,IAAb,WAA4B;AAC1B,YAAMpT,MAAM,GAAG,cAAc,uBAA7B,CAAe,CAAf;;AAEA,YAAI,uBAAJ,QAAmC;AACjC;AACD;;AACD;AACD;;AAED,UAAI,sBAAsBoT,SAAS,GAAG,cAAlC,CAAkC,CAAlC,IAAsD,mBAA1D,GAAgF;AAC9E;;AACA;;AACA;AACD;;AAED,UAAMG,YAAY,GAAG,cAArB;;AACA,WAAK,IAAIpT,CAAC,GAAV,cAA2BA,CAA3B,KAAiC;AAC/B,YAAMqT,cAAc,GAAG,uBAAuB,cAAvB,CAAuB,CAAvB,IACnBJ,SAAS,IAAI,cADM,CACN,CADM,KAElB,OAAO,cAAcjT,CAAC,GAAtB,CAAO,CAAP,oBACGiT,SAAS,GAAG,cAAcjT,CAAC,GAHnC,CAGoB,CAHG,CAAvB;;AAKA,4BAAoB;AAClB,yBAAe,cAAf,CAAe,CAAf;AACD;AACF;AACF,K;;WAEDsT,S,GAAAA,2BAAkB;AAChB;;AAEA;;AAEA,UAAMC,OAAO,GAAG,8BAET;AAAA,eAAiBne,QAAjB,oBAAiBA,GAAjB,MAAiBA,GAAjB,MAAiBA,GAAjB,QAAiBA,GAAjB,UAAiBA,GAAjB,MAAiBA,GAAjB;AAFP,OAAgB,CAAhB;;AAIA,UAAMoe,KAAK,GAAG/e,CAAC,CAAC,cAAcS,QAAQ,CAARA,iBAA0Bqe,OAAO,CAAPA,KAAxD,GAAwDA,CAA1Bre,CAAd,CAAD,CAAf;;AAEA,UAAIse,KAAK,CAALA,SAAe7b,WAAS,CAA5B,aAAI6b,CAAJ,EAA6C;AAC3CA,aAAK,CAALA,QAAcnc,UAAQ,CAAtBmc,eAAsCnc,UAAQ,CAA9Cmc,0BAAyE7b,WAAS,CAAlF6b;AACAA,aAAK,CAALA,SAAe7b,WAAS,CAAxB6b;AAFF,aAGO;AACL;AACAA,aAAK,CAALA,SAAe7b,WAAS,CAFnB,MAEL6b,EAFK;AAIL;;AACAA,aAAK,CAALA,QAAcnc,UAAQ,CAAtBmc,qBAA+Cnc,UAAQ,CAAvDmc,SAA+Cnc,GAA/Cmc,IAA+Cnc,GAAuBA,UAAQ,CAA9Emc,qBAAsG7b,WAAS,CAL1G,MAKL6b,EALK;;AAOLA,aAAK,CAALA,QAAcnc,UAAQ,CAAtBmc,qBAA4Cnc,UAAQ,CAApDmc,oBAAyEnc,UAAQ,CAAjFmc,oBAAsG7b,WAAS,CAA/G6b;AACD;;AAED/e,OAAC,CAAC,KAAFA,cAAC,CAADA,SAA+B8C,OAAK,CAApC9C,UAA+C;AAC7CiK,qBAAa,EAAEmB;AAD8B,OAA/CpL;AAGD,K;;WAEDgf,M,GAAAA,kBAAS;AACP,oBAAcve,QAAQ,CAARA,iBAA0B,KAAxC,SAAcA,CAAd,SACU;AAAA,eAAUwe,IAAI,CAAJA,mBAAwB/b,WAAS,CAA3C,MAAU+b,CAAV;AADV,iBAEW;AAAA,eAAUA,IAAI,CAAJA,iBAAsB/b,WAAS,CAAzC,MAAU+b,CAAV;AAFX;AAGD,K,CAAA;;;cAIMhb,gB,GAAP,kCAAgC;AAC9B,aAAO,UAAU,YAAY;AAC3B,YAAIE,IAAI,GAAGnE,CAAC,CAADA,IAAC,CAADA,MAAX,UAAWA,CAAX;;AACA,YAAMiL,OAAO,GAAG,gCAAhB;;AAEA,YAAI,CAAJ,MAAW;AACT9G,cAAI,GAAG,oBAAPA,OAAO,CAAPA;AACAnE,WAAC,CAADA,IAAC,CAADA;AACD;;AAED,YAAI,kBAAJ,UAAgC;AAC9B,cAAI,OAAOmE,IAAI,CAAX,MAAW,CAAX,KAAJ,aAAyC;AACvC,kBAAM,8CAAN,IAAM,CAAN;AACD;;AACDA,cAAI,CAAJA,MAAI,CAAJA;AACD;AAdH,OAAO,CAAP;AAgBD,K;;;;0BA1MoB;AACnB;AACD;;;0BAEoB;AACnB;AACD;;;;;AAuMH;;;;;;;AAMAnE,GAAC,CAADA,MAAC,CAADA,IAAa8C,OAAK,CAAlB9C,eAAkC,YAAM;AACtC,QAAMkf,UAAU,GAAG,cAAcze,QAAQ,CAARA,iBAA0BmC,UAAQ,CAAnE,QAAiCnC,CAAd,CAAnB;AACA,QAAM0e,gBAAgB,GAAGD,UAAU,CAAnC;;AAEA,SAAK,IAAI3T,CAAC,GAAV,kBAA+BA,CAA/B,KAAqC;AACnC,UAAM6T,IAAI,GAAGpf,CAAC,CAACkf,UAAU,CAAzB,CAAyB,CAAX,CAAd;;AACAxB,eAAS,CAATA,4BAAsC0B,IAAI,CAA1C1B,IAAsC0B,EAAtC1B;AACD;AAPH1d;AAUA;;;;;;AAMAA,GAAC,CAADA,aAAa0d,SAAS,CAAtB1d;AACAA,GAAC,CAADA;;AACAA,GAAC,CAADA,wBAAwB,YAAM;AAC5BA,KAAC,CAADA;AACA,WAAO0d,SAAS,CAAhB;AAFF1d;ACtTA;;;;;;;AAMA,MAAMsC,MAAI,GAAV;AACA,MAAMC,SAAO,GAAb;AACA,MAAMC,UAAQ,GAAd;AACA,MAAMC,WAAS,SAAf;AACA,MAAMC,cAAY,GAAlB;AACA,MAAMC,oBAAkB,GAAG3C,CAAC,CAADA,GAA3B,MAA2BA,CAA3B;AAEA,MAAM8C,OAAK,GAAG;AACZ6I,QAAI,WADQ;AAEZC,UAAM,aAFM;AAGZvI,QAAI,WAHQ;AAIZqI,SAAK,YAJO;AAKZzI,kBAAc,0BAAuBP;AALzB,GAAd;AAQA,MAAMQ,WAAS,GAAG;AAChB4Z,iBAAa,EADG;AAEhBxY,UAAM,EAFU;AAGhBsK,YAAQ,EAHQ;AAIhBxL,QAAI,EAJY;AAKhBC,QAAI,EAAY;AALA,GAAlB;AAQA,MAAMT,UAAQ,GAAG;AACfwa,YAAQ,EADO;AAEfJ,kBAAc,EAFC;AAGf1Y,UAAM,EAHS;AAIf+a,aAAS,EAJM;AAKf3a,eAAW,EALI;AAMf4Y,mBAAe,EANA;AAOfgC,yBAAqB,EAAG;AAG1B;;;;;;AAViB,GAAjB;;MAgBMC;;;AACJ,0BAAqB;AACnB;AACD,K,CAAA;;;gCAQD;;WAEA9S,I,GAAAA,gBAAO;AAAA;;AACL,UAAI,4BACA,sCAAsCyG,IAAI,CAD1C,gBAEAlT,CAAC,CAAC,KAAFA,QAAC,CAADA,UAA0BkD,WAAS,CAFnC,MAEAlD,CAFA,IAGAA,CAAC,CAAC,KAAFA,QAAC,CAADA,UAA0BkD,WAAS,CAHvC,QAGIlD,CAHJ,EAGmD;AACjD;AACD;;AAED;AACA;AACA,UAAMwf,WAAW,GAAGxf,CAAC,CAAC,KAAFA,QAAC,CAADA,SAAyB4C,UAAQ,CAAjC5C,gBAApB,CAAoBA,CAApB;AACA,UAAMW,QAAQ,GAAGR,IAAI,CAAJA,uBAA4B,KAA7C,QAAiBA,CAAjB;;AAEA,uBAAiB;AACf,YAAMsf,YAAY,GAAGD,WAAW,CAAXA,qBAAiCA,WAAW,CAAXA,aAAjCA,OAAiE5c,UAAQ,CAAzE4c,YAAsF5c,UAAQ,CAAnH;AACA8c,gBAAQ,GAAG1f,CAAC,CAADA,UAAYA,CAAC,CAADA,WAAC,CAADA,MAAvB0f,YAAuB1f,CAAZA,CAAX0f;AACAA,gBAAQ,GAAGA,QAAQ,CAACA,QAAQ,CAARA,SAApBA,CAAmB,CAAnBA;AACD;;AAED,UAAMlP,SAAS,GAAG,CAAC,CAAD,MAAQ1N,OAAK,CAAb,MAAoB;AACpCmH,qBAAa,EAAE,KAAKoG;AADgB,OAApB,CAAlB;AAIA,UAAMC,SAAS,GAAG,CAAC,CAAD,MAAQxN,OAAK,CAAb,MAAoB;AACpCmH,qBAAa,EAAEyV;AADqB,OAApB,CAAlB;;AAIA,oBAAc;AACZ1f,SAAC,CAADA,QAAC,CAADA;AACD;;AAEDA,OAAC,CAAC,KAAFA,QAAC,CAADA;;AAEA,UAAIsQ,SAAS,CAATA,wBACAE,SAAS,CADb,kBACIA,EADJ,EACoC;AAClC;AACD;;AAED,oBAAc;AACZpF,cAAM,GAAG3K,QAAQ,CAARA,cAAT2K,QAAS3K,CAAT2K;AACD;;AAED,qBACE,KADF;;AAKA,UAAM0B,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,YAAM6S,WAAW,GAAG,CAAC,CAAD,MAAQ7c,OAAK,CAAb,QAAsB;AACxCmH,uBAAa,EAAE,KAAI,CAACoG;AADoB,SAAtB,CAApB;AAIA,YAAM8C,UAAU,GAAG,CAAC,CAAD,MAAQrQ,OAAK,CAAb,OAAqB;AACtCmH,uBAAa,EAAEyV;AADuB,SAArB,CAAnB;AAIA1f,SAAC,CAADA,QAAC,CAADA;AACAA,SAAC,CAAC,KAAI,CAANA,QAAC,CAADA;AAVF;;AAaA,kBAAY;AACV,+BAAuBoL,MAAM,CAA7B;AADF,aAEO;AACL0B,gBAAQ;AACT;AACF,K;;WAEDpJ,O,GAAAA,mBAAU;AACR1D,OAAC,CAADA,WAAa,KAAbA;AACA;AACD,K,CAAA;;;WAID6e,S,GAAAA,iDAAwC;AAAA;;AACtC,UAAMe,cAAc,GAAGhH,SAAS,KAAKA,SAAS,CAATA,qBAA+BA,SAAS,CAATA,aAA7CA,IAAS,CAATA,GACnB5Y,CAAC,CAADA,SAAC,CAADA,MAAkB4C,UAAQ,CADPgW,SACnB5Y,CADmB4Y,GAEnB5Y,CAAC,CAADA,SAAC,CAADA,UAAsB4C,UAAQ,CAFlC,MAEI5C,CAFJ;AAIA,UAAM6f,MAAM,GAAGD,cAAc,CAA7B,CAA6B,CAA7B;AACA,UAAME,eAAe,GAAGlM,QAAQ,IAAKiM,MAAbjM,IAAuB5T,CAAC,CAADA,MAAC,CAADA,UAAmBkD,WAAS,CAA3E,IAA+ClD,CAA/C;;AACA,UAAM8M,QAAQ,GAAG,SAAXA,QAAW;AAAA,eAAM,MAAI,CAAJ,qCAAN,QAAM,CAAN;AAAjB;;AAMA,UAAI+S,MAAM,IAAV,iBAA+B;AAC7B,YAAM9e,kBAAkB,GAAGZ,IAAI,CAAJA,iCAA3B,MAA2BA,CAA3B;AAEAH,SAAC,CAADA,MAAC,CAADA,aACekD,WAAS,CADxBlD,UAEOG,IAAI,CAFXH;AAHF,aAOO;AACL8M,gBAAQ;AACT;AACF,K;;WAEDiT,mB,GAAAA,wDAA+C;AAC7C,kBAAY;AACV/f,SAAC,CAADA,MAAC,CAADA,aAAsBkD,WAAS,CAA/BlD;AAEA,YAAMggB,aAAa,GAAGhgB,CAAC,CAAC6f,MAAM,CAAR7f,UAAC,CAADA,MACpB4C,UAAQ,CADY5C,uBAAtB,CAAsBA,CAAtB;;AAIA,2BAAmB;AACjBA,WAAC,CAADA,aAAC,CAADA,aAA6BkD,WAAS,CAAtClD;AACD;;AAED,YAAI6f,MAAM,CAANA,yBAAJ,OAA2C;AACzCA,gBAAM,CAANA;AACD;AACF;;AAED7f,OAAC,CAADA,OAAC,CAADA,UAAoBkD,WAAS,CAA7BlD;;AACA,UAAIY,OAAO,CAAPA,yBAAJ,OAA4C;AAC1CA,eAAO,CAAPA;AACD;;AAEDT,UAAI,CAAJA;;AAEA,UAAIS,OAAO,CAAPA,mBAA2BsC,WAAS,CAAxC,IAAItC,CAAJ,EAAgD;AAC9CA,eAAO,CAAPA,cAAsBsC,WAAS,CAA/BtC;AACD;;AAED,UAAIA,OAAO,CAAPA,cAAsBZ,CAAC,CAACY,OAAO,CAATZ,UAAC,CAADA,UAA+BkD,WAAS,CAAlE,aAA0BlD,CAA1B,EAAmF;AACjF,YAAMigB,eAAe,GAAGjgB,CAAC,CAADA,OAAC,CAADA,SAAmB4C,UAAQ,CAA3B5C,UAAxB,CAAwBA,CAAxB;;AAEA,6BAAqB;AACnB,cAAMkgB,kBAAkB,GAAG,cAAcD,eAAe,CAAfA,iBAAiCrd,UAAQ,CAAlF,eAAyCqd,CAAd,CAA3B;AAEAjgB,WAAC,CAADA,kBAAC,CAADA,UAA+BkD,WAAS,CAAxClD;AACD;;AAEDY,eAAO,CAAPA;AACD;;AAED,oBAAc;AACZgT,gBAAQ;AACT;AACF,K,CAAA;;;QAIM3P,gB,GAAP,kCAAgC;AAC9B,aAAO,UAAU,YAAY;AAC3B,YAAM6J,KAAK,GAAG9N,CAAC,CAAf,IAAe,CAAf;AACA,YAAImE,IAAI,GAAG2J,KAAK,CAALA,KAAX,UAAWA,CAAX;;AAEA,YAAI,CAAJ,MAAW;AACT3J,cAAI,GAAG,QAAPA,IAAO,CAAPA;AACA2J,eAAK,CAALA;AACD;;AAED,YAAI,kBAAJ,UAAgC;AAC9B,cAAI,OAAO3J,IAAI,CAAX,MAAW,CAAX,KAAJ,aAAyC;AACvC,kBAAM,8CAAN,IAAM,CAAN;AACD;;AACDA,cAAI,CAAJA,MAAI,CAAJA;AACD;AAdH,OAAO,CAAP;AAgBD,K;;;;0BAzKoB;AACnB;AACD;;;;;AA0KH;;;;;;;AAMAnE,GAAC,CAADA,QAAC,CAADA,IACM8C,OAAK,CADX9C,gBAC4B4C,UAAQ,CADpC5C,aACkD,iBAAiB;AAC/DC,SAAK,CAALA;;AACAsf,OAAG,CAAHA,sBAA0Bvf,CAAC,CAA3Buf,IAA2B,CAA3BA;AAHJvf;AAMA;;;;;;AAMAA,GAAC,CAADA,aAAauf,GAAG,CAAhBvf;AACAA,GAAC,CAADA;;AACAA,GAAC,CAADA,wBAAwB,YAAM;AAC5BA,KAAC,CAADA;AACA,WAAOuf,GAAG,CAAV;AAFFvf;ACpPA;;;;;;;AAMA,MAAMsC,MAAI,GAAV;AACA,MAAMC,SAAO,GAAb;AACA,MAAMC,UAAQ,GAAd;AACA,MAAMC,WAAS,SAAf;AACA,MAAME,oBAAkB,GAAG3C,CAAC,CAADA,GAA3B,MAA2BA,CAA3B;AAEA,MAAM8C,OAAK,GAAG;AACZmP,iBAAa,oBADD;AAEZtG,QAAI,WAFQ;AAGZC,UAAM,aAHM;AAIZvI,QAAI,WAJQ;AAKZqI,SAAK,YAAmBjJ;AALZ,GAAd;AAQA,MAAMS,WAAS,GAAG;AAChBE,QAAI,EADY;AAEhBuI,QAAI,EAFY;AAGhBtI,QAAI,EAHY;AAIhB8c,WAAO,EAAG;AAJM,GAAlB;AAOA,MAAMpa,aAAW,GAAG;AAClBwS,aAAS,EADS;AAElB6H,YAAQ,EAFU;AAGlB1H,SAAK,EAAO;AAHM,GAApB;AAMA,MAAMlT,SAAO,GAAG;AACd+S,aAAS,EADK;AAEd6H,YAAQ,EAFM;AAGd1H,SAAK,EAAO;AAHE,GAAhB;AAMA,MAAM9V,UAAQ,GAAG;AACf+P,gBAAY,EAAG;AAGjB;;;;;;AAJiB,GAAjB;;MAUM0N;;;AACJ,oCAA6B;AAC3B;AACA,qBAAgB,gBAAhB,MAAgB,CAAhB;AACA;;AACA;AACD,K,CAAA;;;kCAgBD;;WAEA5T,I,GAAAA,gBAAO;AAAA;;AACLzM,OAAC,CAAC,KAAFA,QAAC,CAADA,SAAyB8C,OAAK,CAA9B9C;;AAEA,UAAI,aAAJ,WAA4B;AAC1B,oCAA4BkD,WAAS,CAArC;AACD;;AAED,UAAM4J,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,aAAI,CAAJ,0BAA+B5J,WAAS,CAAxC;;AACA,aAAI,CAAJ,uBAA4BA,WAAS,CAArC;;AAEAlD,SAAC,CAAC,KAAI,CAANA,QAAC,CAADA,SAAyB8C,OAAK,CAA9B9C;;AAEA,YAAI,KAAI,CAAJ,QAAJ,UAA2B;AACzB,eAAI,CAAJ;AACD;AARH;;AAWA,qCAA+BkD,WAAS,CAAxC;;AACA,kCAA4BA,WAAS,CAArC;;AACA,UAAI,aAAJ,WAA4B;AAC1B,YAAMnC,kBAAkB,GAAGZ,IAAI,CAAJA,iCAAsC,KAAjE,QAA2BA,CAA3B;AAEAH,SAAC,CAAC,KAAFA,QAAC,CAADA,KACOG,IAAI,CADXH;AAHF,aAMO;AACL8M,gBAAQ;AACT;AACF,K;;WAEDG,I,GAAAA,8BAAqB;AAAA;;AACnB,UAAI,CAAC,iCAAiC/J,WAAS,CAA/C,IAAK,CAAL,EAAuD;AACrD;AACD;;AAEDlD,OAAC,CAAC,KAAFA,QAAC,CAADA,SAAyB8C,OAAK,CAA9B9C;;AAEA,0BAAoB;AAClB;AADF,aAEO;AACL,wBAAgBI,UAAU,CAAC,YAAM;AAC/B,gBAAI,CAAJ;AADwB,WAEvB,aAFH,KAA0B,CAA1B;AAGD;AACF,K;;WAEDsD,O,GAAAA,mBAAU;AACRwF,kBAAY,CAAC,KAAbA,QAAY,CAAZA;AACA;;AAEA,UAAI,iCAAiChG,WAAS,CAA9C,IAAI,CAAJ,EAAsD;AACpD,uCAA+BA,WAAS,CAAxC;AACD;;AAEDlD,OAAC,CAAC,KAAFA,QAAC,CAADA,KAAqB8C,OAAK,CAA1B9C;AAEAA,OAAC,CAADA,WAAa,KAAbA;AACA;AACA;AACD,K,CAAA;;;WAID0I,U,GAAAA,4BAAmB;AACjB3G,YAAM,gCAED/B,CAAC,CAAC,KAAFA,QAAC,CAADA,CAFC,IAEDA,EAFC,EAGD,kDAHL+B,EAAM,CAANA;AAMA5B,UAAI,CAAJA,gCAGE,iBAHFA;AAMA;AACD,K;;WAEDgb,a,GAAAA,yBAAgB;AAAA;;AACdnb,OAAC,CAAC,KAAFA,QAAC,CAADA,IACE8C,OAAK,CADP9C,eAEE4C,UAAQ,CAFV5C,cAGE;AAAA,eAAM,MAAI,CAAJ,KAAN,IAAM,CAAN;AAHFA;AAKD,K;;WAEDsgB,M,GAAAA,kBAAS;AAAA;;AACP,UAAMxT,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,cAAI,CAAJ,uBAA4B5J,WAAS,CAArC;;AACAlD,SAAC,CAAC,MAAI,CAANA,QAAC,CAADA,SAAyB8C,OAAK,CAA9B9C;AAFF;;AAKA,qCAA+BkD,WAAS,CAAxC;;AACA,UAAI,aAAJ,WAA4B;AAC1B,YAAMnC,kBAAkB,GAAGZ,IAAI,CAAJA,iCAAsC,KAAjE,QAA2BA,CAA3B;AAEAH,SAAC,CAAC,KAAFA,QAAC,CAADA,KACOG,IAAI,CADXH;AAHF,aAMO;AACL8M,gBAAQ;AACT;AACF,K,CAAA;;;UAIM7I,gB,GAAP,kCAAgC;AAC9B,aAAO,UAAU,YAAY;AAC3B,YAAMC,QAAQ,GAAGlE,CAAC,CAAlB,IAAkB,CAAlB;AACA,YAAImE,IAAI,GAASD,QAAQ,CAARA,KAAjB,UAAiBA,CAAjB;;AACA,YAAM+G,OAAO,GAAI,gCAAjB;;AAEA,YAAI,CAAJ,MAAW;AACT9G,cAAI,GAAG,gBAAPA,OAAO,CAAPA;AACAD,kBAAQ,CAARA;AACD;;AAED,YAAI,kBAAJ,UAAgC;AAC9B,cAAI,OAAOC,IAAI,CAAX,MAAW,CAAX,KAAJ,aAAyC;AACvC,kBAAM,8CAAN,IAAM,CAAN;AACD;;AAEDA,cAAI,CAAJA,MAAI,CAAJA;AACD;AAhBH,OAAO,CAAP;AAkBD,K;;;;0BA7IoB;AACnB;AACD;;;0BAEwB;AACvB;AACD;;;0BAEoB;AACnB;AACD;;;;;AAsIH;;;;;;;AAMAnE,GAAC,CAADA,aAAyBqgB,KAAK,CAA9BrgB;AACAA,GAAC,CAADA;;AACAA,GAAC,CAADA,wBAAyB,YAAM;AAC7BA,KAAC,CAADA;AACA,WAAOqgB,KAAK,CAAZ;AAFFrgB;AC/MA;;;;;;;;AAOA,GAAC,YAAM;AACL,QAAI,aAAJ,aAA8B;AAC5B,YAAM,cAAN,kGAAM,CAAN;AACD;;AAED,QAAMugB,OAAO,GAAGvgB,CAAC,CAADA,8BAAhB,GAAgBA,CAAhB;AACA,QAAMwgB,QAAQ,GAAd;AACA,QAAMC,OAAO,GAAb;AACA,QAAMC,QAAQ,GAAd;AACA,QAAMC,QAAQ,GAAd;AACA,QAAMC,QAAQ,GAAd;;AAEA,QAAIL,OAAO,CAAPA,CAAO,CAAPA,cAAwBA,OAAO,CAAPA,CAAO,CAAPA,GAAxBA,YAAiDA,OAAO,CAAPA,CAAO,CAAPA,iBAA2BA,OAAO,CAAPA,CAAO,CAAPA,KAA3BA,YAAsDA,OAAO,CAAPA,CAAO,CAAPA,GAAvGA,YAAgIA,OAAO,CAAPA,CAAO,CAAPA,IAApI,UAA4J;AAC1J,YAAM,UAAN,8EAAM,CAAN;AACD;AAdH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBA;;;;;;;;;;;;;AAaA,CAAE,UAAUM,MAAV,EAAkBC,OAAlB,EAA4B;AAE7B;;AAEA,MAAK,8BAAOC,MAAP,OAAkB,QAAlB,IAA8B,QAAOA,MAAM,CAACC,OAAd,MAA0B,QAA7D,EAAwE;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA;AACAD,UAAM,CAACC,OAAP,GAAiBH,MAAM,CAACpgB,QAAP,GAChBqgB,OAAO,CAAED,MAAF,EAAU,IAAV,CADS,GAEhB,UAAUI,CAAV,EAAc;AACb,UAAK,CAACA,CAAC,CAACxgB,QAAR,EAAmB;AAClB,cAAM,IAAIygB,KAAJ,CAAW,0CAAX,CAAN;AACA;;AACD,aAAOJ,OAAO,CAAEG,CAAF,CAAd;AACA,KAPF;AAQA,GAjBD,MAiBO;AACNH,WAAO,CAAED,MAAF,CAAP;AACA,GAvB4B,CAyB9B;;AACC,CA1BD,EA0BK,OAAO9Y,MAAP,KAAkB,WAAlB,GAAgCA,MAAhC,GAAyC,IA1B9C,EA0BoD,UAAUA,MAAV,EAAkBoZ,QAAlB,EAA6B;AAEjF;AACA;AACA;AACA;AACA;;AAEA,MAAIC,GAAG,GAAG,EAAV;AAEA,MAAI3gB,QAAQ,GAAGsH,MAAM,CAACtH,QAAtB;AAEA,MAAI4gB,QAAQ,GAAG1f,MAAM,CAAC2f,cAAtB;AAEA,MAAIC,MAAK,GAAGH,GAAG,CAACG,KAAhB;AAEA,MAAIC,MAAM,GAAGJ,GAAG,CAACI,MAAjB;AAEA,MAAIC,IAAI,GAAGL,GAAG,CAACK,IAAf;AAEA,MAAIC,OAAO,GAAGN,GAAG,CAACM,OAAlB;AAEA,MAAIC,UAAU,GAAG,EAAjB;AAEA,MAAIC,QAAQ,GAAGD,UAAU,CAACC,QAA1B;AAEA,MAAIC,MAAM,GAAGF,UAAU,CAACG,cAAxB;AAEA,MAAIC,UAAU,GAAGF,MAAM,CAACD,QAAxB;AAEA,MAAII,oBAAoB,GAAGD,UAAU,CAACE,IAAX,CAAiBtgB,MAAjB,CAA3B;AAEA,MAAIugB,OAAO,GAAG,EAAd;;AAEA,MAAIC,UAAU,GAAG,SAASA,UAAT,CAAqB1gB,GAArB,EAA2B;AAEtC;AACA;AACA;AACA;AACA,WAAO,OAAOA,GAAP,KAAe,UAAf,IAA6B,OAAOA,GAAG,CAAC2gB,QAAX,KAAwB,QAA5D;AACH,GAPH;;AAUA,MAAIC,QAAQ,GAAG,SAASA,QAAT,CAAmB5gB,GAAnB,EAAyB;AACtC,WAAOA,GAAG,IAAI,IAAP,IAAeA,GAAG,KAAKA,GAAG,CAACsG,MAAlC;AACA,GAFF;;AAOC,MAAIua,yBAAyB,GAAG;AAC/BC,QAAI,EAAE,IADyB;AAE/BC,OAAG,EAAE,IAF0B;AAG/BC,YAAQ,EAAE;AAHqB,GAAhC;;AAMA,WAASC,OAAT,CAAkBhN,IAAlB,EAAwBiN,GAAxB,EAA6B1D,IAA7B,EAAoC;AACnC0D,OAAG,GAAGA,GAAG,IAAIliB,QAAb;AAEA,QAAI8K,CAAJ;AAAA,QACCqX,MAAM,GAAGD,GAAG,CAACE,aAAJ,CAAmB,QAAnB,CADV;AAGAD,UAAM,CAACE,IAAP,GAAcpN,IAAd;;AACA,QAAKuJ,IAAL,EAAY;AACX,WAAM1T,CAAN,IAAW+W,yBAAX,EAAuC;AACtC,YAAKrD,IAAI,CAAE1T,CAAF,CAAT,EAAiB;AAChBqX,gBAAM,CAAErX,CAAF,CAAN,GAAc0T,IAAI,CAAE1T,CAAF,CAAlB;AACA;AACD;AACD;;AACDoX,OAAG,CAACI,IAAJ,CAASC,WAAT,CAAsBJ,MAAtB,EAA+BK,UAA/B,CAA0CC,WAA1C,CAAuDN,MAAvD;AACA;;AAGF,WAAS3gB,MAAT,CAAiBR,GAAjB,EAAuB;AACtB,QAAKA,GAAG,IAAI,IAAZ,EAAmB;AAClB,aAAOA,GAAG,GAAG,EAAb;AACA,KAHqB,CAKtB;;;AACA,WAAO,QAAOA,GAAP,MAAe,QAAf,IAA2B,OAAOA,GAAP,KAAe,UAA1C,GACNkgB,UAAU,CAAEC,QAAQ,CAACK,IAAT,CAAexgB,GAAf,CAAF,CAAV,IAAsC,QADhC,WAECA,GAFD,CAAP;AAGA;AACD;AACA;AACA;;;AAIA,MACC8e,OAAO,GAAG,OADX;AAAA,MAGC;AACA4C,QAAM,GAAG,SAATA,MAAS,CAAUxiB,QAAV,EAAoB6Q,OAApB,EAA8B;AAEtC;AACA;AACA,WAAO,IAAI2R,MAAM,CAACC,EAAP,CAAUC,IAAd,CAAoB1iB,QAApB,EAA8B6Q,OAA9B,CAAP;AACA,GATF;AAAA,MAWC;AACA;AACA8R,OAAK,GAAG,oCAbT;;AAeAH,QAAM,CAACC,EAAP,GAAYD,MAAM,CAACI,SAAP,GAAmB;AAE9B;AACAC,UAAM,EAAEjD,OAHsB;AAK9BkD,eAAW,EAAEN,MALiB;AAO9B;AACAO,UAAM,EAAE,CARsB;AAU9BC,WAAO,EAAE,mBAAW;AACnB,aAAOpC,MAAK,CAACU,IAAN,CAAY,IAAZ,CAAP;AACA,KAZ6B;AAc9B;AACA;AACA2B,OAAG,EAAE,aAAUC,GAAV,EAAgB;AAEpB;AACA,UAAKA,GAAG,IAAI,IAAZ,EAAmB;AAClB,eAAOtC,MAAK,CAACU,IAAN,CAAY,IAAZ,CAAP;AACA,OALmB,CAOpB;;;AACA,aAAO4B,GAAG,GAAG,CAAN,GAAU,KAAMA,GAAG,GAAG,KAAKH,MAAjB,CAAV,GAAsC,KAAMG,GAAN,CAA7C;AACA,KAzB6B;AA2B9B;AACA;AACAC,aAAS,EAAE,mBAAUC,KAAV,EAAkB;AAE5B;AACA,UAAIC,GAAG,GAAGb,MAAM,CAACc,KAAP,CAAc,KAAKR,WAAL,EAAd,EAAkCM,KAAlC,CAAV,CAH4B,CAK5B;;AACAC,SAAG,CAACE,UAAJ,GAAiB,IAAjB,CAN4B,CAQ5B;;AACA,aAAOF,GAAP;AACA,KAvC6B;AAyC9B;AACAG,QAAI,EAAE,cAAUvQ,QAAV,EAAqB;AAC1B,aAAOuP,MAAM,CAACgB,IAAP,CAAa,IAAb,EAAmBvQ,QAAnB,CAAP;AACA,KA5C6B;AA8C9BwQ,OAAG,EAAE,aAAUxQ,QAAV,EAAqB;AACzB,aAAO,KAAKkQ,SAAL,CAAgBX,MAAM,CAACiB,GAAP,CAAY,IAAZ,EAAkB,UAAU9X,IAAV,EAAgBf,CAAhB,EAAoB;AAC5D,eAAOqI,QAAQ,CAACqO,IAAT,CAAe3V,IAAf,EAAqBf,CAArB,EAAwBe,IAAxB,CAAP;AACA,OAFsB,CAAhB,CAAP;AAGA,KAlD6B;AAoD9BiV,SAAK,EAAE,iBAAW;AACjB,aAAO,KAAKuC,SAAL,CAAgBvC,MAAK,CAAC8C,KAAN,CAAa,IAAb,EAAmBC,SAAnB,CAAhB,CAAP;AACA,KAtD6B;AAwD9BC,SAAK,EAAE,iBAAW;AACjB,aAAO,KAAKC,EAAL,CAAS,CAAT,CAAP;AACA,KA1D6B;AA4D9BC,QAAI,EAAE,gBAAW;AAChB,aAAO,KAAKD,EAAL,CAAS,CAAC,CAAV,CAAP;AACA,KA9D6B;AAgE9BA,MAAE,EAAE,YAAUjZ,CAAV,EAAc;AACjB,UAAIC,GAAG,GAAG,KAAKkY,MAAf;AAAA,UACCgB,CAAC,GAAG,CAACnZ,CAAD,IAAOA,CAAC,GAAG,CAAJ,GAAQC,GAAR,GAAc,CAArB,CADL;AAEA,aAAO,KAAKsY,SAAL,CAAgBY,CAAC,IAAI,CAAL,IAAUA,CAAC,GAAGlZ,GAAd,GAAoB,CAAE,KAAMkZ,CAAN,CAAF,CAApB,GAAoC,EAApD,CAAP;AACA,KApE6B;AAsE9Bzb,OAAG,EAAE,eAAW;AACf,aAAO,KAAKib,UAAL,IAAmB,KAAKT,WAAL,EAA1B;AACA,KAxE6B;AA0E9B;AACA;AACAhC,QAAI,EAAEA,IA5EwB;AA6E9BkD,QAAI,EAAEvD,GAAG,CAACuD,IA7EoB;AA8E9BC,UAAM,EAAExD,GAAG,CAACwD;AA9EkB,GAA/B;;AAiFAzB,QAAM,CAAC0B,MAAP,GAAgB1B,MAAM,CAACC,EAAP,CAAUyB,MAAV,GAAmB,YAAW;AAC7C,QAAIC,OAAJ;AAAA,QAAaC,IAAb;AAAA,QAAmBvC,GAAnB;AAAA,QAAwBwC,IAAxB;AAAA,QAA8BC,WAA9B;AAAA,QAA2CC,KAA3C;AAAA,QACC9Z,MAAM,GAAGkZ,SAAS,CAAE,CAAF,CAAT,IAAkB,EAD5B;AAAA,QAEC/Y,CAAC,GAAG,CAFL;AAAA,QAGCmY,MAAM,GAAGY,SAAS,CAACZ,MAHpB;AAAA,QAICyB,IAAI,GAAG,KAJR,CAD6C,CAO7C;;AACA,QAAK,OAAO/Z,MAAP,KAAkB,SAAvB,EAAmC;AAClC+Z,UAAI,GAAG/Z,MAAP,CADkC,CAGlC;;AACAA,YAAM,GAAGkZ,SAAS,CAAE/Y,CAAF,CAAT,IAAkB,EAA3B;AACAA,OAAC;AACD,KAd4C,CAgB7C;;;AACA,QAAK,QAAOH,MAAP,MAAkB,QAAlB,IAA8B,CAAC+W,UAAU,CAAE/W,MAAF,CAA9C,EAA2D;AAC1DA,YAAM,GAAG,EAAT;AACA,KAnB4C,CAqB7C;;;AACA,QAAKG,CAAC,KAAKmY,MAAX,EAAoB;AACnBtY,YAAM,GAAG,IAAT;AACAG,OAAC;AACD;;AAED,WAAQA,CAAC,GAAGmY,MAAZ,EAAoBnY,CAAC,EAArB,EAA0B;AAEzB;AACA,UAAK,CAAEuZ,OAAO,GAAGR,SAAS,CAAE/Y,CAAF,CAArB,KAAgC,IAArC,EAA4C;AAE3C;AACA,aAAMwZ,IAAN,IAAcD,OAAd,EAAwB;AACvBtC,aAAG,GAAGpX,MAAM,CAAE2Z,IAAF,CAAZ;AACAC,cAAI,GAAGF,OAAO,CAAEC,IAAF,CAAd,CAFuB,CAIvB;;AACA,cAAK3Z,MAAM,KAAK4Z,IAAhB,EAAuB;AACtB;AACA,WAPsB,CASvB;;;AACA,cAAKG,IAAI,IAAIH,IAAR,KAAkB7B,MAAM,CAACiC,aAAP,CAAsBJ,IAAtB,MACpBC,WAAW,GAAGI,KAAK,CAACC,OAAN,CAAeN,IAAf,CADM,CAAlB,CAAL,EAC6C;AAE5C,gBAAKC,WAAL,EAAmB;AAClBA,yBAAW,GAAG,KAAd;AACAC,mBAAK,GAAG1C,GAAG,IAAI6C,KAAK,CAACC,OAAN,CAAe9C,GAAf,CAAP,GAA8BA,GAA9B,GAAoC,EAA5C;AAEA,aAJD,MAIO;AACN0C,mBAAK,GAAG1C,GAAG,IAAIW,MAAM,CAACiC,aAAP,CAAsB5C,GAAtB,CAAP,GAAqCA,GAArC,GAA2C,EAAnD;AACA,aAR2C,CAU5C;;;AACApX,kBAAM,CAAE2Z,IAAF,CAAN,GAAiB5B,MAAM,CAAC0B,MAAP,CAAeM,IAAf,EAAqBD,KAArB,EAA4BF,IAA5B,CAAjB,CAX4C,CAa7C;AACC,WAfD,MAeO,IAAKA,IAAI,KAAKO,SAAd,EAA0B;AAChCna,kBAAM,CAAE2Z,IAAF,CAAN,GAAiBC,IAAjB;AACA;AACD;AACD;AACD,KA/D4C,CAiE7C;;;AACA,WAAO5Z,MAAP;AACA,GAnED;;AAqEA+X,QAAM,CAAC0B,MAAP,CAAe;AAEd;AACAW,WAAO,EAAE,WAAW,CAAEjF,OAAO,GAAG/f,IAAI,CAACilB,MAAL,EAAZ,EAA4BC,OAA5B,CAAqC,KAArC,EAA4C,EAA5C,CAHN;AAKd;AACAC,WAAO,EAAE,IANK;AAQdC,SAAK,EAAE,eAAUC,GAAV,EAAgB;AACtB,YAAM,IAAI3E,KAAJ,CAAW2E,GAAX,CAAN;AACA,KAVa;AAYdC,QAAI,EAAE,gBAAW,CAAE,CAZL;AAcdV,iBAAa,EAAE,uBAAU3jB,GAAV,EAAgB;AAC9B,UAAIskB,KAAJ,EAAWC,IAAX,CAD8B,CAG9B;AACA;;AACA,UAAK,CAACvkB,GAAD,IAAQmgB,QAAQ,CAACK,IAAT,CAAexgB,GAAf,MAAyB,iBAAtC,EAA0D;AACzD,eAAO,KAAP;AACA;;AAEDskB,WAAK,GAAG1E,QAAQ,CAAE5f,GAAF,CAAhB,CAT8B,CAW9B;;AACA,UAAK,CAACskB,KAAN,EAAc;AACb,eAAO,IAAP;AACA,OAd6B,CAgB9B;;;AACAC,UAAI,GAAGnE,MAAM,CAACI,IAAP,CAAa8D,KAAb,EAAoB,aAApB,KAAuCA,KAAK,CAACtC,WAApD;AACA,aAAO,OAAOuC,IAAP,KAAgB,UAAhB,IAA8BjE,UAAU,CAACE,IAAX,CAAiB+D,IAAjB,MAA4BhE,oBAAjE;AACA,KAjCa;AAmCdiE,iBAAa,EAAE,uBAAUxkB,GAAV,EAAgB;AAE9B;AACA;AACA,UAAIsjB,IAAJ;;AAEA,WAAMA,IAAN,IAActjB,GAAd,EAAoB;AACnB,eAAO,KAAP;AACA;;AACD,aAAO,IAAP;AACA,KA7Ca;AA+Cd;AACAykB,cAAU,EAAE,oBAAUxQ,IAAV,EAAiB;AAC5BgN,aAAO,CAAEhN,IAAF,CAAP;AACA,KAlDa;AAoDdyO,QAAI,EAAE,cAAU1iB,GAAV,EAAemS,QAAf,EAA0B;AAC/B,UAAI8P,MAAJ;AAAA,UAAYnY,CAAC,GAAG,CAAhB;;AAEA,UAAK4a,WAAW,CAAE1kB,GAAF,CAAhB,EAA0B;AACzBiiB,cAAM,GAAGjiB,GAAG,CAACiiB,MAAb;;AACA,eAAQnY,CAAC,GAAGmY,MAAZ,EAAoBnY,CAAC,EAArB,EAA0B;AACzB,cAAKqI,QAAQ,CAACqO,IAAT,CAAexgB,GAAG,CAAE8J,CAAF,CAAlB,EAAyBA,CAAzB,EAA4B9J,GAAG,CAAE8J,CAAF,CAA/B,MAA2C,KAAhD,EAAwD;AACvD;AACA;AACD;AACD,OAPD,MAOO;AACN,aAAMA,CAAN,IAAW9J,GAAX,EAAiB;AAChB,cAAKmS,QAAQ,CAACqO,IAAT,CAAexgB,GAAG,CAAE8J,CAAF,CAAlB,EAAyBA,CAAzB,EAA4B9J,GAAG,CAAE8J,CAAF,CAA/B,MAA2C,KAAhD,EAAwD;AACvD;AACA;AACD;AACD;;AAED,aAAO9J,GAAP;AACA,KAvEa;AAyEd;AACA2kB,QAAI,EAAE,cAAUtD,IAAV,EAAiB;AACtB,aAAOA,IAAI,IAAI,IAAR,GACN,EADM,GAEN,CAAEA,IAAI,GAAG,EAAT,EAAc4C,OAAd,CAAuBpC,KAAvB,EAA8B,EAA9B,CAFD;AAGA,KA9Ea;AAgFd;AACA+C,aAAS,EAAE,mBAAUjF,GAAV,EAAekF,OAAf,EAAyB;AACnC,UAAItC,GAAG,GAAGsC,OAAO,IAAI,EAArB;;AAEA,UAAKlF,GAAG,IAAI,IAAZ,EAAmB;AAClB,YAAK+E,WAAW,CAAExkB,MAAM,CAAEyf,GAAF,CAAR,CAAhB,EAAoC;AACnC+B,gBAAM,CAACc,KAAP,CAAcD,GAAd,EACC,OAAO5C,GAAP,KAAe,QAAf,GACA,CAAEA,GAAF,CADA,GACUA,GAFX;AAIA,SALD,MAKO;AACNK,cAAI,CAACQ,IAAL,CAAW+B,GAAX,EAAgB5C,GAAhB;AACA;AACD;;AAED,aAAO4C,GAAP;AACA,KAhGa;AAkGduC,WAAO,EAAE,iBAAUja,IAAV,EAAgB8U,GAAhB,EAAqB7V,CAArB,EAAyB;AACjC,aAAO6V,GAAG,IAAI,IAAP,GAAc,CAAC,CAAf,GAAmBM,OAAO,CAACO,IAAR,CAAcb,GAAd,EAAmB9U,IAAnB,EAAyBf,CAAzB,CAA1B;AACA,KApGa;AAsGd;AACA;AACA0Y,SAAK,EAAE,eAAUM,KAAV,EAAiBiC,MAAjB,EAA0B;AAChC,UAAIhb,GAAG,GAAG,CAACgb,MAAM,CAAC9C,MAAlB;AAAA,UACCgB,CAAC,GAAG,CADL;AAAA,UAECnZ,CAAC,GAAGgZ,KAAK,CAACb,MAFX;;AAIA,aAAQgB,CAAC,GAAGlZ,GAAZ,EAAiBkZ,CAAC,EAAlB,EAAuB;AACtBH,aAAK,CAAEhZ,CAAC,EAAH,CAAL,GAAeib,MAAM,CAAE9B,CAAF,CAArB;AACA;;AAEDH,WAAK,CAACb,MAAN,GAAenY,CAAf;AAEA,aAAOgZ,KAAP;AACA,KApHa;AAsHdkC,QAAI,EAAE,cAAU1C,KAAV,EAAiBnQ,QAAjB,EAA2B8S,MAA3B,EAAoC;AACzC,UAAIC,eAAJ;AAAA,UACCC,OAAO,GAAG,EADX;AAAA,UAECrb,CAAC,GAAG,CAFL;AAAA,UAGCmY,MAAM,GAAGK,KAAK,CAACL,MAHhB;AAAA,UAICmD,cAAc,GAAG,CAACH,MAJnB,CADyC,CAOzC;AACA;;AACA,aAAQnb,CAAC,GAAGmY,MAAZ,EAAoBnY,CAAC,EAArB,EAA0B;AACzBob,uBAAe,GAAG,CAAC/S,QAAQ,CAAEmQ,KAAK,CAAExY,CAAF,CAAP,EAAcA,CAAd,CAA3B;;AACA,YAAKob,eAAe,KAAKE,cAAzB,EAA0C;AACzCD,iBAAO,CAACnF,IAAR,CAAcsC,KAAK,CAAExY,CAAF,CAAnB;AACA;AACD;;AAED,aAAOqb,OAAP;AACA,KAvIa;AAyId;AACAxC,OAAG,EAAE,aAAUL,KAAV,EAAiBnQ,QAAjB,EAA2BkT,GAA3B,EAAiC;AACrC,UAAIpD,MAAJ;AAAA,UAAY5hB,KAAZ;AAAA,UACCyJ,CAAC,GAAG,CADL;AAAA,UAECyY,GAAG,GAAG,EAFP,CADqC,CAKrC;;AACA,UAAKmC,WAAW,CAAEpC,KAAF,CAAhB,EAA4B;AAC3BL,cAAM,GAAGK,KAAK,CAACL,MAAf;;AACA,eAAQnY,CAAC,GAAGmY,MAAZ,EAAoBnY,CAAC,EAArB,EAA0B;AACzBzJ,eAAK,GAAG8R,QAAQ,CAAEmQ,KAAK,CAAExY,CAAF,CAAP,EAAcA,CAAd,EAAiBub,GAAjB,CAAhB;;AAEA,cAAKhlB,KAAK,IAAI,IAAd,EAAqB;AACpBkiB,eAAG,CAACvC,IAAJ,CAAU3f,KAAV;AACA;AACD,SAR0B,CAU5B;;AACC,OAXD,MAWO;AACN,aAAMyJ,CAAN,IAAWwY,KAAX,EAAmB;AAClBjiB,eAAK,GAAG8R,QAAQ,CAAEmQ,KAAK,CAAExY,CAAF,CAAP,EAAcA,CAAd,EAAiBub,GAAjB,CAAhB;;AAEA,cAAKhlB,KAAK,IAAI,IAAd,EAAqB;AACpBkiB,eAAG,CAACvC,IAAJ,CAAU3f,KAAV;AACA;AACD;AACD,OAzBoC,CA2BrC;;;AACA,aAAO0f,MAAM,CAAC6C,KAAP,CAAc,EAAd,EAAkBL,GAAlB,CAAP;AACA,KAvKa;AAyKd;AACA+C,QAAI,EAAE,CA1KQ;AA4Kd;AACA;AACA7E,WAAO,EAAEA;AA9KK,GAAf;;AAiLA,MAAK,OAAO8E,MAAP,KAAkB,UAAvB,EAAoC;AACnC7D,UAAM,CAACC,EAAP,CAAW4D,MAAM,CAACC,QAAlB,IAA+B7F,GAAG,CAAE4F,MAAM,CAACC,QAAT,CAAlC;AACA,GAnbgF,CAqbjF;;;AACA9D,QAAM,CAACgB,IAAP,CAAa,uEAAuE+C,KAAvE,CAA8E,GAA9E,CAAb,EACA,UAAU3b,CAAV,EAAawZ,IAAb,EAAoB;AACnBpD,cAAU,CAAE,aAAaoD,IAAb,GAAoB,GAAtB,CAAV,GAAwCA,IAAI,CAACoC,WAAL,EAAxC;AACA,GAHD;;AAKA,WAAShB,WAAT,CAAsB1kB,GAAtB,EAA4B;AAE3B;AACA;AACA;AACA;AACA,QAAIiiB,MAAM,GAAG,CAAC,CAACjiB,GAAF,IAAS,YAAYA,GAArB,IAA4BA,GAAG,CAACiiB,MAA7C;AAAA,QACCnB,IAAI,GAAGtgB,MAAM,CAAER,GAAF,CADd;;AAGA,QAAK0gB,UAAU,CAAE1gB,GAAF,CAAV,IAAqB4gB,QAAQ,CAAE5gB,GAAF,CAAlC,EAA4C;AAC3C,aAAO,KAAP;AACA;;AAED,WAAO8gB,IAAI,KAAK,OAAT,IAAoBmB,MAAM,KAAK,CAA/B,IACN,OAAOA,MAAP,KAAkB,QAAlB,IAA8BA,MAAM,GAAG,CAAvC,IAA8CA,MAAM,GAAG,CAAX,IAAkBjiB,GAD/D;AAEA;;AACD,MAAI2lB,MAAM;AACV;;;;;;;;;;AAUC,YAAUrf,MAAV,EAAmB;AAEpB,QAAIwD,CAAJ;AAAA,QACC2W,OADD;AAAA,QAECmF,IAFD;AAAA,QAGCC,OAHD;AAAA,QAICC,KAJD;AAAA,QAKCC,QALD;AAAA,QAMCC,OAND;AAAA,QAOCC,MAPD;AAAA,QAQCC,gBARD;AAAA,QASCC,SATD;AAAA,QAUCC,YAVD;AAAA,QAYC;AACAC,eAbD;AAAA,QAcCrnB,QAdD;AAAA,QAeCsnB,OAfD;AAAA,QAgBCC,cAhBD;AAAA,QAiBCC,SAjBD;AAAA,QAkBCC,aAlBD;AAAA,QAmBCtB,OAnBD;AAAA,QAoBCuB,QApBD;AAAA,QAsBC;AACA3C,WAAO,GAAG,WAAW,IAAI,IAAI4C,IAAJ,EAvB1B;AAAA,QAwBCC,YAAY,GAAGtgB,MAAM,CAACtH,QAxBvB;AAAA,QAyBC6nB,OAAO,GAAG,CAzBX;AAAA,QA0BCC,IAAI,GAAG,CA1BR;AAAA,QA2BCC,UAAU,GAAGC,WAAW,EA3BzB;AAAA,QA4BCC,UAAU,GAAGD,WAAW,EA5BzB;AAAA,QA6BCE,aAAa,GAAGF,WAAW,EA7B5B;AAAA,QA8BCG,SAAS,GAAG,mBAAUvT,CAAV,EAAaE,CAAb,EAAiB;AAC5B,UAAKF,CAAC,KAAKE,CAAX,EAAe;AACdsS,oBAAY,GAAG,IAAf;AACA;;AACD,aAAO,CAAP;AACA,KAnCF;AAAA,QAqCC;AACAhG,UAAM,GAAI,EAAD,CAAKC,cAtCf;AAAA,QAuCCV,GAAG,GAAG,EAvCP;AAAA,QAwCCyH,GAAG,GAAGzH,GAAG,CAACyH,GAxCX;AAAA,QAyCCC,WAAW,GAAG1H,GAAG,CAACK,IAzCnB;AAAA,QA0CCA,IAAI,GAAGL,GAAG,CAACK,IA1CZ;AAAA,QA2CCF,KAAK,GAAGH,GAAG,CAACG,KA3Cb;AAAA,QA4CC;AACA;AACAG,WAAO,GAAG,SAAVA,OAAU,CAAUqH,IAAV,EAAgBzc,IAAhB,EAAuB;AAChC,UAAIf,CAAC,GAAG,CAAR;AAAA,UACCC,GAAG,GAAGud,IAAI,CAACrF,MADZ;;AAEA,aAAQnY,CAAC,GAAGC,GAAZ,EAAiBD,CAAC,EAAlB,EAAuB;AACtB,YAAKwd,IAAI,CAACxd,CAAD,CAAJ,KAAYe,IAAjB,EAAwB;AACvB,iBAAOf,CAAP;AACA;AACD;;AACD,aAAO,CAAC,CAAR;AACA,KAvDF;AAAA,QAyDCyd,QAAQ,GAAG,4HAzDZ;AAAA,QA2DC;AAEA;AACAC,cAAU,GAAG,qBA9Dd;AAAA,QAgEC;AACAC,cAAU,GAAG,+BAjEd;AAAA,QAmEC;AACAC,cAAU,GAAG,QAAQF,UAAR,GAAqB,IAArB,GAA4BC,UAA5B,GAAyC,MAAzC,GAAkDD,UAAlD,GACZ;AACA,mBAFY,GAEMA,UAFN,GAGZ;AACA,8DAJY,GAIiDC,UAJjD,GAI8D,MAJ9D,GAIuED,UAJvE,GAKZ,MAzEF;AAAA,QA2ECG,OAAO,GAAG,OAAOF,UAAP,GAAoB,UAApB,GACT;AACA;AACA,2DAHS,GAIT;AACA,8BALS,GAKoBC,UALpB,GAKiC,MALjC,GAMT;AACA,QAPS,GAQT,QAnFF;AAAA,QAqFC;AACAE,eAAW,GAAG,IAAIC,MAAJ,CAAYL,UAAU,GAAG,GAAzB,EAA8B,GAA9B,CAtFf;AAAA,QAuFC3F,KAAK,GAAG,IAAIgG,MAAJ,CAAY,MAAML,UAAN,GAAmB,6BAAnB,GAAmDA,UAAnD,GAAgE,IAA5E,EAAkF,GAAlF,CAvFT;AAAA,QAyFCM,MAAM,GAAG,IAAID,MAAJ,CAAY,MAAML,UAAN,GAAmB,IAAnB,GAA0BA,UAA1B,GAAuC,GAAnD,CAzFV;AAAA,QA0FCO,YAAY,GAAG,IAAIF,MAAJ,CAAY,MAAML,UAAN,GAAmB,UAAnB,GAAgCA,UAAhC,GAA6C,GAA7C,GAAmDA,UAAnD,GAAgE,GAA5E,CA1FhB;AAAA,QA4FCQ,gBAAgB,GAAG,IAAIH,MAAJ,CAAY,MAAML,UAAN,GAAmB,gBAAnB,GAAsCA,UAAtC,GAAmD,MAA/D,EAAuE,GAAvE,CA5FpB;AAAA,QA8FCS,OAAO,GAAG,IAAIJ,MAAJ,CAAYF,OAAZ,CA9FX;AAAA,QA+FCO,WAAW,GAAG,IAAIL,MAAJ,CAAY,MAAMJ,UAAN,GAAmB,GAA/B,CA/Ff;AAAA,QAiGCU,SAAS,GAAG;AACX,YAAM,IAAIN,MAAJ,CAAY,QAAQJ,UAAR,GAAqB,GAAjC,CADK;AAEX,eAAS,IAAII,MAAJ,CAAY,UAAUJ,UAAV,GAAuB,GAAnC,CAFE;AAGX,aAAO,IAAII,MAAJ,CAAY,OAAOJ,UAAP,GAAoB,OAAhC,CAHI;AAIX,cAAQ,IAAII,MAAJ,CAAY,MAAMH,UAAlB,CAJG;AAKX,gBAAU,IAAIG,MAAJ,CAAY,MAAMF,OAAlB,CALC;AAMX,eAAS,IAAIE,MAAJ,CAAY,2DAA2DL,UAA3D,GACpB,8BADoB,GACaA,UADb,GAC0B,aAD1B,GAC0CA,UAD1C,GAEpB,YAFoB,GAELA,UAFK,GAEQ,QAFpB,EAE8B,GAF9B,CANE;AASX,cAAQ,IAAIK,MAAJ,CAAY,SAASN,QAAT,GAAoB,IAAhC,EAAsC,GAAtC,CATG;AAUX;AACA;AACA,sBAAgB,IAAIM,MAAJ,CAAY,MAAML,UAAN,GAAmB,kDAAnB,GAC3BA,UAD2B,GACd,kBADc,GACOA,UADP,GACoB,kBADhC,EACoD,GADpD;AAZL,KAjGb;AAAA,QAiHCY,OAAO,GAAG,qCAjHX;AAAA,QAkHCC,OAAO,GAAG,QAlHX;AAAA,QAoHCC,OAAO,GAAG,wBApHX;AAAA,QAsHC;AACAC,cAAU,GAAG,kCAvHd;AAAA,QAyHCC,QAAQ,GAAG,MAzHZ;AAAA,QA2HC;AACA;AACAC,aAAS,GAAG,IAAIZ,MAAJ,CAAY,uBAAuBL,UAAvB,GAAoC,KAApC,GAA4CA,UAA5C,GAAyD,MAArE,EAA6E,IAA7E,CA7Hb;AAAA,QA8HCkB,SAAS,GAAG,SAAZA,SAAY,CAAUC,CAAV,EAAaC,OAAb,EAAsBC,iBAAtB,EAA0C;AACrD,UAAIC,IAAI,GAAG,OAAOF,OAAP,GAAiB,OAA5B,CADqD,CAErD;AACA;AACA;;AACA,aAAOE,IAAI,KAAKA,IAAT,IAAiBD,iBAAjB,GACND,OADM,GAENE,IAAI,GAAG,CAAP,GACC;AACAC,YAAM,CAACC,YAAP,CAAqBF,IAAI,GAAG,OAA5B,CAFD,GAGC;AACAC,YAAM,CAACC,YAAP,CAAqBF,IAAI,IAAI,EAAR,GAAa,MAAlC,EAA0CA,IAAI,GAAG,KAAP,GAAe,MAAzD,CANF;AAOA,KA1IF;AAAA,QA4IC;AACA;AACAG,cAAU,GAAG,qDA9Id;AAAA,QA+ICC,UAAU,GAAG,SAAbA,UAAa,CAAUC,EAAV,EAAcC,WAAd,EAA4B;AACxC,UAAKA,WAAL,EAAmB;AAElB;AACA,YAAKD,EAAE,KAAK,IAAZ,EAAmB;AAClB,iBAAO,QAAP;AACA,SALiB,CAOlB;;;AACA,eAAOA,EAAE,CAACrJ,KAAH,CAAU,CAAV,EAAa,CAAC,CAAd,IAAoB,IAApB,GAA2BqJ,EAAE,CAACE,UAAH,CAAeF,EAAE,CAAClH,MAAH,GAAY,CAA3B,EAA+B9B,QAA/B,CAAyC,EAAzC,CAA3B,GAA2E,GAAlF;AACA,OAVuC,CAYxC;;;AACA,aAAO,OAAOgJ,EAAd;AACA,KA7JF;AAAA,QA+JC;AACA;AACA;AACA;AACAG,iBAAa,GAAG,SAAhBA,aAAgB,GAAW;AAC1BjD,iBAAW;AACX,KArKF;AAAA,QAuKCkD,gBAAgB,GAAGC,aAAa,CAC/B,UAAU3e,IAAV,EAAiB;AAChB,aAAOA,IAAI,CAAC4e,QAAL,KAAkB,IAAlB,KAA2B,UAAU5e,IAAV,IAAkB,WAAWA,IAAxD,CAAP;AACA,KAH8B,EAI/B;AAAE6e,SAAG,EAAE,YAAP;AAAqBnjB,UAAI,EAAE;AAA3B,KAJ+B,CAvKjC,CAFoB,CAgLpB;;;AACA,QAAI;AACHyZ,UAAI,CAAC4C,KAAL,CACEjD,GAAG,GAAGG,KAAK,CAACU,IAAN,CAAYoG,YAAY,CAAC+C,UAAzB,CADR,EAEC/C,YAAY,CAAC+C,UAFd,EADG,CAKH;AACA;;AACAhK,SAAG,CAAEiH,YAAY,CAAC+C,UAAb,CAAwB1H,MAA1B,CAAH,CAAsCtB,QAAtC;AACA,KARD,CAQE,OAAQjZ,CAAR,EAAY;AACbsY,UAAI,GAAG;AAAE4C,aAAK,EAAEjD,GAAG,CAACsC,MAAJ,GAEf;AACA,kBAAUtY,MAAV,EAAkBigB,GAAlB,EAAwB;AACvBvC,qBAAW,CAACzE,KAAZ,CAAmBjZ,MAAnB,EAA2BmW,KAAK,CAACU,IAAN,CAAWoJ,GAAX,CAA3B;AACA,SALc,GAOf;AACA;AACA,kBAAUjgB,MAAV,EAAkBigB,GAAlB,EAAwB;AACvB,cAAI3G,CAAC,GAAGtZ,MAAM,CAACsY,MAAf;AAAA,cACCnY,CAAC,GAAG,CADL,CADuB,CAGvB;;AACA,iBAASH,MAAM,CAACsZ,CAAC,EAAF,CAAN,GAAc2G,GAAG,CAAC9f,CAAC,EAAF,CAA1B,EAAmC,CAAE;;AACrCH,gBAAM,CAACsY,MAAP,GAAgBgB,CAAC,GAAG,CAApB;AACA;AAfK,OAAP;AAiBA;;AAED,aAAS0C,MAAT,CAAiBzmB,QAAjB,EAA2B6Q,OAA3B,EAAoC8U,OAApC,EAA6CgF,IAA7C,EAAoD;AACnD,UAAIC,CAAJ;AAAA,UAAOhgB,CAAP;AAAA,UAAUe,IAAV;AAAA,UAAgBkf,GAAhB;AAAA,UAAqBC,KAArB;AAAA,UAA4BC,MAA5B;AAAA,UAAoCC,WAApC;AAAA,UACCC,UAAU,GAAGpa,OAAO,IAAIA,OAAO,CAACqa,aADjC;AAAA,UAGC;AACAzJ,cAAQ,GAAG5Q,OAAO,GAAGA,OAAO,CAAC4Q,QAAX,GAAsB,CAJzC;AAMAkE,aAAO,GAAGA,OAAO,IAAI,EAArB,CAPmD,CASnD;;AACA,UAAK,OAAO3lB,QAAP,KAAoB,QAApB,IAAgC,CAACA,QAAjC,IACJyhB,QAAQ,KAAK,CAAb,IAAkBA,QAAQ,KAAK,CAA/B,IAAoCA,QAAQ,KAAK,EADlD,EACuD;AAEtD,eAAOkE,OAAP;AACA,OAdkD,CAgBnD;;;AACA,UAAK,CAACgF,IAAN,EAAa;AAEZ,YAAK,CAAE9Z,OAAO,GAAGA,OAAO,CAACqa,aAAR,IAAyBra,OAA5B,GAAsC6W,YAA/C,MAAkE5nB,QAAvE,EAAkF;AACjFqnB,qBAAW,CAAEtW,OAAF,CAAX;AACA;;AACDA,eAAO,GAAGA,OAAO,IAAI/Q,QAArB;;AAEA,YAAKunB,cAAL,EAAsB;AAErB;AACA;AACA,cAAK5F,QAAQ,KAAK,EAAb,KAAoBqJ,KAAK,GAAGzB,UAAU,CAAC8B,IAAX,CAAiBnrB,QAAjB,CAA5B,CAAL,EAAgE;AAE/D;AACA,gBAAM4qB,CAAC,GAAGE,KAAK,CAAC,CAAD,CAAf,EAAsB;AAErB;AACA,kBAAKrJ,QAAQ,KAAK,CAAlB,EAAsB;AACrB,oBAAM9V,IAAI,GAAGkF,OAAO,CAACua,cAAR,CAAwBR,CAAxB,CAAb,EAA4C;AAE3C;AACA;AACA;AACA,sBAAKjf,IAAI,CAAC6R,EAAL,KAAYoN,CAAjB,EAAqB;AACpBjF,2BAAO,CAAC7E,IAAR,CAAcnV,IAAd;AACA,2BAAOga,OAAP;AACA;AACD,iBATD,MASO;AACN,yBAAOA,OAAP;AACA,iBAZoB,CActB;;AACC,eAfD,MAeO;AAEN;AACA;AACA;AACA,oBAAKsF,UAAU,KAAKtf,IAAI,GAAGsf,UAAU,CAACG,cAAX,CAA2BR,CAA3B,CAAZ,CAAV,IACJpD,QAAQ,CAAE3W,OAAF,EAAWlF,IAAX,CADJ,IAEJA,IAAI,CAAC6R,EAAL,KAAYoN,CAFb,EAEiB;AAEhBjF,yBAAO,CAAC7E,IAAR,CAAcnV,IAAd;AACA,yBAAOga,OAAP;AACA;AACD,eA9BoB,CAgCtB;;AACC,aAjCD,MAiCO,IAAKmF,KAAK,CAAC,CAAD,CAAV,EAAgB;AACtBhK,kBAAI,CAAC4C,KAAL,CAAYiC,OAAZ,EAAqB9U,OAAO,CAACwa,oBAAR,CAA8BrrB,QAA9B,CAArB;AACA,qBAAO2lB,OAAP,CAFsB,CAIvB;AACC,aALM,MAKA,IAAK,CAACiF,CAAC,GAAGE,KAAK,CAAC,CAAD,CAAV,KAAkBvJ,OAAO,CAAC+J,sBAA1B,IACXza,OAAO,CAACya,sBADF,EAC2B;AAEjCxK,kBAAI,CAAC4C,KAAL,CAAYiC,OAAZ,EAAqB9U,OAAO,CAACya,sBAAR,CAAgCV,CAAhC,CAArB;AACA,qBAAOjF,OAAP;AACA;AACD,WAnDoB,CAqDrB;;;AACA,cAAKpE,OAAO,CAACgK,GAAR,IACJ,CAACvD,aAAa,CAAEhoB,QAAQ,GAAG,GAAb,CADV,KAEH,CAACsnB,SAAD,IAAc,CAACA,SAAS,CAACkE,IAAV,CAAgBxrB,QAAhB,CAFZ,CAAL,EAE+C;AAE9C,gBAAKyhB,QAAQ,KAAK,CAAlB,EAAsB;AACrBwJ,wBAAU,GAAGpa,OAAb;AACAma,yBAAW,GAAGhrB,QAAd,CAFqB,CAItB;AACA;AACA;AACA;AACC,aARD,MAQO,IAAK6Q,OAAO,CAAC4a,QAAR,CAAiBjF,WAAjB,OAAmC,QAAxC,EAAmD;AAEzD;AACA,kBAAMqE,GAAG,GAAGha,OAAO,CAAC6a,YAAR,CAAsB,IAAtB,CAAZ,EAA4C;AAC3Cb,mBAAG,GAAGA,GAAG,CAAC9F,OAAJ,CAAagF,UAAb,EAAyBC,UAAzB,CAAN;AACA,eAFD,MAEO;AACNnZ,uBAAO,CAAC8a,YAAR,CAAsB,IAAtB,EAA6Bd,GAAG,GAAGhG,OAAnC;AACA,eAPwD,CASzD;;;AACAkG,oBAAM,GAAGlE,QAAQ,CAAE7mB,QAAF,CAAjB;AACA4K,eAAC,GAAGmgB,MAAM,CAAChI,MAAX;;AACA,qBAAQnY,CAAC,EAAT,EAAc;AACbmgB,sBAAM,CAACngB,CAAD,CAAN,GAAY,MAAMigB,GAAN,GAAY,GAAZ,GAAkBe,UAAU,CAAEb,MAAM,CAACngB,CAAD,CAAR,CAAxC;AACA;;AACDogB,yBAAW,GAAGD,MAAM,CAACc,IAAP,CAAa,GAAb,CAAd,CAfyD,CAiBzD;;AACAZ,wBAAU,GAAG3B,QAAQ,CAACkC,IAAT,CAAexrB,QAAf,KAA6B8rB,WAAW,CAAEjb,OAAO,CAACyR,UAAV,CAAxC,IACZzR,OADD;AAEA;;AAED,gBAAKma,WAAL,EAAmB;AAClB,kBAAI;AACHlK,oBAAI,CAAC4C,KAAL,CAAYiC,OAAZ,EACCsF,UAAU,CAACc,gBAAX,CAA6Bf,WAA7B,CADD;AAGA,uBAAOrF,OAAP;AACA,eALD,CAKE,OAAQqG,QAAR,EAAmB,CACpB,CAND,SAMU;AACT,oBAAKnB,GAAG,KAAKhG,OAAb,EAAuB;AACtBhU,yBAAO,CAACob,eAAR,CAAyB,IAAzB;AACA;AACD;AACD;AACD;AACD;AACD,OA/HkD,CAiInD;;;AACA,aAAOlF,MAAM,CAAE/mB,QAAQ,CAAC+kB,OAAT,CAAkBpC,KAAlB,EAAyB,IAAzB,CAAF,EAAmC9R,OAAnC,EAA4C8U,OAA5C,EAAqDgF,IAArD,CAAb;AACA;AAED;;;;;;;;AAMA,aAAS7C,WAAT,GAAuB;AACtB,UAAIoE,IAAI,GAAG,EAAX;;AAEA,eAASC,KAAT,CAAgBC,GAAhB,EAAqBjrB,KAArB,EAA6B;AAC5B;AACA,YAAK+qB,IAAI,CAACpL,IAAL,CAAWsL,GAAG,GAAG,GAAjB,IAAyB1F,IAAI,CAAC2F,WAAnC,EAAiD;AAChD;AACA,iBAAOF,KAAK,CAAED,IAAI,CAACI,KAAL,EAAF,CAAZ;AACA;;AACD,eAAQH,KAAK,CAAEC,GAAG,GAAG,GAAR,CAAL,GAAqBjrB,KAA7B;AACA;;AACD,aAAOgrB,KAAP;AACA;AAED;;;;;;AAIA,aAASI,YAAT,CAAuB9J,EAAvB,EAA4B;AAC3BA,QAAE,CAAEoC,OAAF,CAAF,GAAgB,IAAhB;AACA,aAAOpC,EAAP;AACA;AAED;;;;;;AAIA,aAAS+J,MAAT,CAAiB/J,EAAjB,EAAsB;AACrB,UAAItL,EAAE,GAAGrX,QAAQ,CAACoiB,aAAT,CAAuB,UAAvB,CAAT;;AAEA,UAAI;AACH,eAAO,CAAC,CAACO,EAAE,CAAEtL,EAAF,CAAX;AACA,OAFD,CAEE,OAAO3O,CAAP,EAAU;AACX,eAAO,KAAP;AACA,OAJD,SAIU;AACT;AACA,YAAK2O,EAAE,CAACmL,UAAR,EAAqB;AACpBnL,YAAE,CAACmL,UAAH,CAAcC,WAAd,CAA2BpL,EAA3B;AACA,SAJQ,CAKT;;;AACAA,UAAE,GAAG,IAAL;AACA;AACD;AAED;;;;;;;AAKA,aAASsV,SAAT,CAAoBC,KAApB,EAA2BC,OAA3B,EAAqC;AACpC,UAAIlM,GAAG,GAAGiM,KAAK,CAACnG,KAAN,CAAY,GAAZ,CAAV;AAAA,UACC3b,CAAC,GAAG6V,GAAG,CAACsC,MADT;;AAGA,aAAQnY,CAAC,EAAT,EAAc;AACb8b,YAAI,CAACkG,UAAL,CAAiBnM,GAAG,CAAC7V,CAAD,CAApB,IAA4B+hB,OAA5B;AACA;AACD;AAED;;;;;;;;AAMA,aAASE,YAAT,CAAuBnY,CAAvB,EAA0BE,CAA1B,EAA8B;AAC7B,UAAIkY,GAAG,GAAGlY,CAAC,IAAIF,CAAf;AAAA,UACCqY,IAAI,GAAGD,GAAG,IAAIpY,CAAC,CAAC+M,QAAF,KAAe,CAAtB,IAA2B7M,CAAC,CAAC6M,QAAF,KAAe,CAA1C,IACN/M,CAAC,CAACsY,WAAF,GAAgBpY,CAAC,CAACoY,WAFpB,CAD6B,CAK7B;;AACA,UAAKD,IAAL,EAAY;AACX,eAAOA,IAAP;AACA,OAR4B,CAU7B;;;AACA,UAAKD,GAAL,EAAW;AACV,eAASA,GAAG,GAAGA,GAAG,CAACG,WAAnB,EAAkC;AACjC,cAAKH,GAAG,KAAKlY,CAAb,EAAiB;AAChB,mBAAO,CAAC,CAAR;AACA;AACD;AACD;;AAED,aAAOF,CAAC,GAAG,CAAH,GAAO,CAAC,CAAhB;AACA;AAED;;;;;;AAIA,aAASwY,iBAAT,CAA4BtL,IAA5B,EAAmC;AAClC,aAAO,UAAUjW,IAAV,EAAiB;AACvB,YAAIyY,IAAI,GAAGzY,IAAI,CAAC8f,QAAL,CAAcjF,WAAd,EAAX;AACA,eAAOpC,IAAI,KAAK,OAAT,IAAoBzY,IAAI,CAACiW,IAAL,KAAcA,IAAzC;AACA,OAHD;AAIA;AAED;;;;;;AAIA,aAASuL,kBAAT,CAA6BvL,IAA7B,EAAoC;AACnC,aAAO,UAAUjW,IAAV,EAAiB;AACvB,YAAIyY,IAAI,GAAGzY,IAAI,CAAC8f,QAAL,CAAcjF,WAAd,EAAX;AACA,eAAO,CAACpC,IAAI,KAAK,OAAT,IAAoBA,IAAI,KAAK,QAA9B,KAA2CzY,IAAI,CAACiW,IAAL,KAAcA,IAAhE;AACA,OAHD;AAIA;AAED;;;;;;AAIA,aAASwL,oBAAT,CAA+B7C,QAA/B,EAA0C;AAEzC;AACA,aAAO,UAAU5e,IAAV,EAAiB;AAEvB;AACA;AACA;AACA,YAAK,UAAUA,IAAf,EAAsB;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAKA,IAAI,CAAC2W,UAAL,IAAmB3W,IAAI,CAAC4e,QAAL,KAAkB,KAA1C,EAAkD;AAEjD;AACA,gBAAK,WAAW5e,IAAhB,EAAuB;AACtB,kBAAK,WAAWA,IAAI,CAAC2W,UAArB,EAAkC;AACjC,uBAAO3W,IAAI,CAAC2W,UAAL,CAAgBiI,QAAhB,KAA6BA,QAApC;AACA,eAFD,MAEO;AACN,uBAAO5e,IAAI,CAAC4e,QAAL,KAAkBA,QAAzB;AACA;AACD,aATgD,CAWjD;AACA;;;AACA,mBAAO5e,IAAI,CAAC0hB,UAAL,KAAoB9C,QAApB,IAEN;;AACA;AACA5e,gBAAI,CAAC0hB,UAAL,KAAoB,CAAC9C,QAArB,IACCF,gBAAgB,CAAE1e,IAAF,CAAhB,KAA6B4e,QAL/B;AAMA;;AAED,iBAAO5e,IAAI,CAAC4e,QAAL,KAAkBA,QAAzB,CA9BqB,CAgCtB;AACA;AACA;AACC,SAnCD,MAmCO,IAAK,WAAW5e,IAAhB,EAAuB;AAC7B,iBAAOA,IAAI,CAAC4e,QAAL,KAAkBA,QAAzB;AACA,SA1CsB,CA4CvB;;;AACA,eAAO,KAAP;AACA,OA9CD;AA+CA;AAED;;;;;;AAIA,aAAS+C,sBAAT,CAAiC7K,EAAjC,EAAsC;AACrC,aAAO8J,YAAY,CAAC,UAAUgB,QAAV,EAAqB;AACxCA,gBAAQ,GAAG,CAACA,QAAZ;AACA,eAAOhB,YAAY,CAAC,UAAU5B,IAAV,EAAgB1E,OAAhB,EAA0B;AAC7C,cAAIlC,CAAJ;AAAA,cACCyJ,YAAY,GAAG/K,EAAE,CAAE,EAAF,EAAMkI,IAAI,CAAC5H,MAAX,EAAmBwK,QAAnB,CADlB;AAAA,cAEC3iB,CAAC,GAAG4iB,YAAY,CAACzK,MAFlB,CAD6C,CAK7C;;AACA,iBAAQnY,CAAC,EAAT,EAAc;AACb,gBAAK+f,IAAI,CAAG5G,CAAC,GAAGyJ,YAAY,CAAC5iB,CAAD,CAAnB,CAAT,EAAqC;AACpC+f,kBAAI,CAAC5G,CAAD,CAAJ,GAAU,EAAEkC,OAAO,CAAClC,CAAD,CAAP,GAAa4G,IAAI,CAAC5G,CAAD,CAAnB,CAAV;AACA;AACD;AACD,SAXkB,CAAnB;AAYA,OAdkB,CAAnB;AAeA;AAED;;;;;;;AAKA,aAAS+H,WAAT,CAAsBjb,OAAtB,EAAgC;AAC/B,aAAOA,OAAO,IAAI,OAAOA,OAAO,CAACwa,oBAAf,KAAwC,WAAnD,IAAkExa,OAAzE;AACA,KAzhBmB,CA2hBpB;;;AACA0Q,WAAO,GAAGkF,MAAM,CAAClF,OAAP,GAAiB,EAA3B;AAEA;;;;;;AAKAqF,SAAK,GAAGH,MAAM,CAACG,KAAP,GAAe,UAAUjb,IAAV,EAAiB;AACvC;AACA;AACA,UAAI8hB,eAAe,GAAG9hB,IAAI,IAAI,CAACA,IAAI,CAACuf,aAAL,IAAsBvf,IAAvB,EAA6B8hB,eAA3D;AACA,aAAOA,eAAe,GAAGA,eAAe,CAAChC,QAAhB,KAA6B,MAAhC,GAAyC,KAA/D;AACA,KALD;AAOA;;;;;;;AAKAtE,eAAW,GAAGV,MAAM,CAACU,WAAP,GAAqB,UAAU7I,IAAV,EAAiB;AACnD,UAAIoP,UAAJ;AAAA,UAAgBC,SAAhB;AAAA,UACC3L,GAAG,GAAG1D,IAAI,GAAGA,IAAI,CAAC4M,aAAL,IAAsB5M,IAAzB,GAAgCoJ,YAD3C,CADmD,CAInD;;AACA,UAAK1F,GAAG,KAAKliB,QAAR,IAAoBkiB,GAAG,CAACP,QAAJ,KAAiB,CAArC,IAA0C,CAACO,GAAG,CAACyL,eAApD,EAAsE;AACrE,eAAO3tB,QAAP;AACA,OAPkD,CASnD;;;AACAA,cAAQ,GAAGkiB,GAAX;AACAoF,aAAO,GAAGtnB,QAAQ,CAAC2tB,eAAnB;AACApG,oBAAc,GAAG,CAACT,KAAK,CAAE9mB,QAAF,CAAvB,CAZmD,CAcnD;AACA;;AACA,UAAK4nB,YAAY,KAAK5nB,QAAjB,KACH6tB,SAAS,GAAG7tB,QAAQ,CAAC8tB,WADlB,KACkCD,SAAS,CAACE,GAAV,KAAkBF,SADzD,EACqE;AAEpE;AACA,YAAKA,SAAS,CAACG,gBAAf,EAAkC;AACjCH,mBAAS,CAACG,gBAAV,CAA4B,QAA5B,EAAsC1D,aAAtC,EAAqD,KAArD,EADiC,CAGlC;AACC,SAJD,MAIO,IAAKuD,SAAS,CAACI,WAAf,EAA6B;AACnCJ,mBAAS,CAACI,WAAV,CAAuB,UAAvB,EAAmC3D,aAAnC;AACA;AACD;AAED;;AAGA;AACA;AACA;;;AACA7I,aAAO,CAACiH,UAAR,GAAqBgE,MAAM,CAAC,UAAUrV,EAAV,EAAe;AAC1CA,UAAE,CAAC6W,SAAH,GAAe,GAAf;AACA,eAAO,CAAC7W,EAAE,CAACuU,YAAH,CAAgB,WAAhB,CAAR;AACA,OAH0B,CAA3B;AAKA;;AAGA;;AACAnK,aAAO,CAAC8J,oBAAR,GAA+BmB,MAAM,CAAC,UAAUrV,EAAV,EAAe;AACpDA,UAAE,CAACkL,WAAH,CAAgBviB,QAAQ,CAACmuB,aAAT,CAAuB,EAAvB,CAAhB;AACA,eAAO,CAAC9W,EAAE,CAACkU,oBAAH,CAAwB,GAAxB,EAA6BtI,MAArC;AACA,OAHoC,CAArC,CA5CmD,CAiDnD;;AACAxB,aAAO,CAAC+J,sBAAR,GAAiClC,OAAO,CAACoC,IAAR,CAAc1rB,QAAQ,CAACwrB,sBAAvB,CAAjC,CAlDmD,CAoDnD;AACA;AACA;AACA;;AACA/J,aAAO,CAAC2M,OAAR,GAAkB1B,MAAM,CAAC,UAAUrV,EAAV,EAAe;AACvCiQ,eAAO,CAAC/E,WAAR,CAAqBlL,EAArB,EAA0BqG,EAA1B,GAA+BqH,OAA/B;AACA,eAAO,CAAC/kB,QAAQ,CAACquB,iBAAV,IAA+B,CAACruB,QAAQ,CAACquB,iBAAT,CAA4BtJ,OAA5B,EAAsC9B,MAA7E;AACA,OAHuB,CAAxB,CAxDmD,CA6DnD;;AACA,UAAKxB,OAAO,CAAC2M,OAAb,EAAuB;AACtBxH,YAAI,CAAC0H,MAAL,CAAY,IAAZ,IAAoB,UAAU5Q,EAAV,EAAe;AAClC,cAAI6Q,MAAM,GAAG7Q,EAAE,CAACuH,OAAH,CAAYwE,SAAZ,EAAuBC,SAAvB,CAAb;AACA,iBAAO,UAAU7d,IAAV,EAAiB;AACvB,mBAAOA,IAAI,CAAC+f,YAAL,CAAkB,IAAlB,MAA4B2C,MAAnC;AACA,WAFD;AAGA,SALD;;AAMA3H,YAAI,CAAC4H,IAAL,CAAU,IAAV,IAAkB,UAAU9Q,EAAV,EAAc3M,OAAd,EAAwB;AACzC,cAAK,OAAOA,OAAO,CAACua,cAAf,KAAkC,WAAlC,IAAiD/D,cAAtD,EAAuE;AACtE,gBAAI1b,IAAI,GAAGkF,OAAO,CAACua,cAAR,CAAwB5N,EAAxB,CAAX;AACA,mBAAO7R,IAAI,GAAG,CAAEA,IAAF,CAAH,GAAc,EAAzB;AACA;AACD,SALD;AAMA,OAbD,MAaO;AACN+a,YAAI,CAAC0H,MAAL,CAAY,IAAZ,IAAqB,UAAU5Q,EAAV,EAAe;AACnC,cAAI6Q,MAAM,GAAG7Q,EAAE,CAACuH,OAAH,CAAYwE,SAAZ,EAAuBC,SAAvB,CAAb;AACA,iBAAO,UAAU7d,IAAV,EAAiB;AACvB,gBAAI2S,IAAI,GAAG,OAAO3S,IAAI,CAAC4iB,gBAAZ,KAAiC,WAAjC,IACV5iB,IAAI,CAAC4iB,gBAAL,CAAsB,IAAtB,CADD;AAEA,mBAAOjQ,IAAI,IAAIA,IAAI,CAACnd,KAAL,KAAektB,MAA9B;AACA,WAJD;AAKA,SAPD,CADM,CAUN;AACA;;;AACA3H,YAAI,CAAC4H,IAAL,CAAU,IAAV,IAAkB,UAAU9Q,EAAV,EAAc3M,OAAd,EAAwB;AACzC,cAAK,OAAOA,OAAO,CAACua,cAAf,KAAkC,WAAlC,IAAiD/D,cAAtD,EAAuE;AACtE,gBAAI/I,IAAJ;AAAA,gBAAU1T,CAAV;AAAA,gBAAawY,KAAb;AAAA,gBACCzX,IAAI,GAAGkF,OAAO,CAACua,cAAR,CAAwB5N,EAAxB,CADR;;AAGA,gBAAK7R,IAAL,EAAY;AAEX;AACA2S,kBAAI,GAAG3S,IAAI,CAAC4iB,gBAAL,CAAsB,IAAtB,CAAP;;AACA,kBAAKjQ,IAAI,IAAIA,IAAI,CAACnd,KAAL,KAAeqc,EAA5B,EAAiC;AAChC,uBAAO,CAAE7R,IAAF,CAAP;AACA,eANU,CAQX;;;AACAyX,mBAAK,GAAGvS,OAAO,CAACsd,iBAAR,CAA2B3Q,EAA3B,CAAR;AACA5S,eAAC,GAAG,CAAJ;;AACA,qBAASe,IAAI,GAAGyX,KAAK,CAACxY,CAAC,EAAF,CAArB,EAA8B;AAC7B0T,oBAAI,GAAG3S,IAAI,CAAC4iB,gBAAL,CAAsB,IAAtB,CAAP;;AACA,oBAAKjQ,IAAI,IAAIA,IAAI,CAACnd,KAAL,KAAeqc,EAA5B,EAAiC;AAChC,yBAAO,CAAE7R,IAAF,CAAP;AACA;AACD;AACD;;AAED,mBAAO,EAAP;AACA;AACD,SA1BD;AA2BA,OAlHkD,CAoHnD;;;AACA+a,UAAI,CAAC4H,IAAL,CAAU,KAAV,IAAmB/M,OAAO,CAAC8J,oBAAR,GAClB,UAAUmD,GAAV,EAAe3d,OAAf,EAAyB;AACxB,YAAK,OAAOA,OAAO,CAACwa,oBAAf,KAAwC,WAA7C,EAA2D;AAC1D,iBAAOxa,OAAO,CAACwa,oBAAR,CAA8BmD,GAA9B,CAAP,CAD0D,CAG3D;AACC,SAJD,MAIO,IAAKjN,OAAO,CAACgK,GAAb,EAAmB;AACzB,iBAAO1a,OAAO,CAACkb,gBAAR,CAA0ByC,GAA1B,CAAP;AACA;AACD,OATiB,GAWlB,UAAUA,GAAV,EAAe3d,OAAf,EAAyB;AACxB,YAAIlF,IAAJ;AAAA,YACC8iB,GAAG,GAAG,EADP;AAAA,YAEC7jB,CAAC,GAAG,CAFL;AAAA,YAGC;AACA+a,eAAO,GAAG9U,OAAO,CAACwa,oBAAR,CAA8BmD,GAA9B,CAJX,CADwB,CAOxB;;AACA,YAAKA,GAAG,KAAK,GAAb,EAAmB;AAClB,iBAAS7iB,IAAI,GAAGga,OAAO,CAAC/a,CAAC,EAAF,CAAvB,EAAgC;AAC/B,gBAAKe,IAAI,CAAC8V,QAAL,KAAkB,CAAvB,EAA2B;AAC1BgN,iBAAG,CAAC3N,IAAJ,CAAUnV,IAAV;AACA;AACD;;AAED,iBAAO8iB,GAAP;AACA;;AACD,eAAO9I,OAAP;AACA,OA7BF,CArHmD,CAoJnD;;AACAe,UAAI,CAAC4H,IAAL,CAAU,OAAV,IAAqB/M,OAAO,CAAC+J,sBAAR,IAAkC,UAAU0C,SAAV,EAAqBnd,OAArB,EAA+B;AACrF,YAAK,OAAOA,OAAO,CAACya,sBAAf,KAA0C,WAA1C,IAAyDjE,cAA9D,EAA+E;AAC9E,iBAAOxW,OAAO,CAACya,sBAAR,CAAgC0C,SAAhC,CAAP;AACA;AACD,OAJD;AAMA;;AAGA;AAEA;;;AACAzG,mBAAa,GAAG,EAAhB,CAjKmD,CAmKnD;AACA;AACA;AACA;AACA;;AACAD,eAAS,GAAG,EAAZ;;AAEA,UAAM/F,OAAO,CAACgK,GAAR,GAAcnC,OAAO,CAACoC,IAAR,CAAc1rB,QAAQ,CAACisB,gBAAvB,CAApB,EAAiE;AAChE;AACA;AACAS,cAAM,CAAC,UAAUrV,EAAV,EAAe;AACrB;AACA;AACA;AACA;AACA;AACAiQ,iBAAO,CAAC/E,WAAR,CAAqBlL,EAArB,EAA0BuX,SAA1B,GAAsC,YAAY7J,OAAZ,GAAsB,QAAtB,GACrC,cADqC,GACpBA,OADoB,GACV,2BADU,GAErC,wCAFD,CANqB,CAUrB;AACA;AACA;AACA;;AACA,cAAK1N,EAAE,CAAC4U,gBAAH,CAAoB,sBAApB,EAA4ChJ,MAAjD,EAA0D;AACzDuE,qBAAS,CAACxG,IAAV,CAAgB,WAAWwH,UAAX,GAAwB,cAAxC;AACA,WAhBoB,CAkBrB;AACA;;;AACA,cAAK,CAACnR,EAAE,CAAC4U,gBAAH,CAAoB,YAApB,EAAkChJ,MAAxC,EAAiD;AAChDuE,qBAAS,CAACxG,IAAV,CAAgB,QAAQwH,UAAR,GAAqB,YAArB,GAAoCD,QAApC,GAA+C,GAA/D;AACA,WAtBoB,CAwBrB;;;AACA,cAAK,CAAClR,EAAE,CAAC4U,gBAAH,CAAqB,UAAUlH,OAAV,GAAoB,IAAzC,EAAgD9B,MAAtD,EAA+D;AAC9DuE,qBAAS,CAACxG,IAAV,CAAe,IAAf;AACA,WA3BoB,CA6BrB;AACA;AACA;;;AACA,cAAK,CAAC3J,EAAE,CAAC4U,gBAAH,CAAoB,UAApB,EAAgChJ,MAAtC,EAA+C;AAC9CuE,qBAAS,CAACxG,IAAV,CAAe,UAAf;AACA,WAlCoB,CAoCrB;AACA;AACA;;;AACA,cAAK,CAAC3J,EAAE,CAAC4U,gBAAH,CAAqB,OAAOlH,OAAP,GAAiB,IAAtC,EAA6C9B,MAAnD,EAA4D;AAC3DuE,qBAAS,CAACxG,IAAV,CAAe,UAAf;AACA;AACD,SA1CK,CAAN;AA4CA0L,cAAM,CAAC,UAAUrV,EAAV,EAAe;AACrBA,YAAE,CAACuX,SAAH,GAAe,wCACd,gDADD,CADqB,CAIrB;AACA;;AACA,cAAIpqB,KAAK,GAAGxE,QAAQ,CAACoiB,aAAT,CAAuB,OAAvB,CAAZ;AACA5d,eAAK,CAACqnB,YAAN,CAAoB,MAApB,EAA4B,QAA5B;AACAxU,YAAE,CAACkL,WAAH,CAAgB/d,KAAhB,EAAwBqnB,YAAxB,CAAsC,MAAtC,EAA8C,GAA9C,EARqB,CAUrB;AACA;;AACA,cAAKxU,EAAE,CAAC4U,gBAAH,CAAoB,UAApB,EAAgChJ,MAArC,EAA8C;AAC7CuE,qBAAS,CAACxG,IAAV,CAAgB,SAASwH,UAAT,GAAsB,aAAtC;AACA,WAdoB,CAgBrB;AACA;;;AACA,cAAKnR,EAAE,CAAC4U,gBAAH,CAAoB,UAApB,EAAgChJ,MAAhC,KAA2C,CAAhD,EAAoD;AACnDuE,qBAAS,CAACxG,IAAV,CAAgB,UAAhB,EAA4B,WAA5B;AACA,WApBoB,CAsBrB;AACA;;;AACAsG,iBAAO,CAAC/E,WAAR,CAAqBlL,EAArB,EAA0BoT,QAA1B,GAAqC,IAArC;;AACA,cAAKpT,EAAE,CAAC4U,gBAAH,CAAoB,WAApB,EAAiChJ,MAAjC,KAA4C,CAAjD,EAAqD;AACpDuE,qBAAS,CAACxG,IAAV,CAAgB,UAAhB,EAA4B,WAA5B;AACA,WA3BoB,CA6BrB;;;AACA3J,YAAE,CAAC4U,gBAAH,CAAoB,MAApB;AACAzE,mBAAS,CAACxG,IAAV,CAAe,MAAf;AACA,SAhCK,CAAN;AAiCA;;AAED,UAAMS,OAAO,CAACoN,eAAR,GAA0BvF,OAAO,CAACoC,IAAR,CAAevF,OAAO,GAAGmB,OAAO,CAACnB,OAAR,IACxDmB,OAAO,CAACwH,qBADgD,IAExDxH,OAAO,CAACyH,kBAFgD,IAGxDzH,OAAO,CAAC0H,gBAHgD,IAIxD1H,OAAO,CAAC2H,iBAJuB,CAAhC,EAIiC;AAEhCvC,cAAM,CAAC,UAAUrV,EAAV,EAAe;AACrB;AACA;AACAoK,iBAAO,CAACyN,iBAAR,GAA4B/I,OAAO,CAAC3E,IAAR,CAAcnK,EAAd,EAAkB,GAAlB,CAA5B,CAHqB,CAKrB;AACA;;AACA8O,iBAAO,CAAC3E,IAAR,CAAcnK,EAAd,EAAkB,WAAlB;AACAoQ,uBAAa,CAACzG,IAAd,CAAoB,IAApB,EAA0B2H,OAA1B;AACA,SATK,CAAN;AAUA;;AAEDnB,eAAS,GAAGA,SAAS,CAACvE,MAAV,IAAoB,IAAI4F,MAAJ,CAAYrB,SAAS,CAACuE,IAAV,CAAe,GAAf,CAAZ,CAAhC;AACAtE,mBAAa,GAAGA,aAAa,CAACxE,MAAd,IAAwB,IAAI4F,MAAJ,CAAYpB,aAAa,CAACsE,IAAd,CAAmB,GAAnB,CAAZ,CAAxC;AAEA;;;AAEA6B,gBAAU,GAAGtE,OAAO,CAACoC,IAAR,CAAcpE,OAAO,CAAC6H,uBAAtB,CAAb,CAnRmD,CAqRnD;AACA;AACA;;AACAzH,cAAQ,GAAGkG,UAAU,IAAItE,OAAO,CAACoC,IAAR,CAAcpE,OAAO,CAACI,QAAtB,CAAd,GACV,UAAU9S,CAAV,EAAaE,CAAb,EAAiB;AAChB,YAAIsa,KAAK,GAAGxa,CAAC,CAAC+M,QAAF,KAAe,CAAf,GAAmB/M,CAAC,CAAC+Y,eAArB,GAAuC/Y,CAAnD;AAAA,YACCya,GAAG,GAAGva,CAAC,IAAIA,CAAC,CAAC0N,UADd;AAEA,eAAO5N,CAAC,KAAKya,GAAN,IAAa,CAAC,EAAGA,GAAG,IAAIA,GAAG,CAAC1N,QAAJ,KAAiB,CAAxB,KACvByN,KAAK,CAAC1H,QAAN,GACC0H,KAAK,CAAC1H,QAAN,CAAgB2H,GAAhB,CADD,GAECza,CAAC,CAACua,uBAAF,IAA6Bva,CAAC,CAACua,uBAAF,CAA2BE,GAA3B,IAAmC,EAH1C,CAAH,CAArB;AAKA,OATS,GAUV,UAAUza,CAAV,EAAaE,CAAb,EAAiB;AAChB,YAAKA,CAAL,EAAS;AACR,iBAASA,CAAC,GAAGA,CAAC,CAAC0N,UAAf,EAA6B;AAC5B,gBAAK1N,CAAC,KAAKF,CAAX,EAAe;AACd,qBAAO,IAAP;AACA;AACD;AACD;;AACD,eAAO,KAAP;AACA,OAnBF;AAqBA;;AAGA;;AACAuT,eAAS,GAAGyF,UAAU,GACtB,UAAUhZ,CAAV,EAAaE,CAAb,EAAiB;AAEhB;AACA,YAAKF,CAAC,KAAKE,CAAX,EAAe;AACdsS,sBAAY,GAAG,IAAf;AACA,iBAAO,CAAP;AACA,SANe,CAQhB;;;AACA,YAAIkI,OAAO,GAAG,CAAC1a,CAAC,CAACua,uBAAH,GAA6B,CAACra,CAAC,CAACqa,uBAA9C;;AACA,YAAKG,OAAL,EAAe;AACd,iBAAOA,OAAP;AACA,SAZe,CAchB;;;AACAA,eAAO,GAAG,CAAE1a,CAAC,CAACwW,aAAF,IAAmBxW,CAArB,OAA+BE,CAAC,CAACsW,aAAF,IAAmBtW,CAAlD,IACTF,CAAC,CAACua,uBAAF,CAA2Bra,CAA3B,CADS,GAGT;AACA,SAJD,CAfgB,CAqBhB;;AACA,YAAKwa,OAAO,GAAG,CAAV,IACH,CAAC7N,OAAO,CAAC8N,YAAT,IAAyBza,CAAC,CAACqa,uBAAF,CAA2Bva,CAA3B,MAAmC0a,OAD9D,EACyE;AAExE;AACA,cAAK1a,CAAC,KAAK5U,QAAN,IAAkB4U,CAAC,CAACwW,aAAF,KAAoBxD,YAApB,IAAoCF,QAAQ,CAACE,YAAD,EAAehT,CAAf,CAAnE,EAAuF;AACtF,mBAAO,CAAC,CAAR;AACA;;AACD,cAAKE,CAAC,KAAK9U,QAAN,IAAkB8U,CAAC,CAACsW,aAAF,KAAoBxD,YAApB,IAAoCF,QAAQ,CAACE,YAAD,EAAe9S,CAAf,CAAnE,EAAuF;AACtF,mBAAO,CAAP;AACA,WARuE,CAUxE;;;AACA,iBAAOqS,SAAS,GACblG,OAAO,CAAEkG,SAAF,EAAavS,CAAb,CAAP,GAA0BqM,OAAO,CAAEkG,SAAF,EAAarS,CAAb,CADpB,GAEf,CAFD;AAGA;;AAED,eAAOwa,OAAO,GAAG,CAAV,GAAc,CAAC,CAAf,GAAmB,CAA1B;AACA,OAzCqB,GA0CtB,UAAU1a,CAAV,EAAaE,CAAb,EAAiB;AAChB;AACA,YAAKF,CAAC,KAAKE,CAAX,EAAe;AACdsS,sBAAY,GAAG,IAAf;AACA,iBAAO,CAAP;AACA;;AAED,YAAI4F,GAAJ;AAAA,YACCliB,CAAC,GAAG,CADL;AAAA,YAEC0kB,GAAG,GAAG5a,CAAC,CAAC4N,UAFT;AAAA,YAGC6M,GAAG,GAAGva,CAAC,CAAC0N,UAHT;AAAA,YAICiN,EAAE,GAAG,CAAE7a,CAAF,CAJN;AAAA,YAKC8a,EAAE,GAAG,CAAE5a,CAAF,CALN,CAPgB,CAchB;;AACA,YAAK,CAAC0a,GAAD,IAAQ,CAACH,GAAd,EAAoB;AACnB,iBAAOza,CAAC,KAAK5U,QAAN,GAAiB,CAAC,CAAlB,GACN8U,CAAC,KAAK9U,QAAN,GAAiB,CAAjB,GACAwvB,GAAG,GAAG,CAAC,CAAJ,GACHH,GAAG,GAAG,CAAH,GACHlI,SAAS,GACPlG,OAAO,CAAEkG,SAAF,EAAavS,CAAb,CAAP,GAA0BqM,OAAO,CAAEkG,SAAF,EAAarS,CAAb,CAD1B,GAET,CAND,CADmB,CASpB;AACC,SAVD,MAUO,IAAK0a,GAAG,KAAKH,GAAb,EAAmB;AACzB,iBAAOtC,YAAY,CAAEnY,CAAF,EAAKE,CAAL,CAAnB;AACA,SA3Be,CA6BhB;;;AACAkY,WAAG,GAAGpY,CAAN;;AACA,eAASoY,GAAG,GAAGA,GAAG,CAACxK,UAAnB,EAAiC;AAChCiN,YAAE,CAACE,OAAH,CAAY3C,GAAZ;AACA;;AACDA,WAAG,GAAGlY,CAAN;;AACA,eAASkY,GAAG,GAAGA,GAAG,CAACxK,UAAnB,EAAiC;AAChCkN,YAAE,CAACC,OAAH,CAAY3C,GAAZ;AACA,SArCe,CAuChB;;;AACA,eAAQyC,EAAE,CAAC3kB,CAAD,CAAF,KAAU4kB,EAAE,CAAC5kB,CAAD,CAApB,EAA0B;AACzBA,WAAC;AACD;;AAED,eAAOA,CAAC,GACP;AACAiiB,oBAAY,CAAE0C,EAAE,CAAC3kB,CAAD,CAAJ,EAAS4kB,EAAE,CAAC5kB,CAAD,CAAX,CAFL,GAIP;AACA2kB,UAAE,CAAC3kB,CAAD,CAAF,KAAU8c,YAAV,GAAyB,CAAC,CAA1B,GACA8H,EAAE,CAAC5kB,CAAD,CAAF,KAAU8c,YAAV,GAAyB,CAAzB,GACA,CAPD;AAQA,OA9FD;AAgGA,aAAO5nB,QAAP;AACA,KAlZD;;AAoZA2mB,UAAM,CAACR,OAAP,GAAiB,UAAUyJ,IAAV,EAAgBxb,QAAhB,EAA2B;AAC3C,aAAOuS,MAAM,CAAEiJ,IAAF,EAAQ,IAAR,EAAc,IAAd,EAAoBxb,QAApB,CAAb;AACA,KAFD;;AAIAuS,UAAM,CAACkI,eAAP,GAAyB,UAAUhjB,IAAV,EAAgB+jB,IAAhB,EAAuB;AAC/C;AACA,UAAK,CAAE/jB,IAAI,CAACuf,aAAL,IAAsBvf,IAAxB,MAAmC7L,QAAxC,EAAmD;AAClDqnB,mBAAW,CAAExb,IAAF,CAAX;AACA,OAJ8C,CAM/C;;;AACA+jB,UAAI,GAAGA,IAAI,CAAC3K,OAAL,CAAc+D,gBAAd,EAAgC,QAAhC,CAAP;;AAEA,UAAKvH,OAAO,CAACoN,eAAR,IAA2BtH,cAA3B,IACJ,CAACW,aAAa,CAAE0H,IAAI,GAAG,GAAT,CADV,KAEF,CAACnI,aAAD,IAAkB,CAACA,aAAa,CAACiE,IAAd,CAAoBkE,IAApB,CAFjB,MAGF,CAACpI,SAAD,IAAkB,CAACA,SAAS,CAACkE,IAAV,CAAgBkE,IAAhB,CAHjB,CAAL,EAGiD;AAEhD,YAAI;AACH,cAAIrM,GAAG,GAAG4C,OAAO,CAAC3E,IAAR,CAAc3V,IAAd,EAAoB+jB,IAApB,CAAV,CADG,CAGH;;AACA,cAAKrM,GAAG,IAAI9B,OAAO,CAACyN,iBAAf,IACH;AACA;AACArjB,cAAI,CAAC7L,QAAL,IAAiB6L,IAAI,CAAC7L,QAAL,CAAc2hB,QAAd,KAA2B,EAH9C,EAGmD;AAClD,mBAAO4B,GAAP;AACA;AACD,SAVD,CAUE,OAAO7a,CAAP,EAAU,CAAE;AACd;;AAED,aAAOie,MAAM,CAAEiJ,IAAF,EAAQ5vB,QAAR,EAAkB,IAAlB,EAAwB,CAAE6L,IAAF,CAAxB,CAAN,CAAyCoX,MAAzC,GAAkD,CAAzD;AACA,KA5BD;;AA8BA0D,UAAM,CAACe,QAAP,GAAkB,UAAU3W,OAAV,EAAmBlF,IAAnB,EAA0B;AAC3C;AACA,UAAK,CAAEkF,OAAO,CAACqa,aAAR,IAAyBra,OAA3B,MAAyC/Q,QAA9C,EAAyD;AACxDqnB,mBAAW,CAAEtW,OAAF,CAAX;AACA;;AACD,aAAO2W,QAAQ,CAAE3W,OAAF,EAAWlF,IAAX,CAAf;AACA,KAND;;AAQA8a,UAAM,CAAChQ,IAAP,GAAc,UAAU9K,IAAV,EAAgByY,IAAhB,EAAuB;AACpC;AACA,UAAK,CAAEzY,IAAI,CAACuf,aAAL,IAAsBvf,IAAxB,MAAmC7L,QAAxC,EAAmD;AAClDqnB,mBAAW,CAAExb,IAAF,CAAX;AACA;;AAED,UAAI8W,EAAE,GAAGiE,IAAI,CAACkG,UAAL,CAAiBxI,IAAI,CAACoC,WAAL,EAAjB,CAAT;AAAA,UACC;AACAmJ,SAAG,GAAGlN,EAAE,IAAIvB,MAAM,CAACI,IAAP,CAAaoF,IAAI,CAACkG,UAAlB,EAA8BxI,IAAI,CAACoC,WAAL,EAA9B,CAAN,GACL/D,EAAE,CAAE9W,IAAF,EAAQyY,IAAR,EAAc,CAACiD,cAAf,CADG,GAELzC,SAJF;AAMA,aAAO+K,GAAG,KAAK/K,SAAR,GACN+K,GADM,GAENpO,OAAO,CAACiH,UAAR,IAAsB,CAACnB,cAAvB,GACC1b,IAAI,CAAC+f,YAAL,CAAmBtH,IAAnB,CADD,GAEC,CAACuL,GAAG,GAAGhkB,IAAI,CAAC4iB,gBAAL,CAAsBnK,IAAtB,CAAP,KAAuCuL,GAAG,CAACC,SAA3C,GACCD,GAAG,CAACxuB,KADL,GAEC,IANH;AAOA,KAnBD;;AAqBAslB,UAAM,CAACoJ,MAAP,GAAgB,UAAUC,GAAV,EAAgB;AAC/B,aAAO,CAACA,GAAG,GAAG,EAAP,EAAW/K,OAAX,CAAoBgF,UAApB,EAAgCC,UAAhC,CAAP;AACA,KAFD;;AAIAvD,UAAM,CAACxB,KAAP,GAAe,UAAUC,GAAV,EAAgB;AAC9B,YAAM,IAAI3E,KAAJ,CAAW,4CAA4C2E,GAAvD,CAAN;AACA,KAFD;AAIA;;;;;;AAIAuB,UAAM,CAACsJ,UAAP,GAAoB,UAAUpK,OAAV,EAAoB;AACvC,UAAIha,IAAJ;AAAA,UACCqkB,UAAU,GAAG,EADd;AAAA,UAECjM,CAAC,GAAG,CAFL;AAAA,UAGCnZ,CAAC,GAAG,CAHL,CADuC,CAMvC;;AACAsc,kBAAY,GAAG,CAAC3F,OAAO,CAAC0O,gBAAxB;AACAhJ,eAAS,GAAG,CAAC1F,OAAO,CAAC2O,UAAT,IAAuBvK,OAAO,CAAC/E,KAAR,CAAe,CAAf,CAAnC;AACA+E,aAAO,CAAC3B,IAAR,CAAciE,SAAd;;AAEA,UAAKf,YAAL,EAAoB;AACnB,eAASvb,IAAI,GAAGga,OAAO,CAAC/a,CAAC,EAAF,CAAvB,EAAgC;AAC/B,cAAKe,IAAI,KAAKga,OAAO,CAAE/a,CAAF,CAArB,EAA6B;AAC5BmZ,aAAC,GAAGiM,UAAU,CAAClP,IAAX,CAAiBlW,CAAjB,CAAJ;AACA;AACD;;AACD,eAAQmZ,CAAC,EAAT,EAAc;AACb4B,iBAAO,CAAC1B,MAAR,CAAgB+L,UAAU,CAAEjM,CAAF,CAA1B,EAAiC,CAAjC;AACA;AACD,OApBsC,CAsBvC;AACA;;;AACAkD,eAAS,GAAG,IAAZ;AAEA,aAAOtB,OAAP;AACA,KA3BD;AA6BA;;;;;;AAIAgB,WAAO,GAAGF,MAAM,CAACE,OAAP,GAAiB,UAAUhb,IAAV,EAAiB;AAC3C,UAAI2S,IAAJ;AAAA,UACC+E,GAAG,GAAG,EADP;AAAA,UAECzY,CAAC,GAAG,CAFL;AAAA,UAGC6W,QAAQ,GAAG9V,IAAI,CAAC8V,QAHjB;;AAKA,UAAK,CAACA,QAAN,EAAiB;AAChB;AACA,eAASnD,IAAI,GAAG3S,IAAI,CAACf,CAAC,EAAF,CAApB,EAA6B;AAC5B;AACAyY,aAAG,IAAIsD,OAAO,CAAErI,IAAF,CAAd;AACA;AACD,OAND,MAMO,IAAKmD,QAAQ,KAAK,CAAb,IAAkBA,QAAQ,KAAK,CAA/B,IAAoCA,QAAQ,KAAK,EAAtD,EAA2D;AACjE;AACA;AACA,YAAK,OAAO9V,IAAI,CAACwkB,WAAZ,KAA4B,QAAjC,EAA4C;AAC3C,iBAAOxkB,IAAI,CAACwkB,WAAZ;AACA,SAFD,MAEO;AACN;AACA,eAAMxkB,IAAI,GAAGA,IAAI,CAACykB,UAAlB,EAA8BzkB,IAA9B,EAAoCA,IAAI,GAAGA,IAAI,CAACshB,WAAhD,EAA8D;AAC7D5J,eAAG,IAAIsD,OAAO,CAAEhb,IAAF,CAAd;AACA;AACD;AACD,OAXM,MAWA,IAAK8V,QAAQ,KAAK,CAAb,IAAkBA,QAAQ,KAAK,CAApC,EAAwC;AAC9C,eAAO9V,IAAI,CAAC0kB,SAAZ;AACA,OAzB0C,CA0B3C;;;AAEA,aAAOhN,GAAP;AACA,KA7BD;;AA+BAqD,QAAI,GAAGD,MAAM,CAACpZ,SAAP,GAAmB;AAEzB;AACAgf,iBAAW,EAAE,EAHY;AAKzBiE,kBAAY,EAAE/D,YALW;AAOzBzB,WAAK,EAAE7B,SAPkB;AASzB2D,gBAAU,EAAE,EATa;AAWzB0B,UAAI,EAAE,EAXmB;AAazBiC,cAAQ,EAAE;AACT,aAAK;AAAE/F,aAAG,EAAE,YAAP;AAAqB5G,eAAK,EAAE;AAA5B,SADI;AAET,aAAK;AAAE4G,aAAG,EAAE;AAAP,SAFI;AAGT,aAAK;AAAEA,aAAG,EAAE,iBAAP;AAA0B5G,eAAK,EAAE;AAAjC,SAHI;AAIT,aAAK;AAAE4G,aAAG,EAAE;AAAP;AAJI,OAbe;AAoBzBgG,eAAS,EAAE;AACV,gBAAQ,cAAU1F,KAAV,EAAkB;AACzBA,eAAK,CAAC,CAAD,CAAL,GAAWA,KAAK,CAAC,CAAD,CAAL,CAAS/F,OAAT,CAAkBwE,SAAlB,EAA6BC,SAA7B,CAAX,CADyB,CAGzB;;AACAsB,eAAK,CAAC,CAAD,CAAL,GAAW,CAAEA,KAAK,CAAC,CAAD,CAAL,IAAYA,KAAK,CAAC,CAAD,CAAjB,IAAwBA,KAAK,CAAC,CAAD,CAA7B,IAAoC,EAAtC,EAA2C/F,OAA3C,CAAoDwE,SAApD,EAA+DC,SAA/D,CAAX;;AAEA,cAAKsB,KAAK,CAAC,CAAD,CAAL,KAAa,IAAlB,EAAyB;AACxBA,iBAAK,CAAC,CAAD,CAAL,GAAW,MAAMA,KAAK,CAAC,CAAD,CAAX,GAAiB,GAA5B;AACA;;AAED,iBAAOA,KAAK,CAAClK,KAAN,CAAa,CAAb,EAAgB,CAAhB,CAAP;AACA,SAZS;AAcV,iBAAS,eAAUkK,KAAV,EAAkB;AAC1B;;;;;;;;;;AAUAA,eAAK,CAAC,CAAD,CAAL,GAAWA,KAAK,CAAC,CAAD,CAAL,CAAStE,WAAT,EAAX;;AAEA,cAAKsE,KAAK,CAAC,CAAD,CAAL,CAASlK,KAAT,CAAgB,CAAhB,EAAmB,CAAnB,MAA2B,KAAhC,EAAwC;AACvC;AACA,gBAAK,CAACkK,KAAK,CAAC,CAAD,CAAX,EAAiB;AAChBrE,oBAAM,CAACxB,KAAP,CAAc6F,KAAK,CAAC,CAAD,CAAnB;AACA,aAJsC,CAMvC;AACA;;;AACAA,iBAAK,CAAC,CAAD,CAAL,GAAW,EAAGA,KAAK,CAAC,CAAD,CAAL,GAAWA,KAAK,CAAC,CAAD,CAAL,IAAYA,KAAK,CAAC,CAAD,CAAL,IAAY,CAAxB,CAAX,GAAwC,KAAMA,KAAK,CAAC,CAAD,CAAL,KAAa,MAAb,IAAuBA,KAAK,CAAC,CAAD,CAAL,KAAa,KAA1C,CAA3C,CAAX;AACAA,iBAAK,CAAC,CAAD,CAAL,GAAW,EAAKA,KAAK,CAAC,CAAD,CAAL,GAAWA,KAAK,CAAC,CAAD,CAAlB,IAA2BA,KAAK,CAAC,CAAD,CAAL,KAAa,KAA3C,CAAX,CATuC,CAWxC;AACC,WAZD,MAYO,IAAKA,KAAK,CAAC,CAAD,CAAV,EAAgB;AACtBrE,kBAAM,CAACxB,KAAP,CAAc6F,KAAK,CAAC,CAAD,CAAnB;AACA;;AAED,iBAAOA,KAAP;AACA,SA5CS;AA8CV,kBAAU,gBAAUA,KAAV,EAAkB;AAC3B,cAAI2F,MAAJ;AAAA,cACCC,QAAQ,GAAG,CAAC5F,KAAK,CAAC,CAAD,CAAN,IAAaA,KAAK,CAAC,CAAD,CAD9B;;AAGA,cAAK7B,SAAS,CAAC,OAAD,CAAT,CAAmBuC,IAAnB,CAAyBV,KAAK,CAAC,CAAD,CAA9B,CAAL,EAA2C;AAC1C,mBAAO,IAAP;AACA,WAN0B,CAQ3B;;;AACA,cAAKA,KAAK,CAAC,CAAD,CAAV,EAAgB;AACfA,iBAAK,CAAC,CAAD,CAAL,GAAWA,KAAK,CAAC,CAAD,CAAL,IAAYA,KAAK,CAAC,CAAD,CAAjB,IAAwB,EAAnC,CADe,CAGhB;AACC,WAJD,MAIO,IAAK4F,QAAQ,IAAI3H,OAAO,CAACyC,IAAR,CAAckF,QAAd,CAAZ,MACX;AACCD,gBAAM,GAAG5J,QAAQ,CAAE6J,QAAF,EAAY,IAAZ,CAFP,OAGX;AACCD,gBAAM,GAAGC,QAAQ,CAAC3P,OAAT,CAAkB,GAAlB,EAAuB2P,QAAQ,CAAC3N,MAAT,GAAkB0N,MAAzC,IAAoDC,QAAQ,CAAC3N,MAJ5D,CAAL,EAI2E;AAEjF;AACA+H,iBAAK,CAAC,CAAD,CAAL,GAAWA,KAAK,CAAC,CAAD,CAAL,CAASlK,KAAT,CAAgB,CAAhB,EAAmB6P,MAAnB,CAAX;AACA3F,iBAAK,CAAC,CAAD,CAAL,GAAW4F,QAAQ,CAAC9P,KAAT,CAAgB,CAAhB,EAAmB6P,MAAnB,CAAX;AACA,WAtB0B,CAwB3B;;;AACA,iBAAO3F,KAAK,CAAClK,KAAN,CAAa,CAAb,EAAgB,CAAhB,CAAP;AACA;AAxES,OApBc;AA+FzBwN,YAAM,EAAE;AAEP,eAAO,aAAUuC,gBAAV,EAA6B;AACnC,cAAIlF,QAAQ,GAAGkF,gBAAgB,CAAC5L,OAAjB,CAA0BwE,SAA1B,EAAqCC,SAArC,EAAiDhD,WAAjD,EAAf;AACA,iBAAOmK,gBAAgB,KAAK,GAArB,GACN,YAAW;AAAE,mBAAO,IAAP;AAAc,WADrB,GAEN,UAAUhlB,IAAV,EAAiB;AAChB,mBAAOA,IAAI,CAAC8f,QAAL,IAAiB9f,IAAI,CAAC8f,QAAL,CAAcjF,WAAd,OAAgCiF,QAAxD;AACA,WAJF;AAKA,SATM;AAWP,iBAAS,eAAUuC,SAAV,EAAsB;AAC9B,cAAI4C,OAAO,GAAG/I,UAAU,CAAEmG,SAAS,GAAG,GAAd,CAAxB;AAEA,iBAAO4C,OAAO,IACb,CAACA,OAAO,GAAG,IAAIjI,MAAJ,CAAY,QAAQL,UAAR,GAAqB,GAArB,GAA2B0F,SAA3B,GAAuC,GAAvC,GAA6C1F,UAA7C,GAA0D,KAAtE,CAAX,KACAT,UAAU,CAAEmG,SAAF,EAAa,UAAUriB,IAAV,EAAiB;AACvC,mBAAOilB,OAAO,CAACpF,IAAR,CAAc,OAAO7f,IAAI,CAACqiB,SAAZ,KAA0B,QAA1B,IAAsCriB,IAAI,CAACqiB,SAA3C,IAAwD,OAAOriB,IAAI,CAAC+f,YAAZ,KAA6B,WAA7B,IAA4C/f,IAAI,CAAC+f,YAAL,CAAkB,OAAlB,CAApG,IAAkI,EAAhJ,CAAP;AACA,WAFS,CAFX;AAKA,SAnBM;AAqBP,gBAAQ,cAAUtH,IAAV,EAAgByM,QAAhB,EAA0BC,KAA1B,EAAkC;AACzC,iBAAO,UAAUnlB,IAAV,EAAiB;AACvB,gBAAIolB,MAAM,GAAGtK,MAAM,CAAChQ,IAAP,CAAa9K,IAAb,EAAmByY,IAAnB,CAAb;;AAEA,gBAAK2M,MAAM,IAAI,IAAf,EAAsB;AACrB,qBAAOF,QAAQ,KAAK,IAApB;AACA;;AACD,gBAAK,CAACA,QAAN,EAAiB;AAChB,qBAAO,IAAP;AACA;;AAEDE,kBAAM,IAAI,EAAV;AAEA,mBAAOF,QAAQ,KAAK,GAAb,GAAmBE,MAAM,KAAKD,KAA9B,GACND,QAAQ,KAAK,IAAb,GAAoBE,MAAM,KAAKD,KAA/B,GACAD,QAAQ,KAAK,IAAb,GAAoBC,KAAK,IAAIC,MAAM,CAAChQ,OAAP,CAAgB+P,KAAhB,MAA4B,CAAzD,GACAD,QAAQ,KAAK,IAAb,GAAoBC,KAAK,IAAIC,MAAM,CAAChQ,OAAP,CAAgB+P,KAAhB,IAA0B,CAAC,CAAxD,GACAD,QAAQ,KAAK,IAAb,GAAoBC,KAAK,IAAIC,MAAM,CAACnQ,KAAP,CAAc,CAACkQ,KAAK,CAAC/N,MAArB,MAAkC+N,KAA/D,GACAD,QAAQ,KAAK,IAAb,GAAoB,CAAE,MAAME,MAAM,CAAChM,OAAP,CAAgB2D,WAAhB,EAA6B,GAA7B,CAAN,GAA2C,GAA7C,EAAmD3H,OAAnD,CAA4D+P,KAA5D,IAAsE,CAAC,CAA3F,GACAD,QAAQ,KAAK,IAAb,GAAoBE,MAAM,KAAKD,KAAX,IAAoBC,MAAM,CAACnQ,KAAP,CAAc,CAAd,EAAiBkQ,KAAK,CAAC/N,MAAN,GAAe,CAAhC,MAAwC+N,KAAK,GAAG,GAAxF,GACA,KAPD;AAQA,WApBD;AAqBA,SA3CM;AA6CP,iBAAS,eAAUlP,IAAV,EAAgBoP,IAAhB,EAAsBzD,QAAtB,EAAgC3J,KAAhC,EAAuCE,IAAvC,EAA8C;AACtD,cAAImN,MAAM,GAAGrP,IAAI,CAAChB,KAAL,CAAY,CAAZ,EAAe,CAAf,MAAuB,KAApC;AAAA,cACCsQ,OAAO,GAAGtP,IAAI,CAAChB,KAAL,CAAY,CAAC,CAAb,MAAqB,MADhC;AAAA,cAECuQ,MAAM,GAAGH,IAAI,KAAK,SAFnB;AAIA,iBAAOpN,KAAK,KAAK,CAAV,IAAeE,IAAI,KAAK,CAAxB,GAEN;AACA,oBAAUnY,IAAV,EAAiB;AAChB,mBAAO,CAAC,CAACA,IAAI,CAAC2W,UAAd;AACA,WALK,GAON,UAAU3W,IAAV,EAAgBkF,OAAhB,EAAyBugB,GAAzB,EAA+B;AAC9B,gBAAIjF,KAAJ;AAAA,gBAAWkF,WAAX;AAAA,gBAAwBC,UAAxB;AAAA,gBAAoChT,IAApC;AAAA,gBAA0CiT,SAA1C;AAAA,gBAAqDnpB,KAArD;AAAA,gBACCoiB,GAAG,GAAGyG,MAAM,KAAKC,OAAX,GAAqB,aAArB,GAAqC,iBAD5C;AAAA,gBAECjuB,MAAM,GAAG0I,IAAI,CAAC2W,UAFf;AAAA,gBAGC8B,IAAI,GAAG+M,MAAM,IAAIxlB,IAAI,CAAC8f,QAAL,CAAcjF,WAAd,EAHlB;AAAA,gBAICgL,QAAQ,GAAG,CAACJ,GAAD,IAAQ,CAACD,MAJrB;AAAA,gBAKCpE,IAAI,GAAG,KALR;;AAOA,gBAAK9pB,MAAL,EAAc;AAEb;AACA,kBAAKguB,MAAL,EAAc;AACb,uBAAQzG,GAAR,EAAc;AACblM,sBAAI,GAAG3S,IAAP;;AACA,yBAAS2S,IAAI,GAAGA,IAAI,CAAEkM,GAAF,CAApB,EAA+B;AAC9B,wBAAK2G,MAAM,GACV7S,IAAI,CAACmN,QAAL,CAAcjF,WAAd,OAAgCpC,IADtB,GAEV9F,IAAI,CAACmD,QAAL,KAAkB,CAFnB,EAEuB;AAEtB,6BAAO,KAAP;AACA;AACD,mBATY,CAUb;;;AACArZ,uBAAK,GAAGoiB,GAAG,GAAG5I,IAAI,KAAK,MAAT,IAAmB,CAACxZ,KAApB,IAA6B,aAA3C;AACA;;AACD,uBAAO,IAAP;AACA;;AAEDA,mBAAK,GAAG,CAAE8oB,OAAO,GAAGjuB,MAAM,CAACmtB,UAAV,GAAuBntB,MAAM,CAACwuB,SAAvC,CAAR,CApBa,CAsBb;;AACA,kBAAKP,OAAO,IAAIM,QAAhB,EAA2B;AAE1B;AAEA;AACAlT,oBAAI,GAAGrb,MAAP;AACAquB,0BAAU,GAAGhT,IAAI,CAAEuG,OAAF,CAAJ,KAAoBvG,IAAI,CAAEuG,OAAF,CAAJ,GAAkB,EAAtC,CAAb,CAN0B,CAQ1B;AACA;;AACAwM,2BAAW,GAAGC,UAAU,CAAEhT,IAAI,CAACoT,QAAP,CAAV,KACZJ,UAAU,CAAEhT,IAAI,CAACoT,QAAP,CAAV,GAA8B,EADlB,CAAd;AAGAvF,qBAAK,GAAGkF,WAAW,CAAEzP,IAAF,CAAX,IAAuB,EAA/B;AACA2P,yBAAS,GAAGpF,KAAK,CAAE,CAAF,CAAL,KAAexE,OAAf,IAA0BwE,KAAK,CAAE,CAAF,CAA3C;AACAY,oBAAI,GAAGwE,SAAS,IAAIpF,KAAK,CAAE,CAAF,CAAzB;AACA7N,oBAAI,GAAGiT,SAAS,IAAItuB,MAAM,CAACwnB,UAAP,CAAmB8G,SAAnB,CAApB;;AAEA,uBAASjT,IAAI,GAAG,EAAEiT,SAAF,IAAejT,IAAf,IAAuBA,IAAI,CAAEkM,GAAF,CAA3B,MAEf;AACCuC,oBAAI,GAAGwE,SAAS,GAAG,CAHL,KAGWnpB,KAAK,CAAC8f,GAAN,EAH3B,EAG0C;AAEzC;AACA,sBAAK5J,IAAI,CAACmD,QAAL,KAAkB,CAAlB,IAAuB,EAAEsL,IAAzB,IAAiCzO,IAAI,KAAK3S,IAA/C,EAAsD;AACrD0lB,+BAAW,CAAEzP,IAAF,CAAX,GAAsB,CAAE+F,OAAF,EAAW4J,SAAX,EAAsBxE,IAAtB,CAAtB;AACA;AACA;AACD;AAED,eA9BD,MA8BO;AACN;AACA,oBAAKyE,QAAL,EAAgB;AACf;AACAlT,sBAAI,GAAG3S,IAAP;AACA2lB,4BAAU,GAAGhT,IAAI,CAAEuG,OAAF,CAAJ,KAAoBvG,IAAI,CAAEuG,OAAF,CAAJ,GAAkB,EAAtC,CAAb,CAHe,CAKf;AACA;;AACAwM,6BAAW,GAAGC,UAAU,CAAEhT,IAAI,CAACoT,QAAP,CAAV,KACZJ,UAAU,CAAEhT,IAAI,CAACoT,QAAP,CAAV,GAA8B,EADlB,CAAd;AAGAvF,uBAAK,GAAGkF,WAAW,CAAEzP,IAAF,CAAX,IAAuB,EAA/B;AACA2P,2BAAS,GAAGpF,KAAK,CAAE,CAAF,CAAL,KAAexE,OAAf,IAA0BwE,KAAK,CAAE,CAAF,CAA3C;AACAY,sBAAI,GAAGwE,SAAP;AACA,iBAfK,CAiBN;AACA;;;AACA,oBAAKxE,IAAI,KAAK,KAAd,EAAsB;AACrB;AACA,yBAASzO,IAAI,GAAG,EAAEiT,SAAF,IAAejT,IAAf,IAAuBA,IAAI,CAAEkM,GAAF,CAA3B,KACduC,IAAI,GAAGwE,SAAS,GAAG,CADL,KACWnpB,KAAK,CAAC8f,GAAN,EAD3B,EAC0C;AAEzC,wBAAK,CAAEiJ,MAAM,GACZ7S,IAAI,CAACmN,QAAL,CAAcjF,WAAd,OAAgCpC,IADpB,GAEZ9F,IAAI,CAACmD,QAAL,KAAkB,CAFd,KAGJ,EAAEsL,IAHH,EAGU;AAET;AACA,0BAAKyE,QAAL,EAAgB;AACfF,kCAAU,GAAGhT,IAAI,CAAEuG,OAAF,CAAJ,KAAoBvG,IAAI,CAAEuG,OAAF,CAAJ,GAAkB,EAAtC,CAAb,CADe,CAGf;AACA;;AACAwM,mCAAW,GAAGC,UAAU,CAAEhT,IAAI,CAACoT,QAAP,CAAV,KACZJ,UAAU,CAAEhT,IAAI,CAACoT,QAAP,CAAV,GAA8B,EADlB,CAAd;AAGAL,mCAAW,CAAEzP,IAAF,CAAX,GAAsB,CAAE+F,OAAF,EAAWoF,IAAX,CAAtB;AACA;;AAED,0BAAKzO,IAAI,KAAK3S,IAAd,EAAqB;AACpB;AACA;AACD;AACD;AACD;AACD,eApGY,CAsGb;;;AACAohB,kBAAI,IAAIjJ,IAAR;AACA,qBAAOiJ,IAAI,KAAKnJ,KAAT,IAAoBmJ,IAAI,GAAGnJ,KAAP,KAAiB,CAAjB,IAAsBmJ,IAAI,GAAGnJ,KAAP,IAAgB,CAAjE;AACA;AACD,WAzHF;AA0HA,SA5KM;AA8KP,kBAAU,gBAAU+N,MAAV,EAAkBpE,QAAlB,EAA6B;AACtC;AACA;AACA;AACA;AACA,cAAIqE,IAAJ;AAAA,cACCnP,EAAE,GAAGiE,IAAI,CAAC+B,OAAL,CAAckJ,MAAd,KAA0BjL,IAAI,CAACmL,UAAL,CAAiBF,MAAM,CAACnL,WAAP,EAAjB,CAA1B,IACJC,MAAM,CAACxB,KAAP,CAAc,yBAAyB0M,MAAvC,CAFF,CALsC,CAStC;AACA;AACA;;AACA,cAAKlP,EAAE,CAAEoC,OAAF,CAAP,EAAqB;AACpB,mBAAOpC,EAAE,CAAE8K,QAAF,CAAT;AACA,WAdqC,CAgBtC;;;AACA,cAAK9K,EAAE,CAACM,MAAH,GAAY,CAAjB,EAAqB;AACpB6O,gBAAI,GAAG,CAAED,MAAF,EAAUA,MAAV,EAAkB,EAAlB,EAAsBpE,QAAtB,CAAP;AACA,mBAAO7G,IAAI,CAACmL,UAAL,CAAgB1Q,cAAhB,CAAgCwQ,MAAM,CAACnL,WAAP,EAAhC,IACN+F,YAAY,CAAC,UAAU5B,IAAV,EAAgB1E,OAAhB,EAA0B;AACtC,kBAAI6L,GAAJ;AAAA,kBACCC,OAAO,GAAGtP,EAAE,CAAEkI,IAAF,EAAQ4C,QAAR,CADb;AAAA,kBAEC3iB,CAAC,GAAGmnB,OAAO,CAAChP,MAFb;;AAGA,qBAAQnY,CAAC,EAAT,EAAc;AACbknB,mBAAG,GAAG/Q,OAAO,CAAE4J,IAAF,EAAQoH,OAAO,CAACnnB,CAAD,CAAf,CAAb;AACA+f,oBAAI,CAAEmH,GAAF,CAAJ,GAAc,EAAG7L,OAAO,CAAE6L,GAAF,CAAP,GAAiBC,OAAO,CAACnnB,CAAD,CAA3B,CAAd;AACA;AACD,aARW,CADN,GAUN,UAAUe,IAAV,EAAiB;AAChB,qBAAO8W,EAAE,CAAE9W,IAAF,EAAQ,CAAR,EAAWimB,IAAX,CAAT;AACA,aAZF;AAaA;;AAED,iBAAOnP,EAAP;AACA;AAjNM,OA/FiB;AAmTzBgG,aAAO,EAAE;AACR;AACA,eAAO8D,YAAY,CAAC,UAAUvsB,QAAV,EAAqB;AACxC;AACA;AACA;AACA,cAAIsE,KAAK,GAAG,EAAZ;AAAA,cACCqhB,OAAO,GAAG,EADX;AAAA,cAECqM,OAAO,GAAGlL,OAAO,CAAE9mB,QAAQ,CAAC+kB,OAAT,CAAkBpC,KAAlB,EAAyB,IAAzB,CAAF,CAFlB;AAIA,iBAAOqP,OAAO,CAAEnN,OAAF,CAAP,GACN0H,YAAY,CAAC,UAAU5B,IAAV,EAAgB1E,OAAhB,EAAyBpV,OAAzB,EAAkCugB,GAAlC,EAAwC;AACpD,gBAAIzlB,IAAJ;AAAA,gBACCsmB,SAAS,GAAGD,OAAO,CAAErH,IAAF,EAAQ,IAAR,EAAcyG,GAAd,EAAmB,EAAnB,CADpB;AAAA,gBAECxmB,CAAC,GAAG+f,IAAI,CAAC5H,MAFV,CADoD,CAKpD;;AACA,mBAAQnY,CAAC,EAAT,EAAc;AACb,kBAAMe,IAAI,GAAGsmB,SAAS,CAACrnB,CAAD,CAAtB,EAA6B;AAC5B+f,oBAAI,CAAC/f,CAAD,CAAJ,GAAU,EAAEqb,OAAO,CAACrb,CAAD,CAAP,GAAae,IAAf,CAAV;AACA;AACD;AACD,WAXW,CADN,GAaN,UAAUA,IAAV,EAAgBkF,OAAhB,EAAyBugB,GAAzB,EAA+B;AAC9B9sB,iBAAK,CAAC,CAAD,CAAL,GAAWqH,IAAX;AACAqmB,mBAAO,CAAE1tB,KAAF,EAAS,IAAT,EAAe8sB,GAAf,EAAoBzL,OAApB,CAAP,CAF8B,CAG9B;;AACArhB,iBAAK,CAAC,CAAD,CAAL,GAAW,IAAX;AACA,mBAAO,CAACqhB,OAAO,CAACuC,GAAR,EAAR;AACA,WAnBF;AAoBA,SA5BkB,CAFX;AAgCR,eAAOqE,YAAY,CAAC,UAAUvsB,QAAV,EAAqB;AACxC,iBAAO,UAAU2L,IAAV,EAAiB;AACvB,mBAAO8a,MAAM,CAAEzmB,QAAF,EAAY2L,IAAZ,CAAN,CAAyBoX,MAAzB,GAAkC,CAAzC;AACA,WAFD;AAGA,SAJkB,CAhCX;AAsCR,oBAAYwJ,YAAY,CAAC,UAAUpK,IAAV,EAAiB;AACzCA,cAAI,GAAGA,IAAI,CAAC4C,OAAL,CAAcwE,SAAd,EAAyBC,SAAzB,CAAP;AACA,iBAAO,UAAU7d,IAAV,EAAiB;AACvB,mBAAO,CAAEA,IAAI,CAACwkB,WAAL,IAAoBxkB,IAAI,CAACumB,SAAzB,IAAsCvL,OAAO,CAAEhb,IAAF,CAA/C,EAA0DoV,OAA1D,CAAmEoB,IAAnE,IAA4E,CAAC,CAApF;AACA,WAFD;AAGA,SALuB,CAtChB;AA6CR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAQoK,YAAY,CAAE,UAAU4F,IAAV,EAAiB;AACtC;AACA,cAAK,CAACnJ,WAAW,CAACwC,IAAZ,CAAiB2G,IAAI,IAAI,EAAzB,CAAN,EAAqC;AACpC1L,kBAAM,CAACxB,KAAP,CAAc,uBAAuBkN,IAArC;AACA;;AACDA,cAAI,GAAGA,IAAI,CAACpN,OAAL,CAAcwE,SAAd,EAAyBC,SAAzB,EAAqChD,WAArC,EAAP;AACA,iBAAO,UAAU7a,IAAV,EAAiB;AACvB,gBAAIymB,QAAJ;;AACA,eAAG;AACF,kBAAMA,QAAQ,GAAG/K,cAAc,GAC9B1b,IAAI,CAACwmB,IADyB,GAE9BxmB,IAAI,CAAC+f,YAAL,CAAkB,UAAlB,KAAiC/f,IAAI,CAAC+f,YAAL,CAAkB,MAAlB,CAFlC,EAE+D;AAE9D0G,wBAAQ,GAAGA,QAAQ,CAAC5L,WAAT,EAAX;AACA,uBAAO4L,QAAQ,KAAKD,IAAb,IAAqBC,QAAQ,CAACrR,OAAT,CAAkBoR,IAAI,GAAG,GAAzB,MAAmC,CAA/D;AACA;AACD,aARD,QAQU,CAACxmB,IAAI,GAAGA,IAAI,CAAC2W,UAAb,KAA4B3W,IAAI,CAAC8V,QAAL,KAAkB,CARxD;;AASA,mBAAO,KAAP;AACA,WAZD;AAaA,SAnBmB,CApDZ;AAyER;AACA,kBAAU,gBAAU9V,IAAV,EAAiB;AAC1B,cAAI0mB,IAAI,GAAGjrB,MAAM,CAACkrB,QAAP,IAAmBlrB,MAAM,CAACkrB,QAAP,CAAgBD,IAA9C;AACA,iBAAOA,IAAI,IAAIA,IAAI,CAACzR,KAAL,CAAY,CAAZ,MAAoBjV,IAAI,CAAC6R,EAAxC;AACA,SA7EO;AA+ER,gBAAQ,cAAU7R,IAAV,EAAiB;AACxB,iBAAOA,IAAI,KAAKyb,OAAhB;AACA,SAjFO;AAmFR,iBAAS,eAAUzb,IAAV,EAAiB;AACzB,iBAAOA,IAAI,KAAK7L,QAAQ,CAACyE,aAAlB,KAAoC,CAACzE,QAAQ,CAACyyB,QAAV,IAAsBzyB,QAAQ,CAACyyB,QAAT,EAA1D,KAAkF,CAAC,EAAE5mB,IAAI,CAACiW,IAAL,IAAajW,IAAI,CAAC6mB,IAAlB,IAA0B,CAAC7mB,IAAI,CAAC8mB,QAAlC,CAA1F;AACA,SArFO;AAuFR;AACA,mBAAWrF,oBAAoB,CAAE,KAAF,CAxFvB;AAyFR,oBAAYA,oBAAoB,CAAE,IAAF,CAzFxB;AA2FR,mBAAW,iBAAUzhB,IAAV,EAAiB;AAC3B;AACA;AACA,cAAI8f,QAAQ,GAAG9f,IAAI,CAAC8f,QAAL,CAAcjF,WAAd,EAAf;AACA,iBAAQiF,QAAQ,KAAK,OAAb,IAAwB,CAAC,CAAC9f,IAAI,CAAC+mB,OAAhC,IAA6CjH,QAAQ,KAAK,QAAb,IAAyB,CAAC,CAAC9f,IAAI,CAACgnB,QAApF;AACA,SAhGO;AAkGR,oBAAY,kBAAUhnB,IAAV,EAAiB;AAC5B;AACA;AACA,cAAKA,IAAI,CAAC2W,UAAV,EAAuB;AACtB3W,gBAAI,CAAC2W,UAAL,CAAgBsQ,aAAhB;AACA;;AAED,iBAAOjnB,IAAI,CAACgnB,QAAL,KAAkB,IAAzB;AACA,SA1GO;AA4GR;AACA,iBAAS,eAAUhnB,IAAV,EAAiB;AACzB;AACA;AACA;AACA;AACA,eAAMA,IAAI,GAAGA,IAAI,CAACykB,UAAlB,EAA8BzkB,IAA9B,EAAoCA,IAAI,GAAGA,IAAI,CAACshB,WAAhD,EAA8D;AAC7D,gBAAKthB,IAAI,CAAC8V,QAAL,GAAgB,CAArB,EAAyB;AACxB,qBAAO,KAAP;AACA;AACD;;AACD,iBAAO,IAAP;AACA,SAxHO;AA0HR,kBAAU,gBAAU9V,IAAV,EAAiB;AAC1B,iBAAO,CAAC+a,IAAI,CAAC+B,OAAL,CAAa,OAAb,EAAuB9c,IAAvB,CAAR;AACA,SA5HO;AA8HR;AACA,kBAAU,gBAAUA,IAAV,EAAiB;AAC1B,iBAAOwd,OAAO,CAACqC,IAAR,CAAc7f,IAAI,CAAC8f,QAAnB,CAAP;AACA,SAjIO;AAmIR,iBAAS,eAAU9f,IAAV,EAAiB;AACzB,iBAAOud,OAAO,CAACsC,IAAR,CAAc7f,IAAI,CAAC8f,QAAnB,CAAP;AACA,SArIO;AAuIR,kBAAU,gBAAU9f,IAAV,EAAiB;AAC1B,cAAIyY,IAAI,GAAGzY,IAAI,CAAC8f,QAAL,CAAcjF,WAAd,EAAX;AACA,iBAAOpC,IAAI,KAAK,OAAT,IAAoBzY,IAAI,CAACiW,IAAL,KAAc,QAAlC,IAA8CwC,IAAI,KAAK,QAA9D;AACA,SA1IO;AA4IR,gBAAQ,cAAUzY,IAAV,EAAiB;AACxB,cAAI8K,IAAJ;AACA,iBAAO9K,IAAI,CAAC8f,QAAL,CAAcjF,WAAd,OAAgC,OAAhC,IACN7a,IAAI,CAACiW,IAAL,KAAc,MADR,MAGN;AACA;AACE,WAACnL,IAAI,GAAG9K,IAAI,CAAC+f,YAAL,CAAkB,MAAlB,CAAR,KAAsC,IAAtC,IAA8CjV,IAAI,CAAC+P,WAAL,OAAuB,MALjE,CAAP;AAMA,SApJO;AAsJR;AACA,iBAAS8G,sBAAsB,CAAC,YAAW;AAC1C,iBAAO,CAAE,CAAF,CAAP;AACA,SAF8B,CAvJvB;AA2JR,gBAAQA,sBAAsB,CAAC,UAAUE,YAAV,EAAwBzK,MAAxB,EAAiC;AAC/D,iBAAO,CAAEA,MAAM,GAAG,CAAX,CAAP;AACA,SAF6B,CA3JtB;AA+JR,cAAMuK,sBAAsB,CAAC,UAAUE,YAAV,EAAwBzK,MAAxB,EAAgCwK,QAAhC,EAA2C;AACvE,iBAAO,CAAEA,QAAQ,GAAG,CAAX,GAAeA,QAAQ,GAAGxK,MAA1B,GAAmCwK,QAArC,CAAP;AACA,SAF2B,CA/JpB;AAmKR,gBAAQD,sBAAsB,CAAC,UAAUE,YAAV,EAAwBzK,MAAxB,EAAiC;AAC/D,cAAInY,CAAC,GAAG,CAAR;;AACA,iBAAQA,CAAC,GAAGmY,MAAZ,EAAoBnY,CAAC,IAAI,CAAzB,EAA6B;AAC5B4iB,wBAAY,CAAC1M,IAAb,CAAmBlW,CAAnB;AACA;;AACD,iBAAO4iB,YAAP;AACA,SAN6B,CAnKtB;AA2KR,eAAOF,sBAAsB,CAAC,UAAUE,YAAV,EAAwBzK,MAAxB,EAAiC;AAC9D,cAAInY,CAAC,GAAG,CAAR;;AACA,iBAAQA,CAAC,GAAGmY,MAAZ,EAAoBnY,CAAC,IAAI,CAAzB,EAA6B;AAC5B4iB,wBAAY,CAAC1M,IAAb,CAAmBlW,CAAnB;AACA;;AACD,iBAAO4iB,YAAP;AACA,SAN4B,CA3KrB;AAmLR,cAAMF,sBAAsB,CAAC,UAAUE,YAAV,EAAwBzK,MAAxB,EAAgCwK,QAAhC,EAA2C;AACvE,cAAI3iB,CAAC,GAAG2iB,QAAQ,GAAG,CAAX,GAAeA,QAAQ,GAAGxK,MAA1B,GAAmCwK,QAA3C;;AACA,iBAAQ,EAAE3iB,CAAF,IAAO,CAAf,GAAoB;AACnB4iB,wBAAY,CAAC1M,IAAb,CAAmBlW,CAAnB;AACA;;AACD,iBAAO4iB,YAAP;AACA,SAN2B,CAnLpB;AA2LR,cAAMF,sBAAsB,CAAC,UAAUE,YAAV,EAAwBzK,MAAxB,EAAgCwK,QAAhC,EAA2C;AACvE,cAAI3iB,CAAC,GAAG2iB,QAAQ,GAAG,CAAX,GAAeA,QAAQ,GAAGxK,MAA1B,GAAmCwK,QAA3C;;AACA,iBAAQ,EAAE3iB,CAAF,GAAMmY,MAAd,GAAwB;AACvByK,wBAAY,CAAC1M,IAAb,CAAmBlW,CAAnB;AACA;;AACD,iBAAO4iB,YAAP;AACA,SAN2B;AA3LpB;AAnTgB,KAA1B;AAwfA9G,QAAI,CAAC+B,OAAL,CAAa,KAAb,IAAsB/B,IAAI,CAAC+B,OAAL,CAAa,IAAb,CAAtB,CAtkDoB,CAwkDpB;;AACA,SAAM7d,CAAN,IAAW;AAAEioB,WAAK,EAAE,IAAT;AAAeC,cAAQ,EAAE,IAAzB;AAA+BC,UAAI,EAAE,IAArC;AAA2CC,cAAQ,EAAE,IAArD;AAA2DC,WAAK,EAAE;AAAlE,KAAX,EAAsF;AACrFvM,UAAI,CAAC+B,OAAL,CAAc7d,CAAd,IAAoBsiB,iBAAiB,CAAEtiB,CAAF,CAArC;AACA;;AACD,SAAMA,CAAN,IAAW;AAAEsoB,YAAM,EAAE,IAAV;AAAgBC,WAAK,EAAE;AAAvB,KAAX,EAA2C;AAC1CzM,UAAI,CAAC+B,OAAL,CAAc7d,CAAd,IAAoBuiB,kBAAkB,CAAEviB,CAAF,CAAtC;AACA,KA9kDmB,CAglDpB;;;AACA,aAASinB,UAAT,GAAsB,CAAE;;AACxBA,cAAU,CAACjP,SAAX,GAAuB8D,IAAI,CAAC0M,OAAL,GAAe1M,IAAI,CAAC+B,OAA3C;AACA/B,QAAI,CAACmL,UAAL,GAAkB,IAAIA,UAAJ,EAAlB;;AAEAhL,YAAQ,GAAGJ,MAAM,CAACI,QAAP,GAAkB,UAAU7mB,QAAV,EAAoBqzB,SAApB,EAAgC;AAC5D,UAAItB,OAAJ;AAAA,UAAajH,KAAb;AAAA,UAAoBwI,MAApB;AAAA,UAA4B1R,IAA5B;AAAA,UACC2R,KADD;AAAA,UACQxI,MADR;AAAA,UACgByI,UADhB;AAAA,UAECC,MAAM,GAAG1L,UAAU,CAAE/nB,QAAQ,GAAG,GAAb,CAFpB;;AAIA,UAAKyzB,MAAL,EAAc;AACb,eAAOJ,SAAS,GAAG,CAAH,GAAOI,MAAM,CAAC7S,KAAP,CAAc,CAAd,CAAvB;AACA;;AAED2S,WAAK,GAAGvzB,QAAR;AACA+qB,YAAM,GAAG,EAAT;AACAyI,gBAAU,GAAG9M,IAAI,CAAC8J,SAAlB;;AAEA,aAAQ+C,KAAR,EAAgB;AAEf;AACA,YAAK,CAACxB,OAAD,KAAajH,KAAK,GAAGlC,MAAM,CAACuC,IAAP,CAAaoI,KAAb,CAArB,CAAL,EAAkD;AACjD,cAAKzI,KAAL,EAAa;AACZ;AACAyI,iBAAK,GAAGA,KAAK,CAAC3S,KAAN,CAAakK,KAAK,CAAC,CAAD,CAAL,CAAS/H,MAAtB,KAAkCwQ,KAA1C;AACA;;AACDxI,gBAAM,CAACjK,IAAP,CAAcwS,MAAM,GAAG,EAAvB;AACA;;AAEDvB,eAAO,GAAG,KAAV,CAXe,CAaf;;AACA,YAAMjH,KAAK,GAAGjC,YAAY,CAACsC,IAAb,CAAmBoI,KAAnB,CAAd,EAA4C;AAC3CxB,iBAAO,GAAGjH,KAAK,CAACwB,KAAN,EAAV;AACAgH,gBAAM,CAACxS,IAAP,CAAY;AACX3f,iBAAK,EAAE4wB,OADI;AAEX;AACAnQ,gBAAI,EAAEkJ,KAAK,CAAC,CAAD,CAAL,CAAS/F,OAAT,CAAkBpC,KAAlB,EAAyB,GAAzB;AAHK,WAAZ;AAKA4Q,eAAK,GAAGA,KAAK,CAAC3S,KAAN,CAAamR,OAAO,CAAChP,MAArB,CAAR;AACA,SAtBc,CAwBf;;;AACA,aAAMnB,IAAN,IAAc8E,IAAI,CAAC0H,MAAnB,EAA4B;AAC3B,cAAK,CAACtD,KAAK,GAAG7B,SAAS,CAAErH,IAAF,CAAT,CAAkBuJ,IAAlB,CAAwBoI,KAAxB,CAAT,MAA8C,CAACC,UAAU,CAAE5R,IAAF,CAAX,KACjDkJ,KAAK,GAAG0I,UAAU,CAAE5R,IAAF,CAAV,CAAoBkJ,KAApB,CADyC,CAA9C,CAAL,EAC0C;AACzCiH,mBAAO,GAAGjH,KAAK,CAACwB,KAAN,EAAV;AACAgH,kBAAM,CAACxS,IAAP,CAAY;AACX3f,mBAAK,EAAE4wB,OADI;AAEXnQ,kBAAI,EAAEA,IAFK;AAGXqE,qBAAO,EAAE6E;AAHE,aAAZ;AAKAyI,iBAAK,GAAGA,KAAK,CAAC3S,KAAN,CAAamR,OAAO,CAAChP,MAArB,CAAR;AACA;AACD;;AAED,YAAK,CAACgP,OAAN,EAAgB;AACf;AACA;AACD,OAtD2D,CAwD5D;AACA;AACA;;;AACA,aAAOsB,SAAS,GACfE,KAAK,CAACxQ,MADS,GAEfwQ,KAAK,GACJ9M,MAAM,CAACxB,KAAP,CAAcjlB,QAAd,CADI,GAEJ;AACA+nB,gBAAU,CAAE/nB,QAAF,EAAY+qB,MAAZ,CAAV,CAA+BnK,KAA/B,CAAsC,CAAtC,CALF;AAMA,KAjED;;AAmEA,aAASgL,UAAT,CAAqB0H,MAArB,EAA8B;AAC7B,UAAI1oB,CAAC,GAAG,CAAR;AAAA,UACCC,GAAG,GAAGyoB,MAAM,CAACvQ,MADd;AAAA,UAEC/iB,QAAQ,GAAG,EAFZ;;AAGA,aAAQ4K,CAAC,GAAGC,GAAZ,EAAiBD,CAAC,EAAlB,EAAuB;AACtB5K,gBAAQ,IAAIszB,MAAM,CAAC1oB,CAAD,CAAN,CAAUzJ,KAAtB;AACA;;AACD,aAAOnB,QAAP;AACA;;AAED,aAASsqB,aAAT,CAAwB0H,OAAxB,EAAiC0B,UAAjC,EAA6CC,IAA7C,EAAoD;AACnD,UAAInJ,GAAG,GAAGkJ,UAAU,CAAClJ,GAArB;AAAA,UACCoJ,IAAI,GAAGF,UAAU,CAACrsB,IADnB;AAAA,UAEC+kB,GAAG,GAAGwH,IAAI,IAAIpJ,GAFf;AAAA,UAGCqJ,gBAAgB,GAAGF,IAAI,IAAIvH,GAAG,KAAK,YAHpC;AAAA,UAIC0H,QAAQ,GAAGlM,IAAI,EAJhB;AAMA,aAAO8L,UAAU,CAAC9P,KAAX,GACN;AACA,gBAAUjY,IAAV,EAAgBkF,OAAhB,EAAyBugB,GAAzB,EAA+B;AAC9B,eAASzlB,IAAI,GAAGA,IAAI,CAAE6e,GAAF,CAApB,EAA+B;AAC9B,cAAK7e,IAAI,CAAC8V,QAAL,KAAkB,CAAlB,IAAuBoS,gBAA5B,EAA+C;AAC9C,mBAAO7B,OAAO,CAAErmB,IAAF,EAAQkF,OAAR,EAAiBugB,GAAjB,CAAd;AACA;AACD;;AACD,eAAO,KAAP;AACA,OATK,GAWN;AACA,gBAAUzlB,IAAV,EAAgBkF,OAAhB,EAAyBugB,GAAzB,EAA+B;AAC9B,YAAI2C,QAAJ;AAAA,YAAc1C,WAAd;AAAA,YAA2BC,UAA3B;AAAA,YACC0C,QAAQ,GAAG,CAAErM,OAAF,EAAWmM,QAAX,CADZ,CAD8B,CAI9B;;AACA,YAAK1C,GAAL,EAAW;AACV,iBAASzlB,IAAI,GAAGA,IAAI,CAAE6e,GAAF,CAApB,EAA+B;AAC9B,gBAAK7e,IAAI,CAAC8V,QAAL,KAAkB,CAAlB,IAAuBoS,gBAA5B,EAA+C;AAC9C,kBAAK7B,OAAO,CAAErmB,IAAF,EAAQkF,OAAR,EAAiBugB,GAAjB,CAAZ,EAAqC;AACpC,uBAAO,IAAP;AACA;AACD;AACD;AACD,SARD,MAQO;AACN,iBAASzlB,IAAI,GAAGA,IAAI,CAAE6e,GAAF,CAApB,EAA+B;AAC9B,gBAAK7e,IAAI,CAAC8V,QAAL,KAAkB,CAAlB,IAAuBoS,gBAA5B,EAA+C;AAC9CvC,wBAAU,GAAG3lB,IAAI,CAAEkZ,OAAF,CAAJ,KAAoBlZ,IAAI,CAAEkZ,OAAF,CAAJ,GAAkB,EAAtC,CAAb,CAD8C,CAG9C;AACA;;AACAwM,yBAAW,GAAGC,UAAU,CAAE3lB,IAAI,CAAC+lB,QAAP,CAAV,KAAgCJ,UAAU,CAAE3lB,IAAI,CAAC+lB,QAAP,CAAV,GAA8B,EAA9D,CAAd;;AAEA,kBAAKkC,IAAI,IAAIA,IAAI,KAAKjoB,IAAI,CAAC8f,QAAL,CAAcjF,WAAd,EAAtB,EAAoD;AACnD7a,oBAAI,GAAGA,IAAI,CAAE6e,GAAF,CAAJ,IAAe7e,IAAtB;AACA,eAFD,MAEO,IAAK,CAACooB,QAAQ,GAAG1C,WAAW,CAAEjF,GAAF,CAAvB,KACX2H,QAAQ,CAAE,CAAF,CAAR,KAAkBpM,OADP,IACkBoM,QAAQ,CAAE,CAAF,CAAR,KAAkBD,QADzC,EACoD;AAE1D;AACA,uBAAQE,QAAQ,CAAE,CAAF,CAAR,GAAgBD,QAAQ,CAAE,CAAF,CAAhC;AACA,eALM,MAKA;AACN;AACA1C,2BAAW,CAAEjF,GAAF,CAAX,GAAqB4H,QAArB,CAFM,CAIN;;AACA,oBAAMA,QAAQ,CAAE,CAAF,CAAR,GAAgBhC,OAAO,CAAErmB,IAAF,EAAQkF,OAAR,EAAiBugB,GAAjB,CAA7B,EAAuD;AACtD,yBAAO,IAAP;AACA;AACD;AACD;AACD;AACD;;AACD,eAAO,KAAP;AACA,OAtDF;AAuDA;;AAED,aAAS6C,cAAT,CAAyBC,QAAzB,EAAoC;AACnC,aAAOA,QAAQ,CAACnR,MAAT,GAAkB,CAAlB,GACN,UAAUpX,IAAV,EAAgBkF,OAAhB,EAAyBugB,GAAzB,EAA+B;AAC9B,YAAIxmB,CAAC,GAAGspB,QAAQ,CAACnR,MAAjB;;AACA,eAAQnY,CAAC,EAAT,EAAc;AACb,cAAK,CAACspB,QAAQ,CAACtpB,CAAD,CAAR,CAAae,IAAb,EAAmBkF,OAAnB,EAA4BugB,GAA5B,CAAN,EAA0C;AACzC,mBAAO,KAAP;AACA;AACD;;AACD,eAAO,IAAP;AACA,OATK,GAUN8C,QAAQ,CAAC,CAAD,CAVT;AAWA;;AAED,aAASC,gBAAT,CAA2Bn0B,QAA3B,EAAqCo0B,QAArC,EAA+CzO,OAA/C,EAAyD;AACxD,UAAI/a,CAAC,GAAG,CAAR;AAAA,UACCC,GAAG,GAAGupB,QAAQ,CAACrR,MADhB;;AAEA,aAAQnY,CAAC,GAAGC,GAAZ,EAAiBD,CAAC,EAAlB,EAAuB;AACtB6b,cAAM,CAAEzmB,QAAF,EAAYo0B,QAAQ,CAACxpB,CAAD,CAApB,EAAyB+a,OAAzB,CAAN;AACA;;AACD,aAAOA,OAAP;AACA;;AAED,aAAS0O,QAAT,CAAmBpC,SAAnB,EAA8BxO,GAA9B,EAAmC2K,MAAnC,EAA2Cvd,OAA3C,EAAoDugB,GAApD,EAA0D;AACzD,UAAIzlB,IAAJ;AAAA,UACC2oB,YAAY,GAAG,EADhB;AAAA,UAEC1pB,CAAC,GAAG,CAFL;AAAA,UAGCC,GAAG,GAAGonB,SAAS,CAAClP,MAHjB;AAAA,UAICwR,MAAM,GAAG9Q,GAAG,IAAI,IAJjB;;AAMA,aAAQ7Y,CAAC,GAAGC,GAAZ,EAAiBD,CAAC,EAAlB,EAAuB;AACtB,YAAMe,IAAI,GAAGsmB,SAAS,CAACrnB,CAAD,CAAtB,EAA6B;AAC5B,cAAK,CAACwjB,MAAD,IAAWA,MAAM,CAAEziB,IAAF,EAAQkF,OAAR,EAAiBugB,GAAjB,CAAtB,EAA+C;AAC9CkD,wBAAY,CAACxT,IAAb,CAAmBnV,IAAnB;;AACA,gBAAK4oB,MAAL,EAAc;AACb9Q,iBAAG,CAAC3C,IAAJ,CAAUlW,CAAV;AACA;AACD;AACD;AACD;;AAED,aAAO0pB,YAAP;AACA;;AAED,aAASE,UAAT,CAAqBhE,SAArB,EAAgCxwB,QAAhC,EAA0CgyB,OAA1C,EAAmDyC,UAAnD,EAA+DC,UAA/D,EAA2EC,YAA3E,EAA0F;AACzF,UAAKF,UAAU,IAAI,CAACA,UAAU,CAAE5P,OAAF,CAA9B,EAA4C;AAC3C4P,kBAAU,GAAGD,UAAU,CAAEC,UAAF,CAAvB;AACA;;AACD,UAAKC,UAAU,IAAI,CAACA,UAAU,CAAE7P,OAAF,CAA9B,EAA4C;AAC3C6P,kBAAU,GAAGF,UAAU,CAAEE,UAAF,EAAcC,YAAd,CAAvB;AACA;;AACD,aAAOpI,YAAY,CAAC,UAAU5B,IAAV,EAAgBhF,OAAhB,EAAyB9U,OAAzB,EAAkCugB,GAAlC,EAAwC;AAC3D,YAAIwD,IAAJ;AAAA,YAAUhqB,CAAV;AAAA,YAAae,IAAb;AAAA,YACCkpB,MAAM,GAAG,EADV;AAAA,YAECC,OAAO,GAAG,EAFX;AAAA,YAGCC,WAAW,GAAGpP,OAAO,CAAC5C,MAHvB;AAAA,YAKC;AACAK,aAAK,GAAGuH,IAAI,IAAIwJ,gBAAgB,CAAEn0B,QAAQ,IAAI,GAAd,EAAmB6Q,OAAO,CAAC4Q,QAAR,GAAmB,CAAE5Q,OAAF,CAAnB,GAAiCA,OAApD,EAA6D,EAA7D,CANjC;AAAA,YAQC;AACAmkB,iBAAS,GAAGxE,SAAS,KAAM7F,IAAI,IAAI,CAAC3qB,QAAf,CAAT,GACXq0B,QAAQ,CAAEjR,KAAF,EAASyR,MAAT,EAAiBrE,SAAjB,EAA4B3f,OAA5B,EAAqCugB,GAArC,CADG,GAEXhO,KAXF;AAAA,YAaC6R,UAAU,GAAGjD,OAAO,GACnB;AACA0C,kBAAU,KAAM/J,IAAI,GAAG6F,SAAH,GAAeuE,WAAW,IAAIN,UAAxC,CAAV,GAEC;AACA,UAHD,GAKC;AACA9O,eARkB,GASnBqP,SAtBF,CAD2D,CAyB3D;;AACA,YAAKhD,OAAL,EAAe;AACdA,iBAAO,CAAEgD,SAAF,EAAaC,UAAb,EAAyBpkB,OAAzB,EAAkCugB,GAAlC,CAAP;AACA,SA5B0D,CA8B3D;;;AACA,YAAKqD,UAAL,EAAkB;AACjBG,cAAI,GAAGP,QAAQ,CAAEY,UAAF,EAAcH,OAAd,CAAf;AACAL,oBAAU,CAAEG,IAAF,EAAQ,EAAR,EAAY/jB,OAAZ,EAAqBugB,GAArB,CAAV,CAFiB,CAIjB;;AACAxmB,WAAC,GAAGgqB,IAAI,CAAC7R,MAAT;;AACA,iBAAQnY,CAAC,EAAT,EAAc;AACb,gBAAMe,IAAI,GAAGipB,IAAI,CAAChqB,CAAD,CAAjB,EAAwB;AACvBqqB,wBAAU,CAAEH,OAAO,CAAClqB,CAAD,CAAT,CAAV,GAA2B,EAAEoqB,SAAS,CAAEF,OAAO,CAAClqB,CAAD,CAAT,CAAT,GAA0Be,IAA5B,CAA3B;AACA;AACD;AACD;;AAED,YAAKgf,IAAL,EAAY;AACX,cAAK+J,UAAU,IAAIlE,SAAnB,EAA+B;AAC9B,gBAAKkE,UAAL,EAAkB;AACjB;AACAE,kBAAI,GAAG,EAAP;AACAhqB,eAAC,GAAGqqB,UAAU,CAAClS,MAAf;;AACA,qBAAQnY,CAAC,EAAT,EAAc;AACb,oBAAMe,IAAI,GAAGspB,UAAU,CAACrqB,CAAD,CAAvB,EAA8B;AAC7B;AACAgqB,sBAAI,CAAC9T,IAAL,CAAYkU,SAAS,CAACpqB,CAAD,CAAT,GAAee,IAA3B;AACA;AACD;;AACD+oB,wBAAU,CAAE,IAAF,EAASO,UAAU,GAAG,EAAtB,EAA2BL,IAA3B,EAAiCxD,GAAjC,CAAV;AACA,aAZ6B,CAc9B;;;AACAxmB,aAAC,GAAGqqB,UAAU,CAAClS,MAAf;;AACA,mBAAQnY,CAAC,EAAT,EAAc;AACb,kBAAK,CAACe,IAAI,GAAGspB,UAAU,CAACrqB,CAAD,CAAlB,KACJ,CAACgqB,IAAI,GAAGF,UAAU,GAAG3T,OAAO,CAAE4J,IAAF,EAAQhf,IAAR,CAAV,GAA2BkpB,MAAM,CAACjqB,CAAD,CAAnD,IAA0D,CAAC,CAD5D,EACgE;AAE/D+f,oBAAI,CAACiK,IAAD,CAAJ,GAAa,EAAEjP,OAAO,CAACiP,IAAD,CAAP,GAAgBjpB,IAAlB,CAAb;AACA;AACD;AACD,WAxBU,CA0BZ;;AACC,SA3BD,MA2BO;AACNspB,oBAAU,GAAGZ,QAAQ,CACpBY,UAAU,KAAKtP,OAAf,GACCsP,UAAU,CAAChR,MAAX,CAAmB8Q,WAAnB,EAAgCE,UAAU,CAAClS,MAA3C,CADD,GAECkS,UAHmB,CAArB;;AAKA,cAAKP,UAAL,EAAkB;AACjBA,sBAAU,CAAE,IAAF,EAAQ/O,OAAR,EAAiBsP,UAAjB,EAA6B7D,GAA7B,CAAV;AACA,WAFD,MAEO;AACNtQ,gBAAI,CAAC4C,KAAL,CAAYiC,OAAZ,EAAqBsP,UAArB;AACA;AACD;AACD,OAnFkB,CAAnB;AAoFA;;AAED,aAASC,iBAAT,CAA4B5B,MAA5B,EAAqC;AACpC,UAAI6B,YAAJ;AAAA,UAAkBnD,OAAlB;AAAA,UAA2BjO,CAA3B;AAAA,UACClZ,GAAG,GAAGyoB,MAAM,CAACvQ,MADd;AAAA,UAECqS,eAAe,GAAG1O,IAAI,CAAC6J,QAAL,CAAe+C,MAAM,CAAC,CAAD,CAAN,CAAU1R,IAAzB,CAFnB;AAAA,UAGCyT,gBAAgB,GAAGD,eAAe,IAAI1O,IAAI,CAAC6J,QAAL,CAAc,GAAd,CAHvC;AAAA,UAIC3lB,CAAC,GAAGwqB,eAAe,GAAG,CAAH,GAAO,CAJ3B;AAAA,UAMC;AACAE,kBAAY,GAAGhL,aAAa,CAAE,UAAU3e,IAAV,EAAiB;AAC9C,eAAOA,IAAI,KAAKwpB,YAAhB;AACA,OAF2B,EAEzBE,gBAFyB,EAEP,IAFO,CAP7B;AAAA,UAUCE,eAAe,GAAGjL,aAAa,CAAE,UAAU3e,IAAV,EAAiB;AACjD,eAAOoV,OAAO,CAAEoU,YAAF,EAAgBxpB,IAAhB,CAAP,GAAgC,CAAC,CAAxC;AACA,OAF8B,EAE5B0pB,gBAF4B,EAEV,IAFU,CAVhC;AAAA,UAaCnB,QAAQ,GAAG,CAAE,UAAUvoB,IAAV,EAAgBkF,OAAhB,EAAyBugB,GAAzB,EAA+B;AAC3C,YAAI/N,GAAG,GAAK,CAAC+R,eAAD,KAAsBhE,GAAG,IAAIvgB,OAAO,KAAKmW,gBAAzC,CAAF,KACT,CAACmO,YAAY,GAAGtkB,OAAhB,EAAyB4Q,QAAzB,GACC6T,YAAY,CAAE3pB,IAAF,EAAQkF,OAAR,EAAiBugB,GAAjB,CADb,GAECmE,eAAe,CAAE5pB,IAAF,EAAQkF,OAAR,EAAiBugB,GAAjB,CAHP,CAAV,CAD2C,CAK3C;;AACA+D,oBAAY,GAAG,IAAf;AACA,eAAO9R,GAAP;AACA,OARU,CAbZ;;AAuBA,aAAQzY,CAAC,GAAGC,GAAZ,EAAiBD,CAAC,EAAlB,EAAuB;AACtB,YAAMonB,OAAO,GAAGtL,IAAI,CAAC6J,QAAL,CAAe+C,MAAM,CAAC1oB,CAAD,CAAN,CAAUgX,IAAzB,CAAhB,EAAmD;AAClDsS,kBAAQ,GAAG,CAAE5J,aAAa,CAAC2J,cAAc,CAAEC,QAAF,CAAf,EAA6BlC,OAA7B,CAAf,CAAX;AACA,SAFD,MAEO;AACNA,iBAAO,GAAGtL,IAAI,CAAC0H,MAAL,CAAakF,MAAM,CAAC1oB,CAAD,CAAN,CAAUgX,IAAvB,EAA8B8B,KAA9B,CAAqC,IAArC,EAA2C4P,MAAM,CAAC1oB,CAAD,CAAN,CAAUqb,OAArD,CAAV,CADM,CAGN;;AACA,cAAK+L,OAAO,CAAEnN,OAAF,CAAZ,EAA0B;AACzB;AACAd,aAAC,GAAG,EAAEnZ,CAAN;;AACA,mBAAQmZ,CAAC,GAAGlZ,GAAZ,EAAiBkZ,CAAC,EAAlB,EAAuB;AACtB,kBAAK2C,IAAI,CAAC6J,QAAL,CAAe+C,MAAM,CAACvP,CAAD,CAAN,CAAUnC,IAAzB,CAAL,EAAuC;AACtC;AACA;AACD;;AACD,mBAAO4S,UAAU,CAChB5pB,CAAC,GAAG,CAAJ,IAASqpB,cAAc,CAAEC,QAAF,CADP,EAEhBtpB,CAAC,GAAG,CAAJ,IAASghB,UAAU,EAClB;AACA0H,kBAAM,CAAC1S,KAAP,CAAc,CAAd,EAAiBhW,CAAC,GAAG,CAArB,EAAyBiW,MAAzB,CAAgC;AAAE1f,mBAAK,EAAEmyB,MAAM,CAAE1oB,CAAC,GAAG,CAAN,CAAN,CAAgBgX,IAAhB,KAAyB,GAAzB,GAA+B,GAA/B,GAAqC;AAA9C,aAAhC,CAFkB,CAAV,CAGPmD,OAHO,CAGEpC,KAHF,EAGS,IAHT,CAFO,EAMhBqP,OANgB,EAOhBpnB,CAAC,GAAGmZ,CAAJ,IAASmR,iBAAiB,CAAE5B,MAAM,CAAC1S,KAAP,CAAchW,CAAd,EAAiBmZ,CAAjB,CAAF,CAPV,EAQhBA,CAAC,GAAGlZ,GAAJ,IAAWqqB,iBAAiB,CAAG5B,MAAM,GAAGA,MAAM,CAAC1S,KAAP,CAAcmD,CAAd,CAAZ,CARZ,EAShBA,CAAC,GAAGlZ,GAAJ,IAAW+gB,UAAU,CAAE0H,MAAF,CATL,CAAjB;AAWA;;AACDY,kBAAQ,CAACpT,IAAT,CAAekR,OAAf;AACA;AACD;;AAED,aAAOiC,cAAc,CAAEC,QAAF,CAArB;AACA;;AAED,aAASsB,wBAAT,CAAmCC,eAAnC,EAAoDC,WAApD,EAAkE;AACjE,UAAIC,KAAK,GAAGD,WAAW,CAAC3S,MAAZ,GAAqB,CAAjC;AAAA,UACC6S,SAAS,GAAGH,eAAe,CAAC1S,MAAhB,GAAyB,CADtC;AAAA,UAEC8S,YAAY,GAAG,SAAfA,YAAe,CAAUlL,IAAV,EAAgB9Z,OAAhB,EAAyBugB,GAAzB,EAA8BzL,OAA9B,EAAuCmQ,SAAvC,EAAmD;AACjE,YAAInqB,IAAJ;AAAA,YAAUoY,CAAV;AAAA,YAAaiO,OAAb;AAAA,YACC+D,YAAY,GAAG,CADhB;AAAA,YAECnrB,CAAC,GAAG,GAFL;AAAA,YAGCqnB,SAAS,GAAGtH,IAAI,IAAI,EAHrB;AAAA,YAICqL,UAAU,GAAG,EAJd;AAAA,YAKCC,aAAa,GAAGjP,gBALjB;AAAA,YAMC;AACA5D,aAAK,GAAGuH,IAAI,IAAIiL,SAAS,IAAIlP,IAAI,CAAC4H,IAAL,CAAU,KAAV,EAAkB,GAAlB,EAAuBwH,SAAvB,CAP9B;AAAA,YAQC;AACAI,qBAAa,GAAIvO,OAAO,IAAIsO,aAAa,IAAI,IAAjB,GAAwB,CAAxB,GAA4Bp2B,IAAI,CAACilB,MAAL,MAAiB,GAT1E;AAAA,YAUCja,GAAG,GAAGuY,KAAK,CAACL,MAVb;;AAYA,YAAK+S,SAAL,EAAiB;AAChB9O,0BAAgB,GAAGnW,OAAO,KAAK/Q,QAAZ,IAAwB+Q,OAAxB,IAAmCilB,SAAtD;AACA,SAfgE,CAiBjE;AACA;AACA;;;AACA,eAAQlrB,CAAC,KAAKC,GAAN,IAAa,CAACc,IAAI,GAAGyX,KAAK,CAACxY,CAAD,CAAb,KAAqB,IAA1C,EAAgDA,CAAC,EAAjD,EAAsD;AACrD,cAAKgrB,SAAS,IAAIjqB,IAAlB,EAAyB;AACxBoY,aAAC,GAAG,CAAJ;;AACA,gBAAK,CAAClT,OAAD,IAAYlF,IAAI,CAACuf,aAAL,KAAuBprB,QAAxC,EAAmD;AAClDqnB,yBAAW,CAAExb,IAAF,CAAX;AACAylB,iBAAG,GAAG,CAAC/J,cAAP;AACA;;AACD,mBAAS2K,OAAO,GAAGyD,eAAe,CAAC1R,CAAC,EAAF,CAAlC,EAA2C;AAC1C,kBAAKiO,OAAO,CAAErmB,IAAF,EAAQkF,OAAO,IAAI/Q,QAAnB,EAA6BsxB,GAA7B,CAAZ,EAAgD;AAC/CzL,uBAAO,CAAC7E,IAAR,CAAcnV,IAAd;AACA;AACA;AACD;;AACD,gBAAKmqB,SAAL,EAAiB;AAChBnO,qBAAO,GAAGuO,aAAV;AACA;AACD,WAhBoD,CAkBrD;;;AACA,cAAKP,KAAL,EAAa;AACZ;AACA,gBAAMhqB,IAAI,GAAG,CAACqmB,OAAD,IAAYrmB,IAAzB,EAAiC;AAChCoqB,0BAAY;AACZ,aAJW,CAMZ;;;AACA,gBAAKpL,IAAL,EAAY;AACXsH,uBAAS,CAACnR,IAAV,CAAgBnV,IAAhB;AACA;AACD;AACD,SAlDgE,CAoDjE;AACA;;;AACAoqB,oBAAY,IAAInrB,CAAhB,CAtDiE,CAwDjE;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,YAAK+qB,KAAK,IAAI/qB,CAAC,KAAKmrB,YAApB,EAAmC;AAClChS,WAAC,GAAG,CAAJ;;AACA,iBAASiO,OAAO,GAAG0D,WAAW,CAAC3R,CAAC,EAAF,CAA9B,EAAuC;AACtCiO,mBAAO,CAAEC,SAAF,EAAa+D,UAAb,EAAyBnlB,OAAzB,EAAkCugB,GAAlC,CAAP;AACA;;AAED,cAAKzG,IAAL,EAAY;AACX;AACA,gBAAKoL,YAAY,GAAG,CAApB,EAAwB;AACvB,qBAAQnrB,CAAC,EAAT,EAAc;AACb,oBAAK,EAAEqnB,SAAS,CAACrnB,CAAD,CAAT,IAAgBorB,UAAU,CAACprB,CAAD,CAA5B,CAAL,EAAwC;AACvCorB,4BAAU,CAACprB,CAAD,CAAV,GAAgBsd,GAAG,CAAC5G,IAAJ,CAAUqE,OAAV,CAAhB;AACA;AACD;AACD,aARU,CAUX;;;AACAqQ,sBAAU,GAAG3B,QAAQ,CAAE2B,UAAF,CAArB;AACA,WAlBiC,CAoBlC;;;AACAlV,cAAI,CAAC4C,KAAL,CAAYiC,OAAZ,EAAqBqQ,UAArB,EArBkC,CAuBlC;;AACA,cAAKF,SAAS,IAAI,CAACnL,IAAd,IAAsBqL,UAAU,CAACjT,MAAX,GAAoB,CAA1C,IACFgT,YAAY,GAAGL,WAAW,CAAC3S,MAA7B,GAAwC,CADzC,EAC6C;AAE5C0D,kBAAM,CAACsJ,UAAP,CAAmBpK,OAAnB;AACA;AACD,SA5FgE,CA8FjE;;;AACA,YAAKmQ,SAAL,EAAiB;AAChBnO,iBAAO,GAAGuO,aAAV;AACAlP,0BAAgB,GAAGiP,aAAnB;AACA;;AAED,eAAOhE,SAAP;AACA,OAvGF;;AAyGA,aAAO0D,KAAK,GACXpJ,YAAY,CAAEsJ,YAAF,CADD,GAEXA,YAFD;AAGA;;AAED/O,WAAO,GAAGL,MAAM,CAACK,OAAP,GAAiB,UAAU9mB,QAAV,EAAoB8qB;AAAM;AAA1B,MAAoD;AAC9E,UAAIlgB,CAAJ;AAAA,UACC8qB,WAAW,GAAG,EADf;AAAA,UAECD,eAAe,GAAG,EAFnB;AAAA,UAGChC,MAAM,GAAGzL,aAAa,CAAEhoB,QAAQ,GAAG,GAAb,CAHvB;;AAKA,UAAK,CAACyzB,MAAN,EAAe;AACd;AACA,YAAK,CAAC3I,KAAN,EAAc;AACbA,eAAK,GAAGjE,QAAQ,CAAE7mB,QAAF,CAAhB;AACA;;AACD4K,SAAC,GAAGkgB,KAAK,CAAC/H,MAAV;;AACA,eAAQnY,CAAC,EAAT,EAAc;AACb6oB,gBAAM,GAAGyB,iBAAiB,CAAEpK,KAAK,CAAClgB,CAAD,CAAP,CAA1B;;AACA,cAAK6oB,MAAM,CAAE5O,OAAF,CAAX,EAAyB;AACxB6Q,uBAAW,CAAC5U,IAAZ,CAAkB2S,MAAlB;AACA,WAFD,MAEO;AACNgC,2BAAe,CAAC3U,IAAhB,CAAsB2S,MAAtB;AACA;AACD,SAba,CAed;;;AACAA,cAAM,GAAGzL,aAAa,CAAEhoB,QAAF,EAAYw1B,wBAAwB,CAAEC,eAAF,EAAmBC,WAAnB,CAApC,CAAtB,CAhBc,CAkBd;;AACAjC,cAAM,CAACzzB,QAAP,GAAkBA,QAAlB;AACA;;AACD,aAAOyzB,MAAP;AACA,KA5BD;AA8BA;;;;;;;;;;;AASA1M,UAAM,GAAGN,MAAM,CAACM,MAAP,GAAgB,UAAU/mB,QAAV,EAAoB6Q,OAApB,EAA6B8U,OAA7B,EAAsCgF,IAAtC,EAA6C;AACrE,UAAI/f,CAAJ;AAAA,UAAO0oB,MAAP;AAAA,UAAe6C,KAAf;AAAA,UAAsBvU,IAAtB;AAAA,UAA4B0M,IAA5B;AAAA,UACC8H,QAAQ,GAAG,OAAOp2B,QAAP,KAAoB,UAApB,IAAkCA,QAD9C;AAAA,UAEC8qB,KAAK,GAAG,CAACH,IAAD,IAAS9D,QAAQ,CAAG7mB,QAAQ,GAAGo2B,QAAQ,CAACp2B,QAAT,IAAqBA,QAAnC,CAF1B;AAIA2lB,aAAO,GAAGA,OAAO,IAAI,EAArB,CALqE,CAOrE;AACA;;AACA,UAAKmF,KAAK,CAAC/H,MAAN,KAAiB,CAAtB,EAA0B;AAEzB;AACAuQ,cAAM,GAAGxI,KAAK,CAAC,CAAD,CAAL,GAAWA,KAAK,CAAC,CAAD,CAAL,CAASlK,KAAT,CAAgB,CAAhB,CAApB;;AACA,YAAK0S,MAAM,CAACvQ,MAAP,GAAgB,CAAhB,IAAqB,CAACoT,KAAK,GAAG7C,MAAM,CAAC,CAAD,CAAf,EAAoB1R,IAApB,KAA6B,IAAlD,IACH/Q,OAAO,CAAC4Q,QAAR,KAAqB,CADlB,IACuB4F,cADvB,IACyCX,IAAI,CAAC6J,QAAL,CAAe+C,MAAM,CAAC,CAAD,CAAN,CAAU1R,IAAzB,CAD9C,EACgF;AAE/E/Q,iBAAO,GAAG,CAAE6V,IAAI,CAAC4H,IAAL,CAAU,IAAV,EAAiB6H,KAAK,CAAClQ,OAAN,CAAc,CAAd,EAAiBlB,OAAjB,CAAyBwE,SAAzB,EAAoCC,SAApC,CAAjB,EAAiE3Y,OAAjE,KAA8E,EAAhF,EAAqF,CAArF,CAAV;;AACA,cAAK,CAACA,OAAN,EAAgB;AACf,mBAAO8U,OAAP,CADe,CAGhB;AACC,WAJD,MAIO,IAAKyQ,QAAL,EAAgB;AACtBvlB,mBAAO,GAAGA,OAAO,CAACyR,UAAlB;AACA;;AAEDtiB,kBAAQ,GAAGA,QAAQ,CAAC4gB,KAAT,CAAgB0S,MAAM,CAAChH,KAAP,GAAenrB,KAAf,CAAqB4hB,MAArC,CAAX;AACA,SAjBwB,CAmBzB;;;AACAnY,SAAC,GAAGqe,SAAS,CAAC,cAAD,CAAT,CAA0BuC,IAA1B,CAAgCxrB,QAAhC,IAA6C,CAA7C,GAAiDszB,MAAM,CAACvQ,MAA5D;;AACA,eAAQnY,CAAC,EAAT,EAAc;AACburB,eAAK,GAAG7C,MAAM,CAAC1oB,CAAD,CAAd,CADa,CAGb;;AACA,cAAK8b,IAAI,CAAC6J,QAAL,CAAgB3O,IAAI,GAAGuU,KAAK,CAACvU,IAA7B,CAAL,EAA4C;AAC3C;AACA;;AACD,cAAM0M,IAAI,GAAG5H,IAAI,CAAC4H,IAAL,CAAW1M,IAAX,CAAb,EAAkC;AACjC;AACA,gBAAM+I,IAAI,GAAG2D,IAAI,CAChB6H,KAAK,CAAClQ,OAAN,CAAc,CAAd,EAAiBlB,OAAjB,CAA0BwE,SAA1B,EAAqCC,SAArC,CADgB,EAEhBF,QAAQ,CAACkC,IAAT,CAAe8H,MAAM,CAAC,CAAD,CAAN,CAAU1R,IAAzB,KAAmCkK,WAAW,CAAEjb,OAAO,CAACyR,UAAV,CAA9C,IAAwEzR,OAFxD,CAAjB,EAGK;AAEJ;AACAyiB,oBAAM,CAACrP,MAAP,CAAerZ,CAAf,EAAkB,CAAlB;AACA5K,sBAAQ,GAAG2qB,IAAI,CAAC5H,MAAL,IAAe6I,UAAU,CAAE0H,MAAF,CAApC;;AACA,kBAAK,CAACtzB,QAAN,EAAiB;AAChB8gB,oBAAI,CAAC4C,KAAL,CAAYiC,OAAZ,EAAqBgF,IAArB;AACA,uBAAOhF,OAAP;AACA;;AAED;AACA;AACD;AACD;AACD,OAxDoE,CA0DrE;AACA;;;AACA,OAAEyQ,QAAQ,IAAItP,OAAO,CAAE9mB,QAAF,EAAY8qB,KAAZ,CAArB,EACCH,IADD,EAEC9Z,OAFD,EAGC,CAACwW,cAHF,EAIC1B,OAJD,EAKC,CAAC9U,OAAD,IAAYyY,QAAQ,CAACkC,IAAT,CAAexrB,QAAf,KAA6B8rB,WAAW,CAAEjb,OAAO,CAACyR,UAAV,CAApD,IAA8EzR,OAL/E;AAOA,aAAO8U,OAAP;AACA,KApED,CA3jEoB,CAioEpB;AAEA;;;AACApE,WAAO,CAAC2O,UAAR,GAAqBrL,OAAO,CAAC0B,KAAR,CAAc,EAAd,EAAkBvC,IAAlB,CAAwBiE,SAAxB,EAAoC4D,IAApC,CAAyC,EAAzC,MAAiDhH,OAAtE,CApoEoB,CAsoEpB;AACA;;AACAtD,WAAO,CAAC0O,gBAAR,GAA2B,CAAC,CAAC/I,YAA7B,CAxoEoB,CA0oEpB;;AACAC,eAAW,GA3oES,CA6oEpB;AACA;;AACA5F,WAAO,CAAC8N,YAAR,GAAuB7C,MAAM,CAAC,UAAUrV,EAAV,EAAe;AAC5C;AACA,aAAOA,EAAE,CAAC8X,uBAAH,CAA4BnvB,QAAQ,CAACoiB,aAAT,CAAuB,UAAvB,CAA5B,IAAmE,CAA1E;AACA,KAH4B,CAA7B,CA/oEoB,CAopEpB;AACA;AACA;;AACA,QAAK,CAACsK,MAAM,CAAC,UAAUrV,EAAV,EAAe;AAC3BA,QAAE,CAACuX,SAAH,GAAe,kBAAf;AACA,aAAOvX,EAAE,CAACiZ,UAAH,CAAc1E,YAAd,CAA2B,MAA3B,MAAuC,GAA9C;AACA,KAHW,CAAZ,EAGK;AACJe,eAAS,CAAE,wBAAF,EAA4B,UAAU9gB,IAAV,EAAgByY,IAAhB,EAAsBwC,KAAtB,EAA8B;AAClE,YAAK,CAACA,KAAN,EAAc;AACb,iBAAOjb,IAAI,CAAC+f,YAAL,CAAmBtH,IAAnB,EAAyBA,IAAI,CAACoC,WAAL,OAAuB,MAAvB,GAAgC,CAAhC,GAAoC,CAA7D,CAAP;AACA;AACD,OAJQ,CAAT;AAKA,KAhqEmB,CAkqEpB;AACA;;;AACA,QAAK,CAACjF,OAAO,CAACiH,UAAT,IAAuB,CAACgE,MAAM,CAAC,UAAUrV,EAAV,EAAe;AAClDA,QAAE,CAACuX,SAAH,GAAe,UAAf;AACAvX,QAAE,CAACiZ,UAAH,CAAczE,YAAd,CAA4B,OAA5B,EAAqC,EAArC;AACA,aAAOxU,EAAE,CAACiZ,UAAH,CAAc1E,YAAd,CAA4B,OAA5B,MAA0C,EAAjD;AACA,KAJkC,CAAnC,EAIK;AACJe,eAAS,CAAE,OAAF,EAAW,UAAU9gB,IAAV,EAAgByY,IAAhB,EAAsBwC,KAAtB,EAA8B;AACjD,YAAK,CAACA,KAAD,IAAUjb,IAAI,CAAC8f,QAAL,CAAcjF,WAAd,OAAgC,OAA/C,EAAyD;AACxD,iBAAO7a,IAAI,CAAC0qB,YAAZ;AACA;AACD,OAJQ,CAAT;AAKA,KA9qEmB,CAgrEpB;AACA;;;AACA,QAAK,CAAC7J,MAAM,CAAC,UAAUrV,EAAV,EAAe;AAC3B,aAAOA,EAAE,CAACuU,YAAH,CAAgB,UAAhB,KAA+B,IAAtC;AACA,KAFW,CAAZ,EAEK;AACJe,eAAS,CAAEpE,QAAF,EAAY,UAAU1c,IAAV,EAAgByY,IAAhB,EAAsBwC,KAAtB,EAA8B;AAClD,YAAI+I,GAAJ;;AACA,YAAK,CAAC/I,KAAN,EAAc;AACb,iBAAOjb,IAAI,CAAEyY,IAAF,CAAJ,KAAiB,IAAjB,GAAwBA,IAAI,CAACoC,WAAL,EAAxB,GACL,CAACmJ,GAAG,GAAGhkB,IAAI,CAAC4iB,gBAAL,CAAuBnK,IAAvB,CAAP,KAAyCuL,GAAG,CAACC,SAA7C,GACAD,GAAG,CAACxuB,KADJ,GAED,IAHD;AAIA;AACD,OARQ,CAAT;AASA;;AAED,WAAOslB,MAAP;AAEC,GAlsED,CAksEIrf,MAlsEJ,CAXA;;AAitEAob,QAAM,CAAC8L,IAAP,GAAc7H,MAAd;AACAjE,QAAM,CAACkN,IAAP,GAAcjJ,MAAM,CAACpZ,SAArB,CA7pFiF,CA+pFjF;;AACAmV,QAAM,CAACkN,IAAP,CAAa,GAAb,IAAqBlN,MAAM,CAACkN,IAAP,CAAYjH,OAAjC;AACAjG,QAAM,CAACuN,UAAP,GAAoBvN,MAAM,CAAC8T,MAAP,GAAgB7P,MAAM,CAACsJ,UAA3C;AACAvN,QAAM,CAACL,IAAP,GAAcsE,MAAM,CAACE,OAArB;AACAnE,QAAM,CAAC+T,QAAP,GAAkB9P,MAAM,CAACG,KAAzB;AACApE,QAAM,CAACgF,QAAP,GAAkBf,MAAM,CAACe,QAAzB;AACAhF,QAAM,CAACgU,cAAP,GAAwB/P,MAAM,CAACoJ,MAA/B;;AAKA,MAAIrF,GAAG,GAAG,aAAU7e,IAAV,EAAgB6e,IAAhB,EAAqBiM,KAArB,EAA6B;AACtC,QAAI1E,OAAO,GAAG,EAAd;AAAA,QACC2E,QAAQ,GAAGD,KAAK,KAAK7R,SADtB;;AAGA,WAAQ,CAAEjZ,IAAI,GAAGA,IAAI,CAAE6e,IAAF,CAAb,KAA0B7e,IAAI,CAAC8V,QAAL,KAAkB,CAApD,EAAwD;AACvD,UAAK9V,IAAI,CAAC8V,QAAL,KAAkB,CAAvB,EAA2B;AAC1B,YAAKiV,QAAQ,IAAIlU,MAAM,CAAE7W,IAAF,CAAN,CAAegrB,EAAf,CAAmBF,KAAnB,CAAjB,EAA8C;AAC7C;AACA;;AACD1E,eAAO,CAACjR,IAAR,CAAcnV,IAAd;AACA;AACD;;AACD,WAAOomB,OAAP;AACA,GAbD;;AAgBA,MAAI6E,SAAQ,GAAG,SAAXA,QAAW,CAAUC,CAAV,EAAalrB,IAAb,EAAoB;AAClC,QAAIomB,OAAO,GAAG,EAAd;;AAEA,WAAQ8E,CAAR,EAAWA,CAAC,GAAGA,CAAC,CAAC5J,WAAjB,EAA+B;AAC9B,UAAK4J,CAAC,CAACpV,QAAF,KAAe,CAAf,IAAoBoV,CAAC,KAAKlrB,IAA/B,EAAsC;AACrComB,eAAO,CAACjR,IAAR,CAAc+V,CAAd;AACA;AACD;;AAED,WAAO9E,OAAP;AACA,GAVD;;AAaA,MAAI+E,aAAa,GAAGtU,MAAM,CAACkN,IAAP,CAAY5E,KAAZ,CAAkBiM,YAAtC;;AAIA,WAAStL,QAAT,CAAmB9f,IAAnB,EAAyByY,IAAzB,EAAgC;AAE9B,WAAOzY,IAAI,CAAC8f,QAAL,IAAiB9f,IAAI,CAAC8f,QAAL,CAAcjF,WAAd,OAAgCpC,IAAI,CAACoC,WAAL,EAAxD;AAED;;AAAA;AACD,MAAIwQ,UAAU,GAAK,iEAAnB,CAhtFiF,CAotFjF;;AACA,WAASC,MAAT,CAAiB/iB,QAAjB,EAA2BgjB,SAA3B,EAAsCC,GAAtC,EAA4C;AAC3C,QAAK3V,UAAU,CAAE0V,SAAF,CAAf,EAA+B;AAC9B,aAAO1U,MAAM,CAACsD,IAAP,CAAa5R,QAAb,EAAuB,UAAUvI,IAAV,EAAgBf,CAAhB,EAAoB;AACjD,eAAO,CAAC,CAACssB,SAAS,CAAC5V,IAAV,CAAgB3V,IAAhB,EAAsBf,CAAtB,EAAyBe,IAAzB,CAAF,KAAsCwrB,GAA7C;AACA,OAFM,CAAP;AAGA,KAL0C,CAO3C;;;AACA,QAAKD,SAAS,CAACzV,QAAf,EAA0B;AACzB,aAAOe,MAAM,CAACsD,IAAP,CAAa5R,QAAb,EAAuB,UAAUvI,IAAV,EAAiB;AAC9C,eAASA,IAAI,KAAKurB,SAAX,KAA2BC,GAAlC;AACA,OAFM,CAAP;AAGA,KAZ0C,CAc3C;;;AACA,QAAK,OAAOD,SAAP,KAAqB,QAA1B,EAAqC;AACpC,aAAO1U,MAAM,CAACsD,IAAP,CAAa5R,QAAb,EAAuB,UAAUvI,IAAV,EAAiB;AAC9C,eAASoV,OAAO,CAACO,IAAR,CAAc4V,SAAd,EAAyBvrB,IAAzB,IAAkC,CAAC,CAArC,KAA6CwrB,GAApD;AACA,OAFM,CAAP;AAGA,KAnB0C,CAqB3C;;;AACA,WAAO3U,MAAM,CAAC4L,MAAP,CAAe8I,SAAf,EAA0BhjB,QAA1B,EAAoCijB,GAApC,CAAP;AACA;;AAED3U,QAAM,CAAC4L,MAAP,GAAgB,UAAUsB,IAAV,EAAgBtM,KAAhB,EAAuB+T,GAAvB,EAA6B;AAC5C,QAAIxrB,IAAI,GAAGyX,KAAK,CAAE,CAAF,CAAhB;;AAEA,QAAK+T,GAAL,EAAW;AACVzH,UAAI,GAAG,UAAUA,IAAV,GAAiB,GAAxB;AACA;;AAED,QAAKtM,KAAK,CAACL,MAAN,KAAiB,CAAjB,IAAsBpX,IAAI,CAAC8V,QAAL,KAAkB,CAA7C,EAAiD;AAChD,aAAOe,MAAM,CAAC8L,IAAP,CAAYK,eAAZ,CAA6BhjB,IAA7B,EAAmC+jB,IAAnC,IAA4C,CAAE/jB,IAAF,CAA5C,GAAuD,EAA9D;AACA;;AAED,WAAO6W,MAAM,CAAC8L,IAAP,CAAYrI,OAAZ,CAAqByJ,IAArB,EAA2BlN,MAAM,CAACsD,IAAP,CAAa1C,KAAb,EAAoB,UAAUzX,IAAV,EAAiB;AACtE,aAAOA,IAAI,CAAC8V,QAAL,KAAkB,CAAzB;AACA,KAFiC,CAA3B,CAAP;AAGA,GAdD;;AAgBAe,QAAM,CAACC,EAAP,CAAUyB,MAAV,CAAkB;AACjBoK,QAAI,EAAE,cAAUtuB,QAAV,EAAqB;AAC1B,UAAI4K,CAAJ;AAAA,UAAOyY,GAAP;AAAA,UACCxY,GAAG,GAAG,KAAKkY,MADZ;AAAA,UAECqU,IAAI,GAAG,IAFR;;AAIA,UAAK,OAAOp3B,QAAP,KAAoB,QAAzB,EAAoC;AACnC,eAAO,KAAKmjB,SAAL,CAAgBX,MAAM,CAAExiB,QAAF,CAAN,CAAmBouB,MAAnB,CAA2B,YAAW;AAC5D,eAAMxjB,CAAC,GAAG,CAAV,EAAaA,CAAC,GAAGC,GAAjB,EAAsBD,CAAC,EAAvB,EAA4B;AAC3B,gBAAK4X,MAAM,CAACgF,QAAP,CAAiB4P,IAAI,CAAExsB,CAAF,CAArB,EAA4B,IAA5B,CAAL,EAA0C;AACzC,qBAAO,IAAP;AACA;AACD;AACD,SANsB,CAAhB,CAAP;AAOA;;AAEDyY,SAAG,GAAG,KAAKF,SAAL,CAAgB,EAAhB,CAAN;;AAEA,WAAMvY,CAAC,GAAG,CAAV,EAAaA,CAAC,GAAGC,GAAjB,EAAsBD,CAAC,EAAvB,EAA4B;AAC3B4X,cAAM,CAAC8L,IAAP,CAAatuB,QAAb,EAAuBo3B,IAAI,CAAExsB,CAAF,CAA3B,EAAkCyY,GAAlC;AACA;;AAED,aAAOxY,GAAG,GAAG,CAAN,GAAU2X,MAAM,CAACuN,UAAP,CAAmB1M,GAAnB,CAAV,GAAqCA,GAA5C;AACA,KAvBgB;AAwBjB+K,UAAM,EAAE,gBAAUpuB,QAAV,EAAqB;AAC5B,aAAO,KAAKmjB,SAAL,CAAgB8T,MAAM,CAAE,IAAF,EAAQj3B,QAAQ,IAAI,EAApB,EAAwB,KAAxB,CAAtB,CAAP;AACA,KA1BgB;AA2BjBm3B,OAAG,EAAE,aAAUn3B,QAAV,EAAqB;AACzB,aAAO,KAAKmjB,SAAL,CAAgB8T,MAAM,CAAE,IAAF,EAAQj3B,QAAQ,IAAI,EAApB,EAAwB,IAAxB,CAAtB,CAAP;AACA,KA7BgB;AA8BjB22B,MAAE,EAAE,YAAU32B,QAAV,EAAqB;AACxB,aAAO,CAAC,CAACi3B,MAAM,CACd,IADc,EAGd;AACA;AACA,aAAOj3B,QAAP,KAAoB,QAApB,IAAgC82B,aAAa,CAACtL,IAAd,CAAoBxrB,QAApB,CAAhC,GACCwiB,MAAM,CAAExiB,QAAF,CADP,GAECA,QAAQ,IAAI,EAPC,EAQd,KARc,CAAN,CASP+iB,MATF;AAUA;AAzCgB,GAAlB,EA9vFiF,CA2yFjF;AAGA;;AACA,MAAIsU,UAAJ;AAAA,MAEC;AACA;AACA;AACA;AACAhO,YAAU,GAAG,qCANd;AAAA,MAQC3G,IAAI,GAAGF,MAAM,CAACC,EAAP,CAAUC,IAAV,GAAiB,UAAU1iB,QAAV,EAAoB6Q,OAApB,EAA6BpP,IAA7B,EAAoC;AAC3D,QAAIqpB,KAAJ,EAAWnf,IAAX,CAD2D,CAG3D;;AACA,QAAK,CAAC3L,QAAN,EAAiB;AAChB,aAAO,IAAP;AACA,KAN0D,CAQ3D;AACA;;;AACAyB,QAAI,GAAGA,IAAI,IAAI41B,UAAf,CAV2D,CAY3D;;AACA,QAAK,OAAOr3B,QAAP,KAAoB,QAAzB,EAAoC;AACnC,UAAKA,QAAQ,CAAE,CAAF,CAAR,KAAkB,GAAlB,IACJA,QAAQ,CAAEA,QAAQ,CAAC+iB,MAAT,GAAkB,CAApB,CAAR,KAAoC,GADhC,IAEJ/iB,QAAQ,CAAC+iB,MAAT,IAAmB,CAFpB,EAEwB;AAEvB;AACA+H,aAAK,GAAG,CAAE,IAAF,EAAQ9qB,QAAR,EAAkB,IAAlB,CAAR;AAEA,OAPD,MAOO;AACN8qB,aAAK,GAAGzB,UAAU,CAAC8B,IAAX,CAAiBnrB,QAAjB,CAAR;AACA,OAVkC,CAYnC;;;AACA,UAAK8qB,KAAK,KAAMA,KAAK,CAAE,CAAF,CAAL,IAAc,CAACja,OAArB,CAAV,EAA2C;AAE1C;AACA,YAAKia,KAAK,CAAE,CAAF,CAAV,EAAkB;AACjBja,iBAAO,GAAGA,OAAO,YAAY2R,MAAnB,GAA4B3R,OAAO,CAAE,CAAF,CAAnC,GAA2CA,OAArD,CADiB,CAGjB;AACA;;AACA2R,gBAAM,CAACc,KAAP,CAAc,IAAd,EAAoBd,MAAM,CAAC8U,SAAP,CACnBxM,KAAK,CAAE,CAAF,CADc,EAEnBja,OAAO,IAAIA,OAAO,CAAC4Q,QAAnB,GAA8B5Q,OAAO,CAACqa,aAAR,IAAyBra,OAAvD,GAAiE/Q,QAF9C,EAGnB,IAHmB,CAApB,EALiB,CAWjB;;AACA,cAAKk3B,UAAU,CAACxL,IAAX,CAAiBV,KAAK,CAAE,CAAF,CAAtB,KAAiCtI,MAAM,CAACiC,aAAP,CAAsB5T,OAAtB,CAAtC,EAAwE;AACvE,iBAAMia,KAAN,IAAeja,OAAf,EAAyB;AAExB;AACA,kBAAK2Q,UAAU,CAAE,KAAMsJ,KAAN,CAAF,CAAf,EAAmC;AAClC,qBAAMA,KAAN,EAAeja,OAAO,CAAEia,KAAF,CAAtB,EADkC,CAGnC;AACC,eAJD,MAIO;AACN,qBAAKrU,IAAL,CAAWqU,KAAX,EAAkBja,OAAO,CAAEia,KAAF,CAAzB;AACA;AACD;AACD;;AAED,iBAAO,IAAP,CA1BiB,CA4BlB;AACC,SA7BD,MA6BO;AACNnf,cAAI,GAAG7L,QAAQ,CAACsrB,cAAT,CAAyBN,KAAK,CAAE,CAAF,CAA9B,CAAP;;AAEA,cAAKnf,IAAL,EAAY;AAEX;AACA,iBAAM,CAAN,IAAYA,IAAZ;AACA,iBAAKoX,MAAL,GAAc,CAAd;AACA;;AACD,iBAAO,IAAP;AACA,SA1CyC,CA4C3C;;AACC,OA7CD,MA6CO,IAAK,CAAClS,OAAD,IAAYA,OAAO,CAACgS,MAAzB,EAAkC;AACxC,eAAO,CAAEhS,OAAO,IAAIpP,IAAb,EAAoB6sB,IAApB,CAA0BtuB,QAA1B,CAAP,CADwC,CAGzC;AACA;AACC,OALM,MAKA;AACN,eAAO,KAAK8iB,WAAL,CAAkBjS,OAAlB,EAA4Byd,IAA5B,CAAkCtuB,QAAlC,CAAP;AACA,OAjEkC,CAmEpC;;AACC,KApED,MAoEO,IAAKA,QAAQ,CAACyhB,QAAd,EAAyB;AAC/B,WAAM,CAAN,IAAYzhB,QAAZ;AACA,WAAK+iB,MAAL,GAAc,CAAd;AACA,aAAO,IAAP,CAH+B,CAKhC;AACA;AACC,KAPM,MAOA,IAAKvB,UAAU,CAAExhB,QAAF,CAAf,EAA8B;AACpC,aAAOyB,IAAI,CAAC81B,KAAL,KAAe3S,SAAf,GACNnjB,IAAI,CAAC81B,KAAL,CAAYv3B,QAAZ,CADM,GAGN;AACAA,cAAQ,CAAEwiB,MAAF,CAJT;AAKA;;AAED,WAAOA,MAAM,CAACkD,SAAP,CAAkB1lB,QAAlB,EAA4B,IAA5B,CAAP;AACA,GAzGF,CA/yFiF,CA05FjF;;;AACA0iB,MAAI,CAACE,SAAL,GAAiBJ,MAAM,CAACC,EAAxB,CA35FiF,CA65FjF;;AACA4U,YAAU,GAAG7U,MAAM,CAAE1iB,QAAF,CAAnB;AAGA,MAAI03B,YAAY,GAAG,gCAAnB;AAAA,MAEC;AACAC,kBAAgB,GAAG;AAClB3qB,YAAQ,EAAE,IADQ;AAElB4qB,YAAQ,EAAE,IAFQ;AAGlBrwB,QAAI,EAAE,IAHY;AAIlBE,QAAI,EAAE;AAJY,GAHpB;AAUAib,QAAM,CAACC,EAAP,CAAUyB,MAAV,CAAkB;AACjByT,OAAG,EAAE,aAAUltB,MAAV,EAAmB;AACvB,UAAI2S,OAAO,GAAGoF,MAAM,CAAE/X,MAAF,EAAU,IAAV,CAApB;AAAA,UACCoM,CAAC,GAAGuG,OAAO,CAAC2F,MADb;AAGA,aAAO,KAAKqL,MAAL,CAAa,YAAW;AAC9B,YAAIxjB,CAAC,GAAG,CAAR;;AACA,eAAQA,CAAC,GAAGiM,CAAZ,EAAejM,CAAC,EAAhB,EAAqB;AACpB,cAAK4X,MAAM,CAACgF,QAAP,CAAiB,IAAjB,EAAuBpK,OAAO,CAAExS,CAAF,CAA9B,CAAL,EAA6C;AAC5C,mBAAO,IAAP;AACA;AACD;AACD,OAPM,CAAP;AAQA,KAbgB;AAejBgtB,WAAO,EAAE,iBAAUvqB,SAAV,EAAqBwD,OAArB,EAA+B;AACvC,UAAIic,GAAJ;AAAA,UACCliB,CAAC,GAAG,CADL;AAAA,UAECiM,CAAC,GAAG,KAAKkM,MAFV;AAAA,UAGCgP,OAAO,GAAG,EAHX;AAAA,UAIC3U,OAAO,GAAG,OAAO/P,SAAP,KAAqB,QAArB,IAAiCmV,MAAM,CAAEnV,SAAF,CAJlD,CADuC,CAOvC;;AACA,UAAK,CAACypB,aAAa,CAACtL,IAAd,CAAoBne,SAApB,CAAN,EAAwC;AACvC,eAAQzC,CAAC,GAAGiM,CAAZ,EAAejM,CAAC,EAAhB,EAAqB;AACpB,eAAMkiB,GAAG,GAAG,KAAMliB,CAAN,CAAZ,EAAuBkiB,GAAG,IAAIA,GAAG,KAAKjc,OAAtC,EAA+Cic,GAAG,GAAGA,GAAG,CAACxK,UAAzD,EAAsE;AAErE;AACA,gBAAKwK,GAAG,CAACrL,QAAJ,GAAe,EAAf,KAAuBrE,OAAO,GAClCA,OAAO,CAACvV,KAAR,CAAeilB,GAAf,IAAuB,CAAC,CADU,GAGlC;AACAA,eAAG,CAACrL,QAAJ,KAAiB,CAAjB,IACCe,MAAM,CAAC8L,IAAP,CAAYK,eAAZ,CAA6B7B,GAA7B,EAAkCzf,SAAlC,CALG,CAAL,EAKoD;AAEnD0kB,qBAAO,CAACjR,IAAR,CAAcgM,GAAd;AACA;AACA;AACD;AACD;AACD;;AAED,aAAO,KAAK3J,SAAL,CAAgB4O,OAAO,CAAChP,MAAR,GAAiB,CAAjB,GAAqBP,MAAM,CAACuN,UAAP,CAAmBgC,OAAnB,CAArB,GAAoDA,OAApE,CAAP;AACA,KA3CgB;AA6CjB;AACAlqB,SAAK,EAAE,eAAU8D,IAAV,EAAiB;AAEvB;AACA,UAAK,CAACA,IAAN,EAAa;AACZ,eAAS,KAAM,CAAN,KAAa,KAAM,CAAN,EAAU2W,UAAzB,GAAwC,KAAKsB,KAAL,GAAaiU,OAAb,GAAuB9U,MAA/D,GAAwE,CAAC,CAAhF;AACA,OALsB,CAOvB;;;AACA,UAAK,OAAOpX,IAAP,KAAgB,QAArB,EAAgC;AAC/B,eAAOoV,OAAO,CAACO,IAAR,CAAckB,MAAM,CAAE7W,IAAF,CAApB,EAA8B,KAAM,CAAN,CAA9B,CAAP;AACA,OAVsB,CAYvB;;;AACA,aAAOoV,OAAO,CAACO,IAAR,CAAc,IAAd,EAEN;AACA3V,UAAI,CAACkX,MAAL,GAAclX,IAAI,CAAE,CAAF,CAAlB,GAA0BA,IAHpB,CAAP;AAKA,KAhEgB;AAkEjBmsB,OAAG,EAAE,aAAU93B,QAAV,EAAoB6Q,OAApB,EAA8B;AAClC,aAAO,KAAKsS,SAAL,CACNX,MAAM,CAACuN,UAAP,CACCvN,MAAM,CAACc,KAAP,CAAc,KAAKL,GAAL,EAAd,EAA0BT,MAAM,CAAExiB,QAAF,EAAY6Q,OAAZ,CAAhC,CADD,CADM,CAAP;AAKA,KAxEgB;AA0EjBknB,WAAO,EAAE,iBAAU/3B,QAAV,EAAqB;AAC7B,aAAO,KAAK83B,GAAL,CAAU93B,QAAQ,IAAI,IAAZ,GAChB,KAAKujB,UADW,GACE,KAAKA,UAAL,CAAgB6K,MAAhB,CAAwBpuB,QAAxB,CADZ,CAAP;AAGA;AA9EgB,GAAlB;;AAiFA,WAASg4B,OAAT,CAAkBlL,GAAlB,EAAuBtC,GAAvB,EAA6B;AAC5B,WAAQ,CAAEsC,GAAG,GAAGA,GAAG,CAAEtC,GAAF,CAAX,KAAwBsC,GAAG,CAACrL,QAAJ,KAAiB,CAAjD,EAAqD,CAAE;;AACvD,WAAOqL,GAAP;AACA;;AAEDtK,QAAM,CAACgB,IAAP,CAAa;AACZvgB,UAAM,EAAE,gBAAU0I,IAAV,EAAiB;AACxB,UAAI1I,MAAM,GAAG0I,IAAI,CAAC2W,UAAlB;AACA,aAAOrf,MAAM,IAAIA,MAAM,CAACwe,QAAP,KAAoB,EAA9B,GAAmCxe,MAAnC,GAA4C,IAAnD;AACA,KAJW;AAKZg1B,WAAO,EAAE,iBAAUtsB,IAAV,EAAiB;AACzB,aAAO6e,GAAG,CAAE7e,IAAF,EAAQ,YAAR,CAAV;AACA,KAPW;AAQZusB,gBAAY,EAAE,sBAAUvsB,IAAV,EAAgBf,CAAhB,EAAmB6rB,KAAnB,EAA2B;AACxC,aAAOjM,GAAG,CAAE7e,IAAF,EAAQ,YAAR,EAAsB8qB,KAAtB,CAAV;AACA,KAVW;AAWZpvB,QAAI,EAAE,cAAUsE,IAAV,EAAiB;AACtB,aAAOqsB,OAAO,CAAErsB,IAAF,EAAQ,aAAR,CAAd;AACA,KAbW;AAcZpE,QAAI,EAAE,cAAUoE,IAAV,EAAiB;AACtB,aAAOqsB,OAAO,CAAErsB,IAAF,EAAQ,iBAAR,CAAd;AACA,KAhBW;AAiBZwsB,WAAO,EAAE,iBAAUxsB,IAAV,EAAiB;AACzB,aAAO6e,GAAG,CAAE7e,IAAF,EAAQ,aAAR,CAAV;AACA,KAnBW;AAoBZksB,WAAO,EAAE,iBAAUlsB,IAAV,EAAiB;AACzB,aAAO6e,GAAG,CAAE7e,IAAF,EAAQ,iBAAR,CAAV;AACA,KAtBW;AAuBZysB,aAAS,EAAE,mBAAUzsB,IAAV,EAAgBf,CAAhB,EAAmB6rB,KAAnB,EAA2B;AACrC,aAAOjM,GAAG,CAAE7e,IAAF,EAAQ,aAAR,EAAuB8qB,KAAvB,CAAV;AACA,KAzBW;AA0BZ4B,aAAS,EAAE,mBAAU1sB,IAAV,EAAgBf,CAAhB,EAAmB6rB,KAAnB,EAA2B;AACrC,aAAOjM,GAAG,CAAE7e,IAAF,EAAQ,iBAAR,EAA2B8qB,KAA3B,CAAV;AACA,KA5BW;AA6BZG,YAAQ,EAAE,kBAAUjrB,IAAV,EAAiB;AAC1B,aAAOirB,SAAQ,CAAE,CAAEjrB,IAAI,CAAC2W,UAAL,IAAmB,EAArB,EAA0B8N,UAA5B,EAAwCzkB,IAAxC,CAAf;AACA,KA/BW;AAgCZmB,YAAQ,EAAE,kBAAUnB,IAAV,EAAiB;AAC1B,aAAOirB,SAAQ,CAAEjrB,IAAI,CAACykB,UAAP,CAAf;AACA,KAlCW;AAmCZsH,YAAQ,EAAE,kBAAU/rB,IAAV,EAAiB;AACpB,UAAK8f,QAAQ,CAAE9f,IAAF,EAAQ,QAAR,CAAb,EAAkC;AAC9B,eAAOA,IAAI,CAAC2sB,eAAZ;AACH,OAHmB,CAKpB;AACA;AACA;;;AACA,UAAK7M,QAAQ,CAAE9f,IAAF,EAAQ,UAAR,CAAb,EAAoC;AAChCA,YAAI,GAAGA,IAAI,CAACwO,OAAL,IAAgBxO,IAAvB;AACH;;AAED,aAAO6W,MAAM,CAACc,KAAP,CAAc,EAAd,EAAkB3X,IAAI,CAAC8e,UAAvB,CAAP;AACN;AAhDW,GAAb,EAiDG,UAAUrG,IAAV,EAAgB3B,EAAhB,EAAqB;AACvBD,UAAM,CAACC,EAAP,CAAW2B,IAAX,IAAoB,UAAUqS,KAAV,EAAiBz2B,QAAjB,EAA4B;AAC/C,UAAI+xB,OAAO,GAAGvP,MAAM,CAACiB,GAAP,CAAY,IAAZ,EAAkBhB,EAAlB,EAAsBgU,KAAtB,CAAd;;AAEA,UAAKrS,IAAI,CAACxD,KAAL,CAAY,CAAC,CAAb,MAAqB,OAA1B,EAAoC;AACnC5gB,gBAAQ,GAAGy2B,KAAX;AACA;;AAED,UAAKz2B,QAAQ,IAAI,OAAOA,QAAP,KAAoB,QAArC,EAAgD;AAC/C+xB,eAAO,GAAGvP,MAAM,CAAC4L,MAAP,CAAepuB,QAAf,EAAyB+xB,OAAzB,CAAV;AACA;;AAED,UAAK,KAAKhP,MAAL,GAAc,CAAnB,EAAuB;AAEtB;AACA,YAAK,CAAC0U,gBAAgB,CAAErT,IAAF,CAAtB,EAAiC;AAChC5B,gBAAM,CAACuN,UAAP,CAAmBgC,OAAnB;AACA,SALqB,CAOtB;;;AACA,YAAKyF,YAAY,CAAChM,IAAb,CAAmBpH,IAAnB,CAAL,EAAiC;AAChC2N,iBAAO,CAACwG,OAAR;AACA;AACD;;AAED,aAAO,KAAKpV,SAAL,CAAgB4O,OAAhB,CAAP;AACA,KAzBD;AA0BA,GA5ED;AA6EA,MAAIyG,aAAa,GAAK,mBAAtB,CA9kGiF,CAklGjF;;AACA,WAASC,aAAT,CAAwBtU,OAAxB,EAAkC;AACjC,QAAIuU,MAAM,GAAG,EAAb;AACAlW,UAAM,CAACgB,IAAP,CAAaW,OAAO,CAAC2G,KAAR,CAAe0N,aAAf,KAAkC,EAA/C,EAAmD,UAAU/O,CAAV,EAAakP,IAAb,EAAoB;AACtED,YAAM,CAAEC,IAAF,CAAN,GAAiB,IAAjB;AACA,KAFD;AAGA,WAAOD,MAAP;AACA;AAED;;;;;;;;;;;;;;;;;;;;;;;;AAsBAlW,QAAM,CAACoW,SAAP,GAAmB,UAAUzU,OAAV,EAAoB;AAEtC;AACA;AACAA,WAAO,GAAG,OAAOA,OAAP,KAAmB,QAAnB,GACTsU,aAAa,CAAEtU,OAAF,CADJ,GAET3B,MAAM,CAAC0B,MAAP,CAAe,EAAf,EAAmBC,OAAnB,CAFD;;AAIA,QAAI;AACH0U,UADD;AAAA,QAGC;AACAC,UAJD;AAAA,QAMC;AACAC,UAPD;AAAA,QASC;AACAC,WAVD;AAAA,QAYC;AACA5Q,QAAI,GAAG,EAbR;AAAA,QAeC;AACA6Q,SAAK,GAAG,EAhBT;AAAA,QAkBC;AACAC,eAAW,GAAG,CAAC,CAnBhB;AAAA,QAqBC;AACAC,QAAI,GAAG,SAAPA,IAAO,GAAW;AAEjB;AACAH,aAAM,GAAGA,OAAM,IAAI7U,OAAO,CAACiV,IAA3B,CAHiB,CAKjB;AACA;;AACAL,YAAK,GAAGF,MAAM,GAAG,IAAjB;;AACA,aAAQI,KAAK,CAAClW,MAAd,EAAsBmW,WAAW,GAAG,CAAC,CAArC,EAAyC;AACxCJ,cAAM,GAAGG,KAAK,CAAC3M,KAAN,EAAT;;AACA,eAAQ,EAAE4M,WAAF,GAAgB9Q,IAAI,CAACrF,MAA7B,EAAsC;AAErC;AACA,cAAKqF,IAAI,CAAE8Q,WAAF,CAAJ,CAAoBxV,KAApB,CAA2BoV,MAAM,CAAE,CAAF,CAAjC,EAAwCA,MAAM,CAAE,CAAF,CAA9C,MAA0D,KAA1D,IACJ3U,OAAO,CAACkV,WADT,EACuB;AAEtB;AACAH,uBAAW,GAAG9Q,IAAI,CAACrF,MAAnB;AACA+V,kBAAM,GAAG,KAAT;AACA;AACD;AACD,OArBgB,CAuBjB;;;AACA,UAAK,CAAC3U,OAAO,CAAC2U,MAAd,EAAuB;AACtBA,cAAM,GAAG,KAAT;AACA;;AAEDD,YAAM,GAAG,KAAT,CA5BiB,CA8BjB;;AACA,UAAKG,OAAL,EAAc;AAEb;AACA,YAAKF,MAAL,EAAc;AACb1Q,cAAI,GAAG,EAAP,CADa,CAGd;AACC,SAJD,MAIO;AACNA,cAAI,GAAG,EAAP;AACA;AACD;AACD,KAhEF;AAAA,QAkEC;AACAgP,QAAI,GAAG;AAEN;AACAU,SAAG,EAAE,eAAW;AACf,YAAK1P,IAAL,EAAY;AAEX;AACA,cAAK0Q,MAAM,IAAI,CAACD,MAAhB,EAAyB;AACxBK,uBAAW,GAAG9Q,IAAI,CAACrF,MAAL,GAAc,CAA5B;AACAkW,iBAAK,CAACnY,IAAN,CAAYgY,MAAZ;AACA;;AAED,WAAE,SAAShB,GAAT,CAAclG,IAAd,EAAqB;AACtBpP,kBAAM,CAACgB,IAAP,CAAaoO,IAAb,EAAmB,UAAUnI,CAAV,EAAatD,GAAb,EAAmB;AACrC,kBAAK3E,UAAU,CAAE2E,GAAF,CAAf,EAAyB;AACxB,oBAAK,CAAChC,OAAO,CAACmS,MAAT,IAAmB,CAACc,IAAI,CAACO,GAAL,CAAUxR,GAAV,CAAzB,EAA2C;AAC1CiC,sBAAI,CAACtH,IAAL,CAAWqF,GAAX;AACA;AACD,eAJD,MAIO,IAAKA,GAAG,IAAIA,GAAG,CAACpD,MAAX,IAAqBzhB,MAAM,CAAE6kB,GAAF,CAAN,KAAkB,QAA5C,EAAuD;AAE7D;AACA2R,mBAAG,CAAE3R,GAAF,CAAH;AACA;AACD,aAVD;AAWA,WAZD,EAYKxC,SAZL;;AAcA,cAAKmV,MAAM,IAAI,CAACD,MAAhB,EAAyB;AACxBM,gBAAI;AACJ;AACD;;AACD,eAAO,IAAP;AACA,OA/BK;AAiCN;AACAG,YAAM,EAAE,kBAAW;AAClB9W,cAAM,CAACgB,IAAP,CAAaG,SAAb,EAAwB,UAAU8F,CAAV,EAAatD,GAAb,EAAmB;AAC1C,cAAIte,KAAJ;;AACA,iBAAQ,CAAEA,KAAK,GAAG2a,MAAM,CAACoD,OAAP,CAAgBO,GAAhB,EAAqBiC,IAArB,EAA2BvgB,KAA3B,CAAV,IAAiD,CAAC,CAA1D,EAA8D;AAC7DugB,gBAAI,CAACnE,MAAL,CAAapc,KAAb,EAAoB,CAApB,EAD6D,CAG7D;;AACA,gBAAKA,KAAK,IAAIqxB,WAAd,EAA4B;AAC3BA,yBAAW;AACX;AACD;AACD,SAVD;AAWA,eAAO,IAAP;AACA,OA/CK;AAiDN;AACA;AACAvB,SAAG,EAAE,aAAUlV,EAAV,EAAe;AACnB,eAAOA,EAAE,GACRD,MAAM,CAACoD,OAAP,CAAgBnD,EAAhB,EAAoB2F,IAApB,IAA6B,CAAC,CADtB,GAERA,IAAI,CAACrF,MAAL,GAAc,CAFf;AAGA,OAvDK;AAyDN;AACAwW,WAAK,EAAE,iBAAW;AACjB,YAAKnR,IAAL,EAAY;AACXA,cAAI,GAAG,EAAP;AACA;;AACD,eAAO,IAAP;AACA,OA/DK;AAiEN;AACA;AACA;AACAnP,aAAO,EAAE,mBAAW;AACnB+f,eAAM,GAAGC,KAAK,GAAG,EAAjB;AACA7Q,YAAI,GAAG0Q,MAAM,GAAG,EAAhB;AACA,eAAO,IAAP;AACA,OAxEK;AAyENvO,cAAQ,EAAE,oBAAW;AACpB,eAAO,CAACnC,IAAR;AACA,OA3EK;AA6EN;AACA;AACA;AACAoR,UAAI,EAAE,gBAAW;AAChBR,eAAM,GAAGC,KAAK,GAAG,EAAjB;;AACA,YAAK,CAACH,MAAD,IAAW,CAACD,MAAjB,EAA0B;AACzBzQ,cAAI,GAAG0Q,MAAM,GAAG,EAAhB;AACA;;AACD,eAAO,IAAP;AACA,OAtFK;AAuFNE,YAAM,EAAE,kBAAW;AAClB,eAAO,CAAC,CAACA,OAAT;AACA,OAzFK;AA2FN;AACAS,cAAQ,EAAE,kBAAU5oB,OAAV,EAAmB+gB,IAAnB,EAA0B;AACnC,YAAK,CAACoH,OAAN,EAAe;AACdpH,cAAI,GAAGA,IAAI,IAAI,EAAf;AACAA,cAAI,GAAG,CAAE/gB,OAAF,EAAW+gB,IAAI,CAAChR,KAAL,GAAagR,IAAI,CAAChR,KAAL,EAAb,GAA4BgR,IAAvC,CAAP;AACAqH,eAAK,CAACnY,IAAN,CAAY8Q,IAAZ;;AACA,cAAK,CAACiH,MAAN,EAAe;AACdM,gBAAI;AACJ;AACD;;AACD,eAAO,IAAP;AACA,OAtGK;AAwGN;AACAA,UAAI,EAAE,gBAAW;AAChB/B,YAAI,CAACqC,QAAL,CAAe,IAAf,EAAqB9V,SAArB;AACA,eAAO,IAAP;AACA,OA5GK;AA8GN;AACAoV,WAAK,EAAE,iBAAW;AACjB,eAAO,CAAC,CAACA,MAAT;AACA;AAjHK,KAnER;;AAuLA,WAAO3B,IAAP;AACA,GAhMD;;AAmMA,WAASsC,QAAT,CAAmBC,CAAnB,EAAuB;AACtB,WAAOA,CAAP;AACA;;AACD,WAASC,OAAT,CAAkBC,EAAlB,EAAuB;AACtB,UAAMA,EAAN;AACA;;AAED,WAASC,UAAT,CAAqB34B,KAArB,EAA4B44B,OAA5B,EAAqCC,MAArC,EAA6CC,OAA7C,EAAuD;AACtD,QAAIle,MAAJ;;AAEA,QAAI;AAEH;AACA,UAAK5a,KAAK,IAAIqgB,UAAU,CAAIzF,MAAM,GAAG5a,KAAK,CAAC+4B,OAAnB,CAAxB,EAAyD;AACxDne,cAAM,CAACuF,IAAP,CAAangB,KAAb,EAAqBymB,IAArB,CAA2BmS,OAA3B,EAAqCI,IAArC,CAA2CH,MAA3C,EADwD,CAGzD;AACC,OAJD,MAIO,IAAK74B,KAAK,IAAIqgB,UAAU,CAAIzF,MAAM,GAAG5a,KAAK,CAACi5B,IAAnB,CAAxB,EAAsD;AAC5Dre,cAAM,CAACuF,IAAP,CAAangB,KAAb,EAAoB44B,OAApB,EAA6BC,MAA7B,EAD4D,CAG7D;AACC,OAJM,MAIA;AAEN;AACA;AACA;AACAD,eAAO,CAACrW,KAAR,CAAekB,SAAf,EAA0B,CAAEzjB,KAAF,EAAUyf,KAAV,CAAiBqZ,OAAjB,CAA1B;AACA,OAjBE,CAmBJ;AACA;AACA;;AACC,KAtBD,CAsBE,OAAQ94B,KAAR,EAAgB;AAEjB;AACA;AACA64B,YAAM,CAACtW,KAAP,CAAckB,SAAd,EAAyB,CAAEzjB,KAAF,CAAzB;AACA;AACD;;AAEDqhB,QAAM,CAAC0B,MAAP,CAAe;AAEdmW,YAAQ,EAAE,kBAAUC,IAAV,EAAiB;AAC1B,UAAIC,MAAM,GAAG,CAEX;AACA;AACA,OAAE,QAAF,EAAY,UAAZ,EAAwB/X,MAAM,CAACoW,SAAP,CAAkB,QAAlB,CAAxB,EACCpW,MAAM,CAACoW,SAAP,CAAkB,QAAlB,CADD,EAC+B,CAD/B,CAJW,EAMX,CAAE,SAAF,EAAa,MAAb,EAAqBpW,MAAM,CAACoW,SAAP,CAAkB,aAAlB,CAArB,EACCpW,MAAM,CAACoW,SAAP,CAAkB,aAAlB,CADD,EACoC,CADpC,EACuC,UADvC,CANW,EAQX,CAAE,QAAF,EAAY,MAAZ,EAAoBpW,MAAM,CAACoW,SAAP,CAAkB,aAAlB,CAApB,EACCpW,MAAM,CAACoW,SAAP,CAAkB,aAAlB,CADD,EACoC,CADpC,EACuC,UADvC,CARW,CAAb;AAAA,UAWC4B,MAAK,GAAG,SAXT;AAAA,UAYCN,QAAO,GAAG;AACTM,aAAK,EAAE,iBAAW;AACjB,iBAAOA,MAAP;AACA,SAHQ;AAITC,cAAM,EAAE,kBAAW;AAClBC,kBAAQ,CAAC9S,IAAT,CAAejE,SAAf,EAA2BwW,IAA3B,CAAiCxW,SAAjC;AACA,iBAAO,IAAP;AACA,SAPQ;AAQT,iBAAS,gBAAUlB,EAAV,EAAe;AACvB,iBAAOyX,QAAO,CAACE,IAAR,CAAc,IAAd,EAAoB3X,EAApB,CAAP;AACA,SAVQ;AAYT;AACAkY,YAAI,EAAE;AAAU;AAAmC;AAClD,cAAIC,GAAG,GAAGjX,SAAV;AAEA,iBAAOnB,MAAM,CAAC6X,QAAP,CAAiB,UAAUQ,QAAV,EAAqB;AAC5CrY,kBAAM,CAACgB,IAAP,CAAa+W,MAAb,EAAqB,UAAU3vB,CAAV,EAAakwB,KAAb,EAAqB;AAEzC;AACA,kBAAIrY,EAAE,GAAGjB,UAAU,CAAEoZ,GAAG,CAAEE,KAAK,CAAE,CAAF,CAAP,CAAL,CAAV,IAAmCF,GAAG,CAAEE,KAAK,CAAE,CAAF,CAAP,CAA/C,CAHyC,CAKzC;AACA;AACA;;AACAJ,sBAAQ,CAAEI,KAAK,CAAE,CAAF,CAAP,CAAR,CAAwB,YAAW;AAClC,oBAAIC,QAAQ,GAAGtY,EAAE,IAAIA,EAAE,CAACiB,KAAH,CAAU,IAAV,EAAgBC,SAAhB,CAArB;;AACA,oBAAKoX,QAAQ,IAAIvZ,UAAU,CAAEuZ,QAAQ,CAACb,OAAX,CAA3B,EAAkD;AACjDa,0BAAQ,CAACb,OAAT,GACEc,QADF,CACYH,QAAQ,CAACI,MADrB,EAEErT,IAFF,CAEQiT,QAAQ,CAACd,OAFjB,EAGEI,IAHF,CAGQU,QAAQ,CAACb,MAHjB;AAIA,iBALD,MAKO;AACNa,0BAAQ,CAAEC,KAAK,CAAE,CAAF,CAAL,GAAa,MAAf,CAAR,CACC,IADD,EAECrY,EAAE,GAAG,CAAEsY,QAAF,CAAH,GAAkBpX,SAFrB;AAIA;AACD,eAbD;AAcA,aAtBD;AAuBAiX,eAAG,GAAG,IAAN;AACA,WAzBM,EAyBHV,OAzBG,EAAP;AA0BA,SA1CQ;AA2CTE,YAAI,EAAE,cAAUc,WAAV,EAAuBC,UAAvB,EAAmCC,UAAnC,EAAgD;AACrD,cAAIC,QAAQ,GAAG,CAAf;;AACA,mBAAStB,OAAT,CAAkBuB,KAAlB,EAAyBZ,QAAzB,EAAmC/N,OAAnC,EAA4C4O,OAA5C,EAAsD;AACrD,mBAAO,YAAW;AACjB,kBAAIC,IAAI,GAAG,IAAX;AAAA,kBACC5J,IAAI,GAAGjO,SADR;AAAA,kBAEC8X,UAAU,GAAG,SAAbA,UAAa,GAAW;AACvB,oBAAIV,QAAJ,EAAcX,IAAd,CADuB,CAGvB;AACA;AACA;;AACA,oBAAKkB,KAAK,GAAGD,QAAb,EAAwB;AACvB;AACA;;AAEDN,wBAAQ,GAAGpO,OAAO,CAACjJ,KAAR,CAAe8X,IAAf,EAAqB5J,IAArB,CAAX,CAVuB,CAYvB;AACA;;AACA,oBAAKmJ,QAAQ,KAAKL,QAAQ,CAACR,OAAT,EAAlB,EAAuC;AACtC,wBAAM,IAAIwB,SAAJ,CAAe,0BAAf,CAAN;AACA,iBAhBsB,CAkBvB;AACA;AACA;AACA;;;AACAtB,oBAAI,GAAGW,QAAQ,MAEd;AACA;AACA;AACE,wBAAOA,QAAP,MAAoB,QAApB,IACD,OAAOA,QAAP,KAAoB,UANP,CAAR,IAONA,QAAQ,CAACX,IAPV,CAtBuB,CA+BvB;;AACA,oBAAK5Y,UAAU,CAAE4Y,IAAF,CAAf,EAA0B;AAEzB;AACA,sBAAKmB,OAAL,EAAe;AACdnB,wBAAI,CAAC9Y,IAAL,CACCyZ,QADD,EAEChB,OAAO,CAAEsB,QAAF,EAAYX,QAAZ,EAAsBhB,QAAtB,EAAgC6B,OAAhC,CAFR,EAGCxB,OAAO,CAAEsB,QAAF,EAAYX,QAAZ,EAAsBd,OAAtB,EAA+B2B,OAA/B,CAHR,EADc,CAOf;AACC,mBARD,MAQO;AAEN;AACAF,4BAAQ;AAERjB,wBAAI,CAAC9Y,IAAL,CACCyZ,QADD,EAEChB,OAAO,CAAEsB,QAAF,EAAYX,QAAZ,EAAsBhB,QAAtB,EAAgC6B,OAAhC,CAFR,EAGCxB,OAAO,CAAEsB,QAAF,EAAYX,QAAZ,EAAsBd,OAAtB,EAA+B2B,OAA/B,CAHR,EAICxB,OAAO,CAAEsB,QAAF,EAAYX,QAAZ,EAAsBhB,QAAtB,EACNgB,QAAQ,CAACiB,UADH,CAJR;AAOA,mBAvBwB,CAyB1B;;AACC,iBA1BD,MA0BO;AAEN;AACA;AACA,sBAAKhP,OAAO,KAAK+M,QAAjB,EAA4B;AAC3B8B,wBAAI,GAAG5W,SAAP;AACAgN,wBAAI,GAAG,CAAEmJ,QAAF,CAAP;AACA,mBAPK,CASN;AACA;;;AACA,mBAAEQ,OAAO,IAAIb,QAAQ,CAACkB,WAAtB,EAAqCJ,IAArC,EAA2C5J,IAA3C;AACA;AACD,eAzEF;AAAA,kBA2EC;AACAiK,qBAAO,GAAGN,OAAO,GAChBE,UADgB,GAEhB,YAAW;AACV,oBAAI;AACHA,4BAAU;AACV,iBAFD,CAEE,OAAQjzB,CAAR,EAAY;AAEb,sBAAKga,MAAM,CAAC6X,QAAP,CAAgByB,aAArB,EAAqC;AACpCtZ,0BAAM,CAAC6X,QAAP,CAAgByB,aAAhB,CAA+BtzB,CAA/B,EACCqzB,OAAO,CAACE,UADT;AAEA,mBALY,CAOb;AACA;AACA;;;AACA,sBAAKT,KAAK,GAAG,CAAR,IAAaD,QAAlB,EAA6B;AAE5B;AACA;AACA,wBAAK1O,OAAO,KAAKiN,OAAjB,EAA2B;AAC1B4B,0BAAI,GAAG5W,SAAP;AACAgN,0BAAI,GAAG,CAAEppB,CAAF,CAAP;AACA;;AAEDkyB,4BAAQ,CAACsB,UAAT,CAAqBR,IAArB,EAA2B5J,IAA3B;AACA;AACD;AACD,eAvGH,CADiB,CA0GjB;AACA;AACA;AACA;;;AACA,kBAAK0J,KAAL,EAAa;AACZO,uBAAO;AACP,eAFD,MAEO;AAEN;AACA;AACA,oBAAKrZ,MAAM,CAAC6X,QAAP,CAAgB4B,YAArB,EAAoC;AACnCJ,yBAAO,CAACE,UAAR,GAAqBvZ,MAAM,CAAC6X,QAAP,CAAgB4B,YAAhB,EAArB;AACA;;AACD70B,sBAAM,CAAC3H,UAAP,CAAmBo8B,OAAnB;AACA;AACD,aAzHD;AA0HA;;AAED,iBAAOrZ,MAAM,CAAC6X,QAAP,CAAiB,UAAUQ,QAAV,EAAqB;AAE5C;AACAN,kBAAM,CAAE,CAAF,CAAN,CAAa,CAAb,EAAiBzC,GAAjB,CACCiC,OAAO,CACN,CADM,EAENc,QAFM,EAGNrZ,UAAU,CAAE4Z,UAAF,CAAV,GACCA,UADD,GAEC1B,QALK,EAMNmB,QAAQ,CAACc,UANH,CADR,EAH4C,CAc5C;;AACApB,kBAAM,CAAE,CAAF,CAAN,CAAa,CAAb,EAAiBzC,GAAjB,CACCiC,OAAO,CACN,CADM,EAENc,QAFM,EAGNrZ,UAAU,CAAE0Z,WAAF,CAAV,GACCA,WADD,GAECxB,QALK,CADR,EAf4C,CAyB5C;;AACAa,kBAAM,CAAE,CAAF,CAAN,CAAa,CAAb,EAAiBzC,GAAjB,CACCiC,OAAO,CACN,CADM,EAENc,QAFM,EAGNrZ,UAAU,CAAE2Z,UAAF,CAAV,GACCA,UADD,GAECvB,OALK,CADR;AASA,WAnCM,EAmCHM,OAnCG,EAAP;AAoCA,SA9MQ;AAgNT;AACA;AACAA,eAAO,EAAE,iBAAUp5B,GAAV,EAAgB;AACxB,iBAAOA,GAAG,IAAI,IAAP,GAAc0hB,MAAM,CAAC0B,MAAP,CAAepjB,GAAf,EAAoBo5B,QAApB,CAAd,GAA8CA,QAArD;AACA;AApNQ,OAZX;AAAA,UAkOCQ,QAAQ,GAAG,EAlOZ,CAD0B,CAqO1B;;AACAlY,YAAM,CAACgB,IAAP,CAAa+W,MAAb,EAAqB,UAAU3vB,CAAV,EAAakwB,KAAb,EAAqB;AACzC,YAAI1S,IAAI,GAAG0S,KAAK,CAAE,CAAF,CAAhB;AAAA,YACCoB,WAAW,GAAGpB,KAAK,CAAE,CAAF,CADpB,CADyC,CAIzC;AACA;AACA;;AACAZ,gBAAO,CAAEY,KAAK,CAAE,CAAF,CAAP,CAAP,GAAwB1S,IAAI,CAAC0P,GAA7B,CAPyC,CASzC;;AACA,YAAKoE,WAAL,EAAmB;AAClB9T,cAAI,CAAC0P,GAAL,CACC,YAAW;AAEV;AACA;AACA0C,kBAAK,GAAG0B,WAAR;AACA,WANF,EAQC;AACA;AACA3B,gBAAM,CAAE,IAAI3vB,CAAN,CAAN,CAAiB,CAAjB,EAAqBqO,OAVtB,EAYC;AACA;AACAshB,gBAAM,CAAE,IAAI3vB,CAAN,CAAN,CAAiB,CAAjB,EAAqBqO,OAdtB,EAgBC;AACAshB,gBAAM,CAAE,CAAF,CAAN,CAAa,CAAb,EAAiBf,IAjBlB,EAmBC;AACAe,gBAAM,CAAE,CAAF,CAAN,CAAa,CAAb,EAAiBf,IApBlB;AAsBA,SAjCwC,CAmCzC;AACA;AACA;;;AACApR,YAAI,CAAC0P,GAAL,CAAUgD,KAAK,CAAE,CAAF,CAAL,CAAW3B,IAArB,EAtCyC,CAwCzC;AACA;AACA;;AACAuB,gBAAQ,CAAEI,KAAK,CAAE,CAAF,CAAP,CAAR,GAAyB,YAAW;AACnCJ,kBAAQ,CAAEI,KAAK,CAAE,CAAF,CAAL,GAAa,MAAf,CAAR,CAAiC,SAASJ,QAAT,GAAoB9V,SAApB,GAAgC,IAAjE,EAAuEjB,SAAvE;AACA,iBAAO,IAAP;AACA,SAHD,CA3CyC,CAgDzC;AACA;AACA;;;AACA+W,gBAAQ,CAAEI,KAAK,CAAE,CAAF,CAAL,GAAa,MAAf,CAAR,GAAkC1S,IAAI,CAACqR,QAAvC;AACA,OApDD,EAtO0B,CA4R1B;;AACAS,cAAO,CAACA,OAAR,CAAiBQ,QAAjB,EA7R0B,CA+R1B;;;AACA,UAAKJ,IAAL,EAAY;AACXA,YAAI,CAAChZ,IAAL,CAAWoZ,QAAX,EAAqBA,QAArB;AACA,OAlSyB,CAoS1B;;;AACA,aAAOA,QAAP;AACA,KAxSa;AA0Sd;AACAyB,QAAI,EAAE,cAAUC,WAAV,EAAwB;AAC7B,UAEC;AACAC,eAAS,GAAG1Y,SAAS,CAACZ,MAHvB;AAAA,UAKC;AACAnY,OAAC,GAAGyxB,SANL;AAAA,UAQC;AACAC,qBAAe,GAAG5X,KAAK,CAAE9Z,CAAF,CATxB;AAAA,UAUC2xB,aAAa,GAAG3b,MAAK,CAACU,IAAN,CAAYqC,SAAZ,CAVjB;AAAA,UAYC;AACA6Y,YAAM,GAAGha,MAAM,CAAC6X,QAAP,EAbV;AAAA,UAeC;AACAoC,gBAAU,GAAG,SAAbA,UAAa,CAAU7xB,CAAV,EAAc;AAC1B,eAAO,UAAUzJ,KAAV,EAAkB;AACxBm7B,yBAAe,CAAE1xB,CAAF,CAAf,GAAuB,IAAvB;AACA2xB,uBAAa,CAAE3xB,CAAF,CAAb,GAAqB+Y,SAAS,CAACZ,MAAV,GAAmB,CAAnB,GAAuBnC,MAAK,CAACU,IAAN,CAAYqC,SAAZ,CAAvB,GAAiDxiB,KAAtE;;AACA,cAAK,CAAG,GAAEk7B,SAAV,EAAwB;AACvBG,kBAAM,CAACZ,WAAP,CAAoBU,eAApB,EAAqCC,aAArC;AACA;AACD,SAND;AAOA,OAxBF,CAD6B,CA2B7B;;;AACA,UAAKF,SAAS,IAAI,CAAlB,EAAsB;AACrBvC,kBAAU,CAAEsC,WAAF,EAAeI,MAAM,CAAC5U,IAAP,CAAa6U,UAAU,CAAE7xB,CAAF,CAAvB,EAA+BmvB,OAA9C,EAAuDyC,MAAM,CAACxC,MAA9D,EACT,CAACqC,SADQ,CAAV,CADqB,CAIrB;;AACA,YAAKG,MAAM,CAAChC,KAAP,OAAmB,SAAnB,IACJhZ,UAAU,CAAE+a,aAAa,CAAE3xB,CAAF,CAAb,IAAsB2xB,aAAa,CAAE3xB,CAAF,CAAb,CAAmBwvB,IAA3C,CADX,EAC+D;AAE9D,iBAAOoC,MAAM,CAACpC,IAAP,EAAP;AACA;AACD,OAtC4B,CAwC7B;;;AACA,aAAQxvB,CAAC,EAAT,EAAc;AACbkvB,kBAAU,CAAEyC,aAAa,CAAE3xB,CAAF,CAAf,EAAsB6xB,UAAU,CAAE7xB,CAAF,CAAhC,EAAuC4xB,MAAM,CAACxC,MAA9C,CAAV;AACA;;AAED,aAAOwC,MAAM,CAACtC,OAAP,EAAP;AACA;AAzVa,GAAf,EA51GiF,CAyrHjF;AACA;;AACA,MAAIwC,WAAW,GAAG,wDAAlB;;AAEAla,QAAM,CAAC6X,QAAP,CAAgByB,aAAhB,GAAgC,UAAU7W,KAAV,EAAiB0X,KAAjB,EAAyB;AAExD;AACA;AACA,QAAKv1B,MAAM,CAACw1B,OAAP,IAAkBx1B,MAAM,CAACw1B,OAAP,CAAeC,IAAjC,IAAyC5X,KAAzC,IAAkDyX,WAAW,CAAClR,IAAZ,CAAkBvG,KAAK,CAACb,IAAxB,CAAvD,EAAwF;AACvFhd,YAAM,CAACw1B,OAAP,CAAeC,IAAf,CAAqB,gCAAgC5X,KAAK,CAAC6X,OAA3D,EAAoE7X,KAAK,CAAC0X,KAA1E,EAAiFA,KAAjF;AACA;AACD,GAPD;;AAYAna,QAAM,CAACua,cAAP,GAAwB,UAAU9X,KAAV,EAAkB;AACzC7d,UAAM,CAAC3H,UAAP,CAAmB,YAAW;AAC7B,YAAMwlB,KAAN;AACA,KAFD;AAGA,GAJD,CAzsHiF,CAktHjF;;;AACA,MAAI+X,SAAS,GAAGxa,MAAM,CAAC6X,QAAP,EAAhB;;AAEA7X,QAAM,CAACC,EAAP,CAAU8U,KAAV,GAAkB,UAAU9U,EAAV,EAAe;AAEhCua,aAAS,CACP5C,IADF,CACQ3X,EADR,EAGC;AACA;AACA;AALD,KAMEwa,KANF,CAMS,UAAUhY,KAAV,EAAkB;AACzBzC,YAAM,CAACua,cAAP,CAAuB9X,KAAvB;AACA,KARF;AAUA,WAAO,IAAP;AACA,GAbD;;AAeAzC,QAAM,CAAC0B,MAAP,CAAe;AAEd;AACAc,WAAO,EAAE,KAHK;AAKd;AACA;AACAkY,aAAS,EAAE,CAPG;AASd;AACA3F,SAAK,EAAE,eAAU4F,IAAV,EAAiB;AAEvB;AACA,UAAKA,IAAI,KAAK,IAAT,GAAgB,EAAE3a,MAAM,CAAC0a,SAAzB,GAAqC1a,MAAM,CAACwC,OAAjD,EAA2D;AAC1D;AACA,OALsB,CAOvB;;;AACAxC,YAAM,CAACwC,OAAP,GAAiB,IAAjB,CARuB,CAUvB;;AACA,UAAKmY,IAAI,KAAK,IAAT,IAAiB,EAAE3a,MAAM,CAAC0a,SAAT,GAAqB,CAA3C,EAA+C;AAC9C;AACA,OAbsB,CAevB;;;AACAF,eAAS,CAACpB,WAAV,CAAuB97B,QAAvB,EAAiC,CAAE0iB,MAAF,CAAjC;AACA;AA3Ba,GAAf;AA8BAA,QAAM,CAAC+U,KAAP,CAAa6C,IAAb,GAAoB4C,SAAS,CAAC5C,IAA9B,CAlwHiF,CAowHjF;;AACA,WAASgD,SAAT,GAAqB;AACpBt9B,YAAQ,CAACu9B,mBAAT,CAA8B,kBAA9B,EAAkDD,SAAlD;AACAh2B,UAAM,CAACi2B,mBAAP,CAA4B,MAA5B,EAAoCD,SAApC;AACA5a,UAAM,CAAC+U,KAAP;AACA,GAzwHgF,CA2wHjF;AACA;AACA;AACA;;;AACA,MAAKz3B,QAAQ,CAACw9B,UAAT,KAAwB,UAAxB,IACFx9B,QAAQ,CAACw9B,UAAT,KAAwB,SAAxB,IAAqC,CAACx9B,QAAQ,CAAC2tB,eAAT,CAAyB8P,QADlE,EAC+E;AAE9E;AACAn2B,UAAM,CAAC3H,UAAP,CAAmB+iB,MAAM,CAAC+U,KAA1B;AAEA,GAND,MAMO;AAEN;AACAz3B,YAAQ,CAACguB,gBAAT,CAA2B,kBAA3B,EAA+CsP,SAA/C,EAHM,CAKN;;AACAh2B,UAAM,CAAC0mB,gBAAP,CAAyB,MAAzB,EAAiCsP,SAAjC;AACA,GA5xHgF,CAiyHjF;AACA;;;AACA,MAAII,MAAM,GAAG,SAATA,MAAS,CAAUpa,KAAV,EAAiBX,EAAjB,EAAqB2J,GAArB,EAA0BjrB,KAA1B,EAAiCs8B,SAAjC,EAA4CC,QAA5C,EAAsDC,GAAtD,EAA4D;AACxE,QAAI/yB,CAAC,GAAG,CAAR;AAAA,QACCC,GAAG,GAAGuY,KAAK,CAACL,MADb;AAAA,QAEC6a,IAAI,GAAGxR,GAAG,IAAI,IAFf,CADwE,CAKxE;;AACA,QAAK9qB,MAAM,CAAE8qB,GAAF,CAAN,KAAkB,QAAvB,EAAkC;AACjCqR,eAAS,GAAG,IAAZ;;AACA,WAAM7yB,CAAN,IAAWwhB,GAAX,EAAiB;AAChBoR,cAAM,CAAEpa,KAAF,EAASX,EAAT,EAAa7X,CAAb,EAAgBwhB,GAAG,CAAExhB,CAAF,CAAnB,EAA0B,IAA1B,EAAgC8yB,QAAhC,EAA0CC,GAA1C,CAAN;AACA,OAJgC,CAMlC;;AACC,KAPD,MAOO,IAAKx8B,KAAK,KAAKyjB,SAAf,EAA2B;AACjC6Y,eAAS,GAAG,IAAZ;;AAEA,UAAK,CAACjc,UAAU,CAAErgB,KAAF,CAAhB,EAA4B;AAC3Bw8B,WAAG,GAAG,IAAN;AACA;;AAED,UAAKC,IAAL,EAAY;AAEX;AACA,YAAKD,GAAL,EAAW;AACVlb,YAAE,CAACnB,IAAH,CAAS8B,KAAT,EAAgBjiB,KAAhB;AACAshB,YAAE,GAAG,IAAL,CAFU,CAIX;AACC,SALD,MAKO;AACNmb,cAAI,GAAGnb,EAAP;;AACAA,YAAE,GAAG,YAAU9W,IAAV,EAAgBygB,GAAhB,EAAqBjrB,KAArB,EAA6B;AACjC,mBAAOy8B,IAAI,CAACtc,IAAL,CAAWkB,MAAM,CAAE7W,IAAF,CAAjB,EAA2BxK,KAA3B,CAAP;AACA,WAFD;AAGA;AACD;;AAED,UAAKshB,EAAL,EAAU;AACT,eAAQ7X,CAAC,GAAGC,GAAZ,EAAiBD,CAAC,EAAlB,EAAuB;AACtB6X,YAAE,CACDW,KAAK,CAAExY,CAAF,CADJ,EACWwhB,GADX,EACgBuR,GAAG,GACpBx8B,KADoB,GAEpBA,KAAK,CAACmgB,IAAN,CAAY8B,KAAK,CAAExY,CAAF,CAAjB,EAAwBA,CAAxB,EAA2B6X,EAAE,CAAEW,KAAK,CAAExY,CAAF,CAAP,EAAcwhB,GAAd,CAA7B,CAHC,CAAF;AAKA;AACD;AACD;;AAED,QAAKqR,SAAL,EAAiB;AAChB,aAAOra,KAAP;AACA,KAjDuE,CAmDxE;;;AACA,QAAKwa,IAAL,EAAY;AACX,aAAOnb,EAAE,CAACnB,IAAH,CAAS8B,KAAT,CAAP;AACA;;AAED,WAAOvY,GAAG,GAAG4X,EAAE,CAAEW,KAAK,CAAE,CAAF,CAAP,EAAcgJ,GAAd,CAAL,GAA2BsR,QAArC;AACA,GAzDD,CAnyHiF,CA+1HjF;;;AACA,MAAIG,SAAS,GAAG,OAAhB;AAAA,MACCC,UAAU,GAAG,WADd,CAh2HiF,CAm2HjF;;AACA,WAASC,UAAT,CAAqBC,GAArB,EAA0BC,MAA1B,EAAmC;AAClC,WAAOA,MAAM,CAACC,WAAP,EAAP;AACA,GAt2HgF,CAw2HjF;AACA;AACA;;;AACA,WAASC,SAAT,CAAoBC,MAApB,EAA6B;AAC5B,WAAOA,MAAM,CAACrZ,OAAP,CAAgB8Y,SAAhB,EAA2B,KAA3B,EAAmC9Y,OAAnC,CAA4C+Y,UAA5C,EAAwDC,UAAxD,CAAP;AACA;;AACD,MAAIM,UAAU,GAAG,SAAbA,UAAa,CAAUC,KAAV,EAAkB;AAElC;AACA;AACA;AACA;AACA;AACA;AACA,WAAOA,KAAK,CAAC7c,QAAN,KAAmB,CAAnB,IAAwB6c,KAAK,CAAC7c,QAAN,KAAmB,CAA3C,IAAgD,CAAG,CAAC6c,KAAK,CAAC7c,QAAjE;AACA,GATD;;AAcA,WAAS8c,IAAT,GAAgB;AACf,SAAK1Z,OAAL,GAAerC,MAAM,CAACqC,OAAP,GAAiB0Z,IAAI,CAACC,GAAL,EAAhC;AACA;;AAEDD,MAAI,CAACC,GAAL,GAAW,CAAX;AAEAD,MAAI,CAAC3b,SAAL,GAAiB;AAEhBuJ,SAAK,EAAE,eAAUmS,KAAV,EAAkB;AAExB;AACA,UAAIn9B,KAAK,GAAGm9B,KAAK,CAAE,KAAKzZ,OAAP,CAAjB,CAHwB,CAKxB;;AACA,UAAK,CAAC1jB,KAAN,EAAc;AACbA,aAAK,GAAG,EAAR,CADa,CAGb;AACA;AACA;;AACA,YAAKk9B,UAAU,CAAEC,KAAF,CAAf,EAA2B;AAE1B;AACA;AACA,cAAKA,KAAK,CAAC7c,QAAX,EAAsB;AACrB6c,iBAAK,CAAE,KAAKzZ,OAAP,CAAL,GAAwB1jB,KAAxB,CADqB,CAGtB;AACA;AACA;AACC,WAND,MAMO;AACNH,kBAAM,CAACy9B,cAAP,CAAuBH,KAAvB,EAA8B,KAAKzZ,OAAnC,EAA4C;AAC3C1jB,mBAAK,EAAEA,KADoC;AAE3Cu9B,0BAAY,EAAE;AAF6B,aAA5C;AAIA;AACD;AACD;;AAED,aAAOv9B,KAAP;AACA,KAlCe;AAmChBw9B,OAAG,EAAE,aAAUL,KAAV,EAAiB96B,IAAjB,EAAuBrC,KAAvB,EAA+B;AACnC,UAAIy9B,IAAJ;AAAA,UACCzS,KAAK,GAAG,KAAKA,KAAL,CAAYmS,KAAZ,CADT,CADmC,CAInC;AACA;;AACA,UAAK,OAAO96B,IAAP,KAAgB,QAArB,EAAgC;AAC/B2oB,aAAK,CAAEgS,SAAS,CAAE36B,IAAF,CAAX,CAAL,GAA6BrC,KAA7B,CAD+B,CAGhC;AACC,OAJD,MAIO;AAEN;AACA,aAAMy9B,IAAN,IAAcp7B,IAAd,EAAqB;AACpB2oB,eAAK,CAAEgS,SAAS,CAAES,IAAF,CAAX,CAAL,GAA6Bp7B,IAAI,CAAEo7B,IAAF,CAAjC;AACA;AACD;;AACD,aAAOzS,KAAP;AACA,KArDe;AAsDhBlJ,OAAG,EAAE,aAAUqb,KAAV,EAAiBlS,GAAjB,EAAuB;AAC3B,aAAOA,GAAG,KAAKxH,SAAR,GACN,KAAKuH,KAAL,CAAYmS,KAAZ,CADM,GAGN;AACAA,WAAK,CAAE,KAAKzZ,OAAP,CAAL,IAAyByZ,KAAK,CAAE,KAAKzZ,OAAP,CAAL,CAAuBsZ,SAAS,CAAE/R,GAAF,CAAhC,CAJ1B;AAKA,KA5De;AA6DhBoR,UAAM,EAAE,gBAAUc,KAAV,EAAiBlS,GAAjB,EAAsBjrB,KAAtB,EAA8B;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAKirB,GAAG,KAAKxH,SAAR,IACCwH,GAAG,IAAI,OAAOA,GAAP,KAAe,QAAxB,IAAsCjrB,KAAK,KAAKyjB,SADpD,EACkE;AAEjE,eAAO,KAAK3B,GAAL,CAAUqb,KAAV,EAAiBlS,GAAjB,CAAP;AACA,OAjBoC,CAmBrC;AACA;AACA;AACA;AACA;AACA;;;AACA,WAAKuS,GAAL,CAAUL,KAAV,EAAiBlS,GAAjB,EAAsBjrB,KAAtB,EAzBqC,CA2BrC;AACA;;AACA,aAAOA,KAAK,KAAKyjB,SAAV,GAAsBzjB,KAAtB,GAA8BirB,GAArC;AACA,KA3Fe;AA4FhBkN,UAAM,EAAE,gBAAUgF,KAAV,EAAiBlS,GAAjB,EAAuB;AAC9B,UAAIxhB,CAAJ;AAAA,UACCuhB,KAAK,GAAGmS,KAAK,CAAE,KAAKzZ,OAAP,CADd;;AAGA,UAAKsH,KAAK,KAAKvH,SAAf,EAA2B;AAC1B;AACA;;AAED,UAAKwH,GAAG,KAAKxH,SAAb,EAAyB;AAExB;AACA,YAAKF,KAAK,CAACC,OAAN,CAAeyH,GAAf,CAAL,EAA4B;AAE3B;AACA;AACAA,aAAG,GAAGA,GAAG,CAAC3I,GAAJ,CAAS0a,SAAT,CAAN;AACA,SALD,MAKO;AACN/R,aAAG,GAAG+R,SAAS,CAAE/R,GAAF,CAAf,CADM,CAGN;AACA;;AACAA,aAAG,GAAGA,GAAG,IAAID,KAAP,GACL,CAAEC,GAAF,CADK,GAEHA,GAAG,CAACtB,KAAJ,CAAW0N,aAAX,KAA8B,EAFjC;AAGA;;AAED5tB,SAAC,GAAGwhB,GAAG,CAACrJ,MAAR;;AAEA,eAAQnY,CAAC,EAAT,EAAc;AACb,iBAAOuhB,KAAK,CAAEC,GAAG,CAAExhB,CAAF,CAAL,CAAZ;AACA;AACD,OA/B6B,CAiC9B;;;AACA,UAAKwhB,GAAG,KAAKxH,SAAR,IAAqBpC,MAAM,CAAC8C,aAAP,CAAsB6G,KAAtB,CAA1B,EAA0D;AAEzD;AACA;AACA;AACA;AACA,YAAKmS,KAAK,CAAC7c,QAAX,EAAsB;AACrB6c,eAAK,CAAE,KAAKzZ,OAAP,CAAL,GAAwBD,SAAxB;AACA,SAFD,MAEO;AACN,iBAAO0Z,KAAK,CAAE,KAAKzZ,OAAP,CAAZ;AACA;AACD;AACD,KA1Ie;AA2IhBga,WAAO,EAAE,iBAAUP,KAAV,EAAkB;AAC1B,UAAInS,KAAK,GAAGmS,KAAK,CAAE,KAAKzZ,OAAP,CAAjB;AACA,aAAOsH,KAAK,KAAKvH,SAAV,IAAuB,CAACpC,MAAM,CAAC8C,aAAP,CAAsB6G,KAAtB,CAA/B;AACA;AA9Ie,GAAjB;AAgJA,MAAI2S,QAAQ,GAAG,IAAIP,IAAJ,EAAf;AAEA,MAAIQ,QAAQ,GAAG,IAAIR,IAAJ,EAAf,CAphIiF,CAwhIjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIS,MAAM,GAAG,+BAAb;AAAA,MACCC,UAAU,GAAG,QADd;;AAGA,WAASC,OAAT,CAAkB17B,IAAlB,EAAyB;AACxB,QAAKA,IAAI,KAAK,MAAd,EAAuB;AACtB,aAAO,IAAP;AACA;;AAED,QAAKA,IAAI,KAAK,OAAd,EAAwB;AACvB,aAAO,KAAP;AACA;;AAED,QAAKA,IAAI,KAAK,MAAd,EAAuB;AACtB,aAAO,IAAP;AACA,KAXuB,CAaxB;;;AACA,QAAKA,IAAI,KAAK,CAACA,IAAD,GAAQ,EAAtB,EAA2B;AAC1B,aAAO,CAACA,IAAR;AACA;;AAED,QAAKw7B,MAAM,CAACxT,IAAP,CAAahoB,IAAb,CAAL,EAA2B;AAC1B,aAAO27B,IAAI,CAACC,KAAL,CAAY57B,IAAZ,CAAP;AACA;;AAED,WAAOA,IAAP;AACA;;AAED,WAAS67B,QAAT,CAAmB1zB,IAAnB,EAAyBygB,GAAzB,EAA8B5oB,IAA9B,EAAqC;AACpC,QAAI4gB,IAAJ,CADoC,CAGpC;AACA;;AACA,QAAK5gB,IAAI,KAAKohB,SAAT,IAAsBjZ,IAAI,CAAC8V,QAAL,KAAkB,CAA7C,EAAiD;AAChD2C,UAAI,GAAG,UAAUgI,GAAG,CAACrH,OAAJ,CAAaka,UAAb,EAAyB,KAAzB,EAAiCzY,WAAjC,EAAjB;AACAhjB,UAAI,GAAGmI,IAAI,CAAC+f,YAAL,CAAmBtH,IAAnB,CAAP;;AAEA,UAAK,OAAO5gB,IAAP,KAAgB,QAArB,EAAgC;AAC/B,YAAI;AACHA,cAAI,GAAG07B,OAAO,CAAE17B,IAAF,CAAd;AACA,SAFD,CAEE,OAAQgF,CAAR,EAAY,CAAE,CAHe,CAK/B;;;AACAu2B,gBAAQ,CAACJ,GAAT,CAAchzB,IAAd,EAAoBygB,GAApB,EAAyB5oB,IAAzB;AACA,OAPD,MAOO;AACNA,YAAI,GAAGohB,SAAP;AACA;AACD;;AACD,WAAOphB,IAAP;AACA;;AAEDgf,QAAM,CAAC0B,MAAP,CAAe;AACd2a,WAAO,EAAE,iBAAUlzB,IAAV,EAAiB;AACzB,aAAOozB,QAAQ,CAACF,OAAT,CAAkBlzB,IAAlB,KAA4BmzB,QAAQ,CAACD,OAAT,CAAkBlzB,IAAlB,CAAnC;AACA,KAHa;AAKdnI,QAAI,EAAE,cAAUmI,IAAV,EAAgByY,IAAhB,EAAsB5gB,KAAtB,EAA6B;AAClC,aAAOu7B,QAAQ,CAACvB,MAAT,CAAiB7xB,IAAjB,EAAuByY,IAAvB,EAA6B5gB,KAA7B,CAAP;AACA,KAPa;AASd87B,cAAU,EAAE,oBAAU3zB,IAAV,EAAgByY,IAAhB,EAAuB;AAClC2a,cAAQ,CAACzF,MAAT,CAAiB3tB,IAAjB,EAAuByY,IAAvB;AACA,KAXa;AAad;AACA;AACAmb,SAAK,EAAE,eAAU5zB,IAAV,EAAgByY,IAAhB,EAAsB5gB,IAAtB,EAA6B;AACnC,aAAOs7B,QAAQ,CAACtB,MAAT,CAAiB7xB,IAAjB,EAAuByY,IAAvB,EAA6B5gB,IAA7B,CAAP;AACA,KAjBa;AAmBdg8B,eAAW,EAAE,qBAAU7zB,IAAV,EAAgByY,IAAhB,EAAuB;AACnC0a,cAAQ,CAACxF,MAAT,CAAiB3tB,IAAjB,EAAuByY,IAAvB;AACA;AArBa,GAAf;AAwBA5B,QAAM,CAACC,EAAP,CAAUyB,MAAV,CAAkB;AACjB1gB,QAAI,EAAE,cAAU4oB,GAAV,EAAejrB,KAAf,EAAuB;AAC5B,UAAIyJ,CAAJ;AAAA,UAAOwZ,IAAP;AAAA,UAAa5gB,IAAb;AAAA,UACCmI,IAAI,GAAG,KAAM,CAAN,CADR;AAAA,UAEC+gB,KAAK,GAAG/gB,IAAI,IAAIA,IAAI,CAAC6c,UAFtB,CAD4B,CAK5B;;AACA,UAAK4D,GAAG,KAAKxH,SAAb,EAAyB;AACxB,YAAK,KAAK7B,MAAV,EAAmB;AAClBvf,cAAI,GAAGu7B,QAAQ,CAAC9b,GAAT,CAActX,IAAd,CAAP;;AAEA,cAAKA,IAAI,CAAC8V,QAAL,KAAkB,CAAlB,IAAuB,CAACqd,QAAQ,CAAC7b,GAAT,CAActX,IAAd,EAAoB,cAApB,CAA7B,EAAoE;AACnEf,aAAC,GAAG8hB,KAAK,CAAC3J,MAAV;;AACA,mBAAQnY,CAAC,EAAT,EAAc;AAEb;AACA;AACA,kBAAK8hB,KAAK,CAAE9hB,CAAF,CAAV,EAAkB;AACjBwZ,oBAAI,GAAGsI,KAAK,CAAE9hB,CAAF,CAAL,CAAWwZ,IAAlB;;AACA,oBAAKA,IAAI,CAACrD,OAAL,CAAc,OAAd,MAA4B,CAAjC,EAAqC;AACpCqD,sBAAI,GAAG+Z,SAAS,CAAE/Z,IAAI,CAACxD,KAAL,CAAY,CAAZ,CAAF,CAAhB;AACAye,0BAAQ,CAAE1zB,IAAF,EAAQyY,IAAR,EAAc5gB,IAAI,CAAE4gB,IAAF,CAAlB,CAAR;AACA;AACD;AACD;;AACD0a,oBAAQ,CAACH,GAAT,CAAchzB,IAAd,EAAoB,cAApB,EAAoC,IAApC;AACA;AACD;;AAED,eAAOnI,IAAP;AACA,OA7B2B,CA+B5B;;;AACA,UAAK,QAAO4oB,GAAP,MAAe,QAApB,EAA+B;AAC9B,eAAO,KAAK5I,IAAL,CAAW,YAAW;AAC5Bub,kBAAQ,CAACJ,GAAT,CAAc,IAAd,EAAoBvS,GAApB;AACA,SAFM,CAAP;AAGA;;AAED,aAAOoR,MAAM,CAAE,IAAF,EAAQ,UAAUr8B,KAAV,EAAkB;AACtC,YAAIqC,IAAJ,CADsC,CAGtC;AACA;AACA;AACA;AACA;;AACA,YAAKmI,IAAI,IAAIxK,KAAK,KAAKyjB,SAAvB,EAAmC;AAElC;AACA;AACAphB,cAAI,GAAGu7B,QAAQ,CAAC9b,GAAT,CAActX,IAAd,EAAoBygB,GAApB,CAAP;;AACA,cAAK5oB,IAAI,KAAKohB,SAAd,EAA0B;AACzB,mBAAOphB,IAAP;AACA,WAPiC,CASlC;AACA;;;AACAA,cAAI,GAAG67B,QAAQ,CAAE1zB,IAAF,EAAQygB,GAAR,CAAf;;AACA,cAAK5oB,IAAI,KAAKohB,SAAd,EAA0B;AACzB,mBAAOphB,IAAP;AACA,WAdiC,CAgBlC;;;AACA;AACA,SA1BqC,CA4BtC;;;AACA,aAAKggB,IAAL,CAAW,YAAW;AAErB;AACAub,kBAAQ,CAACJ,GAAT,CAAc,IAAd,EAAoBvS,GAApB,EAAyBjrB,KAAzB;AACA,SAJD;AAKA,OAlCY,EAkCV,IAlCU,EAkCJA,KAlCI,EAkCGwiB,SAAS,CAACZ,MAAV,GAAmB,CAlCtB,EAkCyB,IAlCzB,EAkC+B,IAlC/B,CAAb;AAmCA,KA1EgB;AA4EjBuc,cAAU,EAAE,oBAAUlT,GAAV,EAAgB;AAC3B,aAAO,KAAK5I,IAAL,CAAW,YAAW;AAC5Bub,gBAAQ,CAACzF,MAAT,CAAiB,IAAjB,EAAuBlN,GAAvB;AACA,OAFM,CAAP;AAGA;AAhFgB,GAAlB;AAoFA5J,QAAM,CAAC0B,MAAP,CAAe;AACd+U,SAAK,EAAE,eAAUttB,IAAV,EAAgBiW,IAAhB,EAAsBpe,IAAtB,EAA6B;AACnC,UAAIy1B,KAAJ;;AAEA,UAAKttB,IAAL,EAAY;AACXiW,YAAI,GAAG,CAAEA,IAAI,IAAI,IAAV,IAAmB,OAA1B;AACAqX,aAAK,GAAG6F,QAAQ,CAAC7b,GAAT,CAActX,IAAd,EAAoBiW,IAApB,CAAR,CAFW,CAIX;;AACA,YAAKpe,IAAL,EAAY;AACX,cAAK,CAACy1B,KAAD,IAAUvU,KAAK,CAACC,OAAN,CAAenhB,IAAf,CAAf,EAAuC;AACtCy1B,iBAAK,GAAG6F,QAAQ,CAACtB,MAAT,CAAiB7xB,IAAjB,EAAuBiW,IAAvB,EAA6BY,MAAM,CAACkD,SAAP,CAAkBliB,IAAlB,CAA7B,CAAR;AACA,WAFD,MAEO;AACNy1B,iBAAK,CAACnY,IAAN,CAAYtd,IAAZ;AACA;AACD;;AACD,eAAOy1B,KAAK,IAAI,EAAhB;AACA;AACD,KAlBa;AAoBdwG,WAAO,EAAE,iBAAU9zB,IAAV,EAAgBiW,IAAhB,EAAuB;AAC/BA,UAAI,GAAGA,IAAI,IAAI,IAAf;;AAEA,UAAIqX,KAAK,GAAGzW,MAAM,CAACyW,KAAP,CAActtB,IAAd,EAAoBiW,IAApB,CAAZ;AAAA,UACC8d,WAAW,GAAGzG,KAAK,CAAClW,MADrB;AAAA,UAECN,EAAE,GAAGwW,KAAK,CAAC3M,KAAN,EAFN;AAAA,UAGCqT,KAAK,GAAGnd,MAAM,CAACod,WAAP,CAAoBj0B,IAApB,EAA0BiW,IAA1B,CAHT;AAAA,UAICva,IAAI,GAAG,SAAPA,IAAO,GAAW;AACjBmb,cAAM,CAACid,OAAP,CAAgB9zB,IAAhB,EAAsBiW,IAAtB;AACA,OANF,CAH+B,CAW/B;;;AACA,UAAKa,EAAE,KAAK,YAAZ,EAA2B;AAC1BA,UAAE,GAAGwW,KAAK,CAAC3M,KAAN,EAAL;AACAoT,mBAAW;AACX;;AAED,UAAKjd,EAAL,EAAU;AAET;AACA;AACA,YAAKb,IAAI,KAAK,IAAd,EAAqB;AACpBqX,eAAK,CAACxJ,OAAN,CAAe,YAAf;AACA,SANQ,CAQT;;;AACA,eAAOkQ,KAAK,CAACE,IAAb;AACApd,UAAE,CAACnB,IAAH,CAAS3V,IAAT,EAAetE,IAAf,EAAqBs4B,KAArB;AACA;;AAED,UAAK,CAACD,WAAD,IAAgBC,KAArB,EAA6B;AAC5BA,aAAK,CAACpG,KAAN,CAAYJ,IAAZ;AACA;AACD,KArDa;AAuDd;AACAyG,eAAW,EAAE,qBAAUj0B,IAAV,EAAgBiW,IAAhB,EAAuB;AACnC,UAAIwK,GAAG,GAAGxK,IAAI,GAAG,YAAjB;AACA,aAAOkd,QAAQ,CAAC7b,GAAT,CAActX,IAAd,EAAoBygB,GAApB,KAA6B0S,QAAQ,CAACtB,MAAT,CAAiB7xB,IAAjB,EAAuBygB,GAAvB,EAA4B;AAC/DmN,aAAK,EAAE/W,MAAM,CAACoW,SAAP,CAAkB,aAAlB,EAAkCd,GAAlC,CAAuC,YAAW;AACxDgH,kBAAQ,CAACxF,MAAT,CAAiB3tB,IAAjB,EAAuB,CAAEiW,IAAI,GAAG,OAAT,EAAkBwK,GAAlB,CAAvB;AACA,SAFM;AADwD,OAA5B,CAApC;AAKA;AA/Da,GAAf;AAkEA5J,QAAM,CAACC,EAAP,CAAUyB,MAAV,CAAkB;AACjB+U,SAAK,EAAE,eAAUrX,IAAV,EAAgBpe,IAAhB,EAAuB;AAC7B,UAAIs8B,MAAM,GAAG,CAAb;;AAEA,UAAK,OAAOle,IAAP,KAAgB,QAArB,EAAgC;AAC/Bpe,YAAI,GAAGoe,IAAP;AACAA,YAAI,GAAG,IAAP;AACAke,cAAM;AACN;;AAED,UAAKnc,SAAS,CAACZ,MAAV,GAAmB+c,MAAxB,EAAiC;AAChC,eAAOtd,MAAM,CAACyW,KAAP,CAAc,KAAM,CAAN,CAAd,EAAyBrX,IAAzB,CAAP;AACA;;AAED,aAAOpe,IAAI,KAAKohB,SAAT,GACN,IADM,GAEN,KAAKpB,IAAL,CAAW,YAAW;AACrB,YAAIyV,KAAK,GAAGzW,MAAM,CAACyW,KAAP,CAAc,IAAd,EAAoBrX,IAApB,EAA0Bpe,IAA1B,CAAZ,CADqB,CAGrB;;AACAgf,cAAM,CAACod,WAAP,CAAoB,IAApB,EAA0Bhe,IAA1B;;AAEA,YAAKA,IAAI,KAAK,IAAT,IAAiBqX,KAAK,CAAE,CAAF,CAAL,KAAe,YAArC,EAAoD;AACnDzW,gBAAM,CAACid,OAAP,CAAgB,IAAhB,EAAsB7d,IAAtB;AACA;AACD,OATD,CAFD;AAYA,KA1BgB;AA2BjB6d,WAAO,EAAE,iBAAU7d,IAAV,EAAiB;AACzB,aAAO,KAAK4B,IAAL,CAAW,YAAW;AAC5BhB,cAAM,CAACid,OAAP,CAAgB,IAAhB,EAAsB7d,IAAtB;AACA,OAFM,CAAP;AAGA,KA/BgB;AAgCjBme,cAAU,EAAE,oBAAUne,IAAV,EAAiB;AAC5B,aAAO,KAAKqX,KAAL,CAAYrX,IAAI,IAAI,IAApB,EAA0B,EAA1B,CAAP;AACA,KAlCgB;AAoCjB;AACA;AACAsY,WAAO,EAAE,iBAAUtY,IAAV,EAAgB9gB,GAAhB,EAAsB;AAC9B,UAAI2tB,GAAJ;AAAA,UACCuR,KAAK,GAAG,CADT;AAAA,UAECC,KAAK,GAAGzd,MAAM,CAAC6X,QAAP,EAFT;AAAA,UAGCnmB,QAAQ,GAAG,IAHZ;AAAA,UAICtJ,CAAC,GAAG,KAAKmY,MAJV;AAAA,UAKCgX,OAAO,GAAG,SAAVA,OAAU,GAAW;AACpB,YAAK,CAAG,GAAEiG,KAAV,EAAoB;AACnBC,eAAK,CAACrE,WAAN,CAAmB1nB,QAAnB,EAA6B,CAAEA,QAAF,CAA7B;AACA;AACD,OATF;;AAWA,UAAK,OAAO0N,IAAP,KAAgB,QAArB,EAAgC;AAC/B9gB,WAAG,GAAG8gB,IAAN;AACAA,YAAI,GAAGgD,SAAP;AACA;;AACDhD,UAAI,GAAGA,IAAI,IAAI,IAAf;;AAEA,aAAQhX,CAAC,EAAT,EAAc;AACb6jB,WAAG,GAAGqQ,QAAQ,CAAC7b,GAAT,CAAc/O,QAAQ,CAAEtJ,CAAF,CAAtB,EAA6BgX,IAAI,GAAG,YAApC,CAAN;;AACA,YAAK6M,GAAG,IAAIA,GAAG,CAAC8K,KAAhB,EAAwB;AACvByG,eAAK;AACLvR,aAAG,CAAC8K,KAAJ,CAAUzB,GAAV,CAAeiC,OAAf;AACA;AACD;;AACDA,aAAO;AACP,aAAOkG,KAAK,CAAC/F,OAAN,CAAep5B,GAAf,CAAP;AACA;AAjEgB,GAAlB;AAmEA,MAAIo/B,IAAI,GAAK,qCAAF,CAA0CC,MAArD;AAEA,MAAIC,OAAO,GAAG,IAAIzX,MAAJ,CAAY,mBAAmBuX,IAAnB,GAA0B,aAAtC,EAAqD,GAArD,CAAd;AAGA,MAAIG,SAAS,GAAG,CAAE,KAAF,EAAS,OAAT,EAAkB,QAAlB,EAA4B,MAA5B,CAAhB;;AAEA,MAAIC,kBAAkB,GAAG,SAArBA,kBAAqB,CAAU30B,IAAV,EAAgBwL,EAAhB,EAAqB;AAE5C;AACA;AACAxL,QAAI,GAAGwL,EAAE,IAAIxL,IAAb,CAJ4C,CAM5C;;AACA,WAAOA,IAAI,CAAC40B,KAAL,CAAWhxB,OAAX,KAAuB,MAAvB,IACN5D,IAAI,CAAC40B,KAAL,CAAWhxB,OAAX,KAAuB,EAAvB,IAEA;AACA;AACA;AACA;AACAiT,UAAM,CAACgF,QAAP,CAAiB7b,IAAI,CAACuf,aAAtB,EAAqCvf,IAArC,CANA,IAQA6W,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkB,SAAlB,MAAkC,MATnC;AAUA,GAjBF;;AAmBA,MAAI80B,IAAI,GAAG,SAAPA,IAAO,CAAU90B,IAAV,EAAgBwY,OAAhB,EAAyBlR,QAAzB,EAAmC2e,IAAnC,EAA0C;AACpD,QAAIvO,GAAJ;AAAA,QAASe,IAAT;AAAA,QACCsc,GAAG,GAAG,EADP,CADoD,CAIpD;;AACA,SAAMtc,IAAN,IAAcD,OAAd,EAAwB;AACvBuc,SAAG,CAAEtc,IAAF,CAAH,GAAczY,IAAI,CAAC40B,KAAL,CAAYnc,IAAZ,CAAd;AACAzY,UAAI,CAAC40B,KAAL,CAAYnc,IAAZ,IAAqBD,OAAO,CAAEC,IAAF,CAA5B;AACA;;AAEDf,OAAG,GAAGpQ,QAAQ,CAACyQ,KAAT,CAAgB/X,IAAhB,EAAsBimB,IAAI,IAAI,EAA9B,CAAN,CAVoD,CAYpD;;AACA,SAAMxN,IAAN,IAAcD,OAAd,EAAwB;AACvBxY,UAAI,CAAC40B,KAAL,CAAYnc,IAAZ,IAAqBsc,GAAG,CAAEtc,IAAF,CAAxB;AACA;;AAED,WAAOf,GAAP;AACA,GAlBD;;AAuBA,WAASsd,SAAT,CAAoBh1B,IAApB,EAA0BizB,IAA1B,EAAgCgC,UAAhC,EAA4CC,KAA5C,EAAoD;AACnD,QAAIC,QAAJ;AAAA,QAAcC,KAAd;AAAA,QACCC,aAAa,GAAG,EADjB;AAAA,QAECC,YAAY,GAAGJ,KAAK,GACnB,YAAW;AACV,aAAOA,KAAK,CAAC/T,GAAN,EAAP;AACA,KAHkB,GAInB,YAAW;AACV,aAAOtK,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkBizB,IAAlB,EAAwB,EAAxB,CAAP;AACA,KARH;AAAA,QASCsC,OAAO,GAAGD,YAAY,EATvB;AAAA,QAUCE,IAAI,GAAGP,UAAU,IAAIA,UAAU,CAAE,CAAF,CAAxB,KAAmCpe,MAAM,CAAC4e,SAAP,CAAkBxC,IAAlB,IAA2B,EAA3B,GAAgC,IAAnE,CAVR;AAAA,QAYC;AACAyC,iBAAa,GAAG,CAAE7e,MAAM,CAAC4e,SAAP,CAAkBxC,IAAlB,KAA4BuC,IAAI,KAAK,IAAT,IAAiB,CAACD,OAAhD,KACfd,OAAO,CAACjV,IAAR,CAAc3I,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkBizB,IAAlB,CAAd,CAdF;;AAgBA,QAAKyC,aAAa,IAAIA,aAAa,CAAE,CAAF,CAAb,KAAuBF,IAA7C,EAAoD;AAEnD;AACA;AACAD,aAAO,GAAGA,OAAO,GAAG,CAApB,CAJmD,CAMnD;;AACAC,UAAI,GAAGA,IAAI,IAAIE,aAAa,CAAE,CAAF,CAA5B,CAPmD,CASnD;;AACAA,mBAAa,GAAG,CAACH,OAAD,IAAY,CAA5B;;AAEA,aAAQF,aAAa,EAArB,EAA0B;AAEzB;AACA;AACAxe,cAAM,CAAC+d,KAAP,CAAc50B,IAAd,EAAoBizB,IAApB,EAA0ByC,aAAa,GAAGF,IAA1C;;AACA,YAAK,CAAE,IAAIJ,KAAN,KAAkB,KAAMA,KAAK,GAAGE,YAAY,KAAKC,OAAjB,IAA4B,GAA1C,CAAlB,KAAuE,CAA5E,EAAgF;AAC/EF,uBAAa,GAAG,CAAhB;AACA;;AACDK,qBAAa,GAAGA,aAAa,GAAGN,KAAhC;AAEA;;AAEDM,mBAAa,GAAGA,aAAa,GAAG,CAAhC;AACA7e,YAAM,CAAC+d,KAAP,CAAc50B,IAAd,EAAoBizB,IAApB,EAA0ByC,aAAa,GAAGF,IAA1C,EAzBmD,CA2BnD;;AACAP,gBAAU,GAAGA,UAAU,IAAI,EAA3B;AACA;;AAED,QAAKA,UAAL,EAAkB;AACjBS,mBAAa,GAAG,CAACA,aAAD,IAAkB,CAACH,OAAnB,IAA8B,CAA9C,CADiB,CAGjB;;AACAJ,cAAQ,GAAGF,UAAU,CAAE,CAAF,CAAV,GACVS,aAAa,GAAG,CAAET,UAAU,CAAE,CAAF,CAAV,GAAkB,CAApB,IAA0BA,UAAU,CAAE,CAAF,CAD1C,GAEV,CAACA,UAAU,CAAE,CAAF,CAFZ;;AAGA,UAAKC,KAAL,EAAa;AACZA,aAAK,CAACM,IAAN,GAAaA,IAAb;AACAN,aAAK,CAACz4B,KAAN,GAAci5B,aAAd;AACAR,aAAK,CAACv4B,GAAN,GAAYw4B,QAAZ;AACA;AACD;;AACD,WAAOA,QAAP;AACA;;AAGD,MAAIQ,iBAAiB,GAAG,EAAxB;;AAEA,WAASC,iBAAT,CAA4B51B,IAA5B,EAAmC;AAClC,QAAIipB,IAAJ;AAAA,QACC5S,GAAG,GAAGrW,IAAI,CAACuf,aADZ;AAAA,QAECO,QAAQ,GAAG9f,IAAI,CAAC8f,QAFjB;AAAA,QAGClc,OAAO,GAAG+xB,iBAAiB,CAAE7V,QAAF,CAH5B;;AAKA,QAAKlc,OAAL,EAAe;AACd,aAAOA,OAAP;AACA;;AAEDqlB,QAAI,GAAG5S,GAAG,CAACwf,IAAJ,CAASnf,WAAT,CAAsBL,GAAG,CAACE,aAAJ,CAAmBuJ,QAAnB,CAAtB,CAAP;AACAlc,WAAO,GAAGiT,MAAM,CAACge,GAAP,CAAY5L,IAAZ,EAAkB,SAAlB,CAAV;AAEAA,QAAI,CAACtS,UAAL,CAAgBC,WAAhB,CAA6BqS,IAA7B;;AAEA,QAAKrlB,OAAO,KAAK,MAAjB,EAA0B;AACzBA,aAAO,GAAG,OAAV;AACA;;AACD+xB,qBAAiB,CAAE7V,QAAF,CAAjB,GAAgClc,OAAhC;AAEA,WAAOA,OAAP;AACA;;AAED,WAASkyB,QAAT,CAAmBvtB,QAAnB,EAA6BpI,IAA7B,EAAoC;AACnC,QAAIyD,OAAJ;AAAA,QAAa5D,IAAb;AAAA,QACC+1B,MAAM,GAAG,EADV;AAAA,QAEC75B,KAAK,GAAG,CAFT;AAAA,QAGCkb,MAAM,GAAG7O,QAAQ,CAAC6O,MAHnB,CADmC,CAMnC;;AACA,WAAQlb,KAAK,GAAGkb,MAAhB,EAAwBlb,KAAK,EAA7B,EAAkC;AACjC8D,UAAI,GAAGuI,QAAQ,CAAErM,KAAF,CAAf;;AACA,UAAK,CAAC8D,IAAI,CAAC40B,KAAX,EAAmB;AAClB;AACA;;AAEDhxB,aAAO,GAAG5D,IAAI,CAAC40B,KAAL,CAAWhxB,OAArB;;AACA,UAAKzD,IAAL,EAAY;AAEX;AACA;AACA;AACA,YAAKyD,OAAO,KAAK,MAAjB,EAA0B;AACzBmyB,gBAAM,CAAE75B,KAAF,CAAN,GAAkBi3B,QAAQ,CAAC7b,GAAT,CAActX,IAAd,EAAoB,SAApB,KAAmC,IAArD;;AACA,cAAK,CAAC+1B,MAAM,CAAE75B,KAAF,CAAZ,EAAwB;AACvB8D,gBAAI,CAAC40B,KAAL,CAAWhxB,OAAX,GAAqB,EAArB;AACA;AACD;;AACD,YAAK5D,IAAI,CAAC40B,KAAL,CAAWhxB,OAAX,KAAuB,EAAvB,IAA6B+wB,kBAAkB,CAAE30B,IAAF,CAApD,EAA+D;AAC9D+1B,gBAAM,CAAE75B,KAAF,CAAN,GAAkB05B,iBAAiB,CAAE51B,IAAF,CAAnC;AACA;AACD,OAdD,MAcO;AACN,YAAK4D,OAAO,KAAK,MAAjB,EAA0B;AACzBmyB,gBAAM,CAAE75B,KAAF,CAAN,GAAkB,MAAlB,CADyB,CAGzB;;AACAi3B,kBAAQ,CAACH,GAAT,CAAchzB,IAAd,EAAoB,SAApB,EAA+B4D,OAA/B;AACA;AACD;AACD,KApCkC,CAsCnC;;;AACA,SAAM1H,KAAK,GAAG,CAAd,EAAiBA,KAAK,GAAGkb,MAAzB,EAAiClb,KAAK,EAAtC,EAA2C;AAC1C,UAAK65B,MAAM,CAAE75B,KAAF,CAAN,IAAmB,IAAxB,EAA+B;AAC9BqM,gBAAQ,CAAErM,KAAF,CAAR,CAAkB04B,KAAlB,CAAwBhxB,OAAxB,GAAkCmyB,MAAM,CAAE75B,KAAF,CAAxC;AACA;AACD;;AAED,WAAOqM,QAAP;AACA;;AAEDsO,QAAM,CAACC,EAAP,CAAUyB,MAAV,CAAkB;AACjBpY,QAAI,EAAE,gBAAW;AAChB,aAAO21B,QAAQ,CAAE,IAAF,EAAQ,IAAR,CAAf;AACA,KAHgB;AAIjBn1B,QAAI,EAAE,gBAAW;AAChB,aAAOm1B,QAAQ,CAAE,IAAF,CAAf;AACA,KANgB;AAOjBt9B,UAAM,EAAE,gBAAUq2B,KAAV,EAAkB;AACzB,UAAK,OAAOA,KAAP,KAAiB,SAAtB,EAAkC;AACjC,eAAOA,KAAK,GAAG,KAAK1uB,IAAL,EAAH,GAAiB,KAAKQ,IAAL,EAA7B;AACA;;AAED,aAAO,KAAKkX,IAAL,CAAW,YAAW;AAC5B,YAAK8c,kBAAkB,CAAE,IAAF,CAAvB,EAAkC;AACjC9d,gBAAM,CAAE,IAAF,CAAN,CAAe1W,IAAf;AACA,SAFD,MAEO;AACN0W,gBAAM,CAAE,IAAF,CAAN,CAAelW,IAAf;AACA;AACD,OANM,CAAP;AAOA;AAnBgB,GAAlB;AAqBA,MAAIq1B,cAAc,GAAK,uBAAvB;AAEA,MAAIC,QAAQ,GAAK,gCAAjB;AAEA,MAAIC,WAAW,GAAK,oCAApB,CA1hJiF,CA8hJjF;;AACA,MAAIC,OAAO,GAAG;AAEb;AACAC,UAAM,EAAE,CAAE,CAAF,EAAK,8BAAL,EAAqC,WAArC,CAHK;AAKb;AACA;AACA;AACAC,SAAK,EAAE,CAAE,CAAF,EAAK,SAAL,EAAgB,UAAhB,CARM;AASbltB,OAAG,EAAE,CAAE,CAAF,EAAK,mBAAL,EAA0B,qBAA1B,CATQ;AAUbmtB,MAAE,EAAE,CAAE,CAAF,EAAK,gBAAL,EAAuB,kBAAvB,CAVS;AAWbC,MAAE,EAAE,CAAE,CAAF,EAAK,oBAAL,EAA2B,uBAA3B,CAXS;AAabC,YAAQ,EAAE,CAAE,CAAF,EAAK,EAAL,EAAS,EAAT;AAbG,GAAd,CA/hJiF,CA+iJjF;;AACAL,SAAO,CAACM,QAAR,GAAmBN,OAAO,CAACC,MAA3B;AAEAD,SAAO,CAACO,KAAR,GAAgBP,OAAO,CAACQ,KAAR,GAAgBR,OAAO,CAACS,QAAR,GAAmBT,OAAO,CAACU,OAAR,GAAkBV,OAAO,CAACE,KAA7E;AACAF,SAAO,CAACW,EAAR,GAAaX,OAAO,CAACI,EAArB;;AAGA,WAASQ,MAAT,CAAiB7xB,OAAjB,EAA0B2d,GAA1B,EAAgC;AAE/B;AACA;AACA,QAAInL,GAAJ;;AAEA,QAAK,OAAOxS,OAAO,CAACwa,oBAAf,KAAwC,WAA7C,EAA2D;AAC1DhI,SAAG,GAAGxS,OAAO,CAACwa,oBAAR,CAA8BmD,GAAG,IAAI,GAArC,CAAN;AAEA,KAHD,MAGO,IAAK,OAAO3d,OAAO,CAACkb,gBAAf,KAAoC,WAAzC,EAAuD;AAC7D1I,SAAG,GAAGxS,OAAO,CAACkb,gBAAR,CAA0ByC,GAAG,IAAI,GAAjC,CAAN;AAEA,KAHM,MAGA;AACNnL,SAAG,GAAG,EAAN;AACA;;AAED,QAAKmL,GAAG,KAAK5J,SAAR,IAAqB4J,GAAG,IAAI/C,QAAQ,CAAE5a,OAAF,EAAW2d,GAAX,CAAzC,EAA4D;AAC3D,aAAOhM,MAAM,CAACc,KAAP,CAAc,CAAEzS,OAAF,CAAd,EAA2BwS,GAA3B,CAAP;AACA;;AAED,WAAOA,GAAP;AACA,GA3kJgF,CA8kJjF;;;AACA,WAASsf,aAAT,CAAwBvf,KAAxB,EAA+Bwf,WAA/B,EAA6C;AAC5C,QAAIh4B,CAAC,GAAG,CAAR;AAAA,QACCiM,CAAC,GAAGuM,KAAK,CAACL,MADX;;AAGA,WAAQnY,CAAC,GAAGiM,CAAZ,EAAejM,CAAC,EAAhB,EAAqB;AACpBk0B,cAAQ,CAACH,GAAT,CACCvb,KAAK,CAAExY,CAAF,CADN,EAEC,YAFD,EAGC,CAACg4B,WAAD,IAAgB9D,QAAQ,CAAC7b,GAAT,CAAc2f,WAAW,CAAEh4B,CAAF,CAAzB,EAAgC,YAAhC,CAHjB;AAKA;AACD;;AAGD,MAAIi4B,KAAK,GAAG,WAAZ;;AAEA,WAASC,aAAT,CAAwB1f,KAAxB,EAA+BvS,OAA/B,EAAwCkyB,OAAxC,EAAiDC,SAAjD,EAA4DC,OAA5D,EAAsE;AACrE,QAAIt3B,IAAJ;AAAA,QAAU8iB,GAAV;AAAA,QAAeD,GAAf;AAAA,QAAoBtpB,IAApB;AAAA,QAA0BsiB,QAA1B;AAAA,QAAoCzD,CAApC;AAAA,QACCmf,QAAQ,GAAGryB,OAAO,CAACsyB,sBAAR,EADZ;AAAA,QAECC,KAAK,GAAG,EAFT;AAAA,QAGCx4B,CAAC,GAAG,CAHL;AAAA,QAICiM,CAAC,GAAGuM,KAAK,CAACL,MAJX;;AAMA,WAAQnY,CAAC,GAAGiM,CAAZ,EAAejM,CAAC,EAAhB,EAAqB;AACpBe,UAAI,GAAGyX,KAAK,CAAExY,CAAF,CAAZ;;AAEA,UAAKe,IAAI,IAAIA,IAAI,KAAK,CAAtB,EAA0B;AAEzB;AACA,YAAKrK,MAAM,CAAEqK,IAAF,CAAN,KAAmB,QAAxB,EAAmC;AAElC;AACA;AACA6W,gBAAM,CAACc,KAAP,CAAc8f,KAAd,EAAqBz3B,IAAI,CAAC8V,QAAL,GAAgB,CAAE9V,IAAF,CAAhB,GAA2BA,IAAhD,EAJkC,CAMnC;AACC,SAPD,MAOO,IAAK,CAACk3B,KAAK,CAACrX,IAAN,CAAY7f,IAAZ,CAAN,EAA2B;AACjCy3B,eAAK,CAACtiB,IAAN,CAAYjQ,OAAO,CAACwyB,cAAR,CAAwB13B,IAAxB,CAAZ,EADiC,CAGlC;AACC,SAJM,MAIA;AACN8iB,aAAG,GAAGA,GAAG,IAAIyU,QAAQ,CAAC7gB,WAAT,CAAsBxR,OAAO,CAACqR,aAAR,CAAuB,KAAvB,CAAtB,CAAb,CADM,CAGN;;AACAsM,aAAG,GAAG,CAAEoT,QAAQ,CAACzW,IAAT,CAAexf,IAAf,KAAyB,CAAE,EAAF,EAAM,EAAN,CAA3B,EAAyC,CAAzC,EAA6C6a,WAA7C,EAAN;AACAthB,cAAI,GAAG48B,OAAO,CAAEtT,GAAF,CAAP,IAAkBsT,OAAO,CAACK,QAAjC;AACA1T,aAAG,CAACC,SAAJ,GAAgBxpB,IAAI,CAAE,CAAF,CAAJ,GAAYsd,MAAM,CAAC8gB,aAAP,CAAsB33B,IAAtB,CAAZ,GAA2CzG,IAAI,CAAE,CAAF,CAA/D,CANM,CAQN;;AACA6e,WAAC,GAAG7e,IAAI,CAAE,CAAF,CAAR;;AACA,iBAAQ6e,CAAC,EAAT,EAAc;AACb0K,eAAG,GAAGA,GAAG,CAACgD,SAAV;AACA,WAZK,CAcN;AACA;;;AACAjP,gBAAM,CAACc,KAAP,CAAc8f,KAAd,EAAqB3U,GAAG,CAAChE,UAAzB,EAhBM,CAkBN;;AACAgE,aAAG,GAAGyU,QAAQ,CAAC9S,UAAf,CAnBM,CAqBN;;AACA3B,aAAG,CAAC0B,WAAJ,GAAkB,EAAlB;AACA;AACD;AACD,KAjDoE,CAmDrE;;;AACA+S,YAAQ,CAAC/S,WAAT,GAAuB,EAAvB;AAEAvlB,KAAC,GAAG,CAAJ;;AACA,WAAUe,IAAI,GAAGy3B,KAAK,CAAEx4B,CAAC,EAAH,CAAtB,EAAkC;AAEjC;AACA,UAAKo4B,SAAS,IAAIxgB,MAAM,CAACoD,OAAP,CAAgBja,IAAhB,EAAsBq3B,SAAtB,IAAoC,CAAC,CAAvD,EAA2D;AAC1D,YAAKC,OAAL,EAAe;AACdA,iBAAO,CAACniB,IAAR,CAAcnV,IAAd;AACA;;AACD;AACA;;AAED6b,cAAQ,GAAGhF,MAAM,CAACgF,QAAP,CAAiB7b,IAAI,CAACuf,aAAtB,EAAqCvf,IAArC,CAAX,CAViC,CAYjC;;AACA8iB,SAAG,GAAGiU,MAAM,CAAEQ,QAAQ,CAAC7gB,WAAT,CAAsB1W,IAAtB,CAAF,EAAgC,QAAhC,CAAZ,CAbiC,CAejC;;AACA,UAAK6b,QAAL,EAAgB;AACfmb,qBAAa,CAAElU,GAAF,CAAb;AACA,OAlBgC,CAoBjC;;;AACA,UAAKsU,OAAL,EAAe;AACdhf,SAAC,GAAG,CAAJ;;AACA,eAAUpY,IAAI,GAAG8iB,GAAG,CAAE1K,CAAC,EAAH,CAApB,EAAgC;AAC/B,cAAK8d,WAAW,CAACrW,IAAZ,CAAkB7f,IAAI,CAACiW,IAAL,IAAa,EAA/B,CAAL,EAA2C;AAC1CmhB,mBAAO,CAACjiB,IAAR,CAAcnV,IAAd;AACA;AACD;AACD;AACD;;AAED,WAAOu3B,QAAP;AACA;;AAGD,GAAE,YAAW;AACZ,QAAIA,QAAQ,GAAGpjC,QAAQ,CAACqjC,sBAAT,EAAf;AAAA,QACCnuB,GAAG,GAAGkuB,QAAQ,CAAC7gB,WAAT,CAAsBviB,QAAQ,CAACoiB,aAAT,CAAwB,KAAxB,CAAtB,CADP;AAAA,QAEC5d,KAAK,GAAGxE,QAAQ,CAACoiB,aAAT,CAAwB,OAAxB,CAFT,CADY,CAKZ;AACA;AACA;AACA;;AACA5d,SAAK,CAACqnB,YAAN,CAAoB,MAApB,EAA4B,OAA5B;AACArnB,SAAK,CAACqnB,YAAN,CAAoB,SAApB,EAA+B,SAA/B;AACArnB,SAAK,CAACqnB,YAAN,CAAoB,MAApB,EAA4B,GAA5B;AAEA3W,OAAG,CAACqN,WAAJ,CAAiB/d,KAAjB,EAbY,CAeZ;AACA;;AACAid,WAAO,CAACgiB,UAAR,GAAqBvuB,GAAG,CAACwuB,SAAJ,CAAe,IAAf,EAAsBA,SAAtB,CAAiC,IAAjC,EAAwC/R,SAAxC,CAAkDiB,OAAvE,CAjBY,CAmBZ;AACA;;AACA1d,OAAG,CAAC0Z,SAAJ,GAAgB,wBAAhB;AACAnN,WAAO,CAACkiB,cAAR,GAAyB,CAAC,CAACzuB,GAAG,CAACwuB,SAAJ,CAAe,IAAf,EAAsB/R,SAAtB,CAAgC4E,YAA3D;AACA,GAvBD;;AAwBA,MAAI5I,eAAe,GAAG3tB,QAAQ,CAAC2tB,eAA/B;AAIA,MACCiW,SAAS,GAAG,MADb;AAAA,MAECC,WAAW,GAAG,gDAFf;AAAA,MAGCC,cAAc,GAAG,qBAHlB;;AAKA,WAASC,UAAT,GAAsB;AACrB,WAAO,IAAP;AACA;;AAED,WAASC,WAAT,GAAuB;AACtB,WAAO,KAAP;AACA,GAhuJgF,CAkuJjF;AACA;;;AACA,WAASC,iBAAT,GAA6B;AAC5B,QAAI;AACH,aAAOjkC,QAAQ,CAACyE,aAAhB;AACA,KAFD,CAEE,OAAQy/B,GAAR,EAAc,CAAG;AACnB;;AAED,WAASC,GAAT,CAAat4B,IAAb,EAAmBu4B,KAAnB,EAA0BlkC,QAA1B,EAAoCwD,IAApC,EAA0Cif,EAA1C,EAA8C0hB,GAA9C,EAAoD;AACnD,QAAIC,MAAJ,EAAYxiB,IAAZ,CADmD,CAGnD;;AACA,QAAK,QAAOsiB,KAAP,MAAiB,QAAtB,EAAiC;AAEhC;AACA,UAAK,OAAOlkC,QAAP,KAAoB,QAAzB,EAAoC;AAEnC;AACAwD,YAAI,GAAGA,IAAI,IAAIxD,QAAf;AACAA,gBAAQ,GAAG4kB,SAAX;AACA;;AACD,WAAMhD,IAAN,IAAcsiB,KAAd,EAAsB;AACrBD,WAAE,CAAEt4B,IAAF,EAAQiW,IAAR,EAAc5hB,QAAd,EAAwBwD,IAAxB,EAA8B0gC,KAAK,CAAEtiB,IAAF,CAAnC,EAA6CuiB,GAA7C,CAAF;AACA;;AACD,aAAOx4B,IAAP;AACA;;AAED,QAAKnI,IAAI,IAAI,IAAR,IAAgBif,EAAE,IAAI,IAA3B,EAAkC;AAEjC;AACAA,QAAE,GAAGziB,QAAL;AACAwD,UAAI,GAAGxD,QAAQ,GAAG4kB,SAAlB;AACA,KALD,MAKO,IAAKnC,EAAE,IAAI,IAAX,EAAkB;AACxB,UAAK,OAAOziB,QAAP,KAAoB,QAAzB,EAAoC;AAEnC;AACAyiB,UAAE,GAAGjf,IAAL;AACAA,YAAI,GAAGohB,SAAP;AACA,OALD,MAKO;AAEN;AACAnC,UAAE,GAAGjf,IAAL;AACAA,YAAI,GAAGxD,QAAP;AACAA,gBAAQ,GAAG4kB,SAAX;AACA;AACD;;AACD,QAAKnC,EAAE,KAAK,KAAZ,EAAoB;AACnBA,QAAE,GAAGqhB,WAAL;AACA,KAFD,MAEO,IAAK,CAACrhB,EAAN,EAAW;AACjB,aAAO9W,IAAP;AACA;;AAED,QAAKw4B,GAAG,KAAK,CAAb,EAAiB;AAChBC,YAAM,GAAG3hB,EAAT;;AACAA,QAAE,GAAG,YAAUnjB,KAAV,EAAkB;AAEtB;AACAkjB,cAAM,GAAG6hB,GAAT,CAAc/kC,KAAd;AACA,eAAO8kC,MAAM,CAAC1gB,KAAP,CAAc,IAAd,EAAoBC,SAApB,CAAP;AACA,OALD,CAFgB,CAShB;;;AACAlB,QAAE,CAAC2D,IAAH,GAAUge,MAAM,CAAChe,IAAP,KAAiBge,MAAM,CAAChe,IAAP,GAAc5D,MAAM,CAAC4D,IAAP,EAA/B,CAAV;AACA;;AACD,WAAOza,IAAI,CAAC6X,IAAL,CAAW,YAAW;AAC5BhB,YAAM,CAACljB,KAAP,CAAaw4B,GAAb,CAAkB,IAAlB,EAAwBoM,KAAxB,EAA+BzhB,EAA/B,EAAmCjf,IAAnC,EAAyCxD,QAAzC;AACA,KAFM,CAAP;AAGA;AAED;;;;;;AAIAwiB,QAAM,CAACljB,KAAP,GAAe;AAEd4gB,UAAM,EAAE,EAFM;AAId4X,OAAG,EAAE,aAAUnsB,IAAV,EAAgBu4B,KAAhB,EAAuBvX,OAAvB,EAAgCnpB,IAAhC,EAAsCxD,QAAtC,EAAiD;AAErD,UAAIskC,WAAJ;AAAA,UAAiBC,WAAjB;AAAA,UAA8B9V,GAA9B;AAAA,UACC+V,MADD;AAAA,UACSC,CADT;AAAA,UACYC,SADZ;AAAA,UAECnJ,OAFD;AAAA,UAEUoJ,QAFV;AAAA,UAEoB/iB,IAFpB;AAAA,UAE0BgjB,UAF1B;AAAA,UAEsCC,QAFtC;AAAA,UAGCC,QAAQ,GAAGhG,QAAQ,CAAC7b,GAAT,CAActX,IAAd,CAHZ,CAFqD,CAOrD;;AACA,UAAK,CAACm5B,QAAN,EAAiB;AAChB;AACA,OAVoD,CAYrD;;;AACA,UAAKnY,OAAO,CAACA,OAAb,EAAuB;AACtB2X,mBAAW,GAAG3X,OAAd;AACAA,eAAO,GAAG2X,WAAW,CAAC3X,OAAtB;AACA3sB,gBAAQ,GAAGskC,WAAW,CAACtkC,QAAvB;AACA,OAjBoD,CAmBrD;AACA;;;AACA,UAAKA,QAAL,EAAgB;AACfwiB,cAAM,CAAC8L,IAAP,CAAYK,eAAZ,CAA6BlB,eAA7B,EAA8CztB,QAA9C;AACA,OAvBoD,CAyBrD;;;AACA,UAAK,CAAC2sB,OAAO,CAACvG,IAAd,EAAqB;AACpBuG,eAAO,CAACvG,IAAR,GAAe5D,MAAM,CAAC4D,IAAP,EAAf;AACA,OA5BoD,CA8BrD;;;AACA,UAAK,EAAGoe,MAAM,GAAGM,QAAQ,CAACN,MAArB,CAAL,EAAqC;AACpCA,cAAM,GAAGM,QAAQ,CAACN,MAAT,GAAkB,EAA3B;AACA;;AACD,UAAK,EAAGD,WAAW,GAAGO,QAAQ,CAAC1lC,MAA1B,CAAL,EAA0C;AACzCmlC,mBAAW,GAAGO,QAAQ,CAAC1lC,MAAT,GAAkB,UAAUoJ,CAAV,EAAc;AAE7C;AACA;AACA,iBAAO,OAAOga,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAACljB,KAAP,CAAaylC,SAAb,KAA2Bv8B,CAAC,CAACoZ,IAA9D,GACNY,MAAM,CAACljB,KAAP,CAAa0lC,QAAb,CAAsBthB,KAAtB,CAA6B/X,IAA7B,EAAmCgY,SAAnC,CADM,GAC2CiB,SADlD;AAEA,SAND;AAOA,OA1CoD,CA4CrD;;;AACAsf,WAAK,GAAG,CAAEA,KAAK,IAAI,EAAX,EAAgBpZ,KAAhB,CAAuB0N,aAAvB,KAA0C,CAAE,EAAF,CAAlD;AACAiM,OAAC,GAAGP,KAAK,CAACnhB,MAAV;;AACA,aAAQ0hB,CAAC,EAAT,EAAc;AACbhW,WAAG,GAAGmV,cAAc,CAACzY,IAAf,CAAqB+Y,KAAK,CAAEO,CAAF,CAA1B,KAAqC,EAA3C;AACA7iB,YAAI,GAAGijB,QAAQ,GAAGpW,GAAG,CAAE,CAAF,CAArB;AACAmW,kBAAU,GAAG,CAAEnW,GAAG,CAAE,CAAF,CAAH,IAAY,EAAd,EAAmBlI,KAAnB,CAA0B,GAA1B,EAAgCvC,IAAhC,EAAb,CAHa,CAKb;;AACA,YAAK,CAACpC,IAAN,EAAa;AACZ;AACA,SARY,CAUb;;;AACA2Z,eAAO,GAAG/Y,MAAM,CAACljB,KAAP,CAAai8B,OAAb,CAAsB3Z,IAAtB,KAAgC,EAA1C,CAXa,CAab;;AACAA,YAAI,GAAG,CAAE5hB,QAAQ,GAAGu7B,OAAO,CAACp8B,YAAX,GAA0Bo8B,OAAO,CAACr8B,QAA5C,KAA0D0iB,IAAjE,CAda,CAgBb;;AACA2Z,eAAO,GAAG/Y,MAAM,CAACljB,KAAP,CAAai8B,OAAb,CAAsB3Z,IAAtB,KAAgC,EAA1C,CAjBa,CAmBb;;AACA8iB,iBAAS,GAAGliB,MAAM,CAAC0B,MAAP,CAAe;AAC1BtC,cAAI,EAAEA,IADoB;AAE1BijB,kBAAQ,EAAEA,QAFgB;AAG1BrhC,cAAI,EAAEA,IAHoB;AAI1BmpB,iBAAO,EAAEA,OAJiB;AAK1BvG,cAAI,EAAEuG,OAAO,CAACvG,IALY;AAM1BpmB,kBAAQ,EAAEA,QANgB;AAO1B+2B,sBAAY,EAAE/2B,QAAQ,IAAIwiB,MAAM,CAACkN,IAAP,CAAY5E,KAAZ,CAAkBiM,YAAlB,CAA+BvL,IAA/B,CAAqCxrB,QAArC,CAPA;AAQ1BilC,mBAAS,EAAEL,UAAU,CAAC/Y,IAAX,CAAiB,GAAjB;AARe,SAAf,EASTyY,WATS,CAAZ,CApBa,CA+Bb;;AACA,YAAK,EAAGK,QAAQ,GAAGH,MAAM,CAAE5iB,IAAF,CAApB,CAAL,EAAsC;AACrC+iB,kBAAQ,GAAGH,MAAM,CAAE5iB,IAAF,CAAN,GAAiB,EAA5B;AACA+iB,kBAAQ,CAACO,aAAT,GAAyB,CAAzB,CAFqC,CAIrC;;AACA,cAAK,CAAC3J,OAAO,CAAC4J,KAAT,IACJ5J,OAAO,CAAC4J,KAAR,CAAc7jB,IAAd,CAAoB3V,IAApB,EAA0BnI,IAA1B,EAAgCohC,UAAhC,EAA4CL,WAA5C,MAA8D,KAD/D,EACuE;AAEtE,gBAAK54B,IAAI,CAACmiB,gBAAV,EAA6B;AAC5BniB,kBAAI,CAACmiB,gBAAL,CAAuBlM,IAAvB,EAA6B2iB,WAA7B;AACA;AACD;AACD;;AAED,YAAKhJ,OAAO,CAACzD,GAAb,EAAmB;AAClByD,iBAAO,CAACzD,GAAR,CAAYxW,IAAZ,CAAkB3V,IAAlB,EAAwB+4B,SAAxB;;AAEA,cAAK,CAACA,SAAS,CAAC/X,OAAV,CAAkBvG,IAAxB,EAA+B;AAC9Bse,qBAAS,CAAC/X,OAAV,CAAkBvG,IAAlB,GAAyBuG,OAAO,CAACvG,IAAjC;AACA;AACD,SApDY,CAsDb;;;AACA,YAAKpmB,QAAL,EAAgB;AACf2kC,kBAAQ,CAAC1gB,MAAT,CAAiB0gB,QAAQ,CAACO,aAAT,EAAjB,EAA2C,CAA3C,EAA8CR,SAA9C;AACA,SAFD,MAEO;AACNC,kBAAQ,CAAC7jB,IAAT,CAAe4jB,SAAf;AACA,SA3DY,CA6Db;;;AACAliB,cAAM,CAACljB,KAAP,CAAa4gB,MAAb,CAAqB0B,IAArB,IAA8B,IAA9B;AACA;AAED,KApHa;AAsHd;AACA0X,UAAM,EAAE,gBAAU3tB,IAAV,EAAgBu4B,KAAhB,EAAuBvX,OAAvB,EAAgC3sB,QAAhC,EAA0ColC,WAA1C,EAAwD;AAE/D,UAAIrhB,CAAJ;AAAA,UAAOshB,SAAP;AAAA,UAAkB5W,GAAlB;AAAA,UACC+V,MADD;AAAA,UACSC,CADT;AAAA,UACYC,SADZ;AAAA,UAECnJ,OAFD;AAAA,UAEUoJ,QAFV;AAAA,UAEoB/iB,IAFpB;AAAA,UAE0BgjB,UAF1B;AAAA,UAEsCC,QAFtC;AAAA,UAGCC,QAAQ,GAAGhG,QAAQ,CAACD,OAAT,CAAkBlzB,IAAlB,KAA4BmzB,QAAQ,CAAC7b,GAAT,CAActX,IAAd,CAHxC;;AAKA,UAAK,CAACm5B,QAAD,IAAa,EAAGN,MAAM,GAAGM,QAAQ,CAACN,MAArB,CAAlB,EAAkD;AACjD;AACA,OAT8D,CAW/D;;;AACAN,WAAK,GAAG,CAAEA,KAAK,IAAI,EAAX,EAAgBpZ,KAAhB,CAAuB0N,aAAvB,KAA0C,CAAE,EAAF,CAAlD;AACAiM,OAAC,GAAGP,KAAK,CAACnhB,MAAV;;AACA,aAAQ0hB,CAAC,EAAT,EAAc;AACbhW,WAAG,GAAGmV,cAAc,CAACzY,IAAf,CAAqB+Y,KAAK,CAAEO,CAAF,CAA1B,KAAqC,EAA3C;AACA7iB,YAAI,GAAGijB,QAAQ,GAAGpW,GAAG,CAAE,CAAF,CAArB;AACAmW,kBAAU,GAAG,CAAEnW,GAAG,CAAE,CAAF,CAAH,IAAY,EAAd,EAAmBlI,KAAnB,CAA0B,GAA1B,EAAgCvC,IAAhC,EAAb,CAHa,CAKb;;AACA,YAAK,CAACpC,IAAN,EAAa;AACZ,eAAMA,IAAN,IAAc4iB,MAAd,EAAuB;AACtBhiB,kBAAM,CAACljB,KAAP,CAAag6B,MAAb,CAAqB3tB,IAArB,EAA2BiW,IAAI,GAAGsiB,KAAK,CAAEO,CAAF,CAAvC,EAA8C9X,OAA9C,EAAuD3sB,QAAvD,EAAiE,IAAjE;AACA;;AACD;AACA;;AAEDu7B,eAAO,GAAG/Y,MAAM,CAACljB,KAAP,CAAai8B,OAAb,CAAsB3Z,IAAtB,KAAgC,EAA1C;AACAA,YAAI,GAAG,CAAE5hB,QAAQ,GAAGu7B,OAAO,CAACp8B,YAAX,GAA0Bo8B,OAAO,CAACr8B,QAA5C,KAA0D0iB,IAAjE;AACA+iB,gBAAQ,GAAGH,MAAM,CAAE5iB,IAAF,CAAN,IAAkB,EAA7B;AACA6M,WAAG,GAAGA,GAAG,CAAE,CAAF,CAAH,IACL,IAAI9F,MAAJ,CAAY,YAAYic,UAAU,CAAC/Y,IAAX,CAAiB,eAAjB,CAAZ,GAAiD,SAA7D,CADD,CAhBa,CAmBb;;AACAwZ,iBAAS,GAAGthB,CAAC,GAAG4gB,QAAQ,CAAC5hB,MAAzB;;AACA,eAAQgB,CAAC,EAAT,EAAc;AACb2gB,mBAAS,GAAGC,QAAQ,CAAE5gB,CAAF,CAApB;;AAEA,cAAK,CAAEqhB,WAAW,IAAIP,QAAQ,KAAKH,SAAS,CAACG,QAAxC,MACF,CAAClY,OAAD,IAAYA,OAAO,CAACvG,IAAR,KAAiBse,SAAS,CAACte,IADrC,MAEF,CAACqI,GAAD,IAAQA,GAAG,CAACjD,IAAJ,CAAUkZ,SAAS,CAACO,SAApB,CAFN,MAGF,CAACjlC,QAAD,IAAaA,QAAQ,KAAK0kC,SAAS,CAAC1kC,QAApC,IACDA,QAAQ,KAAK,IAAb,IAAqB0kC,SAAS,CAAC1kC,QAJ5B,CAAL,EAI8C;AAC7C2kC,oBAAQ,CAAC1gB,MAAT,CAAiBF,CAAjB,EAAoB,CAApB;;AAEA,gBAAK2gB,SAAS,CAAC1kC,QAAf,EAA0B;AACzB2kC,sBAAQ,CAACO,aAAT;AACA;;AACD,gBAAK3J,OAAO,CAACjC,MAAb,EAAsB;AACrBiC,qBAAO,CAACjC,MAAR,CAAehY,IAAf,CAAqB3V,IAArB,EAA2B+4B,SAA3B;AACA;AACD;AACD,SAtCY,CAwCb;AACA;;;AACA,YAAKW,SAAS,IAAI,CAACV,QAAQ,CAAC5hB,MAA5B,EAAqC;AACpC,cAAK,CAACwY,OAAO,CAAC+J,QAAT,IACJ/J,OAAO,CAAC+J,QAAR,CAAiBhkB,IAAjB,CAAuB3V,IAAvB,EAA6Bi5B,UAA7B,EAAyCE,QAAQ,CAAC1lC,MAAlD,MAA+D,KADhE,EACwE;AAEvEojB,kBAAM,CAAC+iB,WAAP,CAAoB55B,IAApB,EAA0BiW,IAA1B,EAAgCkjB,QAAQ,CAAC1lC,MAAzC;AACA;;AAED,iBAAOolC,MAAM,CAAE5iB,IAAF,CAAb;AACA;AACD,OAjE8D,CAmE/D;;;AACA,UAAKY,MAAM,CAAC8C,aAAP,CAAsBkf,MAAtB,CAAL,EAAsC;AACrC1F,gBAAQ,CAACxF,MAAT,CAAiB3tB,IAAjB,EAAuB,eAAvB;AACA;AACD,KA9La;AAgMdq5B,YAAQ,EAAE,kBAAUQ,WAAV,EAAwB;AAEjC;AACA,UAAIlmC,KAAK,GAAGkjB,MAAM,CAACljB,KAAP,CAAammC,GAAb,CAAkBD,WAAlB,CAAZ;AAEA,UAAI56B,CAAJ;AAAA,UAAOmZ,CAAP;AAAA,UAAUV,GAAV;AAAA,UAAe0O,OAAf;AAAA,UAAwB2S,SAAxB;AAAA,UAAmCgB,YAAnC;AAAA,UACC9T,IAAI,GAAG,IAAIlN,KAAJ,CAAWf,SAAS,CAACZ,MAArB,CADR;AAAA,UAEC4hB,QAAQ,GAAG,CAAE7F,QAAQ,CAAC7b,GAAT,CAAc,IAAd,EAAoB,QAApB,KAAkC,EAApC,EAA0C3jB,KAAK,CAACsiB,IAAhD,KAA0D,EAFtE;AAAA,UAGC2Z,OAAO,GAAG/Y,MAAM,CAACljB,KAAP,CAAai8B,OAAb,CAAsBj8B,KAAK,CAACsiB,IAA5B,KAAsC,EAHjD,CALiC,CAUjC;;AACAgQ,UAAI,CAAE,CAAF,CAAJ,GAAYtyB,KAAZ;;AAEA,WAAMsL,CAAC,GAAG,CAAV,EAAaA,CAAC,GAAG+Y,SAAS,CAACZ,MAA3B,EAAmCnY,CAAC,EAApC,EAAyC;AACxCgnB,YAAI,CAAEhnB,CAAF,CAAJ,GAAY+Y,SAAS,CAAE/Y,CAAF,CAArB;AACA;;AAEDtL,WAAK,CAACqmC,cAAN,GAAuB,IAAvB,CAjBiC,CAmBjC;;AACA,UAAKpK,OAAO,CAACqK,WAAR,IAAuBrK,OAAO,CAACqK,WAAR,CAAoBtkB,IAApB,CAA0B,IAA1B,EAAgChiB,KAAhC,MAA4C,KAAxE,EAAgF;AAC/E;AACA,OAtBgC,CAwBjC;;;AACAomC,kBAAY,GAAGljB,MAAM,CAACljB,KAAP,CAAaqlC,QAAb,CAAsBrjB,IAAtB,CAA4B,IAA5B,EAAkChiB,KAAlC,EAAyCqlC,QAAzC,CAAf,CAzBiC,CA2BjC;;AACA/5B,OAAC,GAAG,CAAJ;;AACA,aAAQ,CAAEmnB,OAAO,GAAG2T,YAAY,CAAE96B,CAAC,EAAH,CAAxB,KAAqC,CAACtL,KAAK,CAACumC,oBAAN,EAA9C,EAA6E;AAC5EvmC,aAAK,CAACwmC,aAAN,GAAsB/T,OAAO,CAACpmB,IAA9B;AAEAoY,SAAC,GAAG,CAAJ;;AACA,eAAQ,CAAE2gB,SAAS,GAAG3S,OAAO,CAAC4S,QAAR,CAAkB5gB,CAAC,EAAnB,CAAd,KACP,CAACzkB,KAAK,CAACymC,6BAAN,EADF,EAC0C;AAEzC;AACA;AACA,cAAK,CAACzmC,KAAK,CAAC0mC,UAAP,IAAqB1mC,KAAK,CAAC0mC,UAAN,CAAiBxa,IAAjB,CAAuBkZ,SAAS,CAACO,SAAjC,CAA1B,EAAyE;AAExE3lC,iBAAK,CAAColC,SAAN,GAAkBA,SAAlB;AACAplC,iBAAK,CAACkE,IAAN,GAAakhC,SAAS,CAAClhC,IAAvB;AAEA6f,eAAG,GAAG,CAAE,CAAEb,MAAM,CAACljB,KAAP,CAAai8B,OAAb,CAAsBmJ,SAAS,CAACG,QAAhC,KAA8C,EAAhD,EAAqDzlC,MAArD,IACPslC,SAAS,CAAC/X,OADL,EACejJ,KADf,CACsBqO,OAAO,CAACpmB,IAD9B,EACoCimB,IADpC,CAAN;;AAGA,gBAAKvO,GAAG,KAAKuB,SAAb,EAAyB;AACxB,kBAAK,CAAEtlB,KAAK,CAACyxB,MAAN,GAAe1N,GAAjB,MAA2B,KAAhC,EAAwC;AACvC/jB,qBAAK,CAAC2mC,cAAN;AACA3mC,qBAAK,CAAC4mC,eAAN;AACA;AACD;AACD;AACD;AACD,OAtDgC,CAwDjC;;;AACA,UAAK3K,OAAO,CAAC4K,YAAb,EAA4B;AAC3B5K,eAAO,CAAC4K,YAAR,CAAqB7kB,IAArB,CAA2B,IAA3B,EAAiChiB,KAAjC;AACA;;AAED,aAAOA,KAAK,CAACyxB,MAAb;AACA,KA9Pa;AAgQd4T,YAAQ,EAAE,kBAAUrlC,KAAV,EAAiBqlC,SAAjB,EAA4B;AACrC,UAAI/5B,CAAJ;AAAA,UAAO85B,SAAP;AAAA,UAAkB5U,GAAlB;AAAA,UAAuBsW,eAAvB;AAAA,UAAwCC,gBAAxC;AAAA,UACCX,YAAY,GAAG,EADhB;AAAA,UAECR,aAAa,GAAGP,SAAQ,CAACO,aAF1B;AAAA,UAGCpY,GAAG,GAAGxtB,KAAK,CAACmL,MAHb,CADqC,CAMrC;;AACA,UAAKy6B,aAAa,IAEjB;AACA;AACApY,SAAG,CAACrL,QAJA,IAMJ;AACA;AACA;AACA;AACA;AACA,QAAGniB,KAAK,CAACsiB,IAAN,KAAe,OAAf,IAA0BtiB,KAAK,CAACkF,MAAN,IAAgB,CAA7C,CAXD,EAWoD;AAEnD,eAAQsoB,GAAG,KAAK,IAAhB,EAAsBA,GAAG,GAAGA,GAAG,CAACxK,UAAJ,IAAkB,IAA9C,EAAqD;AAEpD;AACA;AACA,cAAKwK,GAAG,CAACrL,QAAJ,KAAiB,CAAjB,IAAsB,EAAGniB,KAAK,CAACsiB,IAAN,KAAe,OAAf,IAA0BkL,GAAG,CAACvC,QAAJ,KAAiB,IAA9C,CAA3B,EAAkF;AACjF6b,2BAAe,GAAG,EAAlB;AACAC,4BAAgB,GAAG,EAAnB;;AACA,iBAAMz7B,CAAC,GAAG,CAAV,EAAaA,CAAC,GAAGs6B,aAAjB,EAAgCt6B,CAAC,EAAjC,EAAsC;AACrC85B,uBAAS,GAAGC,SAAQ,CAAE/5B,CAAF,CAApB,CADqC,CAGrC;;AACAklB,iBAAG,GAAG4U,SAAS,CAAC1kC,QAAV,GAAqB,GAA3B;;AAEA,kBAAKqmC,gBAAgB,CAAEvW,GAAF,CAAhB,KAA4BlL,SAAjC,EAA6C;AAC5CyhB,gCAAgB,CAAEvW,GAAF,CAAhB,GAA0B4U,SAAS,CAAC3N,YAAV,GACzBvU,MAAM,CAAEsN,GAAF,EAAO,IAAP,CAAN,CAAoBjoB,KAApB,CAA2BilB,GAA3B,IAAmC,CAAC,CADX,GAEzBtK,MAAM,CAAC8L,IAAP,CAAawB,GAAb,EAAkB,IAAlB,EAAwB,IAAxB,EAA8B,CAAEhD,GAAF,CAA9B,EAAwC/J,MAFzC;AAGA;;AACD,kBAAKsjB,gBAAgB,CAAEvW,GAAF,CAArB,EAA+B;AAC9BsW,+BAAe,CAACtlB,IAAhB,CAAsB4jB,SAAtB;AACA;AACD;;AACD,gBAAK0B,eAAe,CAACrjB,MAArB,EAA8B;AAC7B2iB,0BAAY,CAAC5kB,IAAb,CAAmB;AAAEnV,oBAAI,EAAEmhB,GAAR;AAAa6X,wBAAQ,EAAEyB;AAAvB,eAAnB;AACA;AACD;AACD;AACD,OA/CoC,CAiDrC;;;AACAtZ,SAAG,GAAG,IAAN;;AACA,UAAKoY,aAAa,GAAGP,SAAQ,CAAC5hB,MAA9B,EAAuC;AACtC2iB,oBAAY,CAAC5kB,IAAb,CAAmB;AAAEnV,cAAI,EAAEmhB,GAAR;AAAa6X,kBAAQ,EAAEA,SAAQ,CAAC/jB,KAAT,CAAgBskB,aAAhB;AAAvB,SAAnB;AACA;;AAED,aAAOQ,YAAP;AACA,KAxTa;AA0TdY,WAAO,EAAE,iBAAUliB,IAAV,EAAgBmiB,IAAhB,EAAuB;AAC/BvlC,YAAM,CAACy9B,cAAP,CAAuBjc,MAAM,CAACrgB,KAAP,CAAaygB,SAApC,EAA+CwB,IAA/C,EAAqD;AACpDoiB,kBAAU,EAAE,IADwC;AAEpD9H,oBAAY,EAAE,IAFsC;AAIpDzb,WAAG,EAAEzB,UAAU,CAAE+kB,IAAF,CAAV,GACJ,YAAW;AACV,cAAK,KAAKE,aAAV,EAA0B;AACxB,mBAAOF,IAAI,CAAE,KAAKE,aAAP,CAAX;AACD;AACD,SALG,GAMJ,YAAW;AACV,cAAK,KAAKA,aAAV,EAA0B;AACxB,mBAAO,KAAKA,aAAL,CAAoBriB,IAApB,CAAP;AACD;AACD,SAdkD;AAgBpDua,WAAG,EAAE,aAAUx9B,KAAV,EAAkB;AACtBH,gBAAM,CAACy9B,cAAP,CAAuB,IAAvB,EAA6Bra,IAA7B,EAAmC;AAClCoiB,sBAAU,EAAE,IADsB;AAElC9H,wBAAY,EAAE,IAFoB;AAGlCgI,oBAAQ,EAAE,IAHwB;AAIlCvlC,iBAAK,EAAEA;AAJ2B,WAAnC;AAMA;AAvBmD,OAArD;AAyBA,KApVa;AAsVdskC,OAAG,EAAE,aAAUgB,aAAV,EAA0B;AAC9B,aAAOA,aAAa,CAAEjkB,MAAM,CAACqC,OAAT,CAAb,GACN4hB,aADM,GAEN,IAAIjkB,MAAM,CAACrgB,KAAX,CAAkBskC,aAAlB,CAFD;AAGA,KA1Va;AA4VdlL,WAAO,EAAE;AACRoL,UAAI,EAAE;AAEL;AACAC,gBAAQ,EAAE;AAHL,OADE;AAMRz1B,WAAK,EAAE;AAEN;AACA3E,eAAO,EAAE,mBAAW;AACnB,cAAK,SAASu3B,iBAAiB,EAA1B,IAAgC,KAAK5yB,KAA1C,EAAkD;AACjD,iBAAKA,KAAL;AACA,mBAAO,KAAP;AACA;AACD,SARK;AASNhS,oBAAY,EAAE;AATR,OANC;AAiBR0nC,UAAI,EAAE;AACLr6B,eAAO,EAAE,mBAAW;AACnB,cAAK,SAASu3B,iBAAiB,EAA1B,IAAgC,KAAK8C,IAA1C,EAAiD;AAChD,iBAAKA,IAAL;AACA,mBAAO,KAAP;AACA;AACD,SANI;AAOL1nC,oBAAY,EAAE;AAPT,OAjBE;AA0BR2nC,WAAK,EAAE;AAEN;AACAt6B,eAAO,EAAE,mBAAW;AACnB,cAAK,KAAKoV,IAAL,KAAc,UAAd,IAA4B,KAAKklB,KAAjC,IAA0Crb,QAAQ,CAAE,IAAF,EAAQ,OAAR,CAAvD,EAA2E;AAC1E,iBAAKqb,KAAL;AACA,mBAAO,KAAP;AACA;AACD,SARK;AAUN;AACA3E,gBAAQ,EAAE,kBAAU7iC,KAAV,EAAkB;AAC3B,iBAAOmsB,QAAQ,CAAEnsB,KAAK,CAACmL,MAAR,EAAgB,GAAhB,CAAf;AACA;AAbK,OA1BC;AA0CRs8B,kBAAY,EAAE;AACbZ,oBAAY,EAAE,sBAAU7mC,KAAV,EAAkB;AAE/B;AACA;AACA,cAAKA,KAAK,CAACyxB,MAAN,KAAiBnM,SAAjB,IAA8BtlB,KAAK,CAACmnC,aAAzC,EAAyD;AACxDnnC,iBAAK,CAACmnC,aAAN,CAAoBO,WAApB,GAAkC1nC,KAAK,CAACyxB,MAAxC;AACA;AACD;AARY;AA1CN;AA5VK,GAAf;;AAmZAvO,QAAM,CAAC+iB,WAAP,GAAqB,UAAU55B,IAAV,EAAgBiW,IAAhB,EAAsBxiB,MAAtB,EAA+B;AAEnD;AACA,QAAKuM,IAAI,CAAC0xB,mBAAV,EAAgC;AAC/B1xB,UAAI,CAAC0xB,mBAAL,CAA0Bzb,IAA1B,EAAgCxiB,MAAhC;AACA;AACD,GAND;;AAQAojB,QAAM,CAACrgB,KAAP,GAAe,UAAU0f,GAAV,EAAeolB,KAAf,EAAuB;AAErC;AACA,QAAK,EAAG,gBAAgBzkB,MAAM,CAACrgB,KAA1B,CAAL,EAAyC;AACxC,aAAO,IAAIqgB,MAAM,CAACrgB,KAAX,CAAkB0f,GAAlB,EAAuBolB,KAAvB,CAAP;AACA,KALoC,CAOrC;;;AACA,QAAKplB,GAAG,IAAIA,GAAG,CAACD,IAAhB,EAAuB;AACtB,WAAK6kB,aAAL,GAAqB5kB,GAArB;AACA,WAAKD,IAAL,GAAYC,GAAG,CAACD,IAAhB,CAFsB,CAItB;AACA;;AACA,WAAKslB,kBAAL,GAA0BrlB,GAAG,CAACslB,gBAAJ,IACxBtlB,GAAG,CAACslB,gBAAJ,KAAyBviB,SAAzB,IAEA;AACA/C,SAAG,CAACmlB,WAAJ,KAAoB,KAJI,GAKzBnD,UALyB,GAMzBC,WAND,CANsB,CActB;AACA;AACA;;AACA,WAAKr5B,MAAL,GAAgBoX,GAAG,CAACpX,MAAJ,IAAcoX,GAAG,CAACpX,MAAJ,CAAWgX,QAAX,KAAwB,CAAxC,GACbI,GAAG,CAACpX,MAAJ,CAAW6X,UADE,GAEbT,GAAG,CAACpX,MAFL;AAIA,WAAKq7B,aAAL,GAAqBjkB,GAAG,CAACikB,aAAzB;AACA,WAAKx8B,aAAL,GAAqBuY,GAAG,CAACvY,aAAzB,CAtBsB,CAwBvB;AACC,KAzBD,MAyBO;AACN,WAAKsY,IAAL,GAAYC,GAAZ;AACA,KAnCoC,CAqCrC;;;AACA,QAAKolB,KAAL,EAAa;AACZzkB,YAAM,CAAC0B,MAAP,CAAe,IAAf,EAAqB+iB,KAArB;AACA,KAxCoC,CA0CrC;;;AACA,SAAKG,SAAL,GAAiBvlB,GAAG,IAAIA,GAAG,CAACulB,SAAX,IAAwB3f,IAAI,CAAC4f,GAAL,EAAzC,CA3CqC,CA6CrC;;AACA,SAAM7kB,MAAM,CAACqC,OAAb,IAAyB,IAAzB;AACA,GA/CD,CAtsKiF,CAuvKjF;AACA;;;AACArC,QAAM,CAACrgB,KAAP,CAAaygB,SAAb,GAAyB;AACxBE,eAAW,EAAEN,MAAM,CAACrgB,KADI;AAExB+kC,sBAAkB,EAAEpD,WAFI;AAGxB+B,wBAAoB,EAAE/B,WAHE;AAIxBiC,iCAA6B,EAAEjC,WAJP;AAKxBwD,eAAW,EAAE,KALW;AAOxBrB,kBAAc,EAAE,0BAAW;AAC1B,UAAIz9B,CAAC,GAAG,KAAKi+B,aAAb;AAEA,WAAKS,kBAAL,GAA0BrD,UAA1B;;AAEA,UAAKr7B,CAAC,IAAI,CAAC,KAAK8+B,WAAhB,EAA8B;AAC7B9+B,SAAC,CAACy9B,cAAF;AACA;AACD,KAfuB;AAgBxBC,mBAAe,EAAE,2BAAW;AAC3B,UAAI19B,CAAC,GAAG,KAAKi+B,aAAb;AAEA,WAAKZ,oBAAL,GAA4BhC,UAA5B;;AAEA,UAAKr7B,CAAC,IAAI,CAAC,KAAK8+B,WAAhB,EAA8B;AAC7B9+B,SAAC,CAAC09B,eAAF;AACA;AACD,KAxBuB;AAyBxBqB,4BAAwB,EAAE,oCAAW;AACpC,UAAI/+B,CAAC,GAAG,KAAKi+B,aAAb;AAEA,WAAKV,6BAAL,GAAqClC,UAArC;;AAEA,UAAKr7B,CAAC,IAAI,CAAC,KAAK8+B,WAAhB,EAA8B;AAC7B9+B,SAAC,CAAC++B,wBAAF;AACA;;AAED,WAAKrB,eAAL;AACA;AAnCuB,GAAzB,CAzvKiF,CA+xKjF;;AACA1jB,QAAM,CAACgB,IAAP,CAAa;AACZgkB,UAAM,EAAE,IADI;AAEZC,WAAO,EAAE,IAFG;AAGZC,cAAU,EAAE,IAHA;AAIZC,kBAAc,EAAE,IAJJ;AAKZC,WAAO,EAAE,IALG;AAMZC,UAAM,EAAE,IANI;AAOZC,cAAU,EAAE,IAPA;AAQZC,WAAO,EAAE,IARG;AASZC,SAAK,EAAE,IATK;AAUZC,SAAK,EAAE,IAVK;AAWZC,YAAQ,EAAE,IAXE;AAYZC,QAAI,EAAE,IAZM;AAaZ,YAAQ,IAbI;AAcZC,YAAQ,EAAE,IAdE;AAeZhc,OAAG,EAAE,IAfO;AAgBZic,WAAO,EAAE,IAhBG;AAiBZ7jC,UAAM,EAAE,IAjBI;AAkBZ8jC,WAAO,EAAE,IAlBG;AAmBZC,WAAO,EAAE,IAnBG;AAoBZC,WAAO,EAAE,IApBG;AAqBZC,WAAO,EAAE,IArBG;AAsBZC,WAAO,EAAE,IAtBG;AAuBZC,aAAS,EAAE,IAvBC;AAwBZC,eAAW,EAAE,IAxBD;AAyBZC,WAAO,EAAE,IAzBG;AA0BZC,WAAO,EAAE,IA1BG;AA2BZC,iBAAa,EAAE,IA3BH;AA4BZC,aAAS,EAAE,IA5BC;AA6BZC,WAAO,EAAE,IA7BG;AA+BZC,SAAK,EAAE,eAAU5pC,KAAV,EAAkB;AACxB,UAAIkF,MAAM,GAAGlF,KAAK,CAACkF,MAAnB,CADwB,CAGxB;;AACA,UAAKlF,KAAK,CAAC4pC,KAAN,IAAe,IAAf,IAAuBxF,SAAS,CAAClY,IAAV,CAAgBlsB,KAAK,CAACsiB,IAAtB,CAA5B,EAA2D;AAC1D,eAAOtiB,KAAK,CAAC8oC,QAAN,IAAkB,IAAlB,GAAyB9oC,KAAK,CAAC8oC,QAA/B,GAA0C9oC,KAAK,CAAC+oC,OAAvD;AACA,OANuB,CAQxB;;;AACA,UAAK,CAAC/oC,KAAK,CAAC4pC,KAAP,IAAgB1kC,MAAM,KAAKogB,SAA3B,IAAwC+e,WAAW,CAACnY,IAAZ,CAAkBlsB,KAAK,CAACsiB,IAAxB,CAA7C,EAA8E;AAC7E,YAAKpd,MAAM,GAAG,CAAd,EAAkB;AACjB,iBAAO,CAAP;AACA;;AAED,YAAKA,MAAM,GAAG,CAAd,EAAkB;AACjB,iBAAO,CAAP;AACA;;AAED,YAAKA,MAAM,GAAG,CAAd,EAAkB;AACjB,iBAAO,CAAP;AACA;;AAED,eAAO,CAAP;AACA;;AAED,aAAOlF,KAAK,CAAC4pC,KAAb;AACA;AAzDW,GAAb,EA0DG1mB,MAAM,CAACljB,KAAP,CAAagnC,OA1DhB,EAhyKiF,CA41KjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA9jB,QAAM,CAACgB,IAAP,CAAa;AACZ2lB,cAAU,EAAE,WADA;AAEZC,cAAU,EAAE,UAFA;AAGZC,gBAAY,EAAE,aAHF;AAIZC,gBAAY,EAAE;AAJF,GAAb,EAKG,UAAUC,IAAV,EAAgB9D,GAAhB,EAAsB;AACxBjjB,UAAM,CAACljB,KAAP,CAAai8B,OAAb,CAAsBgO,IAAtB,IAA+B;AAC9BpqC,kBAAY,EAAEsmC,GADgB;AAE9BvmC,cAAQ,EAAEumC,GAFoB;AAI9BrmC,YAAM,EAAE,gBAAUE,KAAV,EAAkB;AACzB,YAAI+jB,GAAJ;AAAA,YACC5Y,MAAM,GAAG,IADV;AAAA,YAEC++B,OAAO,GAAGlqC,KAAK,CAACgK,aAFjB;AAAA,YAGCo7B,SAAS,GAAGplC,KAAK,CAAColC,SAHnB,CADyB,CAMzB;AACA;;AACA,YAAK,CAAC8E,OAAD,IAAcA,OAAO,KAAK/+B,MAAZ,IAAsB,CAAC+X,MAAM,CAACgF,QAAP,CAAiB/c,MAAjB,EAAyB++B,OAAzB,CAA1C,EAAiF;AAChFlqC,eAAK,CAACsiB,IAAN,GAAa8iB,SAAS,CAACG,QAAvB;AACAxhB,aAAG,GAAGqhB,SAAS,CAAC/X,OAAV,CAAkBjJ,KAAlB,CAAyB,IAAzB,EAA+BC,SAA/B,CAAN;AACArkB,eAAK,CAACsiB,IAAN,GAAa6jB,GAAb;AACA;;AACD,eAAOpiB,GAAP;AACA;AAlB6B,KAA/B;AAoBA,GA1BD;AA4BAb,QAAM,CAACC,EAAP,CAAUyB,MAAV,CAAkB;AAEjB+f,MAAE,EAAE,YAAUC,KAAV,EAAiBlkC,QAAjB,EAA2BwD,IAA3B,EAAiCif,EAAjC,EAAsC;AACzC,aAAOwhB,GAAE,CAAE,IAAF,EAAQC,KAAR,EAAelkC,QAAf,EAAyBwD,IAAzB,EAA+Bif,EAA/B,CAAT;AACA,KAJgB;AAKjB0hB,OAAG,EAAE,aAAUD,KAAV,EAAiBlkC,QAAjB,EAA2BwD,IAA3B,EAAiCif,EAAjC,EAAsC;AAC1C,aAAOwhB,GAAE,CAAE,IAAF,EAAQC,KAAR,EAAelkC,QAAf,EAAyBwD,IAAzB,EAA+Bif,EAA/B,EAAmC,CAAnC,CAAT;AACA,KAPgB;AAQjB4hB,OAAG,EAAE,aAAUH,KAAV,EAAiBlkC,QAAjB,EAA2ByiB,EAA3B,EAAgC;AACpC,UAAIiiB,SAAJ,EAAe9iB,IAAf;;AACA,UAAKsiB,KAAK,IAAIA,KAAK,CAAC+B,cAAf,IAAiC/B,KAAK,CAACQ,SAA5C,EAAwD;AAEvD;AACAA,iBAAS,GAAGR,KAAK,CAACQ,SAAlB;AACAliB,cAAM,CAAE0hB,KAAK,CAACyB,cAAR,CAAN,CAA+BtB,GAA/B,CACCK,SAAS,CAACO,SAAV,GACCP,SAAS,CAACG,QAAV,GAAqB,GAArB,GAA2BH,SAAS,CAACO,SADtC,GAECP,SAAS,CAACG,QAHZ,EAICH,SAAS,CAAC1kC,QAJX,EAKC0kC,SAAS,CAAC/X,OALX;AAOA,eAAO,IAAP;AACA;;AACD,UAAK,QAAOuX,KAAP,MAAiB,QAAtB,EAAiC;AAEhC;AACA,aAAMtiB,IAAN,IAAcsiB,KAAd,EAAsB;AACrB,eAAKG,GAAL,CAAUziB,IAAV,EAAgB5hB,QAAhB,EAA0BkkC,KAAK,CAAEtiB,IAAF,CAA/B;AACA;;AACD,eAAO,IAAP;AACA;;AACD,UAAK5hB,QAAQ,KAAK,KAAb,IAAsB,OAAOA,QAAP,KAAoB,UAA/C,EAA4D;AAE3D;AACAyiB,UAAE,GAAGziB,QAAL;AACAA,gBAAQ,GAAG4kB,SAAX;AACA;;AACD,UAAKnC,EAAE,KAAK,KAAZ,EAAoB;AACnBA,UAAE,GAAGqhB,WAAL;AACA;;AACD,aAAO,KAAKtgB,IAAL,CAAW,YAAW;AAC5BhB,cAAM,CAACljB,KAAP,CAAag6B,MAAb,CAAqB,IAArB,EAA2B4K,KAA3B,EAAkCzhB,EAAlC,EAAsCziB,QAAtC;AACA,OAFM,CAAP;AAGA;AA3CgB,GAAlB;AA+CA;AAEC;AAEA;AACAypC,WAAS,GAAG,6FALb;;AAOC;AAEA;AACA;AACA;AACAC,cAAY,GAAG,uBAZhB;AAAA,MAcC;AACAC,UAAQ,GAAG,mCAfZ;AAAA,MAgBCC,YAAY,GAAG,0CAhBhB,CA/6KiF,CAi8KjF;;AACA,WAASC,kBAAT,CAA6Bl+B,IAA7B,EAAmCwO,OAAnC,EAA6C;AAC5C,QAAKsR,QAAQ,CAAE9f,IAAF,EAAQ,OAAR,CAAR,IACJ8f,QAAQ,CAAEtR,OAAO,CAACsH,QAAR,KAAqB,EAArB,GAA0BtH,OAA1B,GAAoCA,OAAO,CAACiW,UAA9C,EAA0D,IAA1D,CADT,EAC4E;AAE3E,aAAO5N,MAAM,CAAE7W,IAAF,CAAN,CAAemB,QAAf,CAAyB,OAAzB,EAAoC,CAApC,KAA2CnB,IAAlD;AACA;;AAED,WAAOA,IAAP;AACA,GA18KgF,CA48KjF;;;AACA,WAASm+B,aAAT,CAAwBn+B,IAAxB,EAA+B;AAC9BA,QAAI,CAACiW,IAAL,GAAY,CAAEjW,IAAI,CAAC+f,YAAL,CAAmB,MAAnB,MAAgC,IAAlC,IAA2C,GAA3C,GAAiD/f,IAAI,CAACiW,IAAlE;AACA,WAAOjW,IAAP;AACA;;AACD,WAASo+B,aAAT,CAAwBp+B,IAAxB,EAA+B;AAC9B,QAAK,CAAEA,IAAI,CAACiW,IAAL,IAAa,EAAf,EAAoBhB,KAApB,CAA2B,CAA3B,EAA8B,CAA9B,MAAsC,OAA3C,EAAqD;AACpDjV,UAAI,CAACiW,IAAL,GAAYjW,IAAI,CAACiW,IAAL,CAAUhB,KAAV,CAAiB,CAAjB,CAAZ;AACA,KAFD,MAEO;AACNjV,UAAI,CAACsgB,eAAL,CAAsB,MAAtB;AACA;;AAED,WAAOtgB,IAAP;AACA;;AAED,WAASq+B,cAAT,CAAyBnoB,GAAzB,EAA8BooB,IAA9B,EAAqC;AACpC,QAAIr/B,CAAJ,EAAOiM,CAAP,EAAU+K,IAAV,EAAgBsoB,QAAhB,EAA0BC,QAA1B,EAAoCC,QAApC,EAA8CC,QAA9C,EAAwD7F,MAAxD;;AAEA,QAAKyF,IAAI,CAACxoB,QAAL,KAAkB,CAAvB,EAA2B;AAC1B;AACA,KALmC,CAOpC;;;AACA,QAAKqd,QAAQ,CAACD,OAAT,CAAkBhd,GAAlB,CAAL,EAA+B;AAC9BqoB,cAAQ,GAAGpL,QAAQ,CAACtB,MAAT,CAAiB3b,GAAjB,CAAX;AACAsoB,cAAQ,GAAGrL,QAAQ,CAACH,GAAT,CAAcsL,IAAd,EAAoBC,QAApB,CAAX;AACA1F,YAAM,GAAG0F,QAAQ,CAAC1F,MAAlB;;AAEA,UAAKA,MAAL,EAAc;AACb,eAAO2F,QAAQ,CAAC/qC,MAAhB;AACA+qC,gBAAQ,CAAC3F,MAAT,GAAkB,EAAlB;;AAEA,aAAM5iB,IAAN,IAAc4iB,MAAd,EAAuB;AACtB,eAAM55B,CAAC,GAAG,CAAJ,EAAOiM,CAAC,GAAG2tB,MAAM,CAAE5iB,IAAF,CAAN,CAAemB,MAAhC,EAAwCnY,CAAC,GAAGiM,CAA5C,EAA+CjM,CAAC,EAAhD,EAAqD;AACpD4X,kBAAM,CAACljB,KAAP,CAAaw4B,GAAb,CAAkBmS,IAAlB,EAAwBroB,IAAxB,EAA8B4iB,MAAM,CAAE5iB,IAAF,CAAN,CAAgBhX,CAAhB,CAA9B;AACA;AACD;AACD;AACD,KAvBmC,CAyBpC;;;AACA,QAAKm0B,QAAQ,CAACF,OAAT,CAAkBhd,GAAlB,CAAL,EAA+B;AAC9BuoB,cAAQ,GAAGrL,QAAQ,CAACvB,MAAT,CAAiB3b,GAAjB,CAAX;AACAwoB,cAAQ,GAAG7nB,MAAM,CAAC0B,MAAP,CAAe,EAAf,EAAmBkmB,QAAnB,CAAX;AAEArL,cAAQ,CAACJ,GAAT,CAAcsL,IAAd,EAAoBI,QAApB;AACA;AACD,GA3/KgF,CA6/KjF;;;AACA,WAASC,QAAT,CAAmBzoB,GAAnB,EAAwBooB,IAAxB,EAA+B;AAC9B,QAAIxe,QAAQ,GAAGwe,IAAI,CAACxe,QAAL,CAAcjF,WAAd,EAAf,CAD8B,CAG9B;;AACA,QAAKiF,QAAQ,KAAK,OAAb,IAAwBkW,cAAc,CAACnW,IAAf,CAAqB3J,GAAG,CAACD,IAAzB,CAA7B,EAA+D;AAC9DqoB,UAAI,CAACvX,OAAL,GAAe7Q,GAAG,CAAC6Q,OAAnB,CAD8D,CAG/D;AACC,KAJD,MAIO,IAAKjH,QAAQ,KAAK,OAAb,IAAwBA,QAAQ,KAAK,UAA1C,EAAuD;AAC7Dwe,UAAI,CAAC5T,YAAL,GAAoBxU,GAAG,CAACwU,YAAxB;AACA;AACD;;AAED,WAASkU,QAAT,CAAmBC,UAAnB,EAA+B5Y,IAA/B,EAAqC3e,QAArC,EAA+CgwB,OAA/C,EAAyD;AAExD;AACArR,QAAI,GAAG/Q,MAAM,CAAC6C,KAAP,CAAc,EAAd,EAAkBkO,IAAlB,CAAP;AAEA,QAAIsR,QAAJ;AAAA,QAActf,KAAd;AAAA,QAAqBmf,OAArB;AAAA,QAA8B0H,UAA9B;AAAA,QAA0CnsB,IAA1C;AAAA,QAAgD0D,GAAhD;AAAA,QACCpX,CAAC,GAAG,CADL;AAAA,QAECiM,CAAC,GAAG2zB,UAAU,CAACznB,MAFhB;AAAA,QAGC2nB,QAAQ,GAAG7zB,CAAC,GAAG,CAHhB;AAAA,QAIC1V,KAAK,GAAGywB,IAAI,CAAE,CAAF,CAJb;AAAA,QAKC+Y,eAAe,GAAGnpB,UAAU,CAAErgB,KAAF,CAL7B,CALwD,CAYxD;;AACA,QAAKwpC,eAAe,IAChB9zB,CAAC,GAAG,CAAJ,IAAS,OAAO1V,KAAP,KAAiB,QAA1B,IACD,CAACogB,OAAO,CAACgiB,UADR,IACsBoG,QAAQ,CAACne,IAAT,CAAerqB,KAAf,CAF1B,EAEqD;AACpD,aAAOqpC,UAAU,CAAChnB,IAAX,CAAiB,UAAU3b,KAAV,EAAkB;AACzC,YAAIuvB,IAAI,GAAGoT,UAAU,CAAC3mB,EAAX,CAAehc,KAAf,CAAX;;AACA,YAAK8iC,eAAL,EAAuB;AACtB/Y,cAAI,CAAE,CAAF,CAAJ,GAAYzwB,KAAK,CAACmgB,IAAN,CAAY,IAAZ,EAAkBzZ,KAAlB,EAAyBuvB,IAAI,CAACpf,IAAL,EAAzB,CAAZ;AACA;;AACDuyB,gBAAQ,CAAEnT,IAAF,EAAQxF,IAAR,EAAc3e,QAAd,EAAwBgwB,OAAxB,CAAR;AACA,OANM,CAAP;AAOA;;AAED,QAAKpsB,CAAL,EAAS;AACRqsB,cAAQ,GAAGJ,aAAa,CAAElR,IAAF,EAAQ4Y,UAAU,CAAE,CAAF,CAAV,CAAgBtf,aAAxB,EAAuC,KAAvC,EAA8Csf,UAA9C,EAA0DvH,OAA1D,CAAxB;AACArf,WAAK,GAAGsf,QAAQ,CAAC9S,UAAjB;;AAEA,UAAK8S,QAAQ,CAACzY,UAAT,CAAoB1H,MAApB,KAA+B,CAApC,EAAwC;AACvCmgB,gBAAQ,GAAGtf,KAAX;AACA,OANO,CAQR;;;AACA,UAAKA,KAAK,IAAIqf,OAAd,EAAwB;AACvBF,eAAO,GAAGvgB,MAAM,CAACiB,GAAP,CAAYif,MAAM,CAAEQ,QAAF,EAAY,QAAZ,CAAlB,EAA0C4G,aAA1C,CAAV;AACAW,kBAAU,GAAG1H,OAAO,CAAChgB,MAArB,CAFuB,CAIvB;AACA;AACA;;AACA,eAAQnY,CAAC,GAAGiM,CAAZ,EAAejM,CAAC,EAAhB,EAAqB;AACpB0T,cAAI,GAAG4kB,QAAP;;AAEA,cAAKt4B,CAAC,KAAK8/B,QAAX,EAAsB;AACrBpsB,gBAAI,GAAGkE,MAAM,CAAC+B,KAAP,CAAcjG,IAAd,EAAoB,IAApB,EAA0B,IAA1B,CAAP,CADqB,CAGrB;;AACA,gBAAKmsB,UAAL,EAAkB;AAEjB;AACA;AACAjoB,oBAAM,CAACc,KAAP,CAAcyf,OAAd,EAAuBL,MAAM,CAAEpkB,IAAF,EAAQ,QAAR,CAA7B;AACA;AACD;;AAEDrL,kBAAQ,CAACqO,IAAT,CAAekpB,UAAU,CAAE5/B,CAAF,CAAzB,EAAgC0T,IAAhC,EAAsC1T,CAAtC;AACA;;AAED,YAAK6/B,UAAL,EAAkB;AACjBzoB,aAAG,GAAG+gB,OAAO,CAAEA,OAAO,CAAChgB,MAAR,GAAiB,CAAnB,CAAP,CAA8BmI,aAApC,CADiB,CAGjB;;AACA1I,gBAAM,CAACiB,GAAP,CAAYsf,OAAZ,EAAqBgH,aAArB,EAJiB,CAMjB;;AACA,eAAMn/B,CAAC,GAAG,CAAV,EAAaA,CAAC,GAAG6/B,UAAjB,EAA6B7/B,CAAC,EAA9B,EAAmC;AAClC0T,gBAAI,GAAGykB,OAAO,CAAEn4B,CAAF,CAAd;;AACA,gBAAKi3B,WAAW,CAACrW,IAAZ,CAAkBlN,IAAI,CAACsD,IAAL,IAAa,EAA/B,KACJ,CAACkd,QAAQ,CAACtB,MAAT,CAAiBlf,IAAjB,EAAuB,YAAvB,CADG,IAEJkE,MAAM,CAACgF,QAAP,CAAiBxF,GAAjB,EAAsB1D,IAAtB,CAFD,EAEgC;AAE/B,kBAAKA,IAAI,CAACuD,GAAL,IAAY,CAAEvD,IAAI,CAACsD,IAAL,IAAa,EAAf,EAAoB4E,WAApB,OAAuC,QAAxD,EAAmE;AAElE;AACA,oBAAKhE,MAAM,CAACooB,QAAZ,EAAuB;AACtBpoB,wBAAM,CAACooB,QAAP,CAAiBtsB,IAAI,CAACuD,GAAtB;AACA;AACD,eAND,MAMO;AACNE,uBAAO,CAAEzD,IAAI,CAAC6R,WAAL,CAAiBpL,OAAjB,CAA0B6kB,YAA1B,EAAwC,EAAxC,CAAF,EAAgD5nB,GAAhD,EAAqD1D,IAArD,CAAP;AACA;AACD;AACD;AACD;AACD;AACD;;AAED,WAAOksB,UAAP;AACA;;AAED,WAASlR,OAAT,CAAiB3tB,IAAjB,EAAuB3L,QAAvB,EAAiC6qC,QAAjC,EAA4C;AAC3C,QAAIvsB,IAAJ;AAAA,QACC8kB,KAAK,GAAGpjC,QAAQ,GAAGwiB,MAAM,CAAC4L,MAAP,CAAepuB,QAAf,EAAyB2L,IAAzB,CAAH,GAAqCA,IADtD;AAAA,QAECf,CAAC,GAAG,CAFL;;AAIA,WAAQ,CAAE0T,IAAI,GAAG8kB,KAAK,CAAEx4B,CAAF,CAAd,KAAyB,IAAjC,EAAuCA,CAAC,EAAxC,EAA6C;AAC5C,UAAK,CAACigC,QAAD,IAAavsB,IAAI,CAACmD,QAAL,KAAkB,CAApC,EAAwC;AACvCe,cAAM,CAACsoB,SAAP,CAAkBpI,MAAM,CAAEpkB,IAAF,CAAxB;AACA;;AAED,UAAKA,IAAI,CAACgE,UAAV,EAAuB;AACtB,YAAKuoB,QAAQ,IAAIroB,MAAM,CAACgF,QAAP,CAAiBlJ,IAAI,CAAC4M,aAAtB,EAAqC5M,IAArC,CAAjB,EAA+D;AAC9DqkB,uBAAa,CAAED,MAAM,CAAEpkB,IAAF,EAAQ,QAAR,CAAR,CAAb;AACA;;AACDA,YAAI,CAACgE,UAAL,CAAgBC,WAAhB,CAA6BjE,IAA7B;AACA;AACD;;AAED,WAAO3S,IAAP;AACA;;AAED6W,QAAM,CAAC0B,MAAP,CAAe;AACdof,iBAAa,EAAE,uBAAUtrB,IAAV,EAAiB;AAC/B,aAAOA,IAAI,CAAC+M,OAAL,CAAc0kB,SAAd,EAAyB,WAAzB,CAAP;AACA,KAHa;AAKdllB,SAAK,EAAE,eAAU5Y,IAAV,EAAgBo/B,aAAhB,EAA+BC,iBAA/B,EAAmD;AACzD,UAAIpgC,CAAJ;AAAA,UAAOiM,CAAP;AAAA,UAAUo0B,WAAV;AAAA,UAAuBC,YAAvB;AAAA,UACC3mB,KAAK,GAAG5Y,IAAI,CAAC63B,SAAL,CAAgB,IAAhB,CADT;AAAA,UAEC2H,MAAM,GAAG3oB,MAAM,CAACgF,QAAP,CAAiB7b,IAAI,CAACuf,aAAtB,EAAqCvf,IAArC,CAFV,CADyD,CAKzD;;AACA,UAAK,CAAC4V,OAAO,CAACkiB,cAAT,KAA6B93B,IAAI,CAAC8V,QAAL,KAAkB,CAAlB,IAAuB9V,IAAI,CAAC8V,QAAL,KAAkB,EAAtE,KACH,CAACe,MAAM,CAAC+T,QAAP,CAAiB5qB,IAAjB,CADH,EAC6B;AAE5B;AACAu/B,oBAAY,GAAGxI,MAAM,CAAEne,KAAF,CAArB;AACA0mB,mBAAW,GAAGvI,MAAM,CAAE/2B,IAAF,CAApB;;AAEA,aAAMf,CAAC,GAAG,CAAJ,EAAOiM,CAAC,GAAGo0B,WAAW,CAACloB,MAA7B,EAAqCnY,CAAC,GAAGiM,CAAzC,EAA4CjM,CAAC,EAA7C,EAAkD;AACjD0/B,kBAAQ,CAAEW,WAAW,CAAErgC,CAAF,CAAb,EAAoBsgC,YAAY,CAAEtgC,CAAF,CAAhC,CAAR;AACA;AACD,OAhBwD,CAkBzD;;;AACA,UAAKmgC,aAAL,EAAqB;AACpB,YAAKC,iBAAL,EAAyB;AACxBC,qBAAW,GAAGA,WAAW,IAAIvI,MAAM,CAAE/2B,IAAF,CAAnC;AACAu/B,sBAAY,GAAGA,YAAY,IAAIxI,MAAM,CAAEne,KAAF,CAArC;;AAEA,eAAM3Z,CAAC,GAAG,CAAJ,EAAOiM,CAAC,GAAGo0B,WAAW,CAACloB,MAA7B,EAAqCnY,CAAC,GAAGiM,CAAzC,EAA4CjM,CAAC,EAA7C,EAAkD;AACjDo/B,0BAAc,CAAEiB,WAAW,CAAErgC,CAAF,CAAb,EAAoBsgC,YAAY,CAAEtgC,CAAF,CAAhC,CAAd;AACA;AACD,SAPD,MAOO;AACNo/B,wBAAc,CAAEr+B,IAAF,EAAQ4Y,KAAR,CAAd;AACA;AACD,OA9BwD,CAgCzD;;;AACA2mB,kBAAY,GAAGxI,MAAM,CAAEne,KAAF,EAAS,QAAT,CAArB;;AACA,UAAK2mB,YAAY,CAACnoB,MAAb,GAAsB,CAA3B,EAA+B;AAC9B4f,qBAAa,CAAEuI,YAAF,EAAgB,CAACC,MAAD,IAAWzI,MAAM,CAAE/2B,IAAF,EAAQ,QAAR,CAAjC,CAAb;AACA,OApCwD,CAsCzD;;;AACA,aAAO4Y,KAAP;AACA,KA7Ca;AA+CdumB,aAAS,EAAE,mBAAU1nB,KAAV,EAAkB;AAC5B,UAAI5f,IAAJ;AAAA,UAAUmI,IAAV;AAAA,UAAgBiW,IAAhB;AAAA,UACC2Z,OAAO,GAAG/Y,MAAM,CAACljB,KAAP,CAAai8B,OADxB;AAAA,UAEC3wB,CAAC,GAAG,CAFL;;AAIA,aAAQ,CAAEe,IAAI,GAAGyX,KAAK,CAAExY,CAAF,CAAd,MAA0Bga,SAAlC,EAA6Cha,CAAC,EAA9C,EAAmD;AAClD,YAAKyzB,UAAU,CAAE1yB,IAAF,CAAf,EAA0B;AACzB,cAAOnI,IAAI,GAAGmI,IAAI,CAAEmzB,QAAQ,CAACja,OAAX,CAAlB,EAA2C;AAC1C,gBAAKrhB,IAAI,CAACghC,MAAV,EAAmB;AAClB,mBAAM5iB,IAAN,IAAcpe,IAAI,CAACghC,MAAnB,EAA4B;AAC3B,oBAAKjJ,OAAO,CAAE3Z,IAAF,CAAZ,EAAuB;AACtBY,wBAAM,CAACljB,KAAP,CAAag6B,MAAb,CAAqB3tB,IAArB,EAA2BiW,IAA3B,EADsB,CAGvB;AACC,iBAJD,MAIO;AACNY,wBAAM,CAAC+iB,WAAP,CAAoB55B,IAApB,EAA0BiW,IAA1B,EAAgCpe,IAAI,CAACpE,MAArC;AACA;AACD;AACD,aAXyC,CAa1C;AACA;;;AACAuM,gBAAI,CAAEmzB,QAAQ,CAACja,OAAX,CAAJ,GAA2BD,SAA3B;AACA;;AACD,cAAKjZ,IAAI,CAAEozB,QAAQ,CAACla,OAAX,CAAT,EAAgC;AAE/B;AACA;AACAlZ,gBAAI,CAAEozB,QAAQ,CAACla,OAAX,CAAJ,GAA2BD,SAA3B;AACA;AACD;AACD;AACD;AA/Ea,GAAf;AAkFApC,QAAM,CAACC,EAAP,CAAUyB,MAAV,CAAkB;AACjBknB,UAAM,EAAE,gBAAUprC,QAAV,EAAqB;AAC5B,aAAOs5B,OAAM,CAAE,IAAF,EAAQt5B,QAAR,EAAkB,IAAlB,CAAb;AACA,KAHgB;AAKjBs5B,UAAM,EAAE,gBAAUt5B,QAAV,EAAqB;AAC5B,aAAOs5B,OAAM,CAAE,IAAF,EAAQt5B,QAAR,CAAb;AACA,KAPgB;AASjBmiB,QAAI,EAAE,cAAUhhB,KAAV,EAAkB;AACvB,aAAOq8B,MAAM,CAAE,IAAF,EAAQ,UAAUr8B,KAAV,EAAkB;AACtC,eAAOA,KAAK,KAAKyjB,SAAV,GACNpC,MAAM,CAACL,IAAP,CAAa,IAAb,CADM,GAEN,KAAKoX,KAAL,GAAa/V,IAAb,CAAmB,YAAW;AAC7B,cAAK,KAAK/B,QAAL,KAAkB,CAAlB,IAAuB,KAAKA,QAAL,KAAkB,EAAzC,IAA+C,KAAKA,QAAL,KAAkB,CAAtE,EAA0E;AACzE,iBAAK0O,WAAL,GAAmBhvB,KAAnB;AACA;AACD,SAJD,CAFD;AAOA,OARY,EAQV,IARU,EAQJA,KARI,EAQGwiB,SAAS,CAACZ,MARb,CAAb;AASA,KAnBgB;AAqBjBsoB,UAAM,EAAE,kBAAW;AAClB,aAAOd,QAAQ,CAAE,IAAF,EAAQ5mB,SAAR,EAAmB,UAAUhY,IAAV,EAAiB;AAClD,YAAK,KAAK8V,QAAL,KAAkB,CAAlB,IAAuB,KAAKA,QAAL,KAAkB,EAAzC,IAA+C,KAAKA,QAAL,KAAkB,CAAtE,EAA0E;AACzE,cAAIhX,MAAM,GAAGo/B,kBAAkB,CAAE,IAAF,EAAQl+B,IAAR,CAA/B;AACAlB,gBAAM,CAAC4X,WAAP,CAAoB1W,IAApB;AACA;AACD,OALc,CAAf;AAMA,KA5BgB;AA8BjB2/B,WAAO,EAAE,mBAAW;AACnB,aAAOf,QAAQ,CAAE,IAAF,EAAQ5mB,SAAR,EAAmB,UAAUhY,IAAV,EAAiB;AAClD,YAAK,KAAK8V,QAAL,KAAkB,CAAlB,IAAuB,KAAKA,QAAL,KAAkB,EAAzC,IAA+C,KAAKA,QAAL,KAAkB,CAAtE,EAA0E;AACzE,cAAIhX,MAAM,GAAGo/B,kBAAkB,CAAE,IAAF,EAAQl+B,IAAR,CAA/B;AACAlB,gBAAM,CAAC8gC,YAAP,CAAqB5/B,IAArB,EAA2BlB,MAAM,CAAC2lB,UAAlC;AACA;AACD,OALc,CAAf;AAMA,KArCgB;AAuCjBob,UAAM,EAAE,kBAAW;AAClB,aAAOjB,QAAQ,CAAE,IAAF,EAAQ5mB,SAAR,EAAmB,UAAUhY,IAAV,EAAiB;AAClD,YAAK,KAAK2W,UAAV,EAAuB;AACtB,eAAKA,UAAL,CAAgBipB,YAAhB,CAA8B5/B,IAA9B,EAAoC,IAApC;AACA;AACD,OAJc,CAAf;AAKA,KA7CgB;AA+CjB8/B,SAAK,EAAE,iBAAW;AACjB,aAAOlB,QAAQ,CAAE,IAAF,EAAQ5mB,SAAR,EAAmB,UAAUhY,IAAV,EAAiB;AAClD,YAAK,KAAK2W,UAAV,EAAuB;AACtB,eAAKA,UAAL,CAAgBipB,YAAhB,CAA8B5/B,IAA9B,EAAoC,KAAKshB,WAAzC;AACA;AACD,OAJc,CAAf;AAKA,KArDgB;AAuDjBsM,SAAK,EAAE,iBAAW;AACjB,UAAI5tB,IAAJ;AAAA,UACCf,CAAC,GAAG,CADL;;AAGA,aAAQ,CAAEe,IAAI,GAAG,KAAMf,CAAN,CAAT,KAAwB,IAAhC,EAAsCA,CAAC,EAAvC,EAA4C;AAC3C,YAAKe,IAAI,CAAC8V,QAAL,KAAkB,CAAvB,EAA2B;AAE1B;AACAe,gBAAM,CAACsoB,SAAP,CAAkBpI,MAAM,CAAE/2B,IAAF,EAAQ,KAAR,CAAxB,EAH0B,CAK1B;;AACAA,cAAI,CAACwkB,WAAL,GAAmB,EAAnB;AACA;AACD;;AAED,aAAO,IAAP;AACA,KAvEgB;AAyEjB5L,SAAK,EAAE,eAAUwmB,aAAV,EAAyBC,iBAAzB,EAA6C;AACnDD,mBAAa,GAAGA,aAAa,IAAI,IAAjB,GAAwB,KAAxB,GAAgCA,aAAhD;AACAC,uBAAiB,GAAGA,iBAAiB,IAAI,IAArB,GAA4BD,aAA5B,GAA4CC,iBAAhE;AAEA,aAAO,KAAKvnB,GAAL,CAAU,YAAW;AAC3B,eAAOjB,MAAM,CAAC+B,KAAP,CAAc,IAAd,EAAoBwmB,aAApB,EAAmCC,iBAAnC,CAAP;AACA,OAFM,CAAP;AAGA,KAhFgB;AAkFjBhzB,QAAI,EAAE,cAAU7W,KAAV,EAAkB;AACvB,aAAOq8B,MAAM,CAAE,IAAF,EAAQ,UAAUr8B,KAAV,EAAkB;AACtC,YAAIwK,IAAI,GAAG,KAAM,CAAN,KAAa,EAAxB;AAAA,YACCf,CAAC,GAAG,CADL;AAAA,YAECiM,CAAC,GAAG,KAAKkM,MAFV;;AAIA,YAAK5hB,KAAK,KAAKyjB,SAAV,IAAuBjZ,IAAI,CAAC8V,QAAL,KAAkB,CAA9C,EAAkD;AACjD,iBAAO9V,IAAI,CAAC+iB,SAAZ;AACA,SAPqC,CAStC;;;AACA,YAAK,OAAOvtB,KAAP,KAAiB,QAAjB,IAA6B,CAACuoC,YAAY,CAACle,IAAb,CAAmBrqB,KAAnB,CAA9B,IACJ,CAAC2gC,OAAO,CAAE,CAAEF,QAAQ,CAACzW,IAAT,CAAehqB,KAAf,KAA0B,CAAE,EAAF,EAAM,EAAN,CAA5B,EAA0C,CAA1C,EAA8CqlB,WAA9C,EAAF,CADT,EAC2E;AAE1ErlB,eAAK,GAAGqhB,MAAM,CAAC8gB,aAAP,CAAsBniC,KAAtB,CAAR;;AAEA,cAAI;AACH,mBAAQyJ,CAAC,GAAGiM,CAAZ,EAAejM,CAAC,EAAhB,EAAqB;AACpBe,kBAAI,GAAG,KAAMf,CAAN,KAAa,EAApB,CADoB,CAGpB;;AACA,kBAAKe,IAAI,CAAC8V,QAAL,KAAkB,CAAvB,EAA2B;AAC1Be,sBAAM,CAACsoB,SAAP,CAAkBpI,MAAM,CAAE/2B,IAAF,EAAQ,KAAR,CAAxB;AACAA,oBAAI,CAAC+iB,SAAL,GAAiBvtB,KAAjB;AACA;AACD;;AAEDwK,gBAAI,GAAG,CAAP,CAXG,CAaJ;AACC,WAdD,CAcE,OAAQnD,CAAR,EAAY,CAAE;AAChB;;AAED,YAAKmD,IAAL,EAAY;AACX,eAAK4tB,KAAL,GAAa8R,MAAb,CAAqBlqC,KAArB;AACA;AACD,OAnCY,EAmCV,IAnCU,EAmCJA,KAnCI,EAmCGwiB,SAAS,CAACZ,MAnCb,CAAb;AAoCA,KAvHgB;AAyHjB2oB,eAAW,EAAE,uBAAW;AACvB,UAAIzI,OAAO,GAAG,EAAd,CADuB,CAGvB;;AACA,aAAOsH,QAAQ,CAAE,IAAF,EAAQ5mB,SAAR,EAAmB,UAAUhY,IAAV,EAAiB;AAClD,YAAI1I,MAAM,GAAG,KAAKqf,UAAlB;;AAEA,YAAKE,MAAM,CAACoD,OAAP,CAAgB,IAAhB,EAAsBqd,OAAtB,IAAkC,CAAvC,EAA2C;AAC1CzgB,gBAAM,CAACsoB,SAAP,CAAkBpI,MAAM,CAAE,IAAF,CAAxB;;AACA,cAAKz/B,MAAL,EAAc;AACbA,kBAAM,CAAC0oC,YAAP,CAAqBhgC,IAArB,EAA2B,IAA3B;AACA;AACD,SARiD,CAUnD;;AACC,OAXc,EAWZs3B,OAXY,CAAf;AAYA;AAzIgB,GAAlB;AA4IAzgB,QAAM,CAACgB,IAAP,CAAa;AACZooB,YAAQ,EAAE,QADE;AAEZC,aAAS,EAAE,SAFC;AAGZN,gBAAY,EAAE,QAHF;AAIZO,eAAW,EAAE,OAJD;AAKZC,cAAU,EAAE;AALA,GAAb,EAMG,UAAU3nB,IAAV,EAAgB4nB,QAAhB,EAA2B;AAC7BxpB,UAAM,CAACC,EAAP,CAAW2B,IAAX,IAAoB,UAAUpkB,QAAV,EAAqB;AACxC,UAAIojB,KAAJ;AAAA,UACCC,GAAG,GAAG,EADP;AAAA,UAEC4oB,MAAM,GAAGzpB,MAAM,CAAExiB,QAAF,CAFhB;AAAA,UAGC8jB,IAAI,GAAGmoB,MAAM,CAAClpB,MAAP,GAAgB,CAHxB;AAAA,UAICnY,CAAC,GAAG,CAJL;;AAMA,aAAQA,CAAC,IAAIkZ,IAAb,EAAmBlZ,CAAC,EAApB,EAAyB;AACxBwY,aAAK,GAAGxY,CAAC,KAAKkZ,IAAN,GAAa,IAAb,GAAoB,KAAKS,KAAL,CAAY,IAAZ,CAA5B;AACA/B,cAAM,CAAEypB,MAAM,CAAErhC,CAAF,CAAR,CAAN,CAAuBohC,QAAvB,EAAmC5oB,KAAnC,EAFwB,CAIxB;AACA;;AACAtC,YAAI,CAAC4C,KAAL,CAAYL,GAAZ,EAAiBD,KAAK,CAACH,GAAN,EAAjB;AACA;;AAED,aAAO,KAAKE,SAAL,CAAgBE,GAAhB,CAAP;AACA,KAjBD;AAkBA,GAzBD;AA0BA,MAAI6oB,SAAS,GAAG,IAAIvjB,MAAJ,CAAY,OAAOuX,IAAP,GAAc,iBAA1B,EAA6C,GAA7C,CAAhB;;AAEA,MAAIiM,SAAS,GAAG,SAAZA,SAAY,CAAUxgC,IAAV,EAAiB;AAE/B;AACA;AACA;AACA,QAAIw8B,IAAI,GAAGx8B,IAAI,CAACuf,aAAL,CAAmB0C,WAA9B;;AAEA,QAAK,CAACua,IAAD,IAAS,CAACA,IAAI,CAACiE,MAApB,EAA6B;AAC5BjE,UAAI,GAAG/gC,MAAP;AACA;;AAED,WAAO+gC,IAAI,CAACkE,gBAAL,CAAuB1gC,IAAvB,CAAP;AACA,GAZF;;AAcA,MAAI2gC,SAAS,GAAG,IAAI3jB,MAAJ,CAAY0X,SAAS,CAACxU,IAAV,CAAgB,GAAhB,CAAZ,EAAmC,GAAnC,CAAhB;;AAIA,GAAE,YAAW;AAEZ;AACA;AACA,aAAS0gB,iBAAT,GAA6B;AAE5B;AACA,UAAK,CAACv3B,GAAN,EAAY;AACX;AACA;;AAEDiD,eAAS,CAACsoB,KAAV,CAAgBiM,OAAhB,GAA0B,gDACzB,mCADD;AAEAx3B,SAAG,CAACurB,KAAJ,CAAUiM,OAAV,GACC,2EACA,qCADA,GAEA,kBAHD;AAIA/e,qBAAe,CAACpL,WAAhB,CAA6BpK,SAA7B,EAAyCoK,WAAzC,CAAsDrN,GAAtD;AAEA,UAAIy3B,QAAQ,GAAGrlC,MAAM,CAACilC,gBAAP,CAAyBr3B,GAAzB,CAAf;AACA03B,sBAAgB,GAAGD,QAAQ,CAAC5e,GAAT,KAAiB,IAApC,CAhB4B,CAkB5B;;AACA8e,2BAAqB,GAAGC,kBAAkB,CAAEH,QAAQ,CAACI,UAAX,CAAlB,KAA8C,EAAtE,CAnB4B,CAqB5B;AACA;;AACA73B,SAAG,CAACurB,KAAJ,CAAUuM,KAAV,GAAkB,KAAlB;AACAC,uBAAiB,GAAGH,kBAAkB,CAAEH,QAAQ,CAACK,KAAX,CAAlB,KAAyC,EAA7D,CAxB4B,CA0B5B;AACA;;AACAE,0BAAoB,GAAGJ,kBAAkB,CAAEH,QAAQ,CAACQ,KAAX,CAAlB,KAAyC,EAAhE,CA5B4B,CA8B5B;AACA;;AACAj4B,SAAG,CAACurB,KAAJ,CAAU2M,QAAV,GAAqB,UAArB;AACAC,sBAAgB,GAAGn4B,GAAG,CAACo4B,WAAJ,KAAoB,EAApB,IAA0B,UAA7C;AAEA3f,qBAAe,CAAClL,WAAhB,CAA6BtK,SAA7B,EAnC4B,CAqC5B;AACA;;AACAjD,SAAG,GAAG,IAAN;AACA;;AAED,aAAS43B,kBAAT,CAA6BS,OAA7B,EAAuC;AACtC,aAAOxtC,IAAI,CAACytC,KAAL,CAAY/sC,UAAU,CAAE8sC,OAAF,CAAtB,CAAP;AACA;;AAED,QAAIX,gBAAJ;AAAA,QAAsBM,oBAAtB;AAAA,QAA4CG,gBAA5C;AAAA,QAA8DJ,iBAA9D;AAAA,QACCJ,qBADD;AAAA,QAEC10B,SAAS,GAAGnY,QAAQ,CAACoiB,aAAT,CAAwB,KAAxB,CAFb;AAAA,QAGClN,GAAG,GAAGlV,QAAQ,CAACoiB,aAAT,CAAwB,KAAxB,CAHP,CAlDY,CAuDZ;;AACA,QAAK,CAAClN,GAAG,CAACurB,KAAV,EAAkB;AACjB;AACA,KA1DW,CA4DZ;AACA;;;AACAvrB,OAAG,CAACurB,KAAJ,CAAUgN,cAAV,GAA2B,aAA3B;AACAv4B,OAAG,CAACwuB,SAAJ,CAAe,IAAf,EAAsBjD,KAAtB,CAA4BgN,cAA5B,GAA6C,EAA7C;AACAhsB,WAAO,CAACisB,eAAR,GAA0Bx4B,GAAG,CAACurB,KAAJ,CAAUgN,cAAV,KAA6B,aAAvD;AAEA/qB,UAAM,CAAC0B,MAAP,CAAe3C,OAAf,EAAwB;AACvBksB,uBAAiB,EAAE,6BAAW;AAC7BlB,yBAAiB;AACjB,eAAOS,oBAAP;AACA,OAJsB;AAKvBU,oBAAc,EAAE,0BAAW;AAC1BnB,yBAAiB;AACjB,eAAOQ,iBAAP;AACA,OARsB;AASvBY,mBAAa,EAAE,yBAAW;AACzBpB,yBAAiB;AACjB,eAAOG,gBAAP;AACA,OAZsB;AAavBkB,wBAAkB,EAAE,8BAAW;AAC9BrB,yBAAiB;AACjB,eAAOI,qBAAP;AACA,OAhBsB;AAiBvBkB,mBAAa,EAAE,yBAAW;AACzBtB,yBAAiB;AACjB,eAAOY,gBAAP;AACA;AApBsB,KAAxB;AAsBA,GAxFD;;AA2FA,WAASW,MAAT,CAAiBniC,IAAjB,EAAuByY,IAAvB,EAA6B2pB,QAA7B,EAAwC;AACvC,QAAId,KAAJ;AAAA,QAAWe,QAAX;AAAA,QAAqBC,QAArB;AAAA,QAA+B5qB,GAA/B;AAAA,QAEC;AACA;AACA;AACA;AACAkd,SAAK,GAAG50B,IAAI,CAAC40B,KANd;AAQAwN,YAAQ,GAAGA,QAAQ,IAAI5B,SAAS,CAAExgC,IAAF,CAAhC,CATuC,CAWvC;AACA;AACA;;AACA,QAAKoiC,QAAL,EAAgB;AACf1qB,SAAG,GAAG0qB,QAAQ,CAACG,gBAAT,CAA2B9pB,IAA3B,KAAqC2pB,QAAQ,CAAE3pB,IAAF,CAAnD;;AAEA,UAAKf,GAAG,KAAK,EAAR,IAAc,CAACb,MAAM,CAACgF,QAAP,CAAiB7b,IAAI,CAACuf,aAAtB,EAAqCvf,IAArC,CAApB,EAAkE;AACjE0X,WAAG,GAAGb,MAAM,CAAC+d,KAAP,CAAc50B,IAAd,EAAoByY,IAApB,CAAN;AACA,OALc,CAOf;AACA;AACA;AACA;AACA;;;AACA,UAAK,CAAC7C,OAAO,CAACmsB,cAAR,EAAD,IAA6BxB,SAAS,CAAC1gB,IAAV,CAAgBnI,GAAhB,CAA7B,IAAsDipB,SAAS,CAAC9gB,IAAV,CAAgBpH,IAAhB,CAA3D,EAAoF;AAEnF;AACA6oB,aAAK,GAAG1M,KAAK,CAAC0M,KAAd;AACAe,gBAAQ,GAAGzN,KAAK,CAACyN,QAAjB;AACAC,gBAAQ,GAAG1N,KAAK,CAAC0N,QAAjB,CALmF,CAOnF;;AACA1N,aAAK,CAACyN,QAAN,GAAiBzN,KAAK,CAAC0N,QAAN,GAAiB1N,KAAK,CAAC0M,KAAN,GAAc5pB,GAAhD;AACAA,WAAG,GAAG0qB,QAAQ,CAACd,KAAf,CATmF,CAWnF;;AACA1M,aAAK,CAAC0M,KAAN,GAAcA,KAAd;AACA1M,aAAK,CAACyN,QAAN,GAAiBA,QAAjB;AACAzN,aAAK,CAAC0N,QAAN,GAAiBA,QAAjB;AACA;AACD;;AAED,WAAO5qB,GAAG,KAAKuB,SAAR,GAEN;AACA;AACAvB,OAAG,GAAG,EAJA,GAKNA,GALD;AAMA;;AAGD,WAAS8qB,YAAT,CAAuBC,WAAvB,EAAoCC,MAApC,EAA6C;AAE5C;AACA,WAAO;AACNprB,SAAG,EAAE,eAAW;AACf,YAAKmrB,WAAW,EAAhB,EAAqB;AAEpB;AACA;AACA,iBAAO,KAAKnrB,GAAZ;AACA;AACA,SAPc,CASf;;;AACA,eAAO,CAAE,KAAKA,GAAL,GAAWorB,MAAb,EAAsB3qB,KAAtB,CAA6B,IAA7B,EAAmCC,SAAnC,CAAP;AACA;AAZK,KAAP;AAcA;;AAGD,MAEC;AACA;AACA;AACA2qB,cAAY,GAAG,2BALhB;AAAA,MAMCC,WAAW,GAAG,KANf;AAAA,MAOCC,OAAO,GAAG;AAAEtB,YAAQ,EAAE,UAAZ;AAAwBuB,cAAU,EAAE,QAApC;AAA8Cl/B,WAAO,EAAE;AAAvD,GAPX;AAAA,MAQCm/B,kBAAkB,GAAG;AACpBC,iBAAa,EAAE,GADK;AAEpBC,cAAU,EAAE;AAFQ,GARtB;AAAA,MAaCC,WAAW,GAAG,CAAE,QAAF,EAAY,KAAZ,EAAmB,IAAnB,CAbf;AAAA,MAcCC,UAAU,GAAGhvC,QAAQ,CAACoiB,aAAT,CAAwB,KAAxB,EAAgCqe,KAd9C,CA1iMiF,CA0jMjF;;AACA,WAASwO,cAAT,CAAyB3qB,IAAzB,EAAgC;AAE/B;AACA,QAAKA,IAAI,IAAI0qB,UAAb,EAA0B;AACzB,aAAO1qB,IAAP;AACA,KAL8B,CAO/B;;;AACA,QAAI4qB,OAAO,GAAG5qB,IAAI,CAAE,CAAF,CAAJ,CAAU8Z,WAAV,KAA0B9Z,IAAI,CAACxD,KAAL,CAAY,CAAZ,CAAxC;AAAA,QACChW,CAAC,GAAGikC,WAAW,CAAC9rB,MADjB;;AAGA,WAAQnY,CAAC,EAAT,EAAc;AACbwZ,UAAI,GAAGyqB,WAAW,CAAEjkC,CAAF,CAAX,GAAmBokC,OAA1B;;AACA,UAAK5qB,IAAI,IAAI0qB,UAAb,EAA0B;AACzB,eAAO1qB,IAAP;AACA;AACD;AACD,GA5kMgF,CA8kMjF;AACA;;;AACA,WAAS6qB,aAAT,CAAwB7qB,IAAxB,EAA+B;AAC9B,QAAIf,GAAG,GAAGb,MAAM,CAAC0sB,QAAP,CAAiB9qB,IAAjB,CAAV;;AACA,QAAK,CAACf,GAAN,EAAY;AACXA,SAAG,GAAGb,MAAM,CAAC0sB,QAAP,CAAiB9qB,IAAjB,IAA0B2qB,cAAc,CAAE3qB,IAAF,CAAd,IAA0BA,IAA1D;AACA;;AACD,WAAOf,GAAP;AACA;;AAED,WAAS8rB,iBAAT,CAA4BxjC,IAA5B,EAAkCxK,KAAlC,EAAyCiuC,QAAzC,EAAoD;AAEnD;AACA;AACA,QAAInpB,OAAO,GAAGma,OAAO,CAACjV,IAAR,CAAchqB,KAAd,CAAd;AACA,WAAO8kB,OAAO,GAEb;AACApmB,QAAI,CAACwvC,GAAL,CAAU,CAAV,EAAappB,OAAO,CAAE,CAAF,CAAP,IAAiBmpB,QAAQ,IAAI,CAA7B,CAAb,KAAoDnpB,OAAO,CAAE,CAAF,CAAP,IAAgB,IAApE,CAHa,GAIb9kB,KAJD;AAKA;;AAED,WAASmuC,kBAAT,CAA6B3jC,IAA7B,EAAmCO,SAAnC,EAA8CqjC,GAA9C,EAAmDC,WAAnD,EAAgEC,MAAhE,EAAwEC,WAAxE,EAAsF;AACrF,QAAI9kC,CAAC,GAAGsB,SAAS,KAAK,OAAd,GAAwB,CAAxB,GAA4B,CAApC;AAAA,QACCyjC,KAAK,GAAG,CADT;AAAA,QAEC3mC,KAAK,GAAG,CAFT,CADqF,CAKrF;;AACA,QAAKumC,GAAG,MAAOC,WAAW,GAAG,QAAH,GAAc,SAAhC,CAAR,EAAsD;AACrD,aAAO,CAAP;AACA;;AAED,WAAQ5kC,CAAC,GAAG,CAAZ,EAAeA,CAAC,IAAI,CAApB,EAAwB;AAEvB;AACA,UAAK2kC,GAAG,KAAK,QAAb,EAAwB;AACvBvmC,aAAK,IAAIwZ,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkB4jC,GAAG,GAAGlP,SAAS,CAAEz1B,CAAF,CAAjC,EAAwC,IAAxC,EAA8C6kC,MAA9C,CAAT;AACA,OALsB,CAOvB;;;AACA,UAAK,CAACD,WAAN,EAAoB;AAEnB;AACAxmC,aAAK,IAAIwZ,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkB,YAAY00B,SAAS,CAAEz1B,CAAF,CAAvC,EAA8C,IAA9C,EAAoD6kC,MAApD,CAAT,CAHmB,CAKnB;;AACA,YAAKF,GAAG,KAAK,SAAb,EAAyB;AACxBvmC,eAAK,IAAIwZ,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkB,WAAW00B,SAAS,CAAEz1B,CAAF,CAApB,GAA4B,OAA9C,EAAuD,IAAvD,EAA6D6kC,MAA7D,CAAT,CADwB,CAGzB;AACC,SAJD,MAIO;AACNE,eAAK,IAAIntB,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkB,WAAW00B,SAAS,CAAEz1B,CAAF,CAApB,GAA4B,OAA9C,EAAuD,IAAvD,EAA6D6kC,MAA7D,CAAT;AACA,SAZkB,CAcpB;AACA;;AACC,OAhBD,MAgBO;AAEN;AACA,YAAKF,GAAG,KAAK,SAAb,EAAyB;AACxBvmC,eAAK,IAAIwZ,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkB,YAAY00B,SAAS,CAAEz1B,CAAF,CAAvC,EAA8C,IAA9C,EAAoD6kC,MAApD,CAAT;AACA,SALK,CAON;;;AACA,YAAKF,GAAG,KAAK,QAAb,EAAwB;AACvBvmC,eAAK,IAAIwZ,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkB,WAAW00B,SAAS,CAAEz1B,CAAF,CAApB,GAA4B,OAA9C,EAAuD,IAAvD,EAA6D6kC,MAA7D,CAAT;AACA;AACD;AACD,KA9CoF,CAgDrF;;;AACA,QAAK,CAACD,WAAD,IAAgBE,WAAW,IAAI,CAApC,EAAwC;AAEvC;AACA;AACA1mC,WAAK,IAAInJ,IAAI,CAACwvC,GAAL,CAAU,CAAV,EAAaxvC,IAAI,CAAC+vC,IAAL,CACrBjkC,IAAI,CAAE,WAAWO,SAAS,CAAE,CAAF,CAAT,CAAegyB,WAAf,EAAX,GAA0ChyB,SAAS,CAAC0U,KAAV,CAAiB,CAAjB,CAA5C,CAAJ,GACA8uB,WADA,GAEA1mC,KAFA,GAGA2mC,KAHA,GAIA,GALqB,CAAb,CAAT;AAOA;;AAED,WAAO3mC,KAAP;AACA;;AAED,WAAS6mC,gBAAT,CAA2BlkC,IAA3B,EAAiCO,SAAjC,EAA4CyjC,KAA5C,EAAoD;AAEnD;AACA,QAAIF,MAAM,GAAGtD,SAAS,CAAExgC,IAAF,CAAtB;AAAA,QACCgkB,GAAG,GAAGme,MAAM,CAAEniC,IAAF,EAAQO,SAAR,EAAmBujC,MAAnB,CADb;AAAA,QAECD,WAAW,GAAGhtB,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkB,WAAlB,EAA+B,KAA/B,EAAsC8jC,MAAtC,MAAmD,YAFlE;AAAA,QAGCK,gBAAgB,GAAGN,WAHpB,CAHmD,CAQnD;AACA;;AACA,QAAKtD,SAAS,CAAC1gB,IAAV,CAAgBmE,GAAhB,CAAL,EAA6B;AAC5B,UAAK,CAACggB,KAAN,EAAc;AACb,eAAOhgB,GAAP;AACA;;AACDA,SAAG,GAAG,MAAN;AACA,KAfkD,CAiBnD;AACA;;;AACAmgB,oBAAgB,GAAGA,gBAAgB,KAChCvuB,OAAO,CAACksB,iBAAR,MAA+B9d,GAAG,KAAKhkB,IAAI,CAAC40B,KAAL,CAAYr0B,SAAZ,CADP,CAAnC,CAnBmD,CAsBnD;AACA;AACA;AACA;;AACA,QAAKyjB,GAAG,KAAK,MAAR,IACJ,CAACpvB,UAAU,CAAEovB,GAAF,CAAX,IAAsBnN,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkB,SAAlB,EAA6B,KAA7B,EAAoC8jC,MAApC,MAAiD,QADxE,EACmF;AAElF9f,SAAG,GAAGhkB,IAAI,CAAE,WAAWO,SAAS,CAAE,CAAF,CAAT,CAAegyB,WAAf,EAAX,GAA0ChyB,SAAS,CAAC0U,KAAV,CAAiB,CAAjB,CAA5C,CAAV,CAFkF,CAIlF;;AACAkvB,sBAAgB,GAAG,IAAnB;AACA,KAjCkD,CAmCnD;;;AACAngB,OAAG,GAAGpvB,UAAU,CAAEovB,GAAF,CAAV,IAAqB,CAA3B,CApCmD,CAsCnD;;AACA,WAASA,GAAG,GACX2f,kBAAkB,CACjB3jC,IADiB,EAEjBO,SAFiB,EAGjByjC,KAAK,KAAMH,WAAW,GAAG,QAAH,GAAc,SAA/B,CAHY,EAIjBM,gBAJiB,EAKjBL,MALiB,EAOjB;AACA9f,OARiB,CADZ,GAWH,IAXJ;AAYA;;AAEDnN,QAAM,CAAC0B,MAAP,CAAe;AAEd;AACA;AACA6rB,YAAQ,EAAE;AACTC,aAAO,EAAE;AACR/sB,WAAG,EAAE,aAAUtX,IAAV,EAAgBoiC,QAAhB,EAA2B;AAC/B,cAAKA,QAAL,EAAgB;AAEf;AACA,gBAAI1qB,GAAG,GAAGyqB,MAAM,CAAEniC,IAAF,EAAQ,SAAR,CAAhB;AACA,mBAAO0X,GAAG,KAAK,EAAR,GAAa,GAAb,GAAmBA,GAA1B;AACA;AACD;AARO;AADA,KAJI;AAiBd;AACA+d,aAAS,EAAE;AACV,iCAA2B,IADjB;AAEV,qBAAe,IAFL;AAGV,qBAAe,IAHL;AAIV,kBAAY,IAJF;AAKV,oBAAc,IALJ;AAMV,oBAAc,IANJ;AAOV,oBAAc,IAPJ;AAQV,iBAAW,IARD;AASV,eAAS,IATC;AAUV,iBAAW,IAVD;AAWV,gBAAU,IAXA;AAYV,gBAAU,IAZA;AAaV,cAAQ;AAbE,KAlBG;AAkCd;AACA;AACA8N,YAAQ,EAAE,EApCI;AAsCd;AACA3O,SAAK,EAAE,eAAU50B,IAAV,EAAgByY,IAAhB,EAAsBjjB,KAAtB,EAA6BwuC,KAA7B,EAAqC;AAE3C;AACA,UAAK,CAAChkC,IAAD,IAASA,IAAI,CAAC8V,QAAL,KAAkB,CAA3B,IAAgC9V,IAAI,CAAC8V,QAAL,KAAkB,CAAlD,IAAuD,CAAC9V,IAAI,CAAC40B,KAAlE,EAA0E;AACzE;AACA,OAL0C,CAO3C;;;AACA,UAAIld,GAAJ;AAAA,UAASzB,IAAT;AAAA,UAAe+d,KAAf;AAAA,UACCsQ,QAAQ,GAAG9R,SAAS,CAAE/Z,IAAF,CADrB;AAAA,UAEC8rB,YAAY,GAAG3B,WAAW,CAAC/iB,IAAZ,CAAkBpH,IAAlB,CAFhB;AAAA,UAGCmc,KAAK,GAAG50B,IAAI,CAAC40B,KAHd,CAR2C,CAa3C;AACA;AACA;;AACA,UAAK,CAAC2P,YAAN,EAAqB;AACpB9rB,YAAI,GAAG6qB,aAAa,CAAEgB,QAAF,CAApB;AACA,OAlB0C,CAoB3C;;;AACAtQ,WAAK,GAAGnd,MAAM,CAACutB,QAAP,CAAiB3rB,IAAjB,KAA2B5B,MAAM,CAACutB,QAAP,CAAiBE,QAAjB,CAAnC,CArB2C,CAuB3C;;AACA,UAAK9uC,KAAK,KAAKyjB,SAAf,EAA2B;AAC1BhD,YAAI,WAAUzgB,KAAV,CAAJ,CAD0B,CAG1B;;AACA,YAAKygB,IAAI,KAAK,QAAT,KAAuByB,GAAG,GAAG+c,OAAO,CAACjV,IAAR,CAAchqB,KAAd,CAA7B,KAAwDkiB,GAAG,CAAE,CAAF,CAAhE,EAAwE;AACvEliB,eAAK,GAAGw/B,SAAS,CAAEh1B,IAAF,EAAQyY,IAAR,EAAcf,GAAd,CAAjB,CADuE,CAGvE;;AACAzB,cAAI,GAAG,QAAP;AACA,SATyB,CAW1B;;;AACA,YAAKzgB,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAKA,KAAhC,EAAwC;AACvC;AACA,SAdyB,CAgB1B;;;AACA,YAAKygB,IAAI,KAAK,QAAd,EAAyB;AACxBzgB,eAAK,IAAIkiB,GAAG,IAAIA,GAAG,CAAE,CAAF,CAAV,KAAqBb,MAAM,CAAC4e,SAAP,CAAkB6O,QAAlB,IAA+B,EAA/B,GAAoC,IAAzD,CAAT;AACA,SAnByB,CAqB1B;;;AACA,YAAK,CAAC1uB,OAAO,CAACisB,eAAT,IAA4BrsC,KAAK,KAAK,EAAtC,IAA4CijB,IAAI,CAACrD,OAAL,CAAc,YAAd,MAAiC,CAAlF,EAAsF;AACrFwf,eAAK,CAAEnc,IAAF,CAAL,GAAgB,SAAhB;AACA,SAxByB,CA0B1B;;;AACA,YAAK,CAACub,KAAD,IAAU,EAAG,SAASA,KAAZ,CAAV,IACJ,CAAEx+B,KAAK,GAAGw+B,KAAK,CAAChB,GAAN,CAAWhzB,IAAX,EAAiBxK,KAAjB,EAAwBwuC,KAAxB,CAAV,MAAgD/qB,SADjD,EAC6D;AAE5D,cAAKsrB,YAAL,EAAoB;AACnB3P,iBAAK,CAAC4P,WAAN,CAAmB/rB,IAAnB,EAAyBjjB,KAAzB;AACA,WAFD,MAEO;AACNo/B,iBAAK,CAAEnc,IAAF,CAAL,GAAgBjjB,KAAhB;AACA;AACD;AAED,OArCD,MAqCO;AAEN;AACA,YAAKw+B,KAAK,IAAI,SAASA,KAAlB,IACJ,CAAEtc,GAAG,GAAGsc,KAAK,CAAC1c,GAAN,CAAWtX,IAAX,EAAiB,KAAjB,EAAwBgkC,KAAxB,CAAR,MAA8C/qB,SAD/C,EAC2D;AAE1D,iBAAOvB,GAAP;AACA,SAPK,CASN;;;AACA,eAAOkd,KAAK,CAAEnc,IAAF,CAAZ;AACA;AACD,KAhHa;AAkHdoc,OAAG,EAAE,aAAU70B,IAAV,EAAgByY,IAAhB,EAAsBurB,KAAtB,EAA6BF,MAA7B,EAAsC;AAC1C,UAAI9f,GAAJ;AAAA,UAASzM,GAAT;AAAA,UAAcyc,KAAd;AAAA,UACCsQ,QAAQ,GAAG9R,SAAS,CAAE/Z,IAAF,CADrB;AAAA,UAEC8rB,YAAY,GAAG3B,WAAW,CAAC/iB,IAAZ,CAAkBpH,IAAlB,CAFhB,CAD0C,CAK1C;AACA;AACA;;AACA,UAAK,CAAC8rB,YAAN,EAAqB;AACpB9rB,YAAI,GAAG6qB,aAAa,CAAEgB,QAAF,CAApB;AACA,OAVyC,CAY1C;;;AACAtQ,WAAK,GAAGnd,MAAM,CAACutB,QAAP,CAAiB3rB,IAAjB,KAA2B5B,MAAM,CAACutB,QAAP,CAAiBE,QAAjB,CAAnC,CAb0C,CAe1C;;AACA,UAAKtQ,KAAK,IAAI,SAASA,KAAvB,EAA+B;AAC9BhQ,WAAG,GAAGgQ,KAAK,CAAC1c,GAAN,CAAWtX,IAAX,EAAiB,IAAjB,EAAuBgkC,KAAvB,CAAN;AACA,OAlByC,CAoB1C;;;AACA,UAAKhgB,GAAG,KAAK/K,SAAb,EAAyB;AACxB+K,WAAG,GAAGme,MAAM,CAAEniC,IAAF,EAAQyY,IAAR,EAAcqrB,MAAd,CAAZ;AACA,OAvByC,CAyB1C;;;AACA,UAAK9f,GAAG,KAAK,QAAR,IAAoBvL,IAAI,IAAIsqB,kBAAjC,EAAsD;AACrD/e,WAAG,GAAG+e,kBAAkB,CAAEtqB,IAAF,CAAxB;AACA,OA5ByC,CA8B1C;;;AACA,UAAKurB,KAAK,KAAK,EAAV,IAAgBA,KAArB,EAA6B;AAC5BzsB,WAAG,GAAG3iB,UAAU,CAAEovB,GAAF,CAAhB;AACA,eAAOggB,KAAK,KAAK,IAAV,IAAkBS,QAAQ,CAAEltB,GAAF,CAA1B,GAAoCA,GAAG,IAAI,CAA3C,GAA+CyM,GAAtD;AACA;;AAED,aAAOA,GAAP;AACA;AAvJa,GAAf;AA0JAnN,QAAM,CAACgB,IAAP,CAAa,CAAE,QAAF,EAAY,OAAZ,CAAb,EAAoC,UAAU5Y,CAAV,EAAasB,SAAb,EAAyB;AAC5DsW,UAAM,CAACutB,QAAP,CAAiB7jC,SAAjB,IAA+B;AAC9B+W,SAAG,EAAE,aAAUtX,IAAV,EAAgBoiC,QAAhB,EAA0B4B,KAA1B,EAAkC;AACtC,YAAK5B,QAAL,EAAgB;AAEf;AACA;AACA,iBAAOO,YAAY,CAAC9iB,IAAb,CAAmBhJ,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkB,SAAlB,CAAnB,OAEN;AACA;AACA;AACA;AACA;AACA;AACE,WAACA,IAAI,CAAC0kC,cAAL,GAAsBttB,MAAvB,IAAiC,CAACpX,IAAI,CAAC2kC,qBAAL,GAA6BrD,KAR3D,IASLxM,IAAI,CAAE90B,IAAF,EAAQ6iC,OAAR,EAAiB,YAAW;AAC/B,mBAAOqB,gBAAgB,CAAElkC,IAAF,EAAQO,SAAR,EAAmByjC,KAAnB,CAAvB;AACA,WAFG,CATC,GAYLE,gBAAgB,CAAElkC,IAAF,EAAQO,SAAR,EAAmByjC,KAAnB,CAZlB;AAaA;AACD,OApB6B;AAsB9BhR,SAAG,EAAE,aAAUhzB,IAAV,EAAgBxK,KAAhB,EAAuBwuC,KAAvB,EAA+B;AACnC,YAAI1pB,OAAJ;AAAA,YACCwpB,MAAM,GAAGtD,SAAS,CAAExgC,IAAF,CADnB;AAAA,YAEC6jC,WAAW,GAAGhtB,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkB,WAAlB,EAA+B,KAA/B,EAAsC8jC,MAAtC,MAAmD,YAFlE;AAAA,YAGCL,QAAQ,GAAGO,KAAK,IAAIL,kBAAkB,CACrC3jC,IADqC,EAErCO,SAFqC,EAGrCyjC,KAHqC,EAIrCH,WAJqC,EAKrCC,MALqC,CAHvC,CADmC,CAYnC;AACA;;AACA,YAAKD,WAAW,IAAIjuB,OAAO,CAACssB,aAAR,OAA4B4B,MAAM,CAACvC,QAAvD,EAAkE;AACjEkC,kBAAQ,IAAIvvC,IAAI,CAAC+vC,IAAL,CACXjkC,IAAI,CAAE,WAAWO,SAAS,CAAE,CAAF,CAAT,CAAegyB,WAAf,EAAX,GAA0ChyB,SAAS,CAAC0U,KAAV,CAAiB,CAAjB,CAA5C,CAAJ,GACArgB,UAAU,CAAEkvC,MAAM,CAAEvjC,SAAF,CAAR,CADV,GAEAojC,kBAAkB,CAAE3jC,IAAF,EAAQO,SAAR,EAAmB,QAAnB,EAA6B,KAA7B,EAAoCujC,MAApC,CAFlB,GAGA,GAJW,CAAZ;AAMA,SArBkC,CAuBnC;;;AACA,YAAKL,QAAQ,KAAMnpB,OAAO,GAAGma,OAAO,CAACjV,IAAR,CAAchqB,KAAd,CAAhB,CAAR,IACJ,CAAE8kB,OAAO,CAAE,CAAF,CAAP,IAAgB,IAAlB,MAA6B,IAD9B,EACqC;AAEpCta,cAAI,CAAC40B,KAAL,CAAYr0B,SAAZ,IAA0B/K,KAA1B;AACAA,eAAK,GAAGqhB,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkBO,SAAlB,CAAR;AACA;;AAED,eAAOijC,iBAAiB,CAAExjC,IAAF,EAAQxK,KAAR,EAAeiuC,QAAf,CAAxB;AACA;AAtD6B,KAA/B;AAwDA,GAzDD;AA2DA5sB,QAAM,CAACutB,QAAP,CAAgBlD,UAAhB,GAA6BsB,YAAY,CAAE5sB,OAAO,CAACqsB,kBAAV,EACxC,UAAUjiC,IAAV,EAAgBoiC,QAAhB,EAA2B;AAC1B,QAAKA,QAAL,EAAgB;AACf,aAAO,CAAExtC,UAAU,CAAEutC,MAAM,CAAEniC,IAAF,EAAQ,YAAR,CAAR,CAAV,IACRA,IAAI,CAAC2kC,qBAAL,GAA6BC,IAA7B,GACC9P,IAAI,CAAE90B,IAAF,EAAQ;AAAEkhC,kBAAU,EAAE;AAAd,OAAR,EAA2B,YAAW;AACzC,eAAOlhC,IAAI,CAAC2kC,qBAAL,GAA6BC,IAApC;AACA,OAFG,CAFC,IAKF,IALL;AAMA;AACD,GAVuC,CAAzC,CA/6MiF,CA47MjF;;AACA/tB,QAAM,CAACgB,IAAP,CAAa;AACZrP,UAAM,EAAE,EADI;AAEZF,WAAO,EAAE,EAFG;AAGZu8B,UAAM,EAAE;AAHI,GAAb,EAIG,UAAU5wC,MAAV,EAAkB6wC,MAAlB,EAA2B;AAC7BjuB,UAAM,CAACutB,QAAP,CAAiBnwC,MAAM,GAAG6wC,MAA1B,IAAqC;AACpCC,YAAM,EAAE,gBAAUvvC,KAAV,EAAkB;AACzB,YAAIyJ,CAAC,GAAG,CAAR;AAAA,YACC+lC,QAAQ,GAAG,EADZ;AAAA,YAGC;AACAC,aAAK,GAAG,OAAOzvC,KAAP,KAAiB,QAAjB,GAA4BA,KAAK,CAAColB,KAAN,CAAa,GAAb,CAA5B,GAAiD,CAAEplB,KAAF,CAJ1D;;AAMA,eAAQyJ,CAAC,GAAG,CAAZ,EAAeA,CAAC,EAAhB,EAAqB;AACpB+lC,kBAAQ,CAAE/wC,MAAM,GAAGygC,SAAS,CAAEz1B,CAAF,CAAlB,GAA0B6lC,MAA5B,CAAR,GACCG,KAAK,CAAEhmC,CAAF,CAAL,IAAcgmC,KAAK,CAAEhmC,CAAC,GAAG,CAAN,CAAnB,IAAgCgmC,KAAK,CAAE,CAAF,CADtC;AAEA;;AAED,eAAOD,QAAP;AACA;AAdmC,KAArC;;AAiBA,QAAK/wC,MAAM,KAAK,QAAhB,EAA2B;AAC1B4iB,YAAM,CAACutB,QAAP,CAAiBnwC,MAAM,GAAG6wC,MAA1B,EAAmC9R,GAAnC,GAAyCwQ,iBAAzC;AACA;AACD,GAzBD;AA2BA3sB,QAAM,CAACC,EAAP,CAAUyB,MAAV,CAAkB;AACjBsc,OAAG,EAAE,aAAUpc,IAAV,EAAgBjjB,KAAhB,EAAwB;AAC5B,aAAOq8B,MAAM,CAAE,IAAF,EAAQ,UAAU7xB,IAAV,EAAgByY,IAAhB,EAAsBjjB,KAAtB,EAA8B;AAClD,YAAIsuC,MAAJ;AAAA,YAAY5kC,GAAZ;AAAA,YACC4Y,GAAG,GAAG,EADP;AAAA,YAEC7Y,CAAC,GAAG,CAFL;;AAIA,YAAK8Z,KAAK,CAACC,OAAN,CAAeP,IAAf,CAAL,EAA6B;AAC5BqrB,gBAAM,GAAGtD,SAAS,CAAExgC,IAAF,CAAlB;AACAd,aAAG,GAAGuZ,IAAI,CAACrB,MAAX;;AAEA,iBAAQnY,CAAC,GAAGC,GAAZ,EAAiBD,CAAC,EAAlB,EAAuB;AACtB6Y,eAAG,CAAEW,IAAI,CAAExZ,CAAF,CAAN,CAAH,GAAmB4X,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkByY,IAAI,CAAExZ,CAAF,CAAtB,EAA6B,KAA7B,EAAoC6kC,MAApC,CAAnB;AACA;;AAED,iBAAOhsB,GAAP;AACA;;AAED,eAAOtiB,KAAK,KAAKyjB,SAAV,GACNpC,MAAM,CAAC+d,KAAP,CAAc50B,IAAd,EAAoByY,IAApB,EAA0BjjB,KAA1B,CADM,GAENqhB,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkByY,IAAlB,CAFD;AAGA,OAnBY,EAmBVA,IAnBU,EAmBJjjB,KAnBI,EAmBGwiB,SAAS,CAACZ,MAAV,GAAmB,CAnBtB,CAAb;AAoBA;AAtBgB,GAAlB;;AA0BA,WAAS8tB,KAAT,CAAgBllC,IAAhB,EAAsBwY,OAAtB,EAA+Bya,IAA/B,EAAqCt2B,GAArC,EAA0CwoC,MAA1C,EAAmD;AAClD,WAAO,IAAID,KAAK,CAACjuB,SAAN,CAAgBF,IAApB,CAA0B/W,IAA1B,EAAgCwY,OAAhC,EAAyCya,IAAzC,EAA+Ct2B,GAA/C,EAAoDwoC,MAApD,CAAP;AACA;;AACDtuB,QAAM,CAACquB,KAAP,GAAeA,KAAf;AAEAA,OAAK,CAACjuB,SAAN,GAAkB;AACjBE,eAAW,EAAE+tB,KADI;AAEjBnuB,QAAI,EAAE,cAAU/W,IAAV,EAAgBwY,OAAhB,EAAyBya,IAAzB,EAA+Bt2B,GAA/B,EAAoCwoC,MAApC,EAA4C3P,IAA5C,EAAmD;AACxD,WAAKx1B,IAAL,GAAYA,IAAZ;AACA,WAAKizB,IAAL,GAAYA,IAAZ;AACA,WAAKkS,MAAL,GAAcA,MAAM,IAAItuB,MAAM,CAACsuB,MAAP,CAAc3O,QAAtC;AACA,WAAKhe,OAAL,GAAeA,OAAf;AACA,WAAK/b,KAAL,GAAa,KAAKi/B,GAAL,GAAW,KAAKva,GAAL,EAAxB;AACA,WAAKxkB,GAAL,GAAWA,GAAX;AACA,WAAK64B,IAAL,GAAYA,IAAI,KAAM3e,MAAM,CAAC4e,SAAP,CAAkBxC,IAAlB,IAA2B,EAA3B,GAAgC,IAAtC,CAAhB;AACA,KAVgB;AAWjB9R,OAAG,EAAE,eAAW;AACf,UAAI6S,KAAK,GAAGkR,KAAK,CAACE,SAAN,CAAiB,KAAKnS,IAAtB,CAAZ;AAEA,aAAOe,KAAK,IAAIA,KAAK,CAAC1c,GAAf,GACN0c,KAAK,CAAC1c,GAAN,CAAW,IAAX,CADM,GAEN4tB,KAAK,CAACE,SAAN,CAAgB5O,QAAhB,CAAyBlf,GAAzB,CAA8B,IAA9B,CAFD;AAGA,KAjBgB;AAkBjB+tB,OAAG,EAAE,aAAUC,OAAV,EAAoB;AACxB,UAAIC,KAAJ;AAAA,UACCvR,KAAK,GAAGkR,KAAK,CAACE,SAAN,CAAiB,KAAKnS,IAAtB,CADT;;AAGA,UAAK,KAAKza,OAAL,CAAagtB,QAAlB,EAA6B;AAC5B,aAAKC,GAAL,GAAWF,KAAK,GAAG1uB,MAAM,CAACsuB,MAAP,CAAe,KAAKA,MAApB,EAClBG,OADkB,EACT,KAAK9sB,OAAL,CAAagtB,QAAb,GAAwBF,OADf,EACwB,CADxB,EAC2B,CAD3B,EAC8B,KAAK9sB,OAAL,CAAagtB,QAD3C,CAAnB;AAGA,OAJD,MAIO;AACN,aAAKC,GAAL,GAAWF,KAAK,GAAGD,OAAnB;AACA;;AACD,WAAK5J,GAAL,GAAW,CAAE,KAAK/+B,GAAL,GAAW,KAAKF,KAAlB,IAA4B8oC,KAA5B,GAAoC,KAAK9oC,KAApD;;AAEA,UAAK,KAAK+b,OAAL,CAAaktB,IAAlB,EAAyB;AACxB,aAAKltB,OAAL,CAAaktB,IAAb,CAAkB/vB,IAAlB,CAAwB,KAAK3V,IAA7B,EAAmC,KAAK07B,GAAxC,EAA6C,IAA7C;AACA;;AAED,UAAK1H,KAAK,IAAIA,KAAK,CAAChB,GAApB,EAA0B;AACzBgB,aAAK,CAAChB,GAAN,CAAW,IAAX;AACA,OAFD,MAEO;AACNkS,aAAK,CAACE,SAAN,CAAgB5O,QAAhB,CAAyBxD,GAAzB,CAA8B,IAA9B;AACA;;AACD,aAAO,IAAP;AACA;AAzCgB,GAAlB;AA4CAkS,OAAK,CAACjuB,SAAN,CAAgBF,IAAhB,CAAqBE,SAArB,GAAiCiuB,KAAK,CAACjuB,SAAvC;AAEAiuB,OAAK,CAACE,SAAN,GAAkB;AACjB5O,YAAQ,EAAE;AACTlf,SAAG,EAAE,aAAU4d,KAAV,EAAkB;AACtB,YAAI9P,MAAJ,CADsB,CAGtB;AACA;;AACA,YAAK8P,KAAK,CAACl1B,IAAN,CAAW8V,QAAX,KAAwB,CAAxB,IACJof,KAAK,CAACl1B,IAAN,CAAYk1B,KAAK,CAACjC,IAAlB,KAA4B,IAA5B,IAAoCiC,KAAK,CAACl1B,IAAN,CAAW40B,KAAX,CAAkBM,KAAK,CAACjC,IAAxB,KAAkC,IADvE,EAC8E;AAC7E,iBAAOiC,KAAK,CAACl1B,IAAN,CAAYk1B,KAAK,CAACjC,IAAlB,CAAP;AACA,SARqB,CAUtB;AACA;AACA;AACA;;;AACA7N,cAAM,GAAGvO,MAAM,CAACge,GAAP,CAAYK,KAAK,CAACl1B,IAAlB,EAAwBk1B,KAAK,CAACjC,IAA9B,EAAoC,EAApC,CAAT,CAdsB,CAgBtB;;AACA,eAAO,CAAC7N,MAAD,IAAWA,MAAM,KAAK,MAAtB,GAA+B,CAA/B,GAAmCA,MAA1C;AACA,OAnBQ;AAoBT4N,SAAG,EAAE,aAAUkC,KAAV,EAAkB;AAEtB;AACA;AACA;AACA,YAAKre,MAAM,CAAC8uB,EAAP,CAAUD,IAAV,CAAgBxQ,KAAK,CAACjC,IAAtB,CAAL,EAAoC;AACnCpc,gBAAM,CAAC8uB,EAAP,CAAUD,IAAV,CAAgBxQ,KAAK,CAACjC,IAAtB,EAA8BiC,KAA9B;AACA,SAFD,MAEO,IAAKA,KAAK,CAACl1B,IAAN,CAAW8V,QAAX,KAAwB,CAAxB,KACTof,KAAK,CAACl1B,IAAN,CAAW40B,KAAX,CAAkB/d,MAAM,CAAC0sB,QAAP,CAAiBrO,KAAK,CAACjC,IAAvB,CAAlB,KAAqD,IAArD,IACDpc,MAAM,CAACutB,QAAP,CAAiBlP,KAAK,CAACjC,IAAvB,CAFU,CAAL,EAE6B;AACnCpc,gBAAM,CAAC+d,KAAP,CAAcM,KAAK,CAACl1B,IAApB,EAA0Bk1B,KAAK,CAACjC,IAAhC,EAAsCiC,KAAK,CAACwG,GAAN,GAAYxG,KAAK,CAACM,IAAxD;AACA,SAJM,MAIA;AACNN,eAAK,CAACl1B,IAAN,CAAYk1B,KAAK,CAACjC,IAAlB,IAA2BiC,KAAK,CAACwG,GAAjC;AACA;AACD;AAlCQ;AADO,GAAlB,CAriNiF,CA4kNjF;AACA;;AACAwJ,OAAK,CAACE,SAAN,CAAgBlzB,SAAhB,GAA4BgzB,KAAK,CAACE,SAAN,CAAgBQ,UAAhB,GAA6B;AACxD5S,OAAG,EAAE,aAAUkC,KAAV,EAAkB;AACtB,UAAKA,KAAK,CAACl1B,IAAN,CAAW8V,QAAX,IAAuBof,KAAK,CAACl1B,IAAN,CAAW2W,UAAvC,EAAoD;AACnDue,aAAK,CAACl1B,IAAN,CAAYk1B,KAAK,CAACjC,IAAlB,IAA2BiC,KAAK,CAACwG,GAAjC;AACA;AACD;AALuD,GAAzD;AAQA7kB,QAAM,CAACsuB,MAAP,GAAgB;AACfU,UAAM,EAAE,gBAAU57B,CAAV,EAAc;AACrB,aAAOA,CAAP;AACA,KAHc;AAIf67B,SAAK,EAAE,eAAU77B,CAAV,EAAc;AACpB,aAAO,MAAM/V,IAAI,CAAC6xC,GAAL,CAAU97B,CAAC,GAAG/V,IAAI,CAAC8xC,EAAnB,IAA0B,CAAvC;AACA,KANc;AAOfxP,YAAQ,EAAE;AAPK,GAAhB;AAUA3f,QAAM,CAAC8uB,EAAP,GAAYT,KAAK,CAACjuB,SAAN,CAAgBF,IAA5B,CAhmNiF,CAkmNjF;;AACAF,QAAM,CAAC8uB,EAAP,CAAUD,IAAV,GAAiB,EAAjB;AAKA,MACCO,KADD;AAAA,MACQC,UADR;AAAA,MAECC,QAAQ,GAAG,wBAFZ;AAAA,MAGCC,IAAI,GAAG,aAHR;;AAKA,WAASC,QAAT,GAAoB;AACnB,QAAKH,UAAL,EAAkB;AACjB,UAAK/xC,QAAQ,CAACmyC,MAAT,KAAoB,KAApB,IAA6B7qC,MAAM,CAAC8qC,qBAAzC,EAAiE;AAChE9qC,cAAM,CAAC8qC,qBAAP,CAA8BF,QAA9B;AACA,OAFD,MAEO;AACN5qC,cAAM,CAAC3H,UAAP,CAAmBuyC,QAAnB,EAA6BxvB,MAAM,CAAC8uB,EAAP,CAAUxsC,QAAvC;AACA;;AAED0d,YAAM,CAAC8uB,EAAP,CAAUa,IAAV;AACA;AACD,GAvnNgF,CAynNjF;;;AACA,WAASC,WAAT,GAAuB;AACtBhrC,UAAM,CAAC3H,UAAP,CAAmB,YAAW;AAC7BmyC,WAAK,GAAGhtB,SAAR;AACA,KAFD;AAGA,WAASgtB,KAAK,GAAGnqB,IAAI,CAAC4f,GAAL,EAAjB;AACA,GA/nNgF,CAioNjF;;;AACA,WAASgL,KAAT,CAAgBzwB,IAAhB,EAAsB0wB,YAAtB,EAAqC;AACpC,QAAIpJ,KAAJ;AAAA,QACCt+B,CAAC,GAAG,CADL;AAAA,QAEC8hB,KAAK,GAAG;AAAE6lB,YAAM,EAAE3wB;AAAV,KAFT,CADoC,CAKpC;AACA;;AACA0wB,gBAAY,GAAGA,YAAY,GAAG,CAAH,GAAO,CAAlC;;AACA,WAAQ1nC,CAAC,GAAG,CAAZ,EAAeA,CAAC,IAAI,IAAI0nC,YAAxB,EAAuC;AACtCpJ,WAAK,GAAG7I,SAAS,CAAEz1B,CAAF,CAAjB;AACA8hB,WAAK,CAAE,WAAWwc,KAAb,CAAL,GAA4Bxc,KAAK,CAAE,YAAYwc,KAAd,CAAL,GAA6BtnB,IAAzD;AACA;;AAED,QAAK0wB,YAAL,EAAoB;AACnB5lB,WAAK,CAACsjB,OAAN,GAAgBtjB,KAAK,CAACugB,KAAN,GAAcrrB,IAA9B;AACA;;AAED,WAAO8K,KAAP;AACA;;AAED,WAAS8lB,WAAT,CAAsBrxC,KAAtB,EAA6By9B,IAA7B,EAAmChnB,SAAnC,EAA+C;AAC9C,QAAIipB,KAAJ;AAAA,QACC2J,UAAU,GAAG,CAAEiI,SAAS,CAACC,QAAV,CAAoB9T,IAApB,KAA8B,EAAhC,EAAqC/d,MAArC,CAA6C4xB,SAAS,CAACC,QAAV,CAAoB,GAApB,CAA7C,CADd;AAAA,QAEC7qC,KAAK,GAAG,CAFT;AAAA,QAGCkb,MAAM,GAAGynB,UAAU,CAACznB,MAHrB;;AAIA,WAAQlb,KAAK,GAAGkb,MAAhB,EAAwBlb,KAAK,EAA7B,EAAkC;AACjC,UAAOg5B,KAAK,GAAG2J,UAAU,CAAE3iC,KAAF,CAAV,CAAoByZ,IAApB,CAA0B1J,SAA1B,EAAqCgnB,IAArC,EAA2Cz9B,KAA3C,CAAf,EAAsE;AAErE;AACA,eAAO0/B,KAAP;AACA;AACD;AACD;;AAED,WAAS8R,gBAAT,CAA2BhnC,IAA3B,EAAiCs7B,KAAjC,EAAwC2L,IAAxC,EAA+C;AAC9C,QAAIhU,IAAJ;AAAA,QAAUz9B,KAAV;AAAA,QAAiBgD,MAAjB;AAAA,QAAyBw7B,KAAzB;AAAA,QAAgCkT,OAAhC;AAAA,QAAyCC,SAAzC;AAAA,QAAoDC,cAApD;AAAA,QAAoExjC,OAApE;AAAA,QACCyjC,KAAK,GAAG,WAAW/L,KAAX,IAAoB,YAAYA,KADzC;AAAA,QAECgM,IAAI,GAAG,IAFR;AAAA,QAGC1J,IAAI,GAAG,EAHR;AAAA,QAIChJ,KAAK,GAAG50B,IAAI,CAAC40B,KAJd;AAAA,QAKC0R,MAAM,GAAGtmC,IAAI,CAAC8V,QAAL,IAAiB6e,kBAAkB,CAAE30B,IAAF,CAL7C;AAAA,QAMCunC,QAAQ,GAAGpU,QAAQ,CAAC7b,GAAT,CAActX,IAAd,EAAoB,QAApB,CANZ,CAD8C,CAS9C;;AACA,QAAK,CAACinC,IAAI,CAAC3Z,KAAX,EAAmB;AAClB0G,WAAK,GAAGnd,MAAM,CAACod,WAAP,CAAoBj0B,IAApB,EAA0B,IAA1B,CAAR;;AACA,UAAKg0B,KAAK,CAACwT,QAAN,IAAkB,IAAvB,EAA8B;AAC7BxT,aAAK,CAACwT,QAAN,GAAiB,CAAjB;AACAN,eAAO,GAAGlT,KAAK,CAACpG,KAAN,CAAYJ,IAAtB;;AACAwG,aAAK,CAACpG,KAAN,CAAYJ,IAAZ,GAAmB,YAAW;AAC7B,cAAK,CAACwG,KAAK,CAACwT,QAAZ,EAAuB;AACtBN,mBAAO;AACP;AACD,SAJD;AAKA;;AACDlT,WAAK,CAACwT,QAAN;AAEAF,UAAI,CAACxY,MAAL,CAAa,YAAW;AAEvB;AACAwY,YAAI,CAACxY,MAAL,CAAa,YAAW;AACvBkF,eAAK,CAACwT,QAAN;;AACA,cAAK,CAAC3wB,MAAM,CAACyW,KAAP,CAActtB,IAAd,EAAoB,IAApB,EAA2BoX,MAAjC,EAA0C;AACzC4c,iBAAK,CAACpG,KAAN,CAAYJ,IAAZ;AACA;AACD,SALD;AAMA,OATD;AAUA,KAjC6C,CAmC9C;;;AACA,SAAMyF,IAAN,IAAcqI,KAAd,EAAsB;AACrB9lC,WAAK,GAAG8lC,KAAK,CAAErI,IAAF,CAAb;;AACA,UAAKkT,QAAQ,CAACtmB,IAAT,CAAerqB,KAAf,CAAL,EAA8B;AAC7B,eAAO8lC,KAAK,CAAErI,IAAF,CAAZ;AACAz6B,cAAM,GAAGA,MAAM,IAAIhD,KAAK,KAAK,QAA7B;;AACA,YAAKA,KAAK,MAAO8wC,MAAM,GAAG,MAAH,GAAY,MAAzB,CAAV,EAA8C;AAE7C;AACA;AACA,cAAK9wC,KAAK,KAAK,MAAV,IAAoB+xC,QAApB,IAAgCA,QAAQ,CAAEtU,IAAF,CAAR,KAAqBha,SAA1D,EAAsE;AACrEqtB,kBAAM,GAAG,IAAT,CADqE,CAGtE;AACC,WAJD,MAIO;AACN;AACA;AACD;;AACD1I,YAAI,CAAE3K,IAAF,CAAJ,GAAesU,QAAQ,IAAIA,QAAQ,CAAEtU,IAAF,CAApB,IAAgCpc,MAAM,CAAC+d,KAAP,CAAc50B,IAAd,EAAoBizB,IAApB,CAA/C;AACA;AACD,KAvD6C,CAyD9C;;;AACAkU,aAAS,GAAG,CAACtwB,MAAM,CAAC8C,aAAP,CAAsB2hB,KAAtB,CAAb;;AACA,QAAK,CAAC6L,SAAD,IAActwB,MAAM,CAAC8C,aAAP,CAAsBikB,IAAtB,CAAnB,EAAkD;AACjD;AACA,KA7D6C,CA+D9C;;;AACA,QAAKyJ,KAAK,IAAIrnC,IAAI,CAAC8V,QAAL,KAAkB,CAAhC,EAAoC;AAEnC;AACA;AACA;AACA;AACAmxB,UAAI,CAACQ,QAAL,GAAgB,CAAE7S,KAAK,CAAC6S,QAAR,EAAkB7S,KAAK,CAAC8S,SAAxB,EAAmC9S,KAAK,CAAC+S,SAAzC,CAAhB,CANmC,CAQnC;;AACAP,oBAAc,GAAGG,QAAQ,IAAIA,QAAQ,CAAC3jC,OAAtC;;AACA,UAAKwjC,cAAc,IAAI,IAAvB,EAA8B;AAC7BA,sBAAc,GAAGjU,QAAQ,CAAC7b,GAAT,CAActX,IAAd,EAAoB,SAApB,CAAjB;AACA;;AACD4D,aAAO,GAAGiT,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkB,SAAlB,CAAV;;AACA,UAAK4D,OAAO,KAAK,MAAjB,EAA0B;AACzB,YAAKwjC,cAAL,EAAsB;AACrBxjC,iBAAO,GAAGwjC,cAAV;AACA,SAFD,MAEO;AAEN;AACAtR,kBAAQ,CAAE,CAAE91B,IAAF,CAAF,EAAY,IAAZ,CAAR;AACAonC,wBAAc,GAAGpnC,IAAI,CAAC40B,KAAL,CAAWhxB,OAAX,IAAsBwjC,cAAvC;AACAxjC,iBAAO,GAAGiT,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkB,SAAlB,CAAV;AACA81B,kBAAQ,CAAE,CAAE91B,IAAF,CAAF,CAAR;AACA;AACD,OAzBkC,CA2BnC;;;AACA,UAAK4D,OAAO,KAAK,QAAZ,IAAwBA,OAAO,KAAK,cAAZ,IAA8BwjC,cAAc,IAAI,IAA7E,EAAoF;AACnF,YAAKvwB,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkB,OAAlB,MAAgC,MAArC,EAA8C;AAE7C;AACA,cAAK,CAACmnC,SAAN,EAAkB;AACjBG,gBAAI,CAACrrB,IAAL,CAAW,YAAW;AACrB2Y,mBAAK,CAAChxB,OAAN,GAAgBwjC,cAAhB;AACA,aAFD;;AAGA,gBAAKA,cAAc,IAAI,IAAvB,EAA8B;AAC7BxjC,qBAAO,GAAGgxB,KAAK,CAAChxB,OAAhB;AACAwjC,4BAAc,GAAGxjC,OAAO,KAAK,MAAZ,GAAqB,EAArB,GAA0BA,OAA3C;AACA;AACD;;AACDgxB,eAAK,CAAChxB,OAAN,GAAgB,cAAhB;AACA;AACD;AACD;;AAED,QAAKqjC,IAAI,CAACQ,QAAV,EAAqB;AACpB7S,WAAK,CAAC6S,QAAN,GAAiB,QAAjB;AACAH,UAAI,CAACxY,MAAL,CAAa,YAAW;AACvB8F,aAAK,CAAC6S,QAAN,GAAiBR,IAAI,CAACQ,QAAL,CAAe,CAAf,CAAjB;AACA7S,aAAK,CAAC8S,SAAN,GAAkBT,IAAI,CAACQ,QAAL,CAAe,CAAf,CAAlB;AACA7S,aAAK,CAAC+S,SAAN,GAAkBV,IAAI,CAACQ,QAAL,CAAe,CAAf,CAAlB;AACA,OAJD;AAKA,KArH6C,CAuH9C;;;AACAN,aAAS,GAAG,KAAZ;;AACA,SAAMlU,IAAN,IAAc2K,IAAd,EAAqB;AAEpB;AACA,UAAK,CAACuJ,SAAN,EAAkB;AACjB,YAAKI,QAAL,EAAgB;AACf,cAAK,YAAYA,QAAjB,EAA4B;AAC3BjB,kBAAM,GAAGiB,QAAQ,CAACjB,MAAlB;AACA;AACD,SAJD,MAIO;AACNiB,kBAAQ,GAAGpU,QAAQ,CAACtB,MAAT,CAAiB7xB,IAAjB,EAAuB,QAAvB,EAAiC;AAAE4D,mBAAO,EAAEwjC;AAAX,WAAjC,CAAX;AACA,SAPgB,CASjB;;;AACA,YAAK5uC,MAAL,EAAc;AACb+uC,kBAAQ,CAACjB,MAAT,GAAkB,CAACA,MAAnB;AACA,SAZgB,CAcjB;;;AACA,YAAKA,MAAL,EAAc;AACbxQ,kBAAQ,CAAE,CAAE91B,IAAF,CAAF,EAAY,IAAZ,CAAR;AACA;AAED;;;AAEAsnC,YAAI,CAACrrB,IAAL,CAAW,YAAW;AAEtB;AAEC;AACA,cAAK,CAACqqB,MAAN,EAAe;AACdxQ,oBAAQ,CAAE,CAAE91B,IAAF,CAAF,CAAR;AACA;;AACDmzB,kBAAQ,CAACxF,MAAT,CAAiB3tB,IAAjB,EAAuB,QAAvB;;AACA,eAAMizB,IAAN,IAAc2K,IAAd,EAAqB;AACpB/mB,kBAAM,CAAC+d,KAAP,CAAc50B,IAAd,EAAoBizB,IAApB,EAA0B2K,IAAI,CAAE3K,IAAF,CAA9B;AACA;AACD,SAZD;AAaA,OArCmB,CAuCpB;;;AACAkU,eAAS,GAAGN,WAAW,CAAEP,MAAM,GAAGiB,QAAQ,CAAEtU,IAAF,CAAX,GAAsB,CAA9B,EAAiCA,IAAjC,EAAuCqU,IAAvC,CAAvB;;AACA,UAAK,EAAGrU,IAAI,IAAIsU,QAAX,CAAL,EAA6B;AAC5BA,gBAAQ,CAAEtU,IAAF,CAAR,GAAmBkU,SAAS,CAAC1qC,KAA7B;;AACA,YAAK6pC,MAAL,EAAc;AACba,mBAAS,CAACxqC,GAAV,GAAgBwqC,SAAS,CAAC1qC,KAA1B;AACA0qC,mBAAS,CAAC1qC,KAAV,GAAkB,CAAlB;AACA;AACD;AACD;AACD;;AAED,WAASmrC,UAAT,CAAqBtM,KAArB,EAA4BuM,aAA5B,EAA4C;AAC3C,QAAI3rC,KAAJ,EAAWuc,IAAX,EAAiB0sB,MAAjB,EAAyB3vC,KAAzB,EAAgCw+B,KAAhC,CAD2C,CAG3C;;AACA,SAAM93B,KAAN,IAAeo/B,KAAf,EAAuB;AACtB7iB,UAAI,GAAG+Z,SAAS,CAAEt2B,KAAF,CAAhB;AACAipC,YAAM,GAAG0C,aAAa,CAAEpvB,IAAF,CAAtB;AACAjjB,WAAK,GAAG8lC,KAAK,CAAEp/B,KAAF,CAAb;;AACA,UAAK6c,KAAK,CAACC,OAAN,CAAexjB,KAAf,CAAL,EAA8B;AAC7B2vC,cAAM,GAAG3vC,KAAK,CAAE,CAAF,CAAd;AACAA,aAAK,GAAG8lC,KAAK,CAAEp/B,KAAF,CAAL,GAAiB1G,KAAK,CAAE,CAAF,CAA9B;AACA;;AAED,UAAK0G,KAAK,KAAKuc,IAAf,EAAsB;AACrB6iB,aAAK,CAAE7iB,IAAF,CAAL,GAAgBjjB,KAAhB;AACA,eAAO8lC,KAAK,CAAEp/B,KAAF,CAAZ;AACA;;AAED83B,WAAK,GAAGnd,MAAM,CAACutB,QAAP,CAAiB3rB,IAAjB,CAAR;;AACA,UAAKub,KAAK,IAAI,YAAYA,KAA1B,EAAkC;AACjCx+B,aAAK,GAAGw+B,KAAK,CAAC+Q,MAAN,CAAcvvC,KAAd,CAAR;AACA,eAAO8lC,KAAK,CAAE7iB,IAAF,CAAZ,CAFiC,CAIjC;AACA;;AACA,aAAMvc,KAAN,IAAe1G,KAAf,EAAuB;AACtB,cAAK,EAAG0G,KAAK,IAAIo/B,KAAZ,CAAL,EAA2B;AAC1BA,iBAAK,CAAEp/B,KAAF,CAAL,GAAiB1G,KAAK,CAAE0G,KAAF,CAAtB;AACA2rC,yBAAa,CAAE3rC,KAAF,CAAb,GAAyBipC,MAAzB;AACA;AACD;AACD,OAZD,MAYO;AACN0C,qBAAa,CAAEpvB,IAAF,CAAb,GAAwB0sB,MAAxB;AACA;AACD;AACD;;AAED,WAAS2B,SAAT,CAAoB9mC,IAApB,EAA0B8nC,UAA1B,EAAsCtvB,OAAtC,EAAgD;AAC/C,QAAI4M,MAAJ;AAAA,QACC2iB,OADD;AAAA,QAEC7rC,KAAK,GAAG,CAFT;AAAA,QAGCkb,MAAM,GAAG0vB,SAAS,CAACkB,UAAV,CAAqB5wB,MAH/B;AAAA,QAIC2X,QAAQ,GAAGlY,MAAM,CAAC6X,QAAP,GAAkBI,MAAlB,CAA0B,YAAW;AAE/C;AACA,aAAO0X,IAAI,CAACxmC,IAAZ;AACA,KAJU,CAJZ;AAAA,QASCwmC,IAAI,GAAG,SAAPA,IAAO,GAAW;AACjB,UAAKuB,OAAL,EAAe;AACd,eAAO,KAAP;AACA;;AACD,UAAIE,WAAW,GAAGhC,KAAK,IAAIQ,WAAW,EAAtC;AAAA,UACC/V,SAAS,GAAGx8B,IAAI,CAACwvC,GAAL,CAAU,CAAV,EAAaz3B,SAAS,CAACi8B,SAAV,GAAsBj8B,SAAS,CAACu5B,QAAhC,GAA2CyC,WAAxD,CADb;AAAA,UAGC;AACA;AACAhf,UAAI,GAAGyH,SAAS,GAAGzkB,SAAS,CAACu5B,QAAtB,IAAkC,CAL1C;AAAA,UAMCF,OAAO,GAAG,IAAIrc,IANf;AAAA,UAOC/sB,KAAK,GAAG,CAPT;AAAA,UAQCkb,MAAM,GAAGnL,SAAS,CAACk8B,MAAV,CAAiB/wB,MAR3B;;AAUA,aAAQlb,KAAK,GAAGkb,MAAhB,EAAwBlb,KAAK,EAA7B,EAAkC;AACjC+P,iBAAS,CAACk8B,MAAV,CAAkBjsC,KAAlB,EAA0BmpC,GAA1B,CAA+BC,OAA/B;AACA;;AAEDvW,cAAQ,CAACiB,UAAT,CAAqBhwB,IAArB,EAA2B,CAAEiM,SAAF,EAAaq5B,OAAb,EAAsB5U,SAAtB,CAA3B,EAlBiB,CAoBjB;;AACA,UAAK4U,OAAO,GAAG,CAAV,IAAeluB,MAApB,EAA6B;AAC5B,eAAOsZ,SAAP;AACA,OAvBgB,CAyBjB;;;AACA,UAAK,CAACtZ,MAAN,EAAe;AACd2X,gBAAQ,CAACiB,UAAT,CAAqBhwB,IAArB,EAA2B,CAAEiM,SAAF,EAAa,CAAb,EAAgB,CAAhB,CAA3B;AACA,OA5BgB,CA8BjB;;;AACA8iB,cAAQ,CAACkB,WAAT,CAAsBjwB,IAAtB,EAA4B,CAAEiM,SAAF,CAA5B;AACA,aAAO,KAAP;AACA,KA1CF;AAAA,QA2CCA,SAAS,GAAG8iB,QAAQ,CAACR,OAAT,CAAkB;AAC7BvuB,UAAI,EAAEA,IADuB;AAE7Bs7B,WAAK,EAAEzkB,MAAM,CAAC0B,MAAP,CAAe,EAAf,EAAmBuvB,UAAnB,CAFsB;AAG7Bb,UAAI,EAAEpwB,MAAM,CAAC0B,MAAP,CAAe,IAAf,EAAqB;AAC1BsvB,qBAAa,EAAE,EADW;AAE1B1C,cAAM,EAAEtuB,MAAM,CAACsuB,MAAP,CAAc3O;AAFI,OAArB,EAGHhe,OAHG,CAHuB;AAO7B4vB,wBAAkB,EAAEN,UAPS;AAQ7BO,qBAAe,EAAE7vB,OARY;AAS7B0vB,eAAS,EAAEjC,KAAK,IAAIQ,WAAW,EATF;AAU7BjB,cAAQ,EAAEhtB,OAAO,CAACgtB,QAVW;AAW7B2C,YAAM,EAAE,EAXqB;AAY7BtB,iBAAW,EAAE,qBAAU5T,IAAV,EAAgBt2B,GAAhB,EAAsB;AAClC,YAAIu4B,KAAK,GAAGre,MAAM,CAACquB,KAAP,CAAcllC,IAAd,EAAoBiM,SAAS,CAACg7B,IAA9B,EAAoChU,IAApC,EAA0Ct2B,GAA1C,EACVsP,SAAS,CAACg7B,IAAV,CAAeY,aAAf,CAA8B5U,IAA9B,KAAwChnB,SAAS,CAACg7B,IAAV,CAAe9B,MAD7C,CAAZ;AAEAl5B,iBAAS,CAACk8B,MAAV,CAAiBhzB,IAAjB,CAAuB+f,KAAvB;AACA,eAAOA,KAAP;AACA,OAjB4B;AAkB7BhB,UAAI,EAAE,cAAUoU,OAAV,EAAoB;AACzB,YAAIpsC,KAAK,GAAG,CAAZ;AAAA,YAEC;AACA;AACAkb,cAAM,GAAGkxB,OAAO,GAAGr8B,SAAS,CAACk8B,MAAV,CAAiB/wB,MAApB,GAA6B,CAJ9C;;AAKA,YAAK2wB,OAAL,EAAe;AACd,iBAAO,IAAP;AACA;;AACDA,eAAO,GAAG,IAAV;;AACA,eAAQ7rC,KAAK,GAAGkb,MAAhB,EAAwBlb,KAAK,EAA7B,EAAkC;AACjC+P,mBAAS,CAACk8B,MAAV,CAAkBjsC,KAAlB,EAA0BmpC,GAA1B,CAA+B,CAA/B;AACA,SAZwB,CAczB;;;AACA,YAAKiD,OAAL,EAAe;AACdvZ,kBAAQ,CAACiB,UAAT,CAAqBhwB,IAArB,EAA2B,CAAEiM,SAAF,EAAa,CAAb,EAAgB,CAAhB,CAA3B;AACA8iB,kBAAQ,CAACkB,WAAT,CAAsBjwB,IAAtB,EAA4B,CAAEiM,SAAF,EAAaq8B,OAAb,CAA5B;AACA,SAHD,MAGO;AACNvZ,kBAAQ,CAACsB,UAAT,CAAqBrwB,IAArB,EAA2B,CAAEiM,SAAF,EAAaq8B,OAAb,CAA3B;AACA;;AACD,eAAO,IAAP;AACA;AAxC4B,KAAlB,CA3Cb;AAAA,QAqFChN,KAAK,GAAGrvB,SAAS,CAACqvB,KArFnB;;AAuFAsM,cAAU,CAAEtM,KAAF,EAASrvB,SAAS,CAACg7B,IAAV,CAAeY,aAAxB,CAAV;;AAEA,WAAQ3rC,KAAK,GAAGkb,MAAhB,EAAwBlb,KAAK,EAA7B,EAAkC;AACjCkpB,YAAM,GAAG0hB,SAAS,CAACkB,UAAV,CAAsB9rC,KAAtB,EAA8ByZ,IAA9B,CAAoC1J,SAApC,EAA+CjM,IAA/C,EAAqDs7B,KAArD,EAA4DrvB,SAAS,CAACg7B,IAAtE,CAAT;;AACA,UAAK7hB,MAAL,EAAc;AACb,YAAKvP,UAAU,CAAEuP,MAAM,CAAC8O,IAAT,CAAf,EAAiC;AAChCrd,gBAAM,CAACod,WAAP,CAAoBhoB,SAAS,CAACjM,IAA9B,EAAoCiM,SAAS,CAACg7B,IAAV,CAAe3Z,KAAnD,EAA2D4G,IAA3D,GACC9O,MAAM,CAAC8O,IAAP,CAAYqU,IAAZ,CAAkBnjB,MAAlB,CADD;AAEA;;AACD,eAAOA,MAAP;AACA;AACD;;AAEDvO,UAAM,CAACiB,GAAP,CAAYwjB,KAAZ,EAAmBuL,WAAnB,EAAgC56B,SAAhC;;AAEA,QAAK4J,UAAU,CAAE5J,SAAS,CAACg7B,IAAV,CAAexqC,KAAjB,CAAf,EAA0C;AACzCwP,eAAS,CAACg7B,IAAV,CAAexqC,KAAf,CAAqBkZ,IAArB,CAA2B3V,IAA3B,EAAiCiM,SAAjC;AACA,KAzG8C,CA2G/C;;;AACAA,aAAS,CACPojB,QADF,CACYpjB,SAAS,CAACg7B,IAAV,CAAe5X,QAD3B,EAEEpT,IAFF,CAEQhQ,SAAS,CAACg7B,IAAV,CAAehrB,IAFvB,EAE6BhQ,SAAS,CAACg7B,IAAV,CAAezmC,QAF5C,EAGEguB,IAHF,CAGQviB,SAAS,CAACg7B,IAAV,CAAezY,IAHvB,EAIEM,MAJF,CAIU7iB,SAAS,CAACg7B,IAAV,CAAenY,MAJzB;AAMAjY,UAAM,CAAC8uB,EAAP,CAAU6C,KAAV,CACC3xB,MAAM,CAAC0B,MAAP,CAAeiuB,IAAf,EAAqB;AACpBxmC,UAAI,EAAEA,IADc;AAEpBsnC,UAAI,EAAEr7B,SAFc;AAGpBqhB,WAAK,EAAErhB,SAAS,CAACg7B,IAAV,CAAe3Z;AAHF,KAArB,CADD;AAQA,WAAOrhB,SAAP;AACA;;AAED4K,QAAM,CAACiwB,SAAP,GAAmBjwB,MAAM,CAAC0B,MAAP,CAAeuuB,SAAf,EAA0B;AAE5CC,YAAQ,EAAE;AACT,WAAK,CAAE,UAAU9T,IAAV,EAAgBz9B,KAAhB,EAAwB;AAC9B,YAAI0/B,KAAK,GAAG,KAAK2R,WAAL,CAAkB5T,IAAlB,EAAwBz9B,KAAxB,CAAZ;AACAw/B,iBAAS,CAAEE,KAAK,CAACl1B,IAAR,EAAcizB,IAAd,EAAoBwB,OAAO,CAACjV,IAAR,CAAchqB,KAAd,CAApB,EAA2C0/B,KAA3C,CAAT;AACA,eAAOA,KAAP;AACA,OAJI;AADI,KAFkC;AAU5CuT,WAAO,EAAE,iBAAUnN,KAAV,EAAiBh0B,QAAjB,EAA4B;AACpC,UAAKuO,UAAU,CAAEylB,KAAF,CAAf,EAA2B;AAC1Bh0B,gBAAQ,GAAGg0B,KAAX;AACAA,aAAK,GAAG,CAAE,GAAF,CAAR;AACA,OAHD,MAGO;AACNA,aAAK,GAAGA,KAAK,CAACnc,KAAN,CAAa0N,aAAb,CAAR;AACA;;AAED,UAAIoG,IAAJ;AAAA,UACC/2B,KAAK,GAAG,CADT;AAAA,UAECkb,MAAM,GAAGkkB,KAAK,CAAClkB,MAFhB;;AAIA,aAAQlb,KAAK,GAAGkb,MAAhB,EAAwBlb,KAAK,EAA7B,EAAkC;AACjC+2B,YAAI,GAAGqI,KAAK,CAAEp/B,KAAF,CAAZ;AACA4qC,iBAAS,CAACC,QAAV,CAAoB9T,IAApB,IAA6B6T,SAAS,CAACC,QAAV,CAAoB9T,IAApB,KAA8B,EAA3D;AACA6T,iBAAS,CAACC,QAAV,CAAoB9T,IAApB,EAA2BnP,OAA3B,CAAoCxc,QAApC;AACA;AACD,KA3B2C;AA6B5C0gC,cAAU,EAAE,CAAEhB,gBAAF,CA7BgC;AA+B5C0B,aAAS,EAAE,mBAAUphC,QAAV,EAAoBq4B,OAApB,EAA8B;AACxC,UAAKA,OAAL,EAAe;AACdmH,iBAAS,CAACkB,UAAV,CAAqBlkB,OAArB,CAA8Bxc,QAA9B;AACA,OAFD,MAEO;AACNw/B,iBAAS,CAACkB,UAAV,CAAqB7yB,IAArB,CAA2B7N,QAA3B;AACA;AACD;AArC2C,GAA1B,CAAnB;;AAwCAuP,QAAM,CAAC8xB,KAAP,GAAe,UAAUA,KAAV,EAAiBxD,MAAjB,EAAyBruB,EAAzB,EAA8B;AAC5C,QAAI8xB,GAAG,GAAGD,KAAK,IAAI,QAAOA,KAAP,MAAiB,QAA1B,GAAqC9xB,MAAM,CAAC0B,MAAP,CAAe,EAAf,EAAmBowB,KAAnB,CAArC,GAAkE;AAC3EnoC,cAAQ,EAAEsW,EAAE,IAAI,CAACA,EAAD,IAAOquB,MAAb,IACTtvB,UAAU,CAAE8yB,KAAF,CAAV,IAAuBA,KAFmD;AAG3EnD,cAAQ,EAAEmD,KAHiE;AAI3ExD,YAAM,EAAEruB,EAAE,IAAIquB,MAAN,IAAgBA,MAAM,IAAI,CAACtvB,UAAU,CAAEsvB,MAAF,CAArB,IAAmCA;AAJgB,KAA5E,CAD4C,CAQ5C;;AACA,QAAKtuB,MAAM,CAAC8uB,EAAP,CAAUjN,GAAf,EAAqB;AACpBkQ,SAAG,CAACpD,QAAJ,GAAe,CAAf;AAEA,KAHD,MAGO;AACN,UAAK,OAAOoD,GAAG,CAACpD,QAAX,KAAwB,QAA7B,EAAwC;AACvC,YAAKoD,GAAG,CAACpD,QAAJ,IAAgB3uB,MAAM,CAAC8uB,EAAP,CAAUkD,MAA/B,EAAwC;AACvCD,aAAG,CAACpD,QAAJ,GAAe3uB,MAAM,CAAC8uB,EAAP,CAAUkD,MAAV,CAAkBD,GAAG,CAACpD,QAAtB,CAAf;AAEA,SAHD,MAGO;AACNoD,aAAG,CAACpD,QAAJ,GAAe3uB,MAAM,CAAC8uB,EAAP,CAAUkD,MAAV,CAAiBrS,QAAhC;AACA;AACD;AACD,KArB2C,CAuB5C;;;AACA,QAAKoS,GAAG,CAACtb,KAAJ,IAAa,IAAb,IAAqBsb,GAAG,CAACtb,KAAJ,KAAc,IAAxC,EAA+C;AAC9Csb,SAAG,CAACtb,KAAJ,GAAY,IAAZ;AACA,KA1B2C,CA4B5C;;;AACAsb,OAAG,CAAC7T,GAAJ,GAAU6T,GAAG,CAACpoC,QAAd;;AAEAooC,OAAG,CAACpoC,QAAJ,GAAe,YAAW;AACzB,UAAKqV,UAAU,CAAE+yB,GAAG,CAAC7T,GAAN,CAAf,EAA6B;AAC5B6T,WAAG,CAAC7T,GAAJ,CAAQpf,IAAR,CAAc,IAAd;AACA;;AAED,UAAKizB,GAAG,CAACtb,KAAT,EAAiB;AAChBzW,cAAM,CAACid,OAAP,CAAgB,IAAhB,EAAsB8U,GAAG,CAACtb,KAA1B;AACA;AACD,KARD;;AAUA,WAAOsb,GAAP;AACA,GA1CD;;AA4CA/xB,QAAM,CAACC,EAAP,CAAUyB,MAAV,CAAkB;AACjBuwB,UAAM,EAAE,gBAAUH,KAAV,EAAiB3sC,EAAjB,EAAqBmpC,MAArB,EAA6B79B,QAA7B,EAAwC;AAE/C;AACA,aAAO,KAAKmb,MAAL,CAAakS,kBAAb,EAAkCE,GAAlC,CAAuC,SAAvC,EAAkD,CAAlD,EAAsD10B,IAAtD,GAEN;AAFM,OAGLxD,GAHK,GAGC0K,OAHD,CAGU;AAAEg9B,eAAO,EAAEroC;AAAX,OAHV,EAG2B2sC,KAH3B,EAGkCxD,MAHlC,EAG0C79B,QAH1C,CAAP;AAIA,KARgB;AASjBD,WAAO,EAAE,iBAAU4rB,IAAV,EAAgB0V,KAAhB,EAAuBxD,MAAvB,EAA+B79B,QAA/B,EAA0C;AAClD,UAAIsmB,KAAK,GAAG/W,MAAM,CAAC8C,aAAP,CAAsBsZ,IAAtB,CAAZ;AAAA,UACC8V,MAAM,GAAGlyB,MAAM,CAAC8xB,KAAP,CAAcA,KAAd,EAAqBxD,MAArB,EAA6B79B,QAA7B,CADV;AAAA,UAEC0hC,WAAW,GAAG,SAAdA,WAAc,GAAW;AAExB;AACA,YAAI1B,IAAI,GAAGR,SAAS,CAAE,IAAF,EAAQjwB,MAAM,CAAC0B,MAAP,CAAe,EAAf,EAAmB0a,IAAnB,CAAR,EAAmC8V,MAAnC,CAApB,CAHwB,CAKxB;;AACA,YAAKnb,KAAK,IAAIuF,QAAQ,CAAC7b,GAAT,CAAc,IAAd,EAAoB,QAApB,CAAd,EAA+C;AAC9CgwB,cAAI,CAACpT,IAAL,CAAW,IAAX;AACA;AACD,OAXF;;AAYC8U,iBAAW,CAACC,MAAZ,GAAqBD,WAArB;AAED,aAAOpb,KAAK,IAAImb,MAAM,CAACzb,KAAP,KAAiB,KAA1B,GACN,KAAKzV,IAAL,CAAWmxB,WAAX,CADM,GAEN,KAAK1b,KAAL,CAAYyb,MAAM,CAACzb,KAAnB,EAA0B0b,WAA1B,CAFD;AAGA,KA3BgB;AA4BjB9U,QAAI,EAAE,cAAUje,IAAV,EAAgBme,UAAhB,EAA4BkU,OAA5B,EAAsC;AAC3C,UAAIY,SAAS,GAAG,SAAZA,SAAY,CAAUlV,KAAV,EAAkB;AACjC,YAAIE,IAAI,GAAGF,KAAK,CAACE,IAAjB;AACA,eAAOF,KAAK,CAACE,IAAb;AACAA,YAAI,CAAEoU,OAAF,CAAJ;AACA,OAJD;;AAMA,UAAK,OAAOryB,IAAP,KAAgB,QAArB,EAAgC;AAC/BqyB,eAAO,GAAGlU,UAAV;AACAA,kBAAU,GAAGne,IAAb;AACAA,YAAI,GAAGgD,SAAP;AACA;;AACD,UAAKmb,UAAU,IAAIne,IAAI,KAAK,KAA5B,EAAoC;AACnC,aAAKqX,KAAL,CAAYrX,IAAI,IAAI,IAApB,EAA0B,EAA1B;AACA;;AAED,aAAO,KAAK4B,IAAL,CAAW,YAAW;AAC5B,YAAIic,OAAO,GAAG,IAAd;AAAA,YACC53B,KAAK,GAAG+Z,IAAI,IAAI,IAAR,IAAgBA,IAAI,GAAG,YADhC;AAAA,YAECkzB,MAAM,GAAGtyB,MAAM,CAACsyB,MAFjB;AAAA,YAGCtxC,IAAI,GAAGs7B,QAAQ,CAAC7b,GAAT,CAAc,IAAd,CAHR;;AAKA,YAAKpb,KAAL,EAAa;AACZ,cAAKrE,IAAI,CAAEqE,KAAF,CAAJ,IAAiBrE,IAAI,CAAEqE,KAAF,CAAJ,CAAcg4B,IAApC,EAA2C;AAC1CgV,qBAAS,CAAErxC,IAAI,CAAEqE,KAAF,CAAN,CAAT;AACA;AACD,SAJD,MAIO;AACN,eAAMA,KAAN,IAAerE,IAAf,EAAsB;AACrB,gBAAKA,IAAI,CAAEqE,KAAF,CAAJ,IAAiBrE,IAAI,CAAEqE,KAAF,CAAJ,CAAcg4B,IAA/B,IAAuCkS,IAAI,CAACvmB,IAAL,CAAW3jB,KAAX,CAA5C,EAAiE;AAChEgtC,uBAAS,CAAErxC,IAAI,CAAEqE,KAAF,CAAN,CAAT;AACA;AACD;AACD;;AAED,aAAMA,KAAK,GAAGitC,MAAM,CAAC/xB,MAArB,EAA6Blb,KAAK,EAAlC,GAAwC;AACvC,cAAKitC,MAAM,CAAEjtC,KAAF,CAAN,CAAgB8D,IAAhB,KAAyB,IAAzB,KACFiW,IAAI,IAAI,IAAR,IAAgBkzB,MAAM,CAAEjtC,KAAF,CAAN,CAAgBoxB,KAAhB,KAA0BrX,IADxC,CAAL,EACsD;AAErDkzB,kBAAM,CAAEjtC,KAAF,CAAN,CAAgBorC,IAAhB,CAAqBpT,IAArB,CAA2BoU,OAA3B;AACAxU,mBAAO,GAAG,KAAV;AACAqV,kBAAM,CAAC7wB,MAAP,CAAepc,KAAf,EAAsB,CAAtB;AACA;AACD,SA1B2B,CA4B5B;AACA;AACA;;;AACA,YAAK43B,OAAO,IAAI,CAACwU,OAAjB,EAA2B;AAC1BzxB,gBAAM,CAACid,OAAP,CAAgB,IAAhB,EAAsB7d,IAAtB;AACA;AACD,OAlCM,CAAP;AAmCA,KA/EgB;AAgFjBgzB,UAAM,EAAE,gBAAUhzB,IAAV,EAAiB;AACxB,UAAKA,IAAI,KAAK,KAAd,EAAsB;AACrBA,YAAI,GAAGA,IAAI,IAAI,IAAf;AACA;;AACD,aAAO,KAAK4B,IAAL,CAAW,YAAW;AAC5B,YAAI3b,KAAJ;AAAA,YACCrE,IAAI,GAAGs7B,QAAQ,CAAC7b,GAAT,CAAc,IAAd,CADR;AAAA,YAECgW,KAAK,GAAGz1B,IAAI,CAAEoe,IAAI,GAAG,OAAT,CAFb;AAAA,YAGC+d,KAAK,GAAGn8B,IAAI,CAAEoe,IAAI,GAAG,YAAT,CAHb;AAAA,YAICkzB,MAAM,GAAGtyB,MAAM,CAACsyB,MAJjB;AAAA,YAKC/xB,MAAM,GAAGkW,KAAK,GAAGA,KAAK,CAAClW,MAAT,GAAkB,CALjC,CAD4B,CAQ5B;;AACAvf,YAAI,CAACoxC,MAAL,GAAc,IAAd,CAT4B,CAW5B;;AACApyB,cAAM,CAACyW,KAAP,CAAc,IAAd,EAAoBrX,IAApB,EAA0B,EAA1B;;AAEA,YAAK+d,KAAK,IAAIA,KAAK,CAACE,IAApB,EAA2B;AAC1BF,eAAK,CAACE,IAAN,CAAWve,IAAX,CAAiB,IAAjB,EAAuB,IAAvB;AACA,SAhB2B,CAkB5B;;;AACA,aAAMzZ,KAAK,GAAGitC,MAAM,CAAC/xB,MAArB,EAA6Blb,KAAK,EAAlC,GAAwC;AACvC,cAAKitC,MAAM,CAAEjtC,KAAF,CAAN,CAAgB8D,IAAhB,KAAyB,IAAzB,IAAiCmpC,MAAM,CAAEjtC,KAAF,CAAN,CAAgBoxB,KAAhB,KAA0BrX,IAAhE,EAAuE;AACtEkzB,kBAAM,CAAEjtC,KAAF,CAAN,CAAgBorC,IAAhB,CAAqBpT,IAArB,CAA2B,IAA3B;AACAiV,kBAAM,CAAC7wB,MAAP,CAAepc,KAAf,EAAsB,CAAtB;AACA;AACD,SAxB2B,CA0B5B;;;AACA,aAAMA,KAAK,GAAG,CAAd,EAAiBA,KAAK,GAAGkb,MAAzB,EAAiClb,KAAK,EAAtC,EAA2C;AAC1C,cAAKoxB,KAAK,CAAEpxB,KAAF,CAAL,IAAkBoxB,KAAK,CAAEpxB,KAAF,CAAL,CAAe+sC,MAAtC,EAA+C;AAC9C3b,iBAAK,CAAEpxB,KAAF,CAAL,CAAe+sC,MAAf,CAAsBtzB,IAAtB,CAA4B,IAA5B;AACA;AACD,SA/B2B,CAiC5B;;;AACA,eAAO9d,IAAI,CAACoxC,MAAZ;AACA,OAnCM,CAAP;AAoCA;AAxHgB,GAAlB;AA2HApyB,QAAM,CAACgB,IAAP,CAAa,CAAE,QAAF,EAAY,MAAZ,EAAoB,MAApB,CAAb,EAA2C,UAAU5Y,CAAV,EAAawZ,IAAb,EAAoB;AAC9D,QAAI2wB,KAAK,GAAGvyB,MAAM,CAACC,EAAP,CAAW2B,IAAX,CAAZ;;AACA5B,UAAM,CAACC,EAAP,CAAW2B,IAAX,IAAoB,UAAUkwB,KAAV,EAAiBxD,MAAjB,EAAyB79B,QAAzB,EAAoC;AACvD,aAAOqhC,KAAK,IAAI,IAAT,IAAiB,OAAOA,KAAP,KAAiB,SAAlC,GACNS,KAAK,CAACrxB,KAAN,CAAa,IAAb,EAAmBC,SAAnB,CADM,GAEN,KAAK3Q,OAAL,CAAcq/B,KAAK,CAAEjuB,IAAF,EAAQ,IAAR,CAAnB,EAAmCkwB,KAAnC,EAA0CxD,MAA1C,EAAkD79B,QAAlD,CAFD;AAGA,KAJD;AAKA,GAPD,EAjsOiF,CA0sOjF;;AACAuP,QAAM,CAACgB,IAAP,CAAa;AACZwxB,aAAS,EAAE3C,KAAK,CAAE,MAAF,CADJ;AAEZ4C,WAAO,EAAE5C,KAAK,CAAE,MAAF,CAFF;AAGZ6C,eAAW,EAAE7C,KAAK,CAAE,QAAF,CAHN;AAIZ8C,UAAM,EAAE;AAAEnF,aAAO,EAAE;AAAX,KAJI;AAKZoF,WAAO,EAAE;AAAEpF,aAAO,EAAE;AAAX,KALG;AAMZqF,cAAU,EAAE;AAAErF,aAAO,EAAE;AAAX;AANA,GAAb,EAOG,UAAU5rB,IAAV,EAAgB6iB,KAAhB,EAAwB;AAC1BzkB,UAAM,CAACC,EAAP,CAAW2B,IAAX,IAAoB,UAAUkwB,KAAV,EAAiBxD,MAAjB,EAAyB79B,QAAzB,EAAoC;AACvD,aAAO,KAAKD,OAAL,CAAci0B,KAAd,EAAqBqN,KAArB,EAA4BxD,MAA5B,EAAoC79B,QAApC,CAAP;AACA,KAFD;AAGA,GAXD;AAaAuP,QAAM,CAACsyB,MAAP,GAAgB,EAAhB;;AACAtyB,QAAM,CAAC8uB,EAAP,CAAUa,IAAV,GAAiB,YAAW;AAC3B,QAAIgC,KAAJ;AAAA,QACCvpC,CAAC,GAAG,CADL;AAAA,QAECkqC,MAAM,GAAGtyB,MAAM,CAACsyB,MAFjB;AAIAlD,SAAK,GAAGnqB,IAAI,CAAC4f,GAAL,EAAR;;AAEA,WAAQz8B,CAAC,GAAGkqC,MAAM,CAAC/xB,MAAnB,EAA2BnY,CAAC,EAA5B,EAAiC;AAChCupC,WAAK,GAAGW,MAAM,CAAElqC,CAAF,CAAd,CADgC,CAGhC;;AACA,UAAK,CAACupC,KAAK,EAAN,IAAYW,MAAM,CAAElqC,CAAF,CAAN,KAAgBupC,KAAjC,EAAyC;AACxCW,cAAM,CAAC7wB,MAAP,CAAerZ,CAAC,EAAhB,EAAoB,CAApB;AACA;AACD;;AAED,QAAK,CAACkqC,MAAM,CAAC/xB,MAAb,EAAsB;AACrBP,YAAM,CAAC8uB,EAAP,CAAUzR,IAAV;AACA;;AACD+R,SAAK,GAAGhtB,SAAR;AACA,GApBD;;AAsBApC,QAAM,CAAC8uB,EAAP,CAAU6C,KAAV,GAAkB,UAAUA,KAAV,EAAkB;AACnC3xB,UAAM,CAACsyB,MAAP,CAAch0B,IAAd,CAAoBqzB,KAApB;AACA3xB,UAAM,CAAC8uB,EAAP,CAAUlpC,KAAV;AACA,GAHD;;AAKAoa,QAAM,CAAC8uB,EAAP,CAAUxsC,QAAV,GAAqB,EAArB;;AACA0d,QAAM,CAAC8uB,EAAP,CAAUlpC,KAAV,GAAkB,YAAW;AAC5B,QAAKypC,UAAL,EAAkB;AACjB;AACA;;AAEDA,cAAU,GAAG,IAAb;AACAG,YAAQ;AACR,GAPD;;AASAxvB,QAAM,CAAC8uB,EAAP,CAAUzR,IAAV,GAAiB,YAAW;AAC3BgS,cAAU,GAAG,IAAb;AACA,GAFD;;AAIArvB,QAAM,CAAC8uB,EAAP,CAAUkD,MAAV,GAAmB;AAClBc,QAAI,EAAE,GADY;AAElBC,QAAI,EAAE,GAFY;AAIlB;AACApT,YAAQ,EAAE;AALQ,GAAnB,CAlwOiF,CA2wOjF;AACA;;AACA3f,QAAM,CAACC,EAAP,CAAU1K,KAAV,GAAkB,UAAUy9B,IAAV,EAAgB5zB,IAAhB,EAAuB;AACxC4zB,QAAI,GAAGhzB,MAAM,CAAC8uB,EAAP,GAAY9uB,MAAM,CAAC8uB,EAAP,CAAUkD,MAAV,CAAkBgB,IAAlB,KAA4BA,IAAxC,GAA+CA,IAAtD;AACA5zB,QAAI,GAAGA,IAAI,IAAI,IAAf;AAEA,WAAO,KAAKqX,KAAL,CAAYrX,IAAZ,EAAkB,UAAUva,IAAV,EAAgBs4B,KAAhB,EAAwB;AAChD,UAAI8V,OAAO,GAAGruC,MAAM,CAAC3H,UAAP,CAAmB4H,IAAnB,EAAyBmuC,IAAzB,CAAd;;AACA7V,WAAK,CAACE,IAAN,GAAa,YAAW;AACvBz4B,cAAM,CAACmB,YAAP,CAAqBktC,OAArB;AACA,OAFD;AAGA,KALM,CAAP;AAMA,GAVD;;AAaA,GAAE,YAAW;AACZ,QAAInxC,KAAK,GAAGxE,QAAQ,CAACoiB,aAAT,CAAwB,OAAxB,CAAZ;AAAA,QACC6E,MAAM,GAAGjnB,QAAQ,CAACoiB,aAAT,CAAwB,QAAxB,CADV;AAAA,QAECqyB,GAAG,GAAGxtB,MAAM,CAAC1E,WAAP,CAAoBviB,QAAQ,CAACoiB,aAAT,CAAwB,QAAxB,CAApB,CAFP;AAIA5d,SAAK,CAACsd,IAAN,GAAa,UAAb,CALY,CAOZ;AACA;;AACAL,WAAO,CAACm0B,OAAR,GAAkBpxC,KAAK,CAACnD,KAAN,KAAgB,EAAlC,CATY,CAWZ;AACA;;AACAogB,WAAO,CAACo0B,WAAR,GAAsBpB,GAAG,CAAC5hB,QAA1B,CAbY,CAeZ;AACA;;AACAruB,SAAK,GAAGxE,QAAQ,CAACoiB,aAAT,CAAwB,OAAxB,CAAR;AACA5d,SAAK,CAACnD,KAAN,GAAc,GAAd;AACAmD,SAAK,CAACsd,IAAN,GAAa,OAAb;AACAL,WAAO,CAACq0B,UAAR,GAAqBtxC,KAAK,CAACnD,KAAN,KAAgB,GAArC;AACA,GArBD;;AAwBA,MAAI00C,QAAJ;AAAA,MACCjpB,UAAU,GAAGpK,MAAM,CAACkN,IAAP,CAAY9C,UAD1B;AAGApK,QAAM,CAACC,EAAP,CAAUyB,MAAV,CAAkB;AACjBzN,QAAI,EAAE,cAAU2N,IAAV,EAAgBjjB,KAAhB,EAAwB;AAC7B,aAAOq8B,MAAM,CAAE,IAAF,EAAQhb,MAAM,CAAC/L,IAAf,EAAqB2N,IAArB,EAA2BjjB,KAA3B,EAAkCwiB,SAAS,CAACZ,MAAV,GAAmB,CAArD,CAAb;AACA,KAHgB;AAKjB+yB,cAAU,EAAE,oBAAU1xB,IAAV,EAAiB;AAC5B,aAAO,KAAKZ,IAAL,CAAW,YAAW;AAC5BhB,cAAM,CAACszB,UAAP,CAAmB,IAAnB,EAAyB1xB,IAAzB;AACA,OAFM,CAAP;AAGA;AATgB,GAAlB;AAYA5B,QAAM,CAAC0B,MAAP,CAAe;AACdzN,QAAI,EAAE,cAAU9K,IAAV,EAAgByY,IAAhB,EAAsBjjB,KAAtB,EAA8B;AACnC,UAAIkiB,GAAJ;AAAA,UAASsc,KAAT;AAAA,UACCoW,KAAK,GAAGpqC,IAAI,CAAC8V,QADd,CADmC,CAInC;;AACA,UAAKs0B,KAAK,KAAK,CAAV,IAAeA,KAAK,KAAK,CAAzB,IAA8BA,KAAK,KAAK,CAA7C,EAAiD;AAChD;AACA,OAPkC,CASnC;;;AACA,UAAK,OAAOpqC,IAAI,CAAC+f,YAAZ,KAA6B,WAAlC,EAAgD;AAC/C,eAAOlJ,MAAM,CAACoc,IAAP,CAAajzB,IAAb,EAAmByY,IAAnB,EAAyBjjB,KAAzB,CAAP;AACA,OAZkC,CAcnC;AACA;;;AACA,UAAK40C,KAAK,KAAK,CAAV,IAAe,CAACvzB,MAAM,CAAC+T,QAAP,CAAiB5qB,IAAjB,CAArB,EAA+C;AAC9Cg0B,aAAK,GAAGnd,MAAM,CAACwzB,SAAP,CAAkB5xB,IAAI,CAACoC,WAAL,EAAlB,MACLhE,MAAM,CAACkN,IAAP,CAAY5E,KAAZ,CAAkBmrB,IAAlB,CAAuBzqB,IAAvB,CAA6BpH,IAA7B,IAAsCyxB,QAAtC,GAAiDjxB,SAD5C,CAAR;AAEA;;AAED,UAAKzjB,KAAK,KAAKyjB,SAAf,EAA2B;AAC1B,YAAKzjB,KAAK,KAAK,IAAf,EAAsB;AACrBqhB,gBAAM,CAACszB,UAAP,CAAmBnqC,IAAnB,EAAyByY,IAAzB;AACA;AACA;;AAED,YAAKub,KAAK,IAAI,SAASA,KAAlB,IACJ,CAAEtc,GAAG,GAAGsc,KAAK,CAAChB,GAAN,CAAWhzB,IAAX,EAAiBxK,KAAjB,EAAwBijB,IAAxB,CAAR,MAA6CQ,SAD9C,EAC0D;AACzD,iBAAOvB,GAAP;AACA;;AAED1X,YAAI,CAACggB,YAAL,CAAmBvH,IAAnB,EAAyBjjB,KAAK,GAAG,EAAjC;AACA,eAAOA,KAAP;AACA;;AAED,UAAKw+B,KAAK,IAAI,SAASA,KAAlB,IAA2B,CAAEtc,GAAG,GAAGsc,KAAK,CAAC1c,GAAN,CAAWtX,IAAX,EAAiByY,IAAjB,CAAR,MAAsC,IAAtE,EAA6E;AAC5E,eAAOf,GAAP;AACA;;AAEDA,SAAG,GAAGb,MAAM,CAAC8L,IAAP,CAAY7X,IAAZ,CAAkB9K,IAAlB,EAAwByY,IAAxB,CAAN,CAxCmC,CA0CnC;;AACA,aAAOf,GAAG,IAAI,IAAP,GAAcuB,SAAd,GAA0BvB,GAAjC;AACA,KA7Ca;AA+Cd2yB,aAAS,EAAE;AACVp0B,UAAI,EAAE;AACL+c,WAAG,EAAE,aAAUhzB,IAAV,EAAgBxK,KAAhB,EAAwB;AAC5B,cAAK,CAACogB,OAAO,CAACq0B,UAAT,IAAuBz0C,KAAK,KAAK,OAAjC,IACJsqB,QAAQ,CAAE9f,IAAF,EAAQ,OAAR,CADT,EAC6B;AAC5B,gBAAIgkB,GAAG,GAAGhkB,IAAI,CAACxK,KAAf;AACAwK,gBAAI,CAACggB,YAAL,CAAmB,MAAnB,EAA2BxqB,KAA3B;;AACA,gBAAKwuB,GAAL,EAAW;AACVhkB,kBAAI,CAACxK,KAAL,GAAawuB,GAAb;AACA;;AACD,mBAAOxuB,KAAP;AACA;AACD;AAXI;AADI,KA/CG;AA+Dd20C,cAAU,EAAE,oBAAUnqC,IAAV,EAAgBxK,KAAhB,EAAwB;AACnC,UAAIijB,IAAJ;AAAA,UACCxZ,CAAC,GAAG,CADL;AAAA,UAGC;AACA;AACAsrC,eAAS,GAAG/0C,KAAK,IAAIA,KAAK,CAAC2pB,KAAN,CAAa0N,aAAb,CALtB;;AAOA,UAAK0d,SAAS,IAAIvqC,IAAI,CAAC8V,QAAL,KAAkB,CAApC,EAAwC;AACvC,eAAU2C,IAAI,GAAG8xB,SAAS,CAAEtrC,CAAC,EAAH,CAA1B,EAAsC;AACrCe,cAAI,CAACsgB,eAAL,CAAsB7H,IAAtB;AACA;AACD;AACD;AA5Ea,GAAf,EAj0OiF,CAg5OjF;;AACAyxB,UAAQ,GAAG;AACVlX,OAAG,EAAE,aAAUhzB,IAAV,EAAgBxK,KAAhB,EAAuBijB,IAAvB,EAA8B;AAClC,UAAKjjB,KAAK,KAAK,KAAf,EAAuB;AAEtB;AACAqhB,cAAM,CAACszB,UAAP,CAAmBnqC,IAAnB,EAAyByY,IAAzB;AACA,OAJD,MAIO;AACNzY,YAAI,CAACggB,YAAL,CAAmBvH,IAAnB,EAAyBA,IAAzB;AACA;;AACD,aAAOA,IAAP;AACA;AAVS,GAAX;AAaA5B,QAAM,CAACgB,IAAP,CAAahB,MAAM,CAACkN,IAAP,CAAY5E,KAAZ,CAAkBmrB,IAAlB,CAAuB9V,MAAvB,CAA8BrV,KAA9B,CAAqC,MAArC,CAAb,EAA4D,UAAUlgB,CAAV,EAAawZ,IAAb,EAAoB;AAC/E,QAAI+xB,MAAM,GAAGvpB,UAAU,CAAExI,IAAF,CAAV,IAAsB5B,MAAM,CAAC8L,IAAP,CAAY7X,IAA/C;;AAEAmW,cAAU,CAAExI,IAAF,CAAV,GAAqB,UAAUzY,IAAV,EAAgByY,IAAhB,EAAsBwC,KAAtB,EAA8B;AAClD,UAAIvD,GAAJ;AAAA,UAASjkB,MAAT;AAAA,UACCg3C,aAAa,GAAGhyB,IAAI,CAACoC,WAAL,EADjB;;AAGA,UAAK,CAACI,KAAN,EAAc;AAEb;AACAxnB,cAAM,GAAGwtB,UAAU,CAAEwpB,aAAF,CAAnB;AACAxpB,kBAAU,CAAEwpB,aAAF,CAAV,GAA8B/yB,GAA9B;AACAA,WAAG,GAAG8yB,MAAM,CAAExqC,IAAF,EAAQyY,IAAR,EAAcwC,KAAd,CAAN,IAA+B,IAA/B,GACLwvB,aADK,GAEL,IAFD;AAGAxpB,kBAAU,CAAEwpB,aAAF,CAAV,GAA8Bh3C,MAA9B;AACA;;AACD,aAAOikB,GAAP;AACA,KAfD;AAgBA,GAnBD;AAwBA,MAAIgzB,UAAU,GAAG,qCAAjB;AAAA,MACCC,UAAU,GAAG,eADd;AAGA9zB,QAAM,CAACC,EAAP,CAAUyB,MAAV,CAAkB;AACjB0a,QAAI,EAAE,cAAUxa,IAAV,EAAgBjjB,KAAhB,EAAwB;AAC7B,aAAOq8B,MAAM,CAAE,IAAF,EAAQhb,MAAM,CAACoc,IAAf,EAAqBxa,IAArB,EAA2BjjB,KAA3B,EAAkCwiB,SAAS,CAACZ,MAAV,GAAmB,CAArD,CAAb;AACA,KAHgB;AAKjBwzB,cAAU,EAAE,oBAAUnyB,IAAV,EAAiB;AAC5B,aAAO,KAAKZ,IAAL,CAAW,YAAW;AAC5B,eAAO,KAAMhB,MAAM,CAACg0B,OAAP,CAAgBpyB,IAAhB,KAA0BA,IAAhC,CAAP;AACA,OAFM,CAAP;AAGA;AATgB,GAAlB;AAYA5B,QAAM,CAAC0B,MAAP,CAAe;AACd0a,QAAI,EAAE,cAAUjzB,IAAV,EAAgByY,IAAhB,EAAsBjjB,KAAtB,EAA8B;AACnC,UAAIkiB,GAAJ;AAAA,UAASsc,KAAT;AAAA,UACCoW,KAAK,GAAGpqC,IAAI,CAAC8V,QADd,CADmC,CAInC;;AACA,UAAKs0B,KAAK,KAAK,CAAV,IAAeA,KAAK,KAAK,CAAzB,IAA8BA,KAAK,KAAK,CAA7C,EAAiD;AAChD;AACA;;AAED,UAAKA,KAAK,KAAK,CAAV,IAAe,CAACvzB,MAAM,CAAC+T,QAAP,CAAiB5qB,IAAjB,CAArB,EAA+C;AAE9C;AACAyY,YAAI,GAAG5B,MAAM,CAACg0B,OAAP,CAAgBpyB,IAAhB,KAA0BA,IAAjC;AACAub,aAAK,GAAGnd,MAAM,CAACuuB,SAAP,CAAkB3sB,IAAlB,CAAR;AACA;;AAED,UAAKjjB,KAAK,KAAKyjB,SAAf,EAA2B;AAC1B,YAAK+a,KAAK,IAAI,SAASA,KAAlB,IACJ,CAAEtc,GAAG,GAAGsc,KAAK,CAAChB,GAAN,CAAWhzB,IAAX,EAAiBxK,KAAjB,EAAwBijB,IAAxB,CAAR,MAA6CQ,SAD9C,EAC0D;AACzD,iBAAOvB,GAAP;AACA;;AAED,eAAS1X,IAAI,CAAEyY,IAAF,CAAJ,GAAejjB,KAAxB;AACA;;AAED,UAAKw+B,KAAK,IAAI,SAASA,KAAlB,IAA2B,CAAEtc,GAAG,GAAGsc,KAAK,CAAC1c,GAAN,CAAWtX,IAAX,EAAiByY,IAAjB,CAAR,MAAsC,IAAtE,EAA6E;AAC5E,eAAOf,GAAP;AACA;;AAED,aAAO1X,IAAI,CAAEyY,IAAF,CAAX;AACA,KA/Ba;AAiCd2sB,aAAS,EAAE;AACVte,cAAQ,EAAE;AACTxP,WAAG,EAAE,aAAUtX,IAAV,EAAiB;AAErB;AACA;AACA;AACA;AACA;AACA,cAAI8qC,QAAQ,GAAGj0B,MAAM,CAAC8L,IAAP,CAAY7X,IAAZ,CAAkB9K,IAAlB,EAAwB,UAAxB,CAAf;;AAEA,cAAK8qC,QAAL,EAAgB;AACf,mBAAOpsC,QAAQ,CAAEosC,QAAF,EAAY,EAAZ,CAAf;AACA;;AAED,cACCJ,UAAU,CAAC7qB,IAAX,CAAiB7f,IAAI,CAAC8f,QAAtB,KACA6qB,UAAU,CAAC9qB,IAAX,CAAiB7f,IAAI,CAAC8f,QAAtB,KACA9f,IAAI,CAAC6mB,IAHN,EAIE;AACD,mBAAO,CAAP;AACA;;AAED,iBAAO,CAAC,CAAR;AACA;AAvBQ;AADA,KAjCG;AA6DdgkB,WAAO,EAAE;AACR,aAAO,SADC;AAER,eAAS;AAFD;AA7DK,GAAf,EAr8OiF,CAwgPjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAK,CAACj1B,OAAO,CAACo0B,WAAd,EAA4B;AAC3BnzB,UAAM,CAACuuB,SAAP,CAAiBpe,QAAjB,GAA4B;AAC3B1P,SAAG,EAAE,aAAUtX,IAAV,EAAiB;AAErB;AAEA,YAAI1I,MAAM,GAAG0I,IAAI,CAAC2W,UAAlB;;AACA,YAAKrf,MAAM,IAAIA,MAAM,CAACqf,UAAtB,EAAmC;AAClCrf,gBAAM,CAACqf,UAAP,CAAkBsQ,aAAlB;AACA;;AACD,eAAO,IAAP;AACA,OAV0B;AAW3B+L,SAAG,EAAE,aAAUhzB,IAAV,EAAiB;AAErB;AAEA,YAAI1I,MAAM,GAAG0I,IAAI,CAAC2W,UAAlB;;AACA,YAAKrf,MAAL,EAAc;AACbA,gBAAM,CAAC2vB,aAAP;;AAEA,cAAK3vB,MAAM,CAACqf,UAAZ,EAAyB;AACxBrf,kBAAM,CAACqf,UAAP,CAAkBsQ,aAAlB;AACA;AACD;AACD;AAvB0B,KAA5B;AAyBA;;AAEDpQ,QAAM,CAACgB,IAAP,CAAa,CACZ,UADY,EAEZ,UAFY,EAGZ,WAHY,EAIZ,aAJY,EAKZ,aALY,EAMZ,SANY,EAOZ,SAPY,EAQZ,QARY,EASZ,aATY,EAUZ,iBAVY,CAAb,EAWG,YAAW;AACbhB,UAAM,CAACg0B,OAAP,CAAgB,KAAKhwB,WAAL,EAAhB,IAAuC,IAAvC;AACA,GAbD,EA5iPiF,CA8jPhF;AACA;;AACA,WAASkwB,gBAAT,CAA2Bv1C,KAA3B,EAAmC;AAClC,QAAImyB,MAAM,GAAGnyB,KAAK,CAAC2pB,KAAN,CAAa0N,aAAb,KAAgC,EAA7C;AACA,WAAOlF,MAAM,CAACzH,IAAP,CAAa,GAAb,CAAP;AACA;;AAGF,WAAS8qB,QAAT,CAAmBhrC,IAAnB,EAA0B;AACzB,WAAOA,IAAI,CAAC+f,YAAL,IAAqB/f,IAAI,CAAC+f,YAAL,CAAmB,OAAnB,CAArB,IAAqD,EAA5D;AACA;;AAED,WAASkrB,cAAT,CAAyBz1C,KAAzB,EAAiC;AAChC,QAAKujB,KAAK,CAACC,OAAN,CAAexjB,KAAf,CAAL,EAA8B;AAC7B,aAAOA,KAAP;AACA;;AACD,QAAK,OAAOA,KAAP,KAAiB,QAAtB,EAAiC;AAChC,aAAOA,KAAK,CAAC2pB,KAAN,CAAa0N,aAAb,KAAgC,EAAvC;AACA;;AACD,WAAO,EAAP;AACA;;AAEDhW,QAAM,CAACC,EAAP,CAAUyB,MAAV,CAAkB;AACjB2yB,YAAQ,EAAE,kBAAU11C,KAAV,EAAkB;AAC3B,UAAI21C,OAAJ;AAAA,UAAanrC,IAAb;AAAA,UAAmBmhB,GAAnB;AAAA,UAAwBiqB,QAAxB;AAAA,UAAkCC,KAAlC;AAAA,UAAyCjzB,CAAzC;AAAA,UAA4CkzB,UAA5C;AAAA,UACCrsC,CAAC,GAAG,CADL;;AAGA,UAAK4W,UAAU,CAAErgB,KAAF,CAAf,EAA2B;AAC1B,eAAO,KAAKqiB,IAAL,CAAW,UAAUO,CAAV,EAAc;AAC/BvB,gBAAM,CAAE,IAAF,CAAN,CAAeq0B,QAAf,CAAyB11C,KAAK,CAACmgB,IAAN,CAAY,IAAZ,EAAkByC,CAAlB,EAAqB4yB,QAAQ,CAAE,IAAF,CAA7B,CAAzB;AACA,SAFM,CAAP;AAGA;;AAEDG,aAAO,GAAGF,cAAc,CAAEz1C,KAAF,CAAxB;;AAEA,UAAK21C,OAAO,CAAC/zB,MAAb,EAAsB;AACrB,eAAUpX,IAAI,GAAG,KAAMf,CAAC,EAAP,CAAjB,EAAiC;AAChCmsC,kBAAQ,GAAGJ,QAAQ,CAAEhrC,IAAF,CAAnB;AACAmhB,aAAG,GAAGnhB,IAAI,CAAC8V,QAAL,KAAkB,CAAlB,IAAyB,MAAMi1B,gBAAgB,CAAEK,QAAF,CAAtB,GAAqC,GAApE;;AAEA,cAAKjqB,GAAL,EAAW;AACV/I,aAAC,GAAG,CAAJ;;AACA,mBAAUizB,KAAK,GAAGF,OAAO,CAAE/yB,CAAC,EAAH,CAAzB,EAAqC;AACpC,kBAAK+I,GAAG,CAAC/L,OAAJ,CAAa,MAAMi2B,KAAN,GAAc,GAA3B,IAAmC,CAAxC,EAA4C;AAC3ClqB,mBAAG,IAAIkqB,KAAK,GAAG,GAAf;AACA;AACD,aANS,CAQV;;;AACAC,sBAAU,GAAGP,gBAAgB,CAAE5pB,GAAF,CAA7B;;AACA,gBAAKiqB,QAAQ,KAAKE,UAAlB,EAA+B;AAC9BtrC,kBAAI,CAACggB,YAAL,CAAmB,OAAnB,EAA4BsrB,UAA5B;AACA;AACD;AACD;AACD;;AAED,aAAO,IAAP;AACA,KApCgB;AAsCjBC,eAAW,EAAE,qBAAU/1C,KAAV,EAAkB;AAC9B,UAAI21C,OAAJ;AAAA,UAAanrC,IAAb;AAAA,UAAmBmhB,GAAnB;AAAA,UAAwBiqB,QAAxB;AAAA,UAAkCC,KAAlC;AAAA,UAAyCjzB,CAAzC;AAAA,UAA4CkzB,UAA5C;AAAA,UACCrsC,CAAC,GAAG,CADL;;AAGA,UAAK4W,UAAU,CAAErgB,KAAF,CAAf,EAA2B;AAC1B,eAAO,KAAKqiB,IAAL,CAAW,UAAUO,CAAV,EAAc;AAC/BvB,gBAAM,CAAE,IAAF,CAAN,CAAe00B,WAAf,CAA4B/1C,KAAK,CAACmgB,IAAN,CAAY,IAAZ,EAAkByC,CAAlB,EAAqB4yB,QAAQ,CAAE,IAAF,CAA7B,CAA5B;AACA,SAFM,CAAP;AAGA;;AAED,UAAK,CAAChzB,SAAS,CAACZ,MAAhB,EAAyB;AACxB,eAAO,KAAKtM,IAAL,CAAW,OAAX,EAAoB,EAApB,CAAP;AACA;;AAEDqgC,aAAO,GAAGF,cAAc,CAAEz1C,KAAF,CAAxB;;AAEA,UAAK21C,OAAO,CAAC/zB,MAAb,EAAsB;AACrB,eAAUpX,IAAI,GAAG,KAAMf,CAAC,EAAP,CAAjB,EAAiC;AAChCmsC,kBAAQ,GAAGJ,QAAQ,CAAEhrC,IAAF,CAAnB,CADgC,CAGhC;;AACAmhB,aAAG,GAAGnhB,IAAI,CAAC8V,QAAL,KAAkB,CAAlB,IAAyB,MAAMi1B,gBAAgB,CAAEK,QAAF,CAAtB,GAAqC,GAApE;;AAEA,cAAKjqB,GAAL,EAAW;AACV/I,aAAC,GAAG,CAAJ;;AACA,mBAAUizB,KAAK,GAAGF,OAAO,CAAE/yB,CAAC,EAAH,CAAzB,EAAqC;AAEpC;AACA,qBAAQ+I,GAAG,CAAC/L,OAAJ,CAAa,MAAMi2B,KAAN,GAAc,GAA3B,IAAmC,CAAC,CAA5C,EAAgD;AAC/ClqB,mBAAG,GAAGA,GAAG,CAAC/H,OAAJ,CAAa,MAAMiyB,KAAN,GAAc,GAA3B,EAAgC,GAAhC,CAAN;AACA;AACD,aARS,CAUV;;;AACAC,sBAAU,GAAGP,gBAAgB,CAAE5pB,GAAF,CAA7B;;AACA,gBAAKiqB,QAAQ,KAAKE,UAAlB,EAA+B;AAC9BtrC,kBAAI,CAACggB,YAAL,CAAmB,OAAnB,EAA4BsrB,UAA5B;AACA;AACD;AACD;AACD;;AAED,aAAO,IAAP;AACA,KAjFgB;AAmFjBE,eAAW,EAAE,qBAAUh2C,KAAV,EAAiBi2C,QAAjB,EAA4B;AACxC,UAAIx1B,IAAI,WAAUzgB,KAAV,CAAR;AAAA,UACCk2C,YAAY,GAAGz1B,IAAI,KAAK,QAAT,IAAqB8C,KAAK,CAACC,OAAN,CAAexjB,KAAf,CADrC;;AAGA,UAAK,OAAOi2C,QAAP,KAAoB,SAApB,IAAiCC,YAAtC,EAAqD;AACpD,eAAOD,QAAQ,GAAG,KAAKP,QAAL,CAAe11C,KAAf,CAAH,GAA4B,KAAK+1C,WAAL,CAAkB/1C,KAAlB,CAA3C;AACA;;AAED,UAAKqgB,UAAU,CAAErgB,KAAF,CAAf,EAA2B;AAC1B,eAAO,KAAKqiB,IAAL,CAAW,UAAU5Y,CAAV,EAAc;AAC/B4X,gBAAM,CAAE,IAAF,CAAN,CAAe20B,WAAf,CACCh2C,KAAK,CAACmgB,IAAN,CAAY,IAAZ,EAAkB1W,CAAlB,EAAqB+rC,QAAQ,CAAE,IAAF,CAA7B,EAAuCS,QAAvC,CADD,EAECA,QAFD;AAIA,SALM,CAAP;AAMA;;AAED,aAAO,KAAK5zB,IAAL,CAAW,YAAW;AAC5B,YAAIwK,SAAJ,EAAepjB,CAAf,EAAkBwsB,IAAlB,EAAwBkgB,UAAxB;;AAEA,YAAKD,YAAL,EAAoB;AAEnB;AACAzsC,WAAC,GAAG,CAAJ;AACAwsB,cAAI,GAAG5U,MAAM,CAAE,IAAF,CAAb;AACA80B,oBAAU,GAAGV,cAAc,CAAEz1C,KAAF,CAA3B;;AAEA,iBAAU6sB,SAAS,GAAGspB,UAAU,CAAE1sC,CAAC,EAAH,CAAhC,EAA4C;AAE3C;AACA,gBAAKwsB,IAAI,CAACmgB,QAAL,CAAevpB,SAAf,CAAL,EAAkC;AACjCoJ,kBAAI,CAAC8f,WAAL,CAAkBlpB,SAAlB;AACA,aAFD,MAEO;AACNoJ,kBAAI,CAACyf,QAAL,CAAe7oB,SAAf;AACA;AACD,WAfkB,CAiBpB;;AACC,SAlBD,MAkBO,IAAK7sB,KAAK,KAAKyjB,SAAV,IAAuBhD,IAAI,KAAK,SAArC,EAAiD;AACvDoM,mBAAS,GAAG2oB,QAAQ,CAAE,IAAF,CAApB;;AACA,cAAK3oB,SAAL,EAAiB;AAEhB;AACA8Q,oBAAQ,CAACH,GAAT,CAAc,IAAd,EAAoB,eAApB,EAAqC3Q,SAArC;AACA,WANsD,CAQvD;AACA;AACA;AACA;;;AACA,cAAK,KAAKrC,YAAV,EAAyB;AACxB,iBAAKA,YAAL,CAAmB,OAAnB,EACCqC,SAAS,IAAI7sB,KAAK,KAAK,KAAvB,GACA,EADA,GAEA29B,QAAQ,CAAC7b,GAAT,CAAc,IAAd,EAAoB,eAApB,KAAyC,EAH1C;AAKA;AACD;AACD,OAzCM,CAAP;AA0CA,KA9IgB;AAgJjBs0B,YAAQ,EAAE,kBAAUv3C,QAAV,EAAqB;AAC9B,UAAIguB,SAAJ;AAAA,UAAeriB,IAAf;AAAA,UACCf,CAAC,GAAG,CADL;AAGAojB,eAAS,GAAG,MAAMhuB,QAAN,GAAiB,GAA7B;;AACA,aAAU2L,IAAI,GAAG,KAAMf,CAAC,EAAP,CAAjB,EAAiC;AAChC,YAAKe,IAAI,CAAC8V,QAAL,KAAkB,CAAlB,IACJ,CAAE,MAAMi1B,gBAAgB,CAAEC,QAAQ,CAAEhrC,IAAF,CAAV,CAAtB,GAA6C,GAA/C,EAAqDoV,OAArD,CAA8DiN,SAA9D,IAA4E,CAAC,CAD9E,EACkF;AAChF,iBAAO,IAAP;AACD;AACD;;AAED,aAAO,KAAP;AACA;AA7JgB,GAAlB;AAmKA,MAAIwpB,OAAO,GAAG,KAAd;AAEAh1B,QAAM,CAACC,EAAP,CAAUyB,MAAV,CAAkB;AACjByL,OAAG,EAAE,aAAUxuB,KAAV,EAAkB;AACtB,UAAIw+B,KAAJ;AAAA,UAAWtc,GAAX;AAAA,UAAgBsnB,eAAhB;AAAA,UACCh/B,IAAI,GAAG,KAAM,CAAN,CADR;;AAGA,UAAK,CAACgY,SAAS,CAACZ,MAAhB,EAAyB;AACxB,YAAKpX,IAAL,EAAY;AACXg0B,eAAK,GAAGnd,MAAM,CAACi1B,QAAP,CAAiB9rC,IAAI,CAACiW,IAAtB,KACPY,MAAM,CAACi1B,QAAP,CAAiB9rC,IAAI,CAAC8f,QAAL,CAAcjF,WAAd,EAAjB,CADD;;AAGA,cAAKmZ,KAAK,IACT,SAASA,KADL,IAEJ,CAAEtc,GAAG,GAAGsc,KAAK,CAAC1c,GAAN,CAAWtX,IAAX,EAAiB,OAAjB,CAAR,MAAyCiZ,SAF1C,EAGE;AACD,mBAAOvB,GAAP;AACA;;AAEDA,aAAG,GAAG1X,IAAI,CAACxK,KAAX,CAXW,CAaX;;AACA,cAAK,OAAOkiB,GAAP,KAAe,QAApB,EAA+B;AAC9B,mBAAOA,GAAG,CAAC0B,OAAJ,CAAayyB,OAAb,EAAsB,EAAtB,CAAP;AACA,WAhBU,CAkBX;;;AACA,iBAAOn0B,GAAG,IAAI,IAAP,GAAc,EAAd,GAAmBA,GAA1B;AACA;;AAED;AACA;;AAEDsnB,qBAAe,GAAGnpB,UAAU,CAAErgB,KAAF,CAA5B;AAEA,aAAO,KAAKqiB,IAAL,CAAW,UAAU5Y,CAAV,EAAc;AAC/B,YAAI+kB,GAAJ;;AAEA,YAAK,KAAKlO,QAAL,KAAkB,CAAvB,EAA2B;AAC1B;AACA;;AAED,YAAKkpB,eAAL,EAAuB;AACtBhb,aAAG,GAAGxuB,KAAK,CAACmgB,IAAN,CAAY,IAAZ,EAAkB1W,CAAlB,EAAqB4X,MAAM,CAAE,IAAF,CAAN,CAAemN,GAAf,EAArB,CAAN;AACA,SAFD,MAEO;AACNA,aAAG,GAAGxuB,KAAN;AACA,SAX8B,CAa/B;;;AACA,YAAKwuB,GAAG,IAAI,IAAZ,EAAmB;AAClBA,aAAG,GAAG,EAAN;AAEA,SAHD,MAGO,IAAK,OAAOA,GAAP,KAAe,QAApB,EAA+B;AACrCA,aAAG,IAAI,EAAP;AAEA,SAHM,MAGA,IAAKjL,KAAK,CAACC,OAAN,CAAegL,GAAf,CAAL,EAA4B;AAClCA,aAAG,GAAGnN,MAAM,CAACiB,GAAP,CAAYkM,GAAZ,EAAiB,UAAUxuB,KAAV,EAAkB;AACxC,mBAAOA,KAAK,IAAI,IAAT,GAAgB,EAAhB,GAAqBA,KAAK,GAAG,EAApC;AACA,WAFK,CAAN;AAGA;;AAEDw+B,aAAK,GAAGnd,MAAM,CAACi1B,QAAP,CAAiB,KAAK71B,IAAtB,KAAgCY,MAAM,CAACi1B,QAAP,CAAiB,KAAKhsB,QAAL,CAAcjF,WAAd,EAAjB,CAAxC,CA1B+B,CA4B/B;;AACA,YAAK,CAACmZ,KAAD,IAAU,EAAG,SAASA,KAAZ,CAAV,IAAiCA,KAAK,CAAChB,GAAN,CAAW,IAAX,EAAiBhP,GAAjB,EAAsB,OAAtB,MAAoC/K,SAA1E,EAAsF;AACrF,eAAKzjB,KAAL,GAAawuB,GAAb;AACA;AACD,OAhCM,CAAP;AAiCA;AAlEgB,GAAlB;AAqEAnN,QAAM,CAAC0B,MAAP,CAAe;AACduzB,YAAQ,EAAE;AACT1V,YAAM,EAAE;AACP9e,WAAG,EAAE,aAAUtX,IAAV,EAAiB;AAErB,cAAIgkB,GAAG,GAAGnN,MAAM,CAAC8L,IAAP,CAAY7X,IAAZ,CAAkB9K,IAAlB,EAAwB,OAAxB,CAAV;AACA,iBAAOgkB,GAAG,IAAI,IAAP,GACNA,GADM,GAGN;AACA;AACA;AACA;AACA+mB,0BAAgB,CAAEl0B,MAAM,CAACL,IAAP,CAAaxW,IAAb,CAAF,CAPjB;AAQA;AAZM,OADC;AAeTob,YAAM,EAAE;AACP9D,WAAG,EAAE,aAAUtX,IAAV,EAAiB;AACrB,cAAIxK,KAAJ;AAAA,cAAW4gC,MAAX;AAAA,cAAmBn3B,CAAnB;AAAA,cACCuZ,OAAO,GAAGxY,IAAI,CAACwY,OADhB;AAAA,cAECtc,KAAK,GAAG8D,IAAI,CAACinB,aAFd;AAAA,cAGCuR,GAAG,GAAGx4B,IAAI,CAACiW,IAAL,KAAc,YAHrB;AAAA,cAIC8f,MAAM,GAAGyC,GAAG,GAAG,IAAH,GAAU,EAJvB;AAAA,cAKCkL,GAAG,GAAGlL,GAAG,GAAGt8B,KAAK,GAAG,CAAX,GAAesc,OAAO,CAACpB,MALjC;;AAOA,cAAKlb,KAAK,GAAG,CAAb,EAAiB;AAChB+C,aAAC,GAAGykC,GAAJ;AAEA,WAHD,MAGO;AACNzkC,aAAC,GAAGu5B,GAAG,GAAGt8B,KAAH,GAAW,CAAlB;AACA,WAboB,CAerB;;;AACA,iBAAQ+C,CAAC,GAAGykC,GAAZ,EAAiBzkC,CAAC,EAAlB,EAAuB;AACtBm3B,kBAAM,GAAG5d,OAAO,CAAEvZ,CAAF,CAAhB,CADsB,CAGtB;AACA;;AACA,gBAAK,CAAEm3B,MAAM,CAACpP,QAAP,IAAmB/nB,CAAC,KAAK/C,KAA3B,KAEH;AACA,aAACk6B,MAAM,CAACxX,QAHL,KAID,CAACwX,MAAM,CAACzf,UAAP,CAAkBiI,QAAnB,IACD,CAACkB,QAAQ,CAAEsW,MAAM,CAACzf,UAAT,EAAqB,UAArB,CALP,CAAL,EAKkD;AAEjD;AACAnhB,mBAAK,GAAGqhB,MAAM,CAAEuf,MAAF,CAAN,CAAiBpS,GAAjB,EAAR,CAHiD,CAKjD;;AACA,kBAAKwU,GAAL,EAAW;AACV,uBAAOhjC,KAAP;AACA,eARgD,CAUjD;;;AACAugC,oBAAM,CAAC5gB,IAAP,CAAa3f,KAAb;AACA;AACD;;AAED,iBAAOugC,MAAP;AACA,SA3CM;AA6CP/C,WAAG,EAAE,aAAUhzB,IAAV,EAAgBxK,KAAhB,EAAwB;AAC5B,cAAIu2C,SAAJ;AAAA,cAAe3V,MAAf;AAAA,cACC5d,OAAO,GAAGxY,IAAI,CAACwY,OADhB;AAAA,cAECud,MAAM,GAAGlf,MAAM,CAACkD,SAAP,CAAkBvkB,KAAlB,CAFV;AAAA,cAGCyJ,CAAC,GAAGuZ,OAAO,CAACpB,MAHb;;AAKA,iBAAQnY,CAAC,EAAT,EAAc;AACbm3B,kBAAM,GAAG5d,OAAO,CAAEvZ,CAAF,CAAhB;AAEA;;AAEA,gBAAKm3B,MAAM,CAACpP,QAAP,GACJnQ,MAAM,CAACoD,OAAP,CAAgBpD,MAAM,CAACi1B,QAAP,CAAgB1V,MAAhB,CAAuB9e,GAAvB,CAA4B8e,MAA5B,CAAhB,EAAsDL,MAAtD,IAAiE,CAAC,CADnE,EAEE;AACDgW,uBAAS,GAAG,IAAZ;AACA;AAED;;AACA,WAlB2B,CAoB5B;;;AACA,cAAK,CAACA,SAAN,EAAkB;AACjB/rC,gBAAI,CAACinB,aAAL,GAAqB,CAAC,CAAtB;AACA;;AACD,iBAAO8O,MAAP;AACA;AAtEM;AAfC;AADI,GAAf,EA9zPiF,CAy5PjF;;AACAlf,QAAM,CAACgB,IAAP,CAAa,CAAE,OAAF,EAAW,UAAX,CAAb,EAAsC,YAAW;AAChDhB,UAAM,CAACi1B,QAAP,CAAiB,IAAjB,IAA0B;AACzB9Y,SAAG,EAAE,aAAUhzB,IAAV,EAAgBxK,KAAhB,EAAwB;AAC5B,YAAKujB,KAAK,CAACC,OAAN,CAAexjB,KAAf,CAAL,EAA8B;AAC7B,iBAASwK,IAAI,CAAC+mB,OAAL,GAAelQ,MAAM,CAACoD,OAAP,CAAgBpD,MAAM,CAAE7W,IAAF,CAAN,CAAegkB,GAAf,EAAhB,EAAsCxuB,KAAtC,IAAgD,CAAC,CAAzE;AACA;AACD;AALwB,KAA1B;;AAOA,QAAK,CAACogB,OAAO,CAACm0B,OAAd,EAAwB;AACvBlzB,YAAM,CAACi1B,QAAP,CAAiB,IAAjB,EAAwBx0B,GAAxB,GAA8B,UAAUtX,IAAV,EAAiB;AAC9C,eAAOA,IAAI,CAAC+f,YAAL,CAAmB,OAAnB,MAAiC,IAAjC,GAAwC,IAAxC,GAA+C/f,IAAI,CAACxK,KAA3D;AACA,OAFD;AAGA;AACD,GAbD,EA15PiF,CA46PjF;;AAGAogB,SAAO,CAACo2B,OAAR,GAAkB,eAAevwC,MAAjC;;AAGA,MAAIwwC,WAAW,GAAG,iCAAlB;AAAA,MACCC,uBAAuB,GAAG,SAA1BA,uBAA0B,CAAUrvC,CAAV,EAAc;AACvCA,KAAC,CAAC09B,eAAF;AACA,GAHF;;AAKA1jB,QAAM,CAAC0B,MAAP,CAAe1B,MAAM,CAACljB,KAAtB,EAA6B;AAE5BkN,WAAO,EAAE,iBAAUlN,KAAV,EAAiBkE,IAAjB,EAAuBmI,IAAvB,EAA6BmsC,YAA7B,EAA4C;AAEpD,UAAIltC,CAAJ;AAAA,UAAOkiB,GAAP;AAAA,UAAY2B,GAAZ;AAAA,UAAiBspB,UAAjB;AAAA,UAA6BC,MAA7B;AAAA,UAAqC54C,MAArC;AAAA,UAA6Cm8B,OAA7C;AAAA,UAAsD0c,WAAtD;AAAA,UACCC,SAAS,GAAG,CAAEvsC,IAAI,IAAI7L,QAAV,CADb;AAAA,UAEC8hB,IAAI,GAAGV,MAAM,CAACI,IAAP,CAAahiB,KAAb,EAAoB,MAApB,IAA+BA,KAAK,CAACsiB,IAArC,GAA4CtiB,KAFpD;AAAA,UAGCslC,UAAU,GAAG1jB,MAAM,CAACI,IAAP,CAAahiB,KAAb,EAAoB,WAApB,IAAoCA,KAAK,CAAC2lC,SAAN,CAAgB1e,KAAhB,CAAuB,GAAvB,CAApC,GAAmE,EAHjF;AAKAuG,SAAG,GAAGmrB,WAAW,GAAGxpB,GAAG,GAAG9iB,IAAI,GAAGA,IAAI,IAAI7L,QAAzC,CAPoD,CASpD;;AACA,UAAK6L,IAAI,CAAC8V,QAAL,KAAkB,CAAlB,IAAuB9V,IAAI,CAAC8V,QAAL,KAAkB,CAA9C,EAAkD;AACjD;AACA,OAZmD,CAcpD;;;AACA,UAAKm2B,WAAW,CAACpsB,IAAZ,CAAkB5J,IAAI,GAAGY,MAAM,CAACljB,KAAP,CAAaylC,SAAtC,CAAL,EAAyD;AACxD;AACA;;AAED,UAAKnjB,IAAI,CAACb,OAAL,CAAc,GAAd,IAAsB,CAAC,CAA5B,EAAgC;AAE/B;AACA6jB,kBAAU,GAAGhjB,IAAI,CAAC2E,KAAL,CAAY,GAAZ,CAAb;AACA3E,YAAI,GAAGgjB,UAAU,CAACtY,KAAX,EAAP;AACAsY,kBAAU,CAAC5gB,IAAX;AACA;;AACDg0B,YAAM,GAAGp2B,IAAI,CAACb,OAAL,CAAc,GAAd,IAAsB,CAAtB,IAA2B,OAAOa,IAA3C,CA1BoD,CA4BpD;;AACAtiB,WAAK,GAAGA,KAAK,CAAEkjB,MAAM,CAACqC,OAAT,CAAL,GACPvlB,KADO,GAEP,IAAIkjB,MAAM,CAACrgB,KAAX,CAAkByf,IAAlB,EAAwB,QAAOtiB,KAAP,MAAiB,QAAjB,IAA6BA,KAArD,CAFD,CA7BoD,CAiCpD;;AACAA,WAAK,CAAC64C,SAAN,GAAkBL,YAAY,GAAG,CAAH,GAAO,CAArC;AACAx4C,WAAK,CAAC2lC,SAAN,GAAkBL,UAAU,CAAC/Y,IAAX,CAAiB,GAAjB,CAAlB;AACAvsB,WAAK,CAAC0mC,UAAN,GAAmB1mC,KAAK,CAAC2lC,SAAN,GAClB,IAAItc,MAAJ,CAAY,YAAYic,UAAU,CAAC/Y,IAAX,CAAiB,eAAjB,CAAZ,GAAiD,SAA7D,CADkB,GAElB,IAFD,CApCoD,CAwCpD;;AACAvsB,WAAK,CAACyxB,MAAN,GAAenM,SAAf;;AACA,UAAK,CAACtlB,KAAK,CAACmL,MAAZ,EAAqB;AACpBnL,aAAK,CAACmL,MAAN,GAAekB,IAAf;AACA,OA5CmD,CA8CpD;;;AACAnI,UAAI,GAAGA,IAAI,IAAI,IAAR,GACN,CAAElE,KAAF,CADM,GAENkjB,MAAM,CAACkD,SAAP,CAAkBliB,IAAlB,EAAwB,CAAElE,KAAF,CAAxB,CAFD,CA/CoD,CAmDpD;;AACAi8B,aAAO,GAAG/Y,MAAM,CAACljB,KAAP,CAAai8B,OAAb,CAAsB3Z,IAAtB,KAAgC,EAA1C;;AACA,UAAK,CAACk2B,YAAD,IAAiBvc,OAAO,CAAC/uB,OAAzB,IAAoC+uB,OAAO,CAAC/uB,OAAR,CAAgBkX,KAAhB,CAAuB/X,IAAvB,EAA6BnI,IAA7B,MAAwC,KAAjF,EAAyF;AACxF;AACA,OAvDmD,CAyDpD;AACA;;;AACA,UAAK,CAACs0C,YAAD,IAAiB,CAACvc,OAAO,CAACqL,QAA1B,IAAsC,CAACllB,QAAQ,CAAE/V,IAAF,CAApD,EAA+D;AAE9DosC,kBAAU,GAAGxc,OAAO,CAACp8B,YAAR,IAAwByiB,IAArC;;AACA,YAAK,CAACg2B,WAAW,CAACpsB,IAAZ,CAAkBusB,UAAU,GAAGn2B,IAA/B,CAAN,EAA8C;AAC7CkL,aAAG,GAAGA,GAAG,CAACxK,UAAV;AACA;;AACD,eAAQwK,GAAR,EAAaA,GAAG,GAAGA,GAAG,CAACxK,UAAvB,EAAoC;AACnC41B,mBAAS,CAACp3B,IAAV,CAAgBgM,GAAhB;AACA2B,aAAG,GAAG3B,GAAN;AACA,SAT6D,CAW9D;;;AACA,YAAK2B,GAAG,MAAO9iB,IAAI,CAACuf,aAAL,IAAsBprB,QAA7B,CAAR,EAAkD;AACjDo4C,mBAAS,CAACp3B,IAAV,CAAgB2N,GAAG,CAACb,WAAJ,IAAmBa,GAAG,CAAC2pB,YAAvB,IAAuChxC,MAAvD;AACA;AACD,OA1EmD,CA4EpD;;;AACAwD,OAAC,GAAG,CAAJ;;AACA,aAAQ,CAAEkiB,GAAG,GAAGorB,SAAS,CAAEttC,CAAC,EAAH,CAAjB,KAA8B,CAACtL,KAAK,CAACumC,oBAAN,EAAvC,EAAsE;AACrEoS,mBAAW,GAAGnrB,GAAd;AACAxtB,aAAK,CAACsiB,IAAN,GAAahX,CAAC,GAAG,CAAJ,GACZmtC,UADY,GAEZxc,OAAO,CAACr8B,QAAR,IAAoB0iB,IAFrB,CAFqE,CAMrE;;AACAxiB,cAAM,GAAG,CAAE0/B,QAAQ,CAAC7b,GAAT,CAAc6J,GAAd,EAAmB,QAAnB,KAAiC,EAAnC,EAAyCxtB,KAAK,CAACsiB,IAA/C,KACRkd,QAAQ,CAAC7b,GAAT,CAAc6J,GAAd,EAAmB,QAAnB,CADD;;AAEA,YAAK1tB,MAAL,EAAc;AACbA,gBAAM,CAACskB,KAAP,CAAcoJ,GAAd,EAAmBtpB,IAAnB;AACA,SAXoE,CAarE;;;AACApE,cAAM,GAAG44C,MAAM,IAAIlrB,GAAG,CAAEkrB,MAAF,CAAtB;;AACA,YAAK54C,MAAM,IAAIA,MAAM,CAACskB,KAAjB,IAA0B2a,UAAU,CAAEvR,GAAF,CAAzC,EAAmD;AAClDxtB,eAAK,CAACyxB,MAAN,GAAe3xB,MAAM,CAACskB,KAAP,CAAcoJ,GAAd,EAAmBtpB,IAAnB,CAAf;;AACA,cAAKlE,KAAK,CAACyxB,MAAN,KAAiB,KAAtB,EAA8B;AAC7BzxB,iBAAK,CAAC2mC,cAAN;AACA;AACD;AACD;;AACD3mC,WAAK,CAACsiB,IAAN,GAAaA,IAAb,CApGoD,CAsGpD;;AACA,UAAK,CAACk2B,YAAD,IAAiB,CAACx4C,KAAK,CAAC4nC,kBAAN,EAAvB,EAAoD;AAEnD,YAAK,CAAE,CAAC3L,OAAO,CAAC4G,QAAT,IACN5G,OAAO,CAAC4G,QAAR,CAAiBze,KAAjB,CAAwBw0B,SAAS,CAAChwB,GAAV,EAAxB,EAAyC1kB,IAAzC,MAAoD,KADhD,KAEJ66B,UAAU,CAAE1yB,IAAF,CAFX,EAEsB;AAErB;AACA;AACA,cAAKqsC,MAAM,IAAIx2B,UAAU,CAAE7V,IAAI,CAAEiW,IAAF,CAAN,CAApB,IAAwC,CAACF,QAAQ,CAAE/V,IAAF,CAAtD,EAAiE;AAEhE;AACA8iB,eAAG,GAAG9iB,IAAI,CAAEqsC,MAAF,CAAV;;AAEA,gBAAKvpB,GAAL,EAAW;AACV9iB,kBAAI,CAAEqsC,MAAF,CAAJ,GAAiB,IAAjB;AACA,aAP+D,CAShE;;;AACAx1B,kBAAM,CAACljB,KAAP,CAAaylC,SAAb,GAAyBnjB,IAAzB;;AAEA,gBAAKtiB,KAAK,CAACumC,oBAAN,EAAL,EAAoC;AACnCoS,yBAAW,CAACnqB,gBAAZ,CAA8BlM,IAA9B,EAAoCi2B,uBAApC;AACA;;AAEDlsC,gBAAI,CAAEiW,IAAF,CAAJ;;AAEA,gBAAKtiB,KAAK,CAACumC,oBAAN,EAAL,EAAoC;AACnCoS,yBAAW,CAAC5a,mBAAZ,CAAiCzb,IAAjC,EAAuCi2B,uBAAvC;AACA;;AAEDr1B,kBAAM,CAACljB,KAAP,CAAaylC,SAAb,GAAyBngB,SAAzB;;AAEA,gBAAK6J,GAAL,EAAW;AACV9iB,kBAAI,CAAEqsC,MAAF,CAAJ,GAAiBvpB,GAAjB;AACA;AACD;AACD;AACD;;AAED,aAAOnvB,KAAK,CAACyxB,MAAb;AACA,KAjJ2B;AAmJ5B;AACA;AACAsnB,YAAQ,EAAE,kBAAUz2B,IAAV,EAAgBjW,IAAhB,EAAsBrM,KAAtB,EAA8B;AACvC,UAAIkJ,CAAC,GAAGga,MAAM,CAAC0B,MAAP,CACP,IAAI1B,MAAM,CAACrgB,KAAX,EADO,EAEP7C,KAFO,EAGP;AACCsiB,YAAI,EAAEA,IADP;AAEC0lB,mBAAW,EAAE;AAFd,OAHO,CAAR;AASA9kB,YAAM,CAACljB,KAAP,CAAakN,OAAb,CAAsBhE,CAAtB,EAAyB,IAAzB,EAA+BmD,IAA/B;AACA;AAhK2B,GAA7B;AAoKA6W,QAAM,CAACC,EAAP,CAAUyB,MAAV,CAAkB;AAEjB1X,WAAO,EAAE,iBAAUoV,IAAV,EAAgBpe,IAAhB,EAAuB;AAC/B,aAAO,KAAKggB,IAAL,CAAW,YAAW;AAC5BhB,cAAM,CAACljB,KAAP,CAAakN,OAAb,CAAsBoV,IAAtB,EAA4Bpe,IAA5B,EAAkC,IAAlC;AACA,OAFM,CAAP;AAGA,KANgB;AAOjB80C,kBAAc,EAAE,wBAAU12B,IAAV,EAAgBpe,IAAhB,EAAuB;AACtC,UAAImI,IAAI,GAAG,KAAM,CAAN,CAAX;;AACA,UAAKA,IAAL,EAAY;AACX,eAAO6W,MAAM,CAACljB,KAAP,CAAakN,OAAb,CAAsBoV,IAAtB,EAA4Bpe,IAA5B,EAAkCmI,IAAlC,EAAwC,IAAxC,CAAP;AACA;AACD;AAZgB,GAAlB,EA3lQiF,CA2mQjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAK,CAAC4V,OAAO,CAACo2B,OAAd,EAAwB;AACvBn1B,UAAM,CAACgB,IAAP,CAAa;AAAErS,WAAK,EAAE,SAAT;AAAoB01B,UAAI,EAAE;AAA1B,KAAb,EAAqD,UAAU0C,IAAV,EAAgB9D,GAAhB,EAAsB;AAE1E;AACA,UAAI9Y,OAAO,GAAG,SAAVA,OAAU,CAAUrtB,KAAV,EAAkB;AAC/BkjB,cAAM,CAACljB,KAAP,CAAa+4C,QAAb,CAAuB5S,GAAvB,EAA4BnmC,KAAK,CAACmL,MAAlC,EAA0C+X,MAAM,CAACljB,KAAP,CAAammC,GAAb,CAAkBnmC,KAAlB,CAA1C;AACA,OAFD;;AAIAkjB,YAAM,CAACljB,KAAP,CAAai8B,OAAb,CAAsBkK,GAAtB,IAA8B;AAC7BN,aAAK,EAAE,iBAAW;AACjB,cAAInjB,GAAG,GAAG,KAAKkJ,aAAL,IAAsB,IAAhC;AAAA,cACCqtB,QAAQ,GAAGzZ,QAAQ,CAACtB,MAAT,CAAiBxb,GAAjB,EAAsByjB,GAAtB,CADZ;;AAGA,cAAK,CAAC8S,QAAN,EAAiB;AAChBv2B,eAAG,CAAC8L,gBAAJ,CAAsByb,IAAtB,EAA4B5c,OAA5B,EAAqC,IAArC;AACA;;AACDmS,kBAAQ,CAACtB,MAAT,CAAiBxb,GAAjB,EAAsByjB,GAAtB,EAA2B,CAAE8S,QAAQ,IAAI,CAAd,IAAoB,CAA/C;AACA,SAT4B;AAU7BjT,gBAAQ,EAAE,oBAAW;AACpB,cAAItjB,GAAG,GAAG,KAAKkJ,aAAL,IAAsB,IAAhC;AAAA,cACCqtB,QAAQ,GAAGzZ,QAAQ,CAACtB,MAAT,CAAiBxb,GAAjB,EAAsByjB,GAAtB,IAA8B,CAD1C;;AAGA,cAAK,CAAC8S,QAAN,EAAiB;AAChBv2B,eAAG,CAACqb,mBAAJ,CAAyBkM,IAAzB,EAA+B5c,OAA/B,EAAwC,IAAxC;AACAmS,oBAAQ,CAACxF,MAAT,CAAiBtX,GAAjB,EAAsByjB,GAAtB;AAEA,WAJD,MAIO;AACN3G,oBAAQ,CAACtB,MAAT,CAAiBxb,GAAjB,EAAsByjB,GAAtB,EAA2B8S,QAA3B;AACA;AACD;AArB4B,OAA9B;AAuBA,KA9BD;AA+BA;;AACD,MAAIjmB,QAAQ,GAAGlrB,MAAM,CAACkrB,QAAtB;AAEA,MAAIkmB,KAAK,GAAG/wB,IAAI,CAAC4f,GAAL,EAAZ;AAEA,MAAIoR,MAAM,GAAK,IAAf,CAxpQiF,CA4pQjF;;AACAj2B,QAAM,CAACk2B,QAAP,GAAkB,UAAUl1C,IAAV,EAAiB;AAClC,QAAI4tB,GAAJ;;AACA,QAAK,CAAC5tB,IAAD,IAAS,OAAOA,IAAP,KAAgB,QAA9B,EAAyC;AACxC,aAAO,IAAP;AACA,KAJiC,CAMlC;AACA;;;AACA,QAAI;AACH4tB,SAAG,GAAK,IAAIhqB,MAAM,CAACuxC,SAAX,EAAF,CAA2BC,eAA3B,CAA4Cp1C,IAA5C,EAAkD,UAAlD,CAAN;AACA,KAFD,CAEE,OAAQgF,CAAR,EAAY;AACb4oB,SAAG,GAAGxM,SAAN;AACA;;AAED,QAAK,CAACwM,GAAD,IAAQA,GAAG,CAAC/F,oBAAJ,CAA0B,aAA1B,EAA0CtI,MAAvD,EAAgE;AAC/DP,YAAM,CAACyC,KAAP,CAAc,kBAAkBzhB,IAAhC;AACA;;AACD,WAAO4tB,GAAP;AACA,GAlBD;;AAqBA,MACCynB,QAAQ,GAAG,OADZ;AAAA,MAECC,KAAK,GAAG,QAFT;AAAA,MAGCC,eAAe,GAAG,uCAHnB;AAAA,MAICC,YAAY,GAAG,oCAJhB;;AAMA,WAASC,WAAT,CAAsBr5C,MAAtB,EAA8BkB,GAA9B,EAAmCo4C,WAAnC,EAAgDphB,GAAhD,EAAsD;AACrD,QAAI1T,IAAJ;;AAEA,QAAKM,KAAK,CAACC,OAAN,CAAe7jB,GAAf,CAAL,EAA4B;AAE3B;AACA0hB,YAAM,CAACgB,IAAP,CAAa1iB,GAAb,EAAkB,UAAU8J,CAAV,EAAa+uB,CAAb,EAAiB;AAClC,YAAKuf,WAAW,IAAIL,QAAQ,CAACrtB,IAAT,CAAe5rB,MAAf,CAApB,EAA8C;AAE7C;AACAk4B,aAAG,CAAEl4B,MAAF,EAAU+5B,CAAV,CAAH;AAEA,SALD,MAKO;AAEN;AACAsf,qBAAW,CACVr5C,MAAM,GAAG,GAAT,IAAiB,QAAO+5B,CAAP,MAAa,QAAb,IAAyBA,CAAC,IAAI,IAA9B,GAAqC/uB,CAArC,GAAyC,EAA1D,IAAiE,GADvD,EAEV+uB,CAFU,EAGVuf,WAHU,EAIVphB,GAJU,CAAX;AAMA;AACD,OAhBD;AAkBA,KArBD,MAqBO,IAAK,CAACohB,WAAD,IAAgB53C,MAAM,CAAER,GAAF,CAAN,KAAkB,QAAvC,EAAkD;AAExD;AACA,WAAMsjB,IAAN,IAActjB,GAAd,EAAoB;AACnBm4C,mBAAW,CAAEr5C,MAAM,GAAG,GAAT,GAAewkB,IAAf,GAAsB,GAAxB,EAA6BtjB,GAAG,CAAEsjB,IAAF,CAAhC,EAA0C80B,WAA1C,EAAuDphB,GAAvD,CAAX;AACA;AAED,KAPM,MAOA;AAEN;AACAA,SAAG,CAAEl4B,MAAF,EAAUkB,GAAV,CAAH;AACA;AACD,GA5tQgF,CA8tQjF;AACA;;;AACA0hB,QAAM,CAAC22B,KAAP,GAAe,UAAUzkC,CAAV,EAAawkC,WAAb,EAA2B;AACzC,QAAIt5C,MAAJ;AAAA,QACCkW,CAAC,GAAG,EADL;AAAA,QAECgiB,GAAG,GAAG,SAANA,GAAM,CAAU1L,GAAV,EAAegtB,eAAf,EAAiC;AAEtC;AACA,UAAIj4C,KAAK,GAAGqgB,UAAU,CAAE43B,eAAF,CAAV,GACXA,eAAe,EADJ,GAEXA,eAFD;AAIAtjC,OAAC,CAAEA,CAAC,CAACiN,MAAJ,CAAD,GAAgBs2B,kBAAkB,CAAEjtB,GAAF,CAAlB,GAA4B,GAA5B,GACfitB,kBAAkB,CAAEl4C,KAAK,IAAI,IAAT,GAAgB,EAAhB,GAAqBA,KAAvB,CADnB;AAEA,KAXF,CADyC,CAczC;;;AACA,QAAKujB,KAAK,CAACC,OAAN,CAAejQ,CAAf,KAAwBA,CAAC,CAACmO,MAAF,IAAY,CAACL,MAAM,CAACiC,aAAP,CAAsB/P,CAAtB,CAA1C,EAAwE;AAEvE;AACA8N,YAAM,CAACgB,IAAP,CAAa9O,CAAb,EAAgB,YAAW;AAC1BojB,WAAG,CAAE,KAAK1T,IAAP,EAAa,KAAKjjB,KAAlB,CAAH;AACA,OAFD;AAIA,KAPD,MAOO;AAEN;AACA;AACA,WAAMvB,MAAN,IAAgB8U,CAAhB,EAAoB;AACnBukC,mBAAW,CAAEr5C,MAAF,EAAU8U,CAAC,CAAE9U,MAAF,CAAX,EAAuBs5C,WAAvB,EAAoCphB,GAApC,CAAX;AACA;AACD,KA7BwC,CA+BzC;;;AACA,WAAOhiB,CAAC,CAAC+V,IAAF,CAAQ,GAAR,CAAP;AACA,GAjCD;;AAmCArJ,QAAM,CAACC,EAAP,CAAUyB,MAAV,CAAkB;AACjBo1B,aAAS,EAAE,qBAAW;AACrB,aAAO92B,MAAM,CAAC22B,KAAP,CAAc,KAAKI,cAAL,EAAd,CAAP;AACA,KAHgB;AAIjBA,kBAAc,EAAE,0BAAW;AAC1B,aAAO,KAAK91B,GAAL,CAAU,YAAW;AAE3B;AACA,YAAIvP,QAAQ,GAAGsO,MAAM,CAACoc,IAAP,CAAa,IAAb,EAAmB,UAAnB,CAAf;AACA,eAAO1qB,QAAQ,GAAGsO,MAAM,CAACkD,SAAP,CAAkBxR,QAAlB,CAAH,GAAkC,IAAjD;AACA,OALM,EAMNka,MANM,CAME,YAAW;AACnB,YAAIxM,IAAI,GAAG,KAAKA,IAAhB,CADmB,CAGnB;;AACA,eAAO,KAAKwC,IAAL,IAAa,CAAC5B,MAAM,CAAE,IAAF,CAAN,CAAemU,EAAf,CAAmB,WAAnB,CAAd,IACNqiB,YAAY,CAACxtB,IAAb,CAAmB,KAAKC,QAAxB,CADM,IACgC,CAACstB,eAAe,CAACvtB,IAAhB,CAAsB5J,IAAtB,CADjC,KAEJ,KAAK8Q,OAAL,IAAgB,CAACiP,cAAc,CAACnW,IAAf,CAAqB5J,IAArB,CAFb,CAAP;AAGA,OAbM,EAcN6B,GAdM,CAcD,UAAU7Y,CAAV,EAAae,IAAb,EAAoB;AACzB,YAAIgkB,GAAG,GAAGnN,MAAM,CAAE,IAAF,CAAN,CAAemN,GAAf,EAAV;;AAEA,YAAKA,GAAG,IAAI,IAAZ,EAAmB;AAClB,iBAAO,IAAP;AACA;;AAED,YAAKjL,KAAK,CAACC,OAAN,CAAegL,GAAf,CAAL,EAA4B;AAC3B,iBAAOnN,MAAM,CAACiB,GAAP,CAAYkM,GAAZ,EAAiB,UAAUA,GAAV,EAAgB;AACvC,mBAAO;AAAEvL,kBAAI,EAAEzY,IAAI,CAACyY,IAAb;AAAmBjjB,mBAAK,EAAEwuB,GAAG,CAAC5K,OAAJ,CAAa+zB,KAAb,EAAoB,MAApB;AAA1B,aAAP;AACA,WAFM,CAAP;AAGA;;AAED,eAAO;AAAE10B,cAAI,EAAEzY,IAAI,CAACyY,IAAb;AAAmBjjB,eAAK,EAAEwuB,GAAG,CAAC5K,OAAJ,CAAa+zB,KAAb,EAAoB,MAApB;AAA1B,SAAP;AACA,OA5BM,EA4BH71B,GA5BG,EAAP;AA6BA;AAlCgB,GAAlB;AAsCA,MACCu2B,GAAG,GAAG,MADP;AAAA,MAECC,KAAK,GAAG,MAFT;AAAA,MAGCC,UAAU,GAAG,eAHd;AAAA,MAICC,QAAQ,GAAG,4BAJZ;AAAA,MAMC;AACAC,gBAAc,GAAG,2DAPlB;AAAA,MAQCC,UAAU,GAAG,gBARd;AAAA,MASCC,SAAS,GAAG,OATb;;AAWC;;;;;;;;;AASAnG,YAAU,GAAG,EApBd;;AAsBC;;;;;AAKAoG,YAAU,GAAG,EA3Bd;AAAA,MA6BC;AACAC,UAAQ,GAAG,KAAKn5B,MAAL,CAAa,GAAb,CA9BZ;AAAA,MAgCC;AACAo5B,cAAY,GAAGn6C,QAAQ,CAACoiB,aAAT,CAAwB,GAAxB,CAjChB;AAkCC+3B,cAAY,CAACznB,IAAb,GAAoBF,QAAQ,CAACE,IAA7B,CA30QgF,CA60QjF;;AACA,WAAS0nB,2BAAT,CAAsCC,SAAtC,EAAkD;AAEjD;AACA,WAAO,UAAUC,kBAAV,EAA8B9f,IAA9B,EAAqC;AAE3C,UAAK,OAAO8f,kBAAP,KAA8B,QAAnC,EAA8C;AAC7C9f,YAAI,GAAG8f,kBAAP;AACAA,0BAAkB,GAAG,GAArB;AACA;;AAED,UAAIC,QAAJ;AAAA,UACCzvC,CAAC,GAAG,CADL;AAAA,UAEC0vC,SAAS,GAAGF,kBAAkB,CAAC5zB,WAAnB,GAAiCsE,KAAjC,CAAwC0N,aAAxC,KAA2D,EAFxE;;AAIA,UAAKhX,UAAU,CAAE8Y,IAAF,CAAf,EAA0B;AAEzB;AACA,eAAU+f,QAAQ,GAAGC,SAAS,CAAE1vC,CAAC,EAAH,CAA9B,EAA0C;AAEzC;AACA,cAAKyvC,QAAQ,CAAE,CAAF,CAAR,KAAkB,GAAvB,EAA6B;AAC5BA,oBAAQ,GAAGA,QAAQ,CAACz5B,KAAT,CAAgB,CAAhB,KAAuB,GAAlC;AACA,aAAEu5B,SAAS,CAAEE,QAAF,CAAT,GAAwBF,SAAS,CAAEE,QAAF,CAAT,IAAyB,EAAnD,EAAwD5qB,OAAxD,CAAiE6K,IAAjE,EAF4B,CAI7B;AACC,WALD,MAKO;AACN,aAAE6f,SAAS,CAAEE,QAAF,CAAT,GAAwBF,SAAS,CAAEE,QAAF,CAAT,IAAyB,EAAnD,EAAwDv5B,IAAxD,CAA8DwZ,IAA9D;AACA;AACD;AACD;AACD,KA3BD;AA4BA,GA72QgF,CA+2QjF;;;AACA,WAASigB,6BAAT,CAAwCJ,SAAxC,EAAmDh2B,OAAnD,EAA4D6vB,eAA5D,EAA6EwG,KAA7E,EAAqF;AAEpF,QAAIC,SAAS,GAAG,EAAhB;AAAA,QACCC,gBAAgB,GAAKP,SAAS,KAAKJ,UADpC;;AAGA,aAASY,OAAT,CAAkBN,QAAlB,EAA6B;AAC5B,UAAI1nB,QAAJ;AACA8nB,eAAS,CAAEJ,QAAF,CAAT,GAAwB,IAAxB;AACA73B,YAAM,CAACgB,IAAP,CAAa22B,SAAS,CAAEE,QAAF,CAAT,IAAyB,EAAtC,EAA0C,UAAU5wB,CAAV,EAAamxB,kBAAb,EAAkC;AAC3E,YAAIC,mBAAmB,GAAGD,kBAAkB,CAAEz2B,OAAF,EAAW6vB,eAAX,EAA4BwG,KAA5B,CAA5C;;AACA,YAAK,OAAOK,mBAAP,KAA+B,QAA/B,IACJ,CAACH,gBADG,IACiB,CAACD,SAAS,CAAEI,mBAAF,CADhC,EAC0D;AAEzD12B,iBAAO,CAACm2B,SAAR,CAAkB7qB,OAAlB,CAA2BorB,mBAA3B;AACAF,iBAAO,CAAEE,mBAAF,CAAP;AACA,iBAAO,KAAP;AACA,SAND,MAMO,IAAKH,gBAAL,EAAwB;AAC9B,iBAAO,EAAG/nB,QAAQ,GAAGkoB,mBAAd,CAAP;AACA;AACD,OAXD;AAYA,aAAOloB,QAAP;AACA;;AAED,WAAOgoB,OAAO,CAAEx2B,OAAO,CAACm2B,SAAR,CAAmB,CAAnB,CAAF,CAAP,IAAqC,CAACG,SAAS,CAAE,GAAF,CAAV,IAAqBE,OAAO,CAAE,GAAF,CAAxE;AACA,GAx4QgF,CA04QjF;AACA;AACA;;;AACA,WAASG,UAAT,CAAqBrwC,MAArB,EAA6BoX,GAA7B,EAAmC;AAClC,QAAIuK,GAAJ;AAAA,QAAS5H,IAAT;AAAA,QACCu2B,WAAW,GAAGv4B,MAAM,CAACw4B,YAAP,CAAoBD,WAApB,IAAmC,EADlD;;AAGA,SAAM3uB,GAAN,IAAavK,GAAb,EAAmB;AAClB,UAAKA,GAAG,CAAEuK,GAAF,CAAH,KAAexH,SAApB,EAAgC;AAC/B,SAAEm2B,WAAW,CAAE3uB,GAAF,CAAX,GAAqB3hB,MAArB,GAAgC+Z,IAAI,KAAMA,IAAI,GAAG,EAAb,CAAtC,EAA6D4H,GAA7D,IAAqEvK,GAAG,CAAEuK,GAAF,CAAxE;AACA;AACD;;AACD,QAAK5H,IAAL,EAAY;AACXhC,YAAM,CAAC0B,MAAP,CAAe,IAAf,EAAqBzZ,MAArB,EAA6B+Z,IAA7B;AACA;;AAED,WAAO/Z,MAAP;AACA;AAED;;;;;;AAIA,WAASwwC,mBAAT,CAA8BnlC,CAA9B,EAAiC0kC,KAAjC,EAAwCU,SAAxC,EAAoD;AAEnD,QAAIC,EAAJ;AAAA,QAAQv5B,IAAR;AAAA,QAAcw5B,aAAd;AAAA,QAA6BC,aAA7B;AAAA,QACC3jB,QAAQ,GAAG5hB,CAAC,CAAC4hB,QADd;AAAA,QAEC4iB,SAAS,GAAGxkC,CAAC,CAACwkC,SAFf,CAFmD,CAMnD;;AACA,WAAQA,SAAS,CAAE,CAAF,CAAT,KAAmB,GAA3B,EAAiC;AAChCA,eAAS,CAAChuB,KAAV;;AACA,UAAK6uB,EAAE,KAAKv2B,SAAZ,EAAwB;AACvBu2B,UAAE,GAAGrlC,CAAC,CAACwlC,QAAF,IAAcd,KAAK,CAACe,iBAAN,CAAyB,cAAzB,CAAnB;AACA;AACD,KAZkD,CAcnD;;;AACA,QAAKJ,EAAL,EAAU;AACT,WAAMv5B,IAAN,IAAc8V,QAAd,EAAyB;AACxB,YAAKA,QAAQ,CAAE9V,IAAF,CAAR,IAAoB8V,QAAQ,CAAE9V,IAAF,CAAR,CAAiB4J,IAAjB,CAAuB2vB,EAAvB,CAAzB,EAAuD;AACtDb,mBAAS,CAAC7qB,OAAV,CAAmB7N,IAAnB;AACA;AACA;AACD;AACD,KAtBkD,CAwBnD;;;AACA,QAAK04B,SAAS,CAAE,CAAF,CAAT,IAAkBY,SAAvB,EAAmC;AAClCE,mBAAa,GAAGd,SAAS,CAAE,CAAF,CAAzB;AACA,KAFD,MAEO;AAEN;AACA,WAAM14B,IAAN,IAAcs5B,SAAd,EAA0B;AACzB,YAAK,CAACZ,SAAS,CAAE,CAAF,CAAV,IAAmBxkC,CAAC,CAAC0lC,UAAF,CAAc55B,IAAI,GAAG,GAAP,GAAa04B,SAAS,CAAE,CAAF,CAApC,CAAxB,EAAsE;AACrEc,uBAAa,GAAGx5B,IAAhB;AACA;AACA;;AACD,YAAK,CAACy5B,aAAN,EAAsB;AACrBA,uBAAa,GAAGz5B,IAAhB;AACA;AACD,OAXK,CAaN;;;AACAw5B,mBAAa,GAAGA,aAAa,IAAIC,aAAjC;AACA,KA1CkD,CA4CnD;AACA;AACA;;;AACA,QAAKD,aAAL,EAAqB;AACpB,UAAKA,aAAa,KAAKd,SAAS,CAAE,CAAF,CAAhC,EAAwC;AACvCA,iBAAS,CAAC7qB,OAAV,CAAmB2rB,aAAnB;AACA;;AACD,aAAOF,SAAS,CAAEE,aAAF,CAAhB;AACA;AACD;AAED;;;;;AAGA,WAASK,WAAT,CAAsB3lC,CAAtB,EAAyB4lC,QAAzB,EAAmClB,KAAnC,EAA0CmB,SAA1C,EAAsD;AACrD,QAAIC,KAAJ;AAAA,QAAWC,OAAX;AAAA,QAAoBC,IAApB;AAAA,QAA0BrtB,GAA1B;AAAA,QAA+BlnB,IAA/B;AAAA,QACCi0C,UAAU,GAAG,EADd;AAAA,QAGC;AACAlB,aAAS,GAAGxkC,CAAC,CAACwkC,SAAF,CAAY15B,KAAZ,EAJb,CADqD,CAOrD;;AACA,QAAK05B,SAAS,CAAE,CAAF,CAAd,EAAsB;AACrB,WAAMwB,IAAN,IAAchmC,CAAC,CAAC0lC,UAAhB,EAA6B;AAC5BA,kBAAU,CAAEM,IAAI,CAACt1B,WAAL,EAAF,CAAV,GAAmC1Q,CAAC,CAAC0lC,UAAF,CAAcM,IAAd,CAAnC;AACA;AACD;;AAEDD,WAAO,GAAGvB,SAAS,CAAChuB,KAAV,EAAV,CAdqD,CAgBrD;;AACA,WAAQuvB,OAAR,EAAkB;AAEjB,UAAK/lC,CAAC,CAACimC,cAAF,CAAkBF,OAAlB,CAAL,EAAmC;AAClCrB,aAAK,CAAE1kC,CAAC,CAACimC,cAAF,CAAkBF,OAAlB,CAAF,CAAL,GAAuCH,QAAvC;AACA,OAJgB,CAMjB;;;AACA,UAAK,CAACn0C,IAAD,IAASo0C,SAAT,IAAsB7lC,CAAC,CAACkmC,UAA7B,EAA0C;AACzCN,gBAAQ,GAAG5lC,CAAC,CAACkmC,UAAF,CAAcN,QAAd,EAAwB5lC,CAAC,CAACukC,QAA1B,CAAX;AACA;;AAED9yC,UAAI,GAAGs0C,OAAP;AACAA,aAAO,GAAGvB,SAAS,CAAChuB,KAAV,EAAV;;AAEA,UAAKuvB,OAAL,EAAe;AAEd;AACA,YAAKA,OAAO,KAAK,GAAjB,EAAuB;AAEtBA,iBAAO,GAAGt0C,IAAV,CAFsB,CAIvB;AACC,SALD,MAKO,IAAKA,IAAI,KAAK,GAAT,IAAgBA,IAAI,KAAKs0C,OAA9B,EAAwC;AAE9C;AACAC,cAAI,GAAGN,UAAU,CAAEj0C,IAAI,GAAG,GAAP,GAAas0C,OAAf,CAAV,IAAsCL,UAAU,CAAE,OAAOK,OAAT,CAAvD,CAH8C,CAK9C;;AACA,cAAK,CAACC,IAAN,EAAa;AACZ,iBAAMF,KAAN,IAAeJ,UAAf,EAA4B;AAE3B;AACA/sB,iBAAG,GAAGmtB,KAAK,CAACr1B,KAAN,CAAa,GAAb,CAAN;;AACA,kBAAKkI,GAAG,CAAE,CAAF,CAAH,KAAaotB,OAAlB,EAA4B;AAE3B;AACAC,oBAAI,GAAGN,UAAU,CAAEj0C,IAAI,GAAG,GAAP,GAAaknB,GAAG,CAAE,CAAF,CAAlB,CAAV,IACN+sB,UAAU,CAAE,OAAO/sB,GAAG,CAAE,CAAF,CAAZ,CADX;;AAEA,oBAAKqtB,IAAL,EAAY;AAEX;AACA,sBAAKA,IAAI,KAAK,IAAd,EAAqB;AACpBA,wBAAI,GAAGN,UAAU,CAAEI,KAAF,CAAjB,CADoB,CAGrB;AACC,mBAJD,MAIO,IAAKJ,UAAU,CAAEI,KAAF,CAAV,KAAwB,IAA7B,EAAoC;AAC1CC,2BAAO,GAAGptB,GAAG,CAAE,CAAF,CAAb;AACA6rB,6BAAS,CAAC7qB,OAAV,CAAmBhB,GAAG,CAAE,CAAF,CAAtB;AACA;;AACD;AACA;AACD;AACD;AACD,WA/B6C,CAiC9C;;;AACA,cAAKqtB,IAAI,KAAK,IAAd,EAAqB;AAEpB;AACA,gBAAKA,IAAI,IAAIhmC,CAAC,CAACmmC,MAAf,EAAwB;AACvBP,sBAAQ,GAAGI,IAAI,CAAEJ,QAAF,CAAf;AACA,aAFD,MAEO;AACN,kBAAI;AACHA,wBAAQ,GAAGI,IAAI,CAAEJ,QAAF,CAAf;AACA,eAFD,CAEE,OAAQlzC,CAAR,EAAY;AACb,uBAAO;AACNgyB,uBAAK,EAAE,aADD;AAENvV,uBAAK,EAAE62B,IAAI,GAAGtzC,CAAH,GAAO,wBAAwBjB,IAAxB,GAA+B,MAA/B,GAAwCs0C;AAFpD,iBAAP;AAIA;AACD;AACD;AACD;AACD;AACD;;AAED,WAAO;AAAErhB,WAAK,EAAE,SAAT;AAAoBh3B,UAAI,EAAEk4C;AAA1B,KAAP;AACA;;AAEDl5B,QAAM,CAAC0B,MAAP,CAAe;AAEd;AACAhF,UAAM,EAAE,CAHM;AAKd;AACAg9B,gBAAY,EAAE,EANA;AAOdC,QAAI,EAAE,EAPQ;AASdnB,gBAAY,EAAE;AACboB,SAAG,EAAE9pB,QAAQ,CAACE,IADD;AAEb5Q,UAAI,EAAE,KAFO;AAGby6B,aAAO,EAAEzC,cAAc,CAACpuB,IAAf,CAAqB8G,QAAQ,CAACgqB,QAA9B,CAHI;AAIbp8B,YAAM,EAAE,IAJK;AAKbq8B,iBAAW,EAAE,IALA;AAMbC,WAAK,EAAE,IANM;AAObC,iBAAW,EAAE,kDAPA;;AASb;;;;;;;;;;;AAYAC,aAAO,EAAE;AACR,aAAK1C,QADG;AAER73B,YAAI,EAAE,YAFE;AAGRnK,YAAI,EAAE,WAHE;AAIRoZ,WAAG,EAAE,2BAJG;AAKRurB,YAAI,EAAE;AALE,OArBI;AA6BbjlB,cAAQ,EAAE;AACTtG,WAAG,EAAE,SADI;AAETpZ,YAAI,EAAE,QAFG;AAGT2kC,YAAI,EAAE;AAHG,OA7BG;AAmCbZ,oBAAc,EAAE;AACf3qB,WAAG,EAAE,aADU;AAEfjP,YAAI,EAAE,cAFS;AAGfw6B,YAAI,EAAE;AAHS,OAnCH;AAyCb;AACA;AACAnB,gBAAU,EAAE;AAEX;AACA,kBAAU3xB,MAHC;AAKX;AACA,qBAAa,IANF;AAQX;AACA,qBAAasV,IAAI,CAACC,KATP;AAWX;AACA,oBAAY5c,MAAM,CAACk2B;AAZR,OA3CC;AA0Db;AACA;AACA;AACA;AACAqC,iBAAW,EAAE;AACZqB,WAAG,EAAE,IADO;AAEZvrC,eAAO,EAAE;AAFG;AA9DA,KATA;AA6Ed;AACA;AACA;AACA+rC,aAAS,EAAE,mBAAUnyC,MAAV,EAAkBoyC,QAAlB,EAA6B;AACvC,aAAOA,QAAQ,GAEd;AACA/B,gBAAU,CAAEA,UAAU,CAAErwC,MAAF,EAAU+X,MAAM,CAACw4B,YAAjB,CAAZ,EAA6C6B,QAA7C,CAHI,GAKd;AACA/B,gBAAU,CAAEt4B,MAAM,CAACw4B,YAAT,EAAuBvwC,MAAvB,CANX;AAOA,KAxFa;AA0FdqyC,iBAAa,EAAE5C,2BAA2B,CAAEvG,UAAF,CA1F5B;AA2FdoJ,iBAAa,EAAE7C,2BAA2B,CAAEH,UAAF,CA3F5B;AA6Fd;AACAiD,QAAI,EAAE,cAAUZ,GAAV,EAAej4B,OAAf,EAAyB;AAE9B;AACA,UAAK,QAAOi4B,GAAP,MAAe,QAApB,EAA+B;AAC9Bj4B,eAAO,GAAGi4B,GAAV;AACAA,WAAG,GAAGx3B,SAAN;AACA,OAN6B,CAQ9B;;;AACAT,aAAO,GAAGA,OAAO,IAAI,EAArB;;AAEA,UAAI84B,SAAJ;AAAA,UAEC;AACAC,cAHD;AAAA,UAKC;AACAC,2BAND;AAAA,UAOCC,eAPD;AAAA,UASC;AACAC,kBAVD;AAAA,UAYC;AACAC,eAbD;AAAA,UAeC;AACAlgB,eAhBD;AAAA,UAkBC;AACAmgB,iBAnBD;AAAA,UAqBC;AACA3yC,OAtBD;AAAA,UAwBC;AACA4yC,cAzBD;AAAA,UA2BC;AACA1nC,OAAC,GAAG0M,MAAM,CAACo6B,SAAP,CAAkB,EAAlB,EAAsBz4B,OAAtB,CA5BL;AAAA,UA8BC;AACAs5B,qBAAe,GAAG3nC,CAAC,CAACjF,OAAF,IAAaiF,CA/BhC;AAAA,UAiCC;AACA4nC,wBAAkB,GAAG5nC,CAAC,CAACjF,OAAF,KAClB4sC,eAAe,CAACh8B,QAAhB,IAA4Bg8B,eAAe,CAAC56B,MAD1B,IAEnBL,MAAM,CAAEi7B,eAAF,CAFa,GAGnBj7B,MAAM,CAACljB,KArCV;AAAA,UAuCC;AACAo7B,cAAQ,GAAGlY,MAAM,CAAC6X,QAAP,EAxCZ;AAAA,UAyCCsjB,gBAAgB,GAAGn7B,MAAM,CAACoW,SAAP,CAAkB,aAAlB,CAzCpB;AAAA,UA2CC;AACAglB,iBAAU,GAAG9nC,CAAC,CAAC8nC,UAAF,IAAgB,EA5C9B;AAAA,UA8CC;AACAC,oBAAc,GAAG,EA/ClB;AAAA,UAgDCC,mBAAmB,GAAG,EAhDvB;AAAA,UAkDC;AACAC,cAAQ,GAAG,UAnDZ;AAAA,UAqDC;AACAvD,WAAK,GAAG;AACPld,kBAAU,EAAE,CADL;AAGP;AACAie,yBAAiB,EAAE,2BAAUnvB,GAAV,EAAgB;AAClC,cAAItB,KAAJ;;AACA,cAAKsS,SAAL,EAAiB;AAChB,gBAAK,CAACggB,eAAN,EAAwB;AACvBA,6BAAe,GAAG,EAAlB;;AACA,qBAAUtyB,KAAK,GAAG6uB,QAAQ,CAACxuB,IAAT,CAAegyB,qBAAf,CAAlB,EAA6D;AAC5DC,+BAAe,CAAEtyB,KAAK,CAAE,CAAF,CAAL,CAAWtE,WAAX,EAAF,CAAf,GAA8CsE,KAAK,CAAE,CAAF,CAAnD;AACA;AACD;;AACDA,iBAAK,GAAGsyB,eAAe,CAAEhxB,GAAG,CAAC5F,WAAJ,EAAF,CAAvB;AACA;;AACD,iBAAOsE,KAAK,IAAI,IAAT,GAAgB,IAAhB,GAAuBA,KAA9B;AACA,SAhBM;AAkBP;AACAkzB,6BAAqB,EAAE,iCAAW;AACjC,iBAAO5gB,SAAS,GAAG+f,qBAAH,GAA2B,IAA3C;AACA,SArBM;AAuBP;AACAc,wBAAgB,EAAE,0BAAU75B,IAAV,EAAgBjjB,KAAhB,EAAwB;AACzC,cAAKi8B,SAAS,IAAI,IAAlB,EAAyB;AACxBhZ,gBAAI,GAAG05B,mBAAmB,CAAE15B,IAAI,CAACoC,WAAL,EAAF,CAAnB,GACNs3B,mBAAmB,CAAE15B,IAAI,CAACoC,WAAL,EAAF,CAAnB,IAA6CpC,IAD9C;AAEAy5B,0BAAc,CAAEz5B,IAAF,CAAd,GAAyBjjB,KAAzB;AACA;;AACD,iBAAO,IAAP;AACA,SA/BM;AAiCP;AACA+8C,wBAAgB,EAAE,0BAAUt8B,IAAV,EAAiB;AAClC,cAAKwb,SAAS,IAAI,IAAlB,EAAyB;AACxBtnB,aAAC,CAACwlC,QAAF,GAAa15B,IAAb;AACA;;AACD,iBAAO,IAAP;AACA,SAvCM;AAyCP;AACAg8B,kBAAU,EAAE,oBAAUn6B,GAAV,EAAgB;AAC3B,cAAI1O,IAAJ;;AACA,cAAK0O,GAAL,EAAW;AACV,gBAAK2Z,SAAL,EAAiB;AAEhB;AACAod,mBAAK,CAAC/f,MAAN,CAAchX,GAAG,CAAE+2B,KAAK,CAAC2D,MAAR,CAAjB;AACA,aAJD,MAIO;AAEN;AACA,mBAAMppC,IAAN,IAAc0O,GAAd,EAAoB;AACnBm6B,2BAAU,CAAE7oC,IAAF,CAAV,GAAqB,CAAE6oC,WAAU,CAAE7oC,IAAF,CAAZ,EAAsB0O,GAAG,CAAE1O,IAAF,CAAzB,CAArB;AACA;AACD;AACD;;AACD,iBAAO,IAAP;AACA,SA1DM;AA4DP;AACAqpC,aAAK,EAAE,eAAUC,UAAV,EAAuB;AAC7B,cAAIC,SAAS,GAAGD,UAAU,IAAIN,QAA9B;;AACA,cAAKd,SAAL,EAAiB;AAChBA,qBAAS,CAACmB,KAAV,CAAiBE,SAAjB;AACA;;AACD12B,cAAI,CAAE,CAAF,EAAK02B,SAAL,CAAJ;AACA,iBAAO,IAAP;AACA;AApEM,OAtDT,CAX8B,CAwI9B;;;AACA5jB,cAAQ,CAACR,OAAT,CAAkBsgB,KAAlB,EAzI8B,CA2I9B;AACA;AACA;;AACA1kC,OAAC,CAACsmC,GAAF,GAAQ,CAAE,CAAEA,GAAG,IAAItmC,CAAC,CAACsmC,GAAT,IAAgB9pB,QAAQ,CAACE,IAA3B,IAAoC,EAAtC,EACNzN,OADM,CACG+0B,SADH,EACcxnB,QAAQ,CAACgqB,QAAT,GAAoB,IADlC,CAAR,CA9I8B,CAiJ9B;;AACAxmC,OAAC,CAAC8L,IAAF,GAASuC,OAAO,CAACpI,MAAR,IAAkBoI,OAAO,CAACvC,IAA1B,IAAkC9L,CAAC,CAACiG,MAApC,IAA8CjG,CAAC,CAAC8L,IAAzD,CAlJ8B,CAoJ9B;;AACA9L,OAAC,CAACwkC,SAAF,GAAc,CAAExkC,CAAC,CAACukC,QAAF,IAAc,GAAhB,EAAsB7zB,WAAtB,GAAoCsE,KAApC,CAA2C0N,aAA3C,KAA8D,CAAE,EAAF,CAA5E,CArJ8B,CAuJ9B;;AACA,UAAK1iB,CAAC,CAACyoC,WAAF,IAAiB,IAAtB,EAA6B;AAC5BjB,iBAAS,GAAGx9C,QAAQ,CAACoiB,aAAT,CAAwB,GAAxB,CAAZ,CAD4B,CAG5B;AACA;AACA;;AACA,YAAI;AACHo7B,mBAAS,CAAC9qB,IAAV,GAAiB1c,CAAC,CAACsmC,GAAnB,CADG,CAGH;AACA;;AACAkB,mBAAS,CAAC9qB,IAAV,GAAiB8qB,SAAS,CAAC9qB,IAA3B;AACA1c,WAAC,CAACyoC,WAAF,GAAgBtE,YAAY,CAACqC,QAAb,GAAwB,IAAxB,GAA+BrC,YAAY,CAACuE,IAA5C,KACflB,SAAS,CAAChB,QAAV,GAAqB,IAArB,GAA4BgB,SAAS,CAACkB,IADvC;AAEA,SARD,CAQE,OAAQh2C,CAAR,EAAY;AAEb;AACA;AACAsN,WAAC,CAACyoC,WAAF,GAAgB,IAAhB;AACA;AACD,OA5K6B,CA8K9B;;;AACA,UAAKzoC,CAAC,CAACtS,IAAF,IAAUsS,CAAC,CAACymC,WAAZ,IAA2B,OAAOzmC,CAAC,CAACtS,IAAT,KAAkB,QAAlD,EAA6D;AAC5DsS,SAAC,CAACtS,IAAF,GAASgf,MAAM,CAAC22B,KAAP,CAAcrjC,CAAC,CAACtS,IAAhB,EAAsBsS,CAAC,CAACojC,WAAxB,CAAT;AACA,OAjL6B,CAmL9B;;;AACAqB,mCAA6B,CAAE5G,UAAF,EAAc79B,CAAd,EAAiBqO,OAAjB,EAA0Bq2B,KAA1B,CAA7B,CApL8B,CAsL9B;;AACA,UAAKpd,SAAL,EAAiB;AAChB,eAAOod,KAAP;AACA,OAzL6B,CA2L9B;AACA;;;AACA+C,iBAAW,GAAG/6B,MAAM,CAACljB,KAAP,IAAgBwW,CAAC,CAACoK,MAAhC,CA7L8B,CA+L9B;;AACA,UAAKq9B,WAAW,IAAI/6B,MAAM,CAACtD,MAAP,OAAoB,CAAxC,EAA4C;AAC3CsD,cAAM,CAACljB,KAAP,CAAakN,OAAb,CAAsB,WAAtB;AACA,OAlM6B,CAoM9B;;;AACAsJ,OAAC,CAAC8L,IAAF,GAAS9L,CAAC,CAAC8L,IAAF,CAAOsc,WAAP,EAAT,CArM8B,CAuM9B;;AACApoB,OAAC,CAAC2oC,UAAF,GAAe,CAAC5E,UAAU,CAACruB,IAAX,CAAiB1V,CAAC,CAAC8L,IAAnB,CAAhB,CAxM8B,CA0M9B;AACA;AACA;;AACAs7B,cAAQ,GAAGpnC,CAAC,CAACsmC,GAAF,CAAMr3B,OAAN,CAAe00B,KAAf,EAAsB,EAAtB,CAAX,CA7M8B,CA+M9B;;AACA,UAAK,CAAC3jC,CAAC,CAAC2oC,UAAR,EAAqB;AAEpB;AACAjB,gBAAQ,GAAG1nC,CAAC,CAACsmC,GAAF,CAAMx7B,KAAN,CAAas8B,QAAQ,CAACn6B,MAAtB,CAAX,CAHoB,CAKpB;;AACA,YAAKjN,CAAC,CAACtS,IAAF,KAAYsS,CAAC,CAACymC,WAAF,IAAiB,OAAOzmC,CAAC,CAACtS,IAAT,KAAkB,QAA/C,CAAL,EAAiE;AAChE05C,kBAAQ,IAAI,CAAEzE,MAAM,CAACjtB,IAAP,CAAa0xB,QAAb,IAA0B,GAA1B,GAAgC,GAAlC,IAA0CpnC,CAAC,CAACtS,IAAxD,CADgE,CAGhE;;AACA,iBAAOsS,CAAC,CAACtS,IAAT;AACA,SAXmB,CAapB;;;AACA,YAAKsS,CAAC,CAACqW,KAAF,KAAY,KAAjB,EAAyB;AACxB+wB,kBAAQ,GAAGA,QAAQ,CAACn4B,OAAT,CAAkB20B,UAAlB,EAA8B,IAA9B,CAAX;AACA8D,kBAAQ,GAAG,CAAE/E,MAAM,CAACjtB,IAAP,CAAa0xB,QAAb,IAA0B,GAA1B,GAAgC,GAAlC,IAA0C,IAA1C,GAAmD1E,KAAK,EAAxD,GAA+DgF,QAA1E;AACA,SAjBmB,CAmBpB;;;AACA1nC,SAAC,CAACsmC,GAAF,GAAQc,QAAQ,GAAGM,QAAnB,CApBoB,CAsBrB;AACC,OAvBD,MAuBO,IAAK1nC,CAAC,CAACtS,IAAF,IAAUsS,CAAC,CAACymC,WAAZ,IACX,CAAEzmC,CAAC,CAAC2mC,WAAF,IAAiB,EAAnB,EAAwB17B,OAAxB,CAAiC,mCAAjC,MAA2E,CADrE,EACyE;AAC/EjL,SAAC,CAACtS,IAAF,GAASsS,CAAC,CAACtS,IAAF,CAAOuhB,OAAP,CAAgBy0B,GAAhB,EAAqB,GAArB,CAAT;AACA,OA1O6B,CA4O9B;;;AACA,UAAK1jC,CAAC,CAAC4oC,UAAP,EAAoB;AACnB,YAAKl8B,MAAM,CAAC05B,YAAP,CAAqBgB,QAArB,CAAL,EAAuC;AACtC1C,eAAK,CAACyD,gBAAN,CAAwB,mBAAxB,EAA6Cz7B,MAAM,CAAC05B,YAAP,CAAqBgB,QAArB,CAA7C;AACA;;AACD,YAAK16B,MAAM,CAAC25B,IAAP,CAAae,QAAb,CAAL,EAA+B;AAC9B1C,eAAK,CAACyD,gBAAN,CAAwB,eAAxB,EAAyCz7B,MAAM,CAAC25B,IAAP,CAAae,QAAb,CAAzC;AACA;AACD,OApP6B,CAsP9B;;;AACA,UAAKpnC,CAAC,CAACtS,IAAF,IAAUsS,CAAC,CAAC2oC,UAAZ,IAA0B3oC,CAAC,CAAC2mC,WAAF,KAAkB,KAA5C,IAAqDt4B,OAAO,CAACs4B,WAAlE,EAAgF;AAC/EjC,aAAK,CAACyD,gBAAN,CAAwB,cAAxB,EAAwCnoC,CAAC,CAAC2mC,WAA1C;AACA,OAzP6B,CA2P9B;;;AACAjC,WAAK,CAACyD,gBAAN,CACC,QADD,EAECnoC,CAAC,CAACwkC,SAAF,CAAa,CAAb,KAAoBxkC,CAAC,CAAC4mC,OAAF,CAAW5mC,CAAC,CAACwkC,SAAF,CAAa,CAAb,CAAX,CAApB,GACCxkC,CAAC,CAAC4mC,OAAF,CAAW5mC,CAAC,CAACwkC,SAAF,CAAa,CAAb,CAAX,KACGxkC,CAAC,CAACwkC,SAAF,CAAa,CAAb,MAAqB,GAArB,GAA2B,OAAON,QAAP,GAAkB,UAA7C,GAA0D,EAD7D,CADD,GAGClkC,CAAC,CAAC4mC,OAAF,CAAW,GAAX,CALF,EA5P8B,CAoQ9B;;AACA,WAAM9xC,CAAN,IAAWkL,CAAC,CAAC6oC,OAAb,EAAuB;AACtBnE,aAAK,CAACyD,gBAAN,CAAwBrzC,CAAxB,EAA2BkL,CAAC,CAAC6oC,OAAF,CAAW/zC,CAAX,CAA3B;AACA,OAvQ6B,CAyQ9B;;;AACA,UAAKkL,CAAC,CAAC8oC,UAAF,KACF9oC,CAAC,CAAC8oC,UAAF,CAAat9B,IAAb,CAAmBm8B,eAAnB,EAAoCjD,KAApC,EAA2C1kC,CAA3C,MAAmD,KAAnD,IAA4DsnB,SAD1D,CAAL,EAC6E;AAE5E;AACA,eAAOod,KAAK,CAAC4D,KAAN,EAAP;AACA,OA/Q6B,CAiR9B;;;AACAL,cAAQ,GAAG,OAAX,CAlR8B,CAoR9B;;AACAJ,sBAAgB,CAAC7lB,GAAjB,CAAsBhiB,CAAC,CAAC3J,QAAxB;AACAquC,WAAK,CAAC5yB,IAAN,CAAY9R,CAAC,CAAC+oC,OAAd;AACArE,WAAK,CAACrgB,IAAN,CAAYrkB,CAAC,CAACmP,KAAd,EAvR8B,CAyR9B;;AACAg4B,eAAS,GAAG1C,6BAA6B,CAAER,UAAF,EAAcjkC,CAAd,EAAiBqO,OAAjB,EAA0Bq2B,KAA1B,CAAzC,CA1R8B,CA4R9B;;AACA,UAAK,CAACyC,SAAN,EAAkB;AACjBr1B,YAAI,CAAE,CAAC,CAAH,EAAM,cAAN,CAAJ;AACA,OAFD,MAEO;AACN4yB,aAAK,CAACld,UAAN,GAAmB,CAAnB,CADM,CAGN;;AACA,YAAKigB,WAAL,EAAmB;AAClBG,4BAAkB,CAAClxC,OAAnB,CAA4B,UAA5B,EAAwC,CAAEguC,KAAF,EAAS1kC,CAAT,CAAxC;AACA,SANK,CAQN;;;AACA,YAAKsnB,SAAL,EAAiB;AAChB,iBAAOod,KAAP;AACA,SAXK,CAaN;;;AACA,YAAK1kC,CAAC,CAAC0mC,KAAF,IAAW1mC,CAAC,CAAC2/B,OAAF,GAAY,CAA5B,EAAgC;AAC/B4H,sBAAY,GAAGj2C,MAAM,CAAC3H,UAAP,CAAmB,YAAW;AAC5C+6C,iBAAK,CAAC4D,KAAN,CAAa,SAAb;AACA,WAFc,EAEZtoC,CAAC,CAAC2/B,OAFU,CAAf;AAGA;;AAED,YAAI;AACHrY,mBAAS,GAAG,KAAZ;AACA6f,mBAAS,CAAC6B,IAAV,CAAgBjB,cAAhB,EAAgCj2B,IAAhC;AACA,SAHD,CAGE,OAAQpf,CAAR,EAAY;AAEb;AACA,cAAK40B,SAAL,EAAiB;AAChB,kBAAM50B,CAAN;AACA,WALY,CAOb;;;AACAof,cAAI,CAAE,CAAC,CAAH,EAAMpf,CAAN,CAAJ;AACA;AACD,OAhU6B,CAkU9B;;;AACA,eAASof,IAAT,CAAeu2B,MAAf,EAAuBY,gBAAvB,EAAyC7D,SAAzC,EAAoDyD,OAApD,EAA8D;AAC7D,YAAIhD,SAAJ;AAAA,YAAekD,OAAf;AAAA,YAAwB55B,KAAxB;AAAA,YAA+By2B,QAA/B;AAAA,YAAyCsD,QAAzC;AAAA,YACCX,UAAU,GAAGU,gBADd,CAD6D,CAI7D;;AACA,YAAK3hB,SAAL,EAAiB;AAChB;AACA;;AAEDA,iBAAS,GAAG,IAAZ,CAT6D,CAW7D;;AACA,YAAKigB,YAAL,EAAoB;AACnBj2C,gBAAM,CAACmB,YAAP,CAAqB80C,YAArB;AACA,SAd4D,CAgB7D;AACA;;;AACAJ,iBAAS,GAAGr4B,SAAZ,CAlB6D,CAoB7D;;AACAu4B,6BAAqB,GAAGwB,OAAO,IAAI,EAAnC,CArB6D,CAuB7D;;AACAnE,aAAK,CAACld,UAAN,GAAmB6gB,MAAM,GAAG,CAAT,GAAa,CAAb,GAAiB,CAApC,CAxB6D,CA0B7D;;AACAxC,iBAAS,GAAGwC,MAAM,IAAI,GAAV,IAAiBA,MAAM,GAAG,GAA1B,IAAiCA,MAAM,KAAK,GAAxD,CA3B6D,CA6B7D;;AACA,YAAKjD,SAAL,EAAiB;AAChBQ,kBAAQ,GAAGT,mBAAmB,CAAEnlC,CAAF,EAAK0kC,KAAL,EAAYU,SAAZ,CAA9B;AACA,SAhC4D,CAkC7D;;;AACAQ,gBAAQ,GAAGD,WAAW,CAAE3lC,CAAF,EAAK4lC,QAAL,EAAelB,KAAf,EAAsBmB,SAAtB,CAAtB,CAnC6D,CAqC7D;;AACA,YAAKA,SAAL,EAAiB;AAEhB;AACA,cAAK7lC,CAAC,CAAC4oC,UAAP,EAAoB;AACnBM,oBAAQ,GAAGxE,KAAK,CAACe,iBAAN,CAAyB,eAAzB,CAAX;;AACA,gBAAKyD,QAAL,EAAgB;AACfx8B,oBAAM,CAAC05B,YAAP,CAAqBgB,QAArB,IAAkC8B,QAAlC;AACA;;AACDA,oBAAQ,GAAGxE,KAAK,CAACe,iBAAN,CAAyB,MAAzB,CAAX;;AACA,gBAAKyD,QAAL,EAAgB;AACfx8B,oBAAM,CAAC25B,IAAP,CAAae,QAAb,IAA0B8B,QAA1B;AACA;AACD,WAZe,CAchB;;;AACA,cAAKb,MAAM,KAAK,GAAX,IAAkBroC,CAAC,CAAC8L,IAAF,KAAW,MAAlC,EAA2C;AAC1Cy8B,sBAAU,GAAG,WAAb,CAD0C,CAG3C;AACC,WAJD,MAIO,IAAKF,MAAM,KAAK,GAAhB,EAAsB;AAC5BE,sBAAU,GAAG,aAAb,CAD4B,CAG7B;AACC,WAJM,MAIA;AACNA,sBAAU,GAAG3C,QAAQ,CAAClhB,KAAtB;AACAqkB,mBAAO,GAAGnD,QAAQ,CAACl4C,IAAnB;AACAyhB,iBAAK,GAAGy2B,QAAQ,CAACz2B,KAAjB;AACA02B,qBAAS,GAAG,CAAC12B,KAAb;AACA;AACD,SA7BD,MA6BO;AAEN;AACAA,eAAK,GAAGo5B,UAAR;;AACA,cAAKF,MAAM,IAAI,CAACE,UAAhB,EAA6B;AAC5BA,sBAAU,GAAG,OAAb;;AACA,gBAAKF,MAAM,GAAG,CAAd,EAAkB;AACjBA,oBAAM,GAAG,CAAT;AACA;AACD;AACD,SA7E4D,CA+E7D;;;AACA3D,aAAK,CAAC2D,MAAN,GAAeA,MAAf;AACA3D,aAAK,CAAC6D,UAAN,GAAmB,CAAEU,gBAAgB,IAAIV,UAAtB,IAAqC,EAAxD,CAjF6D,CAmF7D;;AACA,YAAK1C,SAAL,EAAiB;AAChBjhB,kBAAQ,CAACkB,WAAT,CAAsB6hB,eAAtB,EAAuC,CAAEoB,OAAF,EAAWR,UAAX,EAAuB7D,KAAvB,CAAvC;AACA,SAFD,MAEO;AACN9f,kBAAQ,CAACsB,UAAT,CAAqByhB,eAArB,EAAsC,CAAEjD,KAAF,EAAS6D,UAAT,EAAqBp5B,KAArB,CAAtC;AACA,SAxF4D,CA0F7D;;;AACAu1B,aAAK,CAACoD,UAAN,CAAkBA,WAAlB;AACAA,mBAAU,GAAGh5B,SAAb;;AAEA,YAAK24B,WAAL,EAAmB;AAClBG,4BAAkB,CAAClxC,OAAnB,CAA4BmvC,SAAS,GAAG,aAAH,GAAmB,WAAxD,EACC,CAAEnB,KAAF,EAAS1kC,CAAT,EAAY6lC,SAAS,GAAGkD,OAAH,GAAa55B,KAAlC,CADD;AAEA,SAjG4D,CAmG7D;;;AACA04B,wBAAgB,CAAClkB,QAAjB,CAA2BgkB,eAA3B,EAA4C,CAAEjD,KAAF,EAAS6D,UAAT,CAA5C;;AAEA,YAAKd,WAAL,EAAmB;AAClBG,4BAAkB,CAAClxC,OAAnB,CAA4B,cAA5B,EAA4C,CAAEguC,KAAF,EAAS1kC,CAAT,CAA5C,EADkB,CAGlB;;AACA,cAAK,CAAG,GAAE0M,MAAM,CAACtD,MAAjB,EAA4B;AAC3BsD,kBAAM,CAACljB,KAAP,CAAakN,OAAb,CAAsB,UAAtB;AACA;AACD;AACD;;AAED,aAAOguC,KAAP;AACA,KAlhBa;AAohBdyE,WAAO,EAAE,iBAAU7C,GAAV,EAAe54C,IAAf,EAAqByP,QAArB,EAAgC;AACxC,aAAOuP,MAAM,CAACS,GAAP,CAAYm5B,GAAZ,EAAiB54C,IAAjB,EAAuByP,QAAvB,EAAiC,MAAjC,CAAP;AACA,KAthBa;AAwhBdisC,aAAS,EAAE,mBAAU9C,GAAV,EAAenpC,QAAf,EAA0B;AACpC,aAAOuP,MAAM,CAACS,GAAP,CAAYm5B,GAAZ,EAAiBx3B,SAAjB,EAA4B3R,QAA5B,EAAsC,QAAtC,CAAP;AACA;AA1hBa,GAAf;AA6hBAuP,QAAM,CAACgB,IAAP,CAAa,CAAE,KAAF,EAAS,MAAT,CAAb,EAAgC,UAAU5Y,CAAV,EAAamR,MAAb,EAAsB;AACrDyG,UAAM,CAAEzG,MAAF,CAAN,GAAmB,UAAUqgC,GAAV,EAAe54C,IAAf,EAAqByP,QAArB,EAA+B2O,IAA/B,EAAsC;AAExD;AACA,UAAKJ,UAAU,CAAEhe,IAAF,CAAf,EAA0B;AACzBoe,YAAI,GAAGA,IAAI,IAAI3O,QAAf;AACAA,gBAAQ,GAAGzP,IAAX;AACAA,YAAI,GAAGohB,SAAP;AACA,OAPuD,CASxD;;;AACA,aAAOpC,MAAM,CAACw6B,IAAP,CAAax6B,MAAM,CAAC0B,MAAP,CAAe;AAClCk4B,WAAG,EAAEA,GAD6B;AAElCx6B,YAAI,EAAE7F,MAF4B;AAGlCs+B,gBAAQ,EAAEz4B,IAHwB;AAIlCpe,YAAI,EAAEA,IAJ4B;AAKlCq7C,eAAO,EAAE5rC;AALyB,OAAf,EAMjBuP,MAAM,CAACiC,aAAP,CAAsB23B,GAAtB,KAA+BA,GANd,CAAb,CAAP;AAOA,KAjBD;AAkBA,GAnBD;;AAsBA55B,QAAM,CAACooB,QAAP,GAAkB,UAAUwR,GAAV,EAAgB;AACjC,WAAO55B,MAAM,CAACw6B,IAAP,CAAa;AACnBZ,SAAG,EAAEA,GADc;AAGnB;AACAx6B,UAAI,EAAE,KAJa;AAKnBy4B,cAAQ,EAAE,QALS;AAMnBluB,WAAK,EAAE,IANY;AAOnBqwB,WAAK,EAAE,KAPY;AAQnBt8B,YAAM,EAAE,KARW;AASnB,gBAAU;AATS,KAAb,CAAP;AAWA,GAZD;;AAeAsC,QAAM,CAACC,EAAP,CAAUyB,MAAV,CAAkB;AACjBi7B,WAAO,EAAE,iBAAUnnC,IAAV,EAAiB;AACzB,UAAI9S,IAAJ;;AAEA,UAAK,KAAM,CAAN,CAAL,EAAiB;AAChB,YAAKsc,UAAU,CAAExJ,IAAF,CAAf,EAA0B;AACzBA,cAAI,GAAGA,IAAI,CAACsJ,IAAL,CAAW,KAAM,CAAN,CAAX,CAAP;AACA,SAHe,CAKhB;;;AACApc,YAAI,GAAGsd,MAAM,CAAExK,IAAF,EAAQ,KAAM,CAAN,EAAUkT,aAAlB,CAAN,CAAwCrH,EAAxC,CAA4C,CAA5C,EAAgDU,KAAhD,CAAuD,IAAvD,CAAP;;AAEA,YAAK,KAAM,CAAN,EAAUjC,UAAf,EAA4B;AAC3Bpd,cAAI,CAACqmC,YAAL,CAAmB,KAAM,CAAN,CAAnB;AACA;;AAEDrmC,YAAI,CAACue,GAAL,CAAU,YAAW;AACpB,cAAI9X,IAAI,GAAG,IAAX;;AAEA,iBAAQA,IAAI,CAACyzC,iBAAb,EAAiC;AAChCzzC,gBAAI,GAAGA,IAAI,CAACyzC,iBAAZ;AACA;;AAED,iBAAOzzC,IAAP;AACA,SARD,EAQI0/B,MARJ,CAQY,IARZ;AASA;;AAED,aAAO,IAAP;AACA,KA5BgB;AA8BjBgU,aAAS,EAAE,mBAAUrnC,IAAV,EAAiB;AAC3B,UAAKwJ,UAAU,CAAExJ,IAAF,CAAf,EAA0B;AACzB,eAAO,KAAKwL,IAAL,CAAW,UAAU5Y,CAAV,EAAc;AAC/B4X,gBAAM,CAAE,IAAF,CAAN,CAAe68B,SAAf,CAA0BrnC,IAAI,CAACsJ,IAAL,CAAW,IAAX,EAAiB1W,CAAjB,CAA1B;AACA,SAFM,CAAP;AAGA;;AAED,aAAO,KAAK4Y,IAAL,CAAW,YAAW;AAC5B,YAAI4T,IAAI,GAAG5U,MAAM,CAAE,IAAF,CAAjB;AAAA,YACCkV,QAAQ,GAAGN,IAAI,CAACM,QAAL,EADZ;;AAGA,YAAKA,QAAQ,CAAC3U,MAAd,EAAuB;AACtB2U,kBAAQ,CAACynB,OAAT,CAAkBnnC,IAAlB;AAEA,SAHD,MAGO;AACNof,cAAI,CAACiU,MAAL,CAAarzB,IAAb;AACA;AACD,OAVM,CAAP;AAWA,KAhDgB;AAkDjB9S,QAAI,EAAE,cAAU8S,IAAV,EAAiB;AACtB,UAAIsnC,cAAc,GAAG99B,UAAU,CAAExJ,IAAF,CAA/B;AAEA,aAAO,KAAKwL,IAAL,CAAW,UAAU5Y,CAAV,EAAc;AAC/B4X,cAAM,CAAE,IAAF,CAAN,CAAe28B,OAAf,CAAwBG,cAAc,GAAGtnC,IAAI,CAACsJ,IAAL,CAAW,IAAX,EAAiB1W,CAAjB,CAAH,GAA0BoN,IAAhE;AACA,OAFM,CAAP;AAGA,KAxDgB;AA0DjBunC,UAAM,EAAE,gBAAUv/C,QAAV,EAAqB;AAC5B,WAAKiD,MAAL,CAAajD,QAAb,EAAwBm3B,GAAxB,CAA6B,MAA7B,EAAsC3T,IAAtC,CAA4C,YAAW;AACtDhB,cAAM,CAAE,IAAF,CAAN,CAAekpB,WAAf,CAA4B,KAAKjhB,UAAjC;AACA,OAFD;AAGA,aAAO,IAAP;AACA;AA/DgB,GAAlB;;AAmEAjI,QAAM,CAACkN,IAAP,CAAYjH,OAAZ,CAAoBwpB,MAApB,GAA6B,UAAUtmC,IAAV,EAAiB;AAC7C,WAAO,CAAC6W,MAAM,CAACkN,IAAP,CAAYjH,OAAZ,CAAoB+2B,OAApB,CAA6B7zC,IAA7B,CAAR;AACA,GAFD;;AAGA6W,QAAM,CAACkN,IAAP,CAAYjH,OAAZ,CAAoB+2B,OAApB,GAA8B,UAAU7zC,IAAV,EAAiB;AAC9C,WAAO,CAAC,EAAGA,IAAI,CAACyhC,WAAL,IAAoBzhC,IAAI,CAAC8zC,YAAzB,IAAyC9zC,IAAI,CAAC0kC,cAAL,GAAsBttB,MAAlE,CAAR;AACA,GAFD;;AAOAP,QAAM,CAACw4B,YAAP,CAAoB0E,GAApB,GAA0B,YAAW;AACpC,QAAI;AACH,aAAO,IAAIt4C,MAAM,CAACu4C,cAAX,EAAP;AACA,KAFD,CAEE,OAAQn3C,CAAR,EAAY,CAAE;AAChB,GAJD;;AAMA,MAAIo3C,gBAAgB,GAAG;AAErB;AACA,OAAG,GAHkB;AAKrB;AACA;AACA,UAAM;AAPe,GAAvB;AAAA,MASCC,YAAY,GAAGr9B,MAAM,CAACw4B,YAAP,CAAoB0E,GAApB,EAThB;AAWAn+B,SAAO,CAACu+B,IAAR,GAAe,CAAC,CAACD,YAAF,IAAoB,qBAAqBA,YAAxD;AACAt+B,SAAO,CAACy7B,IAAR,GAAe6C,YAAY,GAAG,CAAC,CAACA,YAAhC;AAEAr9B,QAAM,CAACu6B,aAAP,CAAsB,UAAU54B,OAAV,EAAoB;AACzC,QAAIlR,SAAJ,EAAc8sC,aAAd,CADyC,CAGzC;;;AACA,QAAKx+B,OAAO,CAACu+B,IAAR,IAAgBD,YAAY,IAAI,CAAC17B,OAAO,CAACo6B,WAA9C,EAA4D;AAC3D,aAAO;AACNO,YAAI,EAAE,cAAUH,OAAV,EAAmBxyC,QAAnB,EAA8B;AACnC,cAAIvB,CAAJ;AAAA,cACC80C,GAAG,GAAGv7B,OAAO,CAACu7B,GAAR,EADP;AAGAA,aAAG,CAACM,IAAJ,CACC77B,OAAO,CAACvC,IADT,EAECuC,OAAO,CAACi4B,GAFT,EAGCj4B,OAAO,CAACq4B,KAHT,EAICr4B,OAAO,CAAC87B,QAJT,EAKC97B,OAAO,CAAC6O,QALT,EAJmC,CAYnC;;AACA,cAAK7O,OAAO,CAAC+7B,SAAb,EAAyB;AACxB,iBAAMt1C,CAAN,IAAWuZ,OAAO,CAAC+7B,SAAnB,EAA+B;AAC9BR,iBAAG,CAAE90C,CAAF,CAAH,GAAWuZ,OAAO,CAAC+7B,SAAR,CAAmBt1C,CAAnB,CAAX;AACA;AACD,WAjBkC,CAmBnC;;;AACA,cAAKuZ,OAAO,CAACm3B,QAAR,IAAoBoE,GAAG,CAACxB,gBAA7B,EAAgD;AAC/CwB,eAAG,CAACxB,gBAAJ,CAAsB/5B,OAAO,CAACm3B,QAA9B;AACA,WAtBkC,CAwBnC;AACA;AACA;AACA;AACA;;;AACA,cAAK,CAACn3B,OAAO,CAACo6B,WAAT,IAAwB,CAACI,OAAO,CAAE,kBAAF,CAArC,EAA8D;AAC7DA,mBAAO,CAAE,kBAAF,CAAP,GAAgC,gBAAhC;AACA,WA/BkC,CAiCnC;;;AACA,eAAM/zC,CAAN,IAAW+zC,OAAX,EAAqB;AACpBe,eAAG,CAACzB,gBAAJ,CAAsBrzC,CAAtB,EAAyB+zC,OAAO,CAAE/zC,CAAF,CAAhC;AACA,WApCkC,CAsCnC;;;AACAqI,mBAAQ,GAAG,kBAAU2O,IAAV,EAAiB;AAC3B,mBAAO,YAAW;AACjB,kBAAK3O,SAAL,EAAgB;AACfA,yBAAQ,GAAG8sC,aAAa,GAAGL,GAAG,CAACS,MAAJ,GAC1BT,GAAG,CAACU,OAAJ,GAAcV,GAAG,CAACW,OAAJ,GAAcX,GAAG,CAACY,SAAJ,GAC3BZ,GAAG,CAACa,kBAAJ,GAAyB,IAF3B;;AAIA,oBAAK3+B,IAAI,KAAK,OAAd,EAAwB;AACvB89B,qBAAG,CAACtB,KAAJ;AACA,iBAFD,MAEO,IAAKx8B,IAAI,KAAK,OAAd,EAAwB;AAE9B;AACA;AACA;AACA,sBAAK,OAAO89B,GAAG,CAACvB,MAAX,KAAsB,QAA3B,EAAsC;AACrChyC,4BAAQ,CAAE,CAAF,EAAK,OAAL,CAAR;AACA,mBAFD,MAEO;AACNA,4BAAQ,EAEP;AACAuzC,uBAAG,CAACvB,MAHG,EAIPuB,GAAG,CAACrB,UAJG,CAAR;AAMA;AACD,iBAfM,MAeA;AACNlyC,0BAAQ,CACPyzC,gBAAgB,CAAEF,GAAG,CAACvB,MAAN,CAAhB,IAAkCuB,GAAG,CAACvB,MAD/B,EAEPuB,GAAG,CAACrB,UAFG,EAIP;AACA;AACA;AACA,mBAAEqB,GAAG,CAACc,YAAJ,IAAoB,MAAtB,MAAmC,MAAnC,IACA,OAAOd,GAAG,CAACe,YAAX,KAA4B,QAD5B,GAEC;AAAEC,0BAAM,EAAEhB,GAAG,CAAChE;AAAd,mBAFD,GAGC;AAAEv5B,wBAAI,EAAEu9B,GAAG,CAACe;AAAZ,mBAVM,EAWPf,GAAG,CAAC1B,qBAAJ,EAXO,CAAR;AAaA;AACD;AACD,aAvCD;AAwCA,WAzCD,CAvCmC,CAkFnC;;;AACA0B,aAAG,CAACS,MAAJ,GAAaltC,SAAQ,EAArB;AACA8sC,uBAAa,GAAGL,GAAG,CAACU,OAAJ,GAAcV,GAAG,CAACY,SAAJ,GAAgBrtC,SAAQ,CAAE,OAAF,CAAtD,CApFmC,CAsFnC;AACA;AACA;;AACA,cAAKysC,GAAG,CAACW,OAAJ,KAAgBz7B,SAArB,EAAiC;AAChC86B,eAAG,CAACW,OAAJ,GAAcN,aAAd;AACA,WAFD,MAEO;AACNL,eAAG,CAACa,kBAAJ,GAAyB,YAAW;AAEnC;AACA,kBAAKb,GAAG,CAACpiB,UAAJ,KAAmB,CAAxB,EAA4B;AAE3B;AACA;AACA;AACA;AACAl2B,sBAAM,CAAC3H,UAAP,CAAmB,YAAW;AAC7B,sBAAKwT,SAAL,EAAgB;AACf8sC,iCAAa;AACb;AACD,iBAJD;AAKA;AACD,aAfD;AAgBA,WA5GkC,CA8GnC;;;AACA9sC,mBAAQ,GAAGA,SAAQ,CAAE,OAAF,CAAnB;;AAEA,cAAI;AAEH;AACAysC,eAAG,CAACZ,IAAJ,CAAU36B,OAAO,CAACs6B,UAAR,IAAsBt6B,OAAO,CAAC3gB,IAA9B,IAAsC,IAAhD;AACA,WAJD,CAIE,OAAQgF,CAAR,EAAY;AAEb;AACA,gBAAKyK,SAAL,EAAgB;AACf,oBAAMzK,CAAN;AACA;AACD;AACD,SA7HK;AA+HN41C,aAAK,EAAE,iBAAW;AACjB,cAAKnrC,SAAL,EAAgB;AACfA,qBAAQ;AACR;AACD;AAnIK,OAAP;AAqIA;AACD,GA3ID,EA9tSiF,CA82SjF;;AACAuP,QAAM,CAACs6B,aAAP,CAAsB,UAAUhnC,CAAV,EAAc;AACnC,QAAKA,CAAC,CAACyoC,WAAP,EAAqB;AACpBzoC,OAAC,CAAC4hB,QAAF,CAAWzV,MAAX,GAAoB,KAApB;AACA;AACD,GAJD,EA/2SiF,CAq3SjF;;AACAO,QAAM,CAACo6B,SAAP,CAAkB;AACjBF,WAAO,EAAE;AACRz6B,YAAM,EAAE,8CACP;AAFO,KADQ;AAKjByV,YAAQ,EAAE;AACTzV,YAAM,EAAE;AADC,KALO;AAQjBu5B,cAAU,EAAE;AACX,qBAAe,oBAAUr5B,IAAV,EAAiB;AAC/BK,cAAM,CAAC+C,UAAP,CAAmBpD,IAAnB;AACA,eAAOA,IAAP;AACA;AAJU;AARK,GAAlB,EAt3SiF,CAs4SjF;;AACAK,QAAM,CAACs6B,aAAP,CAAsB,QAAtB,EAAgC,UAAUhnC,CAAV,EAAc;AAC7C,QAAKA,CAAC,CAACqW,KAAF,KAAYvH,SAAjB,EAA6B;AAC5B9O,OAAC,CAACqW,KAAF,GAAU,KAAV;AACA;;AACD,QAAKrW,CAAC,CAACyoC,WAAP,EAAqB;AACpBzoC,OAAC,CAAC8L,IAAF,GAAS,KAAT;AACA;AACD,GAPD,EAv4SiF,CAg5SjF;;AACAY,QAAM,CAACu6B,aAAP,CAAsB,QAAtB,EAAgC,UAAUjnC,CAAV,EAAc;AAE7C;AACA,QAAKA,CAAC,CAACyoC,WAAP,EAAqB;AACpB,UAAIt8B,MAAJ,EAAYhP,UAAZ;;AACA,aAAO;AACN6rC,YAAI,EAAE,cAAUr1B,CAAV,EAAatd,QAAb,EAAwB;AAC7B8V,gBAAM,GAAGO,MAAM,CAAE,UAAF,CAAN,CAAqBoc,IAArB,CAA2B;AACnC+hB,mBAAO,EAAE7qC,CAAC,CAAC8qC,aADwB;AAEnC/+B,eAAG,EAAE/L,CAAC,CAACsmC;AAF4B,WAA3B,EAGLnY,EAHK,CAIR,YAJQ,EAKRhxB,UAAQ,GAAG,kBAAU4tC,GAAV,EAAgB;AAC1B5+B,kBAAM,CAACqX,MAAP;AACArmB,sBAAQ,GAAG,IAAX;;AACA,gBAAK4tC,GAAL,EAAW;AACV10C,sBAAQ,CAAE00C,GAAG,CAACj/B,IAAJ,KAAa,OAAb,GAAuB,GAAvB,GAA6B,GAA/B,EAAoCi/B,GAAG,CAACj/B,IAAxC,CAAR;AACA;AACD,WAXO,CAAT,CAD6B,CAe7B;;AACA9hB,kBAAQ,CAACsiB,IAAT,CAAcC,WAAd,CAA2BJ,MAAM,CAAE,CAAF,CAAjC;AACA,SAlBK;AAmBNm8B,aAAK,EAAE,iBAAW;AACjB,cAAKnrC,UAAL,EAAgB;AACfA,sBAAQ;AACR;AACD;AAvBK,OAAP;AAyBA;AACD,GA/BD;AAoCA,MAAI6tC,YAAY,GAAG,EAAnB;AAAA,MACCC,MAAM,GAAG,mBADV,CAr7SiF,CAw7SjF;;AACAv+B,QAAM,CAACo6B,SAAP,CAAkB;AACjBoE,SAAK,EAAE,UADU;AAEjBC,iBAAa,EAAE,yBAAW;AACzB,UAAIhuC,QAAQ,GAAG6tC,YAAY,CAAC54B,GAAb,MAAwB1F,MAAM,CAACqC,OAAP,GAAiB,GAAjB,GAAyB2zB,KAAK,EAArE;AACA,WAAMvlC,QAAN,IAAmB,IAAnB;AACA,aAAOA,QAAP;AACA;AANgB,GAAlB,EAz7SiF,CAk8SjF;;AACAuP,QAAM,CAACs6B,aAAP,CAAsB,YAAtB,EAAoC,UAAUhnC,CAAV,EAAaorC,gBAAb,EAA+B1G,KAA/B,EAAuC;AAE1E,QAAI2G,YAAJ;AAAA,QAAkBC,WAAlB;AAAA,QAA+BC,iBAA/B;AAAA,QACCC,QAAQ,GAAGxrC,CAAC,CAACkrC,KAAF,KAAY,KAAZ,KAAuBD,MAAM,CAACv1B,IAAP,CAAa1V,CAAC,CAACsmC,GAAf,IACjC,KADiC,GAEjC,OAAOtmC,CAAC,CAACtS,IAAT,KAAkB,QAAlB,IACC,CAAEsS,CAAC,CAAC2mC,WAAF,IAAiB,EAAnB,EACE17B,OADF,CACW,mCADX,MACqD,CAFtD,IAGCggC,MAAM,CAACv1B,IAAP,CAAa1V,CAAC,CAACtS,IAAf,CAHD,IAG0B,MALhB,CADZ,CAF0E,CAW1E;;AACA,QAAK89C,QAAQ,IAAIxrC,CAAC,CAACwkC,SAAF,CAAa,CAAb,MAAqB,OAAtC,EAAgD;AAE/C;AACA6G,kBAAY,GAAGrrC,CAAC,CAACmrC,aAAF,GAAkBz/B,UAAU,CAAE1L,CAAC,CAACmrC,aAAJ,CAAV,GAChCnrC,CAAC,CAACmrC,aAAF,EADgC,GAEhCnrC,CAAC,CAACmrC,aAFH,CAH+C,CAO/C;;AACA,UAAKK,QAAL,EAAgB;AACfxrC,SAAC,CAAEwrC,QAAF,CAAD,GAAgBxrC,CAAC,CAAEwrC,QAAF,CAAD,CAAcv8B,OAAd,CAAuBg8B,MAAvB,EAA+B,OAAOI,YAAtC,CAAhB;AACA,OAFD,MAEO,IAAKrrC,CAAC,CAACkrC,KAAF,KAAY,KAAjB,EAAyB;AAC/BlrC,SAAC,CAACsmC,GAAF,IAAS,CAAE3D,MAAM,CAACjtB,IAAP,CAAa1V,CAAC,CAACsmC,GAAf,IAAuB,GAAvB,GAA6B,GAA/B,IAAuCtmC,CAAC,CAACkrC,KAAzC,GAAiD,GAAjD,GAAuDG,YAAhE;AACA,OAZ8C,CAc/C;;;AACArrC,OAAC,CAAC0lC,UAAF,CAAc,aAAd,IAAgC,YAAW;AAC1C,YAAK,CAAC6F,iBAAN,EAA0B;AACzB7+B,gBAAM,CAACyC,KAAP,CAAck8B,YAAY,GAAG,iBAA7B;AACA;;AACD,eAAOE,iBAAiB,CAAE,CAAF,CAAxB;AACA,OALD,CAf+C,CAsB/C;;;AACAvrC,OAAC,CAACwkC,SAAF,CAAa,CAAb,IAAmB,MAAnB,CAvB+C,CAyB/C;;AACA8G,iBAAW,GAAGh6C,MAAM,CAAE+5C,YAAF,CAApB;;AACA/5C,YAAM,CAAE+5C,YAAF,CAAN,GAAyB,YAAW;AACnCE,yBAAiB,GAAG19B,SAApB;AACA,OAFD,CA3B+C,CA+B/C;;;AACA62B,WAAK,CAAC/f,MAAN,CAAc,YAAW;AAExB;AACA,YAAK2mB,WAAW,KAAKx8B,SAArB,EAAiC;AAChCpC,gBAAM,CAAEpb,MAAF,CAAN,CAAiBmvC,UAAjB,CAA6B4K,YAA7B,EADgC,CAGjC;AACC,SAJD,MAIO;AACN/5C,gBAAM,CAAE+5C,YAAF,CAAN,GAAyBC,WAAzB;AACA,SATuB,CAWxB;;;AACA,YAAKtrC,CAAC,CAAEqrC,YAAF,CAAN,EAAyB;AAExB;AACArrC,WAAC,CAACmrC,aAAF,GAAkBC,gBAAgB,CAACD,aAAnC,CAHwB,CAKxB;;AACAH,sBAAY,CAAChgC,IAAb,CAAmBqgC,YAAnB;AACA,SAnBuB,CAqBxB;;;AACA,YAAKE,iBAAiB,IAAI7/B,UAAU,CAAE4/B,WAAF,CAApC,EAAsD;AACrDA,qBAAW,CAAEC,iBAAiB,CAAE,CAAF,CAAnB,CAAX;AACA;;AAEDA,yBAAiB,GAAGD,WAAW,GAAGx8B,SAAlC;AACA,OA3BD,EAhC+C,CA6D/C;;AACA,aAAO,QAAP;AACA;AACD,GA5ED,EAn8SiF,CAohTjF;AACA;AACA;AACA;AACA;;AACArD,SAAO,CAACggC,kBAAR,GAA+B,YAAW;AACzC,QAAI/f,IAAI,GAAG1hC,QAAQ,CAAC0hD,cAAT,CAAwBD,kBAAxB,CAA4C,EAA5C,EAAiD/f,IAA5D;AACAA,QAAI,CAAC9S,SAAL,GAAiB,4BAAjB;AACA,WAAO8S,IAAI,CAAC/W,UAAL,CAAgB1H,MAAhB,KAA2B,CAAlC;AACA,GAJ4B,EAA7B,CAzhTiF,CAgiTjF;AACA;AACA;AACA;;;AACAP,QAAM,CAAC8U,SAAP,GAAmB,UAAU9zB,IAAV,EAAgBqN,OAAhB,EAAyB4wC,WAAzB,EAAuC;AACzD,QAAK,OAAOj+C,IAAP,KAAgB,QAArB,EAAgC;AAC/B,aAAO,EAAP;AACA;;AACD,QAAK,OAAOqN,OAAP,KAAmB,SAAxB,EAAoC;AACnC4wC,iBAAW,GAAG5wC,OAAd;AACAA,aAAO,GAAG,KAAV;AACA;;AAED,QAAI8iB,IAAJ,EAAU+tB,MAAV,EAAkB3e,OAAlB;;AAEA,QAAK,CAAClyB,OAAN,EAAgB;AAEf;AACA;AACA,UAAK0Q,OAAO,CAACggC,kBAAb,EAAkC;AACjC1wC,eAAO,GAAG/Q,QAAQ,CAAC0hD,cAAT,CAAwBD,kBAAxB,CAA4C,EAA5C,CAAV,CADiC,CAGjC;AACA;AACA;;AACA5tB,YAAI,GAAG9iB,OAAO,CAACqR,aAAR,CAAuB,MAAvB,CAAP;AACAyR,YAAI,CAACnB,IAAL,GAAY1yB,QAAQ,CAACwyB,QAAT,CAAkBE,IAA9B;AACA3hB,eAAO,CAACuR,IAAR,CAAaC,WAAb,CAA0BsR,IAA1B;AACA,OATD,MASO;AACN9iB,eAAO,GAAG/Q,QAAV;AACA;AACD;;AAED4hD,UAAM,GAAG1qB,UAAU,CAAC7L,IAAX,CAAiB3nB,IAAjB,CAAT;AACAu/B,WAAO,GAAG,CAAC0e,WAAD,IAAgB,EAA1B,CA9ByD,CAgCzD;;AACA,QAAKC,MAAL,EAAc;AACb,aAAO,CAAE7wC,OAAO,CAACqR,aAAR,CAAuBw/B,MAAM,CAAE,CAAF,CAA7B,CAAF,CAAP;AACA;;AAEDA,UAAM,GAAG5e,aAAa,CAAE,CAAEt/B,IAAF,CAAF,EAAYqN,OAAZ,EAAqBkyB,OAArB,CAAtB;;AAEA,QAAKA,OAAO,IAAIA,OAAO,CAAChgB,MAAxB,EAAiC;AAChCP,YAAM,CAAEugB,OAAF,CAAN,CAAkBzJ,MAAlB;AACA;;AAED,WAAO9W,MAAM,CAACc,KAAP,CAAc,EAAd,EAAkBo+B,MAAM,CAACj3B,UAAzB,CAAP;AACA,GA5CD;AA+CA;;;;;AAGAjI,QAAM,CAACC,EAAP,CAAUkkB,IAAV,GAAiB,UAAUyV,GAAV,EAAeuF,MAAf,EAAuB1uC,QAAvB,EAAkC;AAClD,QAAIjT,QAAJ;AAAA,QAAc4hB,IAAd;AAAA,QAAoB85B,QAApB;AAAA,QACCtkB,IAAI,GAAG,IADR;AAAA,QAECiN,GAAG,GAAG+X,GAAG,CAACr7B,OAAJ,CAAa,GAAb,CAFP;;AAIA,QAAKsjB,GAAG,GAAG,CAAC,CAAZ,EAAgB;AACfrkC,cAAQ,GAAG02C,gBAAgB,CAAE0F,GAAG,CAACx7B,KAAJ,CAAWyjB,GAAX,CAAF,CAA3B;AACA+X,SAAG,GAAGA,GAAG,CAACx7B,KAAJ,CAAW,CAAX,EAAcyjB,GAAd,CAAN;AACA,KARiD,CAUlD;;;AACA,QAAK7iB,UAAU,CAAEmgC,MAAF,CAAf,EAA4B;AAE3B;AACA1uC,cAAQ,GAAG0uC,MAAX;AACAA,YAAM,GAAG/8B,SAAT,CAJ2B,CAM5B;AACC,KAPD,MAOO,IAAK+8B,MAAM,IAAI,QAAOA,MAAP,MAAkB,QAAjC,EAA4C;AAClD//B,UAAI,GAAG,MAAP;AACA,KApBiD,CAsBlD;;;AACA,QAAKwV,IAAI,CAACrU,MAAL,GAAc,CAAnB,EAAuB;AACtBP,YAAM,CAACw6B,IAAP,CAAa;AACZZ,WAAG,EAAEA,GADO;AAGZ;AACA;AACA;AACAx6B,YAAI,EAAEA,IAAI,IAAI,KANF;AAOZy4B,gBAAQ,EAAE,MAPE;AAQZ72C,YAAI,EAAEm+C;AARM,OAAb,EASI/5B,IATJ,CASU,UAAU64B,YAAV,EAAyB;AAElC;AACA/E,gBAAQ,GAAG/3B,SAAX;AAEAyT,YAAI,CAACpf,IAAL,CAAWhY,QAAQ,GAElB;AACA;AACAwiB,cAAM,CAAE,OAAF,CAAN,CAAkB6oB,MAAlB,CAA0B7oB,MAAM,CAAC8U,SAAP,CAAkBmpB,YAAlB,CAA1B,EAA6DnyB,IAA7D,CAAmEtuB,QAAnE,CAJkB,GAMlB;AACAygD,oBAPD,EALkC,CAcnC;AACA;AACA;AACC,OA1BD,EA0BIhmB,MA1BJ,CA0BYxnB,QAAQ,IAAI,UAAUunC,KAAV,EAAiB2D,MAAjB,EAA0B;AACjD/mB,YAAI,CAAC5T,IAAL,CAAW,YAAW;AACrBvQ,kBAAQ,CAACyQ,KAAT,CAAgB,IAAhB,EAAsBg4B,QAAQ,IAAI,CAAElB,KAAK,CAACiG,YAAR,EAAsBtC,MAAtB,EAA8B3D,KAA9B,CAAlC;AACA,SAFD;AAGA,OA9BD;AA+BA;;AAED,WAAO,IAAP;AACA,GA1DD,CAtlTiF,CAqpTjF;;;AACAh4B,QAAM,CAACgB,IAAP,CAAa,CACZ,WADY,EAEZ,UAFY,EAGZ,cAHY,EAIZ,WAJY,EAKZ,aALY,EAMZ,UANY,CAAb,EAOG,UAAU5Y,CAAV,EAAagX,IAAb,EAAoB;AACtBY,UAAM,CAACC,EAAP,CAAWb,IAAX,IAAoB,UAAUa,EAAV,EAAe;AAClC,aAAO,KAAKwhB,EAAL,CAASriB,IAAT,EAAea,EAAf,CAAP;AACA,KAFD;AAGA,GAXD;;AAgBAD,QAAM,CAACkN,IAAP,CAAYjH,OAAZ,CAAoBm5B,QAApB,GAA+B,UAAUj2C,IAAV,EAAiB;AAC/C,WAAO6W,MAAM,CAACsD,IAAP,CAAatD,MAAM,CAACsyB,MAApB,EAA4B,UAAUryB,EAAV,EAAe;AACjD,aAAO9W,IAAI,KAAK8W,EAAE,CAAC9W,IAAnB;AACA,KAFM,EAEHoX,MAFJ;AAGA,GAJD;;AASAP,QAAM,CAACrT,MAAP,GAAgB;AACf0yC,aAAS,EAAE,mBAAUl2C,IAAV,EAAgBwY,OAAhB,EAAyBvZ,CAAzB,EAA6B;AACvC,UAAIk3C,WAAJ;AAAA,UAAiBC,OAAjB;AAAA,UAA0BC,SAA1B;AAAA,UAAqCC,MAArC;AAAA,UAA6CC,SAA7C;AAAA,UAAwDC,UAAxD;AAAA,UAAoEC,iBAApE;AAAA,UACClV,QAAQ,GAAG1qB,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkB,UAAlB,CADZ;AAAA,UAEC02C,OAAO,GAAG7/B,MAAM,CAAE7W,IAAF,CAFjB;AAAA,UAGCs7B,KAAK,GAAG,EAHT,CADuC,CAMvC;;AACA,UAAKiG,QAAQ,KAAK,QAAlB,EAA6B;AAC5BvhC,YAAI,CAAC40B,KAAL,CAAW2M,QAAX,GAAsB,UAAtB;AACA;;AAEDgV,eAAS,GAAGG,OAAO,CAAClzC,MAAR,EAAZ;AACA6yC,eAAS,GAAGx/B,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkB,KAAlB,CAAZ;AACAw2C,gBAAU,GAAG3/B,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkB,MAAlB,CAAb;AACAy2C,uBAAiB,GAAG,CAAElV,QAAQ,KAAK,UAAb,IAA2BA,QAAQ,KAAK,OAA1C,KACnB,CAAE8U,SAAS,GAAGG,UAAd,EAA2BphC,OAA3B,CAAoC,MAApC,IAA+C,CAAC,CADjD,CAduC,CAiBvC;AACA;;AACA,UAAKqhC,iBAAL,EAAyB;AACxBN,mBAAW,GAAGO,OAAO,CAACnV,QAAR,EAAd;AACA+U,cAAM,GAAGH,WAAW,CAACj0B,GAArB;AACAk0B,eAAO,GAAGD,WAAW,CAACvR,IAAtB;AAEA,OALD,MAKO;AACN0R,cAAM,GAAG1hD,UAAU,CAAEyhD,SAAF,CAAV,IAA2B,CAApC;AACAD,eAAO,GAAGxhD,UAAU,CAAE4hD,UAAF,CAAV,IAA4B,CAAtC;AACA;;AAED,UAAK3gC,UAAU,CAAE2C,OAAF,CAAf,EAA6B;AAE5B;AACAA,eAAO,GAAGA,OAAO,CAAC7C,IAAR,CAAc3V,IAAd,EAAoBf,CAApB,EAAuB4X,MAAM,CAAC0B,MAAP,CAAe,EAAf,EAAmBg+B,SAAnB,CAAvB,CAAV;AACA;;AAED,UAAK/9B,OAAO,CAAC0J,GAAR,IAAe,IAApB,EAA2B;AAC1BoZ,aAAK,CAACpZ,GAAN,GAAc1J,OAAO,CAAC0J,GAAR,GAAcq0B,SAAS,CAACr0B,GAA1B,GAAkCo0B,MAA9C;AACA;;AACD,UAAK99B,OAAO,CAACosB,IAAR,IAAgB,IAArB,EAA4B;AAC3BtJ,aAAK,CAACsJ,IAAN,GAAepsB,OAAO,CAACosB,IAAR,GAAe2R,SAAS,CAAC3R,IAA3B,GAAoCwR,OAAjD;AACA;;AAED,UAAK,WAAW59B,OAAhB,EAA0B;AACzBA,eAAO,CAACm+B,KAAR,CAAchhC,IAAd,CAAoB3V,IAApB,EAA0Bs7B,KAA1B;AAEA,OAHD,MAGO;AACNob,eAAO,CAAC7hB,GAAR,CAAayG,KAAb;AACA;AACD;AAjDc,GAAhB;AAoDAzkB,QAAM,CAACC,EAAP,CAAUyB,MAAV,CAAkB;AAEjB;AACA/U,UAAM,EAAE,gBAAUgV,OAAV,EAAoB;AAE3B;AACA,UAAKR,SAAS,CAACZ,MAAf,EAAwB;AACvB,eAAOoB,OAAO,KAAKS,SAAZ,GACN,IADM,GAEN,KAAKpB,IAAL,CAAW,UAAU5Y,CAAV,EAAc;AACxB4X,gBAAM,CAACrT,MAAP,CAAc0yC,SAAd,CAAyB,IAAzB,EAA+B19B,OAA/B,EAAwCvZ,CAAxC;AACA,SAFD,CAFD;AAKA;;AAED,UAAI4I,IAAJ;AAAA,UAAU+uC,GAAV;AAAA,UACC52C,IAAI,GAAG,KAAM,CAAN,CADR;;AAGA,UAAK,CAACA,IAAN,EAAa;AACZ;AACA,OAhB0B,CAkB3B;AACA;AACA;AACA;;;AACA,UAAK,CAACA,IAAI,CAAC0kC,cAAL,GAAsBttB,MAA5B,EAAqC;AACpC,eAAO;AAAE8K,aAAG,EAAE,CAAP;AAAU0iB,cAAI,EAAE;AAAhB,SAAP;AACA,OAxB0B,CA0B3B;;;AACA/8B,UAAI,GAAG7H,IAAI,CAAC2kC,qBAAL,EAAP;AACAiS,SAAG,GAAG52C,IAAI,CAACuf,aAAL,CAAmB0C,WAAzB;AACA,aAAO;AACNC,WAAG,EAAEra,IAAI,CAACqa,GAAL,GAAW00B,GAAG,CAACC,WADd;AAENjS,YAAI,EAAE/8B,IAAI,CAAC+8B,IAAL,GAAYgS,GAAG,CAACE;AAFhB,OAAP;AAIA,KApCgB;AAsCjB;AACA;AACAvV,YAAQ,EAAE,oBAAW;AACpB,UAAK,CAAC,KAAM,CAAN,CAAN,EAAkB;AACjB;AACA;;AAED,UAAIwV,YAAJ;AAAA,UAAkBvzC,MAAlB;AAAA,UAA0B6S,GAA1B;AAAA,UACCrW,IAAI,GAAG,KAAM,CAAN,CADR;AAAA,UAECg3C,YAAY,GAAG;AAAE90B,WAAG,EAAE,CAAP;AAAU0iB,YAAI,EAAE;AAAhB,OAFhB,CALoB,CASpB;;AACA,UAAK/tB,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkB,UAAlB,MAAmC,OAAxC,EAAkD;AAEjD;AACAwD,cAAM,GAAGxD,IAAI,CAAC2kC,qBAAL,EAAT;AAEA,OALD,MAKO;AACNnhC,cAAM,GAAG,KAAKA,MAAL,EAAT,CADM,CAGN;AACA;;AACA6S,WAAG,GAAGrW,IAAI,CAACuf,aAAX;AACAw3B,oBAAY,GAAG/2C,IAAI,CAAC+2C,YAAL,IAAqB1gC,GAAG,CAACyL,eAAxC;;AACA,eAAQi1B,YAAY,KACjBA,YAAY,KAAK1gC,GAAG,CAACwf,IAArB,IAA6BkhB,YAAY,KAAK1gC,GAAG,CAACyL,eADjC,CAAZ,IAEPjL,MAAM,CAACge,GAAP,CAAYkiB,YAAZ,EAA0B,UAA1B,MAA2C,QAF5C,EAEuD;AAEtDA,sBAAY,GAAGA,YAAY,CAACpgC,UAA5B;AACA;;AACD,YAAKogC,YAAY,IAAIA,YAAY,KAAK/2C,IAAjC,IAAyC+2C,YAAY,CAACjhC,QAAb,KAA0B,CAAxE,EAA4E;AAE3E;AACAkhC,sBAAY,GAAGngC,MAAM,CAAEkgC,YAAF,CAAN,CAAuBvzC,MAAvB,EAAf;AACAwzC,sBAAY,CAAC90B,GAAb,IAAoBrL,MAAM,CAACge,GAAP,CAAYkiB,YAAZ,EAA0B,gBAA1B,EAA4C,IAA5C,CAApB;AACAC,sBAAY,CAACpS,IAAb,IAAqB/tB,MAAM,CAACge,GAAP,CAAYkiB,YAAZ,EAA0B,iBAA1B,EAA6C,IAA7C,CAArB;AACA;AACD,OAnCmB,CAqCpB;;;AACA,aAAO;AACN70B,WAAG,EAAE1e,MAAM,CAAC0e,GAAP,GAAa80B,YAAY,CAAC90B,GAA1B,GAAgCrL,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkB,WAAlB,EAA+B,IAA/B,CAD/B;AAEN4kC,YAAI,EAAEphC,MAAM,CAACohC,IAAP,GAAcoS,YAAY,CAACpS,IAA3B,GAAkC/tB,MAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkB,YAAlB,EAAgC,IAAhC;AAFlC,OAAP;AAIA,KAlFgB;AAoFjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA+2C,gBAAY,EAAE,wBAAW;AACxB,aAAO,KAAKj/B,GAAL,CAAU,YAAW;AAC3B,YAAIi/B,YAAY,GAAG,KAAKA,YAAxB;;AAEA,eAAQA,YAAY,IAAIlgC,MAAM,CAACge,GAAP,CAAYkiB,YAAZ,EAA0B,UAA1B,MAA2C,QAAnE,EAA8E;AAC7EA,sBAAY,GAAGA,YAAY,CAACA,YAA5B;AACA;;AAED,eAAOA,YAAY,IAAIj1B,eAAvB;AACA,OARM,CAAP;AASA;AAxGgB,GAAlB,EAnuTiF,CA80TjF;;AACAjL,QAAM,CAACgB,IAAP,CAAa;AAAE+tB,cAAU,EAAE,aAAd;AAA6B1zB,aAAS,EAAE;AAAxC,GAAb,EAAsE,UAAU9B,MAAV,EAAkB6iB,IAAlB,EAAyB;AAC9F,QAAI/Q,GAAG,GAAG,kBAAkB+Q,IAA5B;;AAEApc,UAAM,CAACC,EAAP,CAAW1G,MAAX,IAAsB,UAAU4T,GAAV,EAAgB;AACrC,aAAO6N,MAAM,CAAE,IAAF,EAAQ,UAAU7xB,IAAV,EAAgBoQ,MAAhB,EAAwB4T,GAAxB,EAA8B;AAElD;AACA,YAAI4yB,GAAJ;;AACA,YAAK7gC,QAAQ,CAAE/V,IAAF,CAAb,EAAwB;AACvB42C,aAAG,GAAG52C,IAAN;AACA,SAFD,MAEO,IAAKA,IAAI,CAAC8V,QAAL,KAAkB,CAAvB,EAA2B;AACjC8gC,aAAG,GAAG52C,IAAI,CAACiiB,WAAX;AACA;;AAED,YAAK+B,GAAG,KAAK/K,SAAb,EAAyB;AACxB,iBAAO29B,GAAG,GAAGA,GAAG,CAAE3jB,IAAF,CAAN,GAAiBjzB,IAAI,CAAEoQ,MAAF,CAA/B;AACA;;AAED,YAAKwmC,GAAL,EAAW;AACVA,aAAG,CAACK,QAAJ,CACC,CAAC/0B,GAAD,GAAO8B,GAAP,GAAa4yB,GAAG,CAACE,WADlB,EAEC50B,GAAG,GAAG8B,GAAH,GAAS4yB,GAAG,CAACC,WAFjB;AAKA,SAND,MAMO;AACN72C,cAAI,CAAEoQ,MAAF,CAAJ,GAAiB4T,GAAjB;AACA;AACD,OAvBY,EAuBV5T,MAvBU,EAuBF4T,GAvBE,EAuBGhM,SAAS,CAACZ,MAvBb,CAAb;AAwBA,KAzBD;AA0BA,GA7BD,EA/0TiF,CA82TjF;AACA;AACA;AACA;AACA;AACA;;AACAP,QAAM,CAACgB,IAAP,CAAa,CAAE,KAAF,EAAS,MAAT,CAAb,EAAgC,UAAU5Y,CAAV,EAAag0B,IAAb,EAAoB;AACnDpc,UAAM,CAACutB,QAAP,CAAiBnR,IAAjB,IAA0BuP,YAAY,CAAE5sB,OAAO,CAACosB,aAAV,EACrC,UAAUhiC,IAAV,EAAgBoiC,QAAhB,EAA2B;AAC1B,UAAKA,QAAL,EAAgB;AACfA,gBAAQ,GAAGD,MAAM,CAAEniC,IAAF,EAAQizB,IAAR,CAAjB,CADe,CAGf;;AACA,eAAOsN,SAAS,CAAC1gB,IAAV,CAAgBuiB,QAAhB,IACNvrB,MAAM,CAAE7W,IAAF,CAAN,CAAeuhC,QAAf,GAA2BtO,IAA3B,IAAoC,IAD9B,GAENmP,QAFD;AAGA;AACD,KAVoC,CAAtC;AAYA,GAbD,EAp3TiF,CAo4TjF;;AACAvrB,QAAM,CAACgB,IAAP,CAAa;AAAEq/B,UAAM,EAAE,QAAV;AAAoBC,SAAK,EAAE;AAA3B,GAAb,EAAmD,UAAU1+B,IAAV,EAAgBxC,IAAhB,EAAuB;AACzEY,UAAM,CAACgB,IAAP,CAAa;AAAEvP,aAAO,EAAE,UAAUmQ,IAArB;AAA2BjK,aAAO,EAAEyH,IAApC;AAA0C,UAAI,UAAUwC;AAAxD,KAAb,EACC,UAAU2+B,YAAV,EAAwBC,QAAxB,EAAmC;AAEnC;AACAxgC,YAAM,CAACC,EAAP,CAAWugC,QAAX,IAAwB,UAAU7uC,MAAV,EAAkBhT,KAAlB,EAA0B;AACjD,YAAIs8B,SAAS,GAAG9Z,SAAS,CAACZ,MAAV,KAAsBggC,YAAY,IAAI,OAAO5uC,MAAP,KAAkB,SAAxD,CAAhB;AAAA,YACCw7B,KAAK,GAAGoT,YAAY,KAAM5uC,MAAM,KAAK,IAAX,IAAmBhT,KAAK,KAAK,IAA7B,GAAoC,QAApC,GAA+C,QAArD,CADrB;AAGA,eAAOq8B,MAAM,CAAE,IAAF,EAAQ,UAAU7xB,IAAV,EAAgBiW,IAAhB,EAAsBzgB,KAAtB,EAA8B;AAClD,cAAI6gB,GAAJ;;AAEA,cAAKN,QAAQ,CAAE/V,IAAF,CAAb,EAAwB;AAEvB;AACA,mBAAOq3C,QAAQ,CAACjiC,OAAT,CAAkB,OAAlB,MAAgC,CAAhC,GACNpV,IAAI,CAAE,UAAUyY,IAAZ,CADE,GAENzY,IAAI,CAAC7L,QAAL,CAAc2tB,eAAd,CAA+B,WAAWrJ,IAA1C,CAFD;AAGA,WATiD,CAWlD;;;AACA,cAAKzY,IAAI,CAAC8V,QAAL,KAAkB,CAAvB,EAA2B;AAC1BO,eAAG,GAAGrW,IAAI,CAAC8hB,eAAX,CAD0B,CAG1B;AACA;;AACA,mBAAO5tB,IAAI,CAACwvC,GAAL,CACN1jC,IAAI,CAAC61B,IAAL,CAAW,WAAWpd,IAAtB,CADM,EACwBpC,GAAG,CAAE,WAAWoC,IAAb,CAD3B,EAENzY,IAAI,CAAC61B,IAAL,CAAW,WAAWpd,IAAtB,CAFM,EAEwBpC,GAAG,CAAE,WAAWoC,IAAb,CAF3B,EAGNpC,GAAG,CAAE,WAAWoC,IAAb,CAHG,CAAP;AAKA;;AAED,iBAAOjjB,KAAK,KAAKyjB,SAAV,GAEN;AACApC,gBAAM,CAACge,GAAP,CAAY70B,IAAZ,EAAkBiW,IAAlB,EAAwB+tB,KAAxB,CAHM,GAKN;AACAntB,gBAAM,CAAC+d,KAAP,CAAc50B,IAAd,EAAoBiW,IAApB,EAA0BzgB,KAA1B,EAAiCwuC,KAAjC,CAND;AAOA,SA/BY,EA+BV/tB,IA/BU,EA+BJ6b,SAAS,GAAGtpB,MAAH,GAAYyQ,SA/BjB,EA+B4B6Y,SA/B5B,CAAb;AAgCA,OApCD;AAqCA,KAzCD;AA0CA,GA3CD;AA8CAjb,QAAM,CAACgB,IAAP,CAAa,CAAE,8DACd,uEADc,GAEd,yDAFY,EAEgD+C,KAFhD,CAEuD,GAFvD,CAAb,EAGC,UAAU3b,CAAV,EAAawZ,IAAb,EAAoB;AAEpB;AACA5B,UAAM,CAACC,EAAP,CAAW2B,IAAX,IAAoB,UAAU5gB,IAAV,EAAgBif,EAAhB,EAAqB;AACxC,aAAOkB,SAAS,CAACZ,MAAV,GAAmB,CAAnB,GACN,KAAKkhB,EAAL,CAAS7f,IAAT,EAAe,IAAf,EAAqB5gB,IAArB,EAA2Bif,EAA3B,CADM,GAEN,KAAKjW,OAAL,CAAc4X,IAAd,CAFD;AAGA,KAJD;AAKA,GAXD;AAaA5B,QAAM,CAACC,EAAP,CAAUyB,MAAV,CAAkB;AACjB++B,SAAK,EAAE,eAAUC,MAAV,EAAkBC,KAAlB,EAA0B;AAChC,aAAO,KAAKha,UAAL,CAAiB+Z,MAAjB,EAA0B9Z,UAA1B,CAAsC+Z,KAAK,IAAID,MAA/C,CAAP;AACA;AAHgB,GAAlB;AASA1gC,QAAM,CAACC,EAAP,CAAUyB,MAAV,CAAkB;AAEjBgwB,QAAI,EAAE,cAAUhQ,KAAV,EAAiB1gC,IAAjB,EAAuBif,EAAvB,EAA4B;AACjC,aAAO,KAAKwhB,EAAL,CAASC,KAAT,EAAgB,IAAhB,EAAsB1gC,IAAtB,EAA4Bif,EAA5B,CAAP;AACA,KAJgB;AAKjB2gC,UAAM,EAAE,gBAAUlf,KAAV,EAAiBzhB,EAAjB,EAAsB;AAC7B,aAAO,KAAK4hB,GAAL,CAAUH,KAAV,EAAiB,IAAjB,EAAuBzhB,EAAvB,CAAP;AACA,KAPgB;AASjB4gC,YAAQ,EAAE,kBAAUrjD,QAAV,EAAoBkkC,KAApB,EAA2B1gC,IAA3B,EAAiCif,EAAjC,EAAsC;AAC/C,aAAO,KAAKwhB,EAAL,CAASC,KAAT,EAAgBlkC,QAAhB,EAA0BwD,IAA1B,EAAgCif,EAAhC,CAAP;AACA,KAXgB;AAYjB6gC,cAAU,EAAE,oBAAUtjD,QAAV,EAAoBkkC,KAApB,EAA2BzhB,EAA3B,EAAgC;AAE3C;AACA,aAAOkB,SAAS,CAACZ,MAAV,KAAqB,CAArB,GACN,KAAKshB,GAAL,CAAUrkC,QAAV,EAAoB,IAApB,CADM,GAEN,KAAKqkC,GAAL,CAAUH,KAAV,EAAiBlkC,QAAQ,IAAI,IAA7B,EAAmCyiB,EAAnC,CAFD;AAGA;AAlBgB,GAAlB,EAz8TiF,CA89TjF;AACA;AACA;AACA;;AACAD,QAAM,CAAC+gC,KAAP,GAAe,UAAU9gC,EAAV,EAAc5R,OAAd,EAAwB;AACtC,QAAI4d,GAAJ,EAASmD,IAAT,EAAe2xB,KAAf;;AAEA,QAAK,OAAO1yC,OAAP,KAAmB,QAAxB,EAAmC;AAClC4d,SAAG,GAAGhM,EAAE,CAAE5R,OAAF,CAAR;AACAA,aAAO,GAAG4R,EAAV;AACAA,QAAE,GAAGgM,GAAL;AACA,KAPqC,CAStC;AACA;;;AACA,QAAK,CAACjN,UAAU,CAAEiB,EAAF,CAAhB,EAAyB;AACxB,aAAOmC,SAAP;AACA,KAbqC,CAetC;;;AACAgN,QAAI,GAAGhR,MAAK,CAACU,IAAN,CAAYqC,SAAZ,EAAuB,CAAvB,CAAP;;AACA4/B,SAAK,GAAG,iBAAW;AAClB,aAAO9gC,EAAE,CAACiB,KAAH,CAAU7S,OAAO,IAAI,IAArB,EAA2B+gB,IAAI,CAAC/Q,MAAL,CAAaD,MAAK,CAACU,IAAN,CAAYqC,SAAZ,CAAb,CAA3B,CAAP;AACA,KAFD,CAjBsC,CAqBtC;;;AACA4/B,SAAK,CAACn9B,IAAN,GAAa3D,EAAE,CAAC2D,IAAH,GAAU3D,EAAE,CAAC2D,IAAH,IAAW5D,MAAM,CAAC4D,IAAP,EAAlC;AAEA,WAAOm9B,KAAP;AACA,GAzBD;;AA2BA/gC,QAAM,CAACghC,SAAP,GAAmB,UAAUC,IAAV,EAAiB;AACnC,QAAKA,IAAL,EAAY;AACXjhC,YAAM,CAAC0a,SAAP;AACA,KAFD,MAEO;AACN1a,YAAM,CAAC+U,KAAP,CAAc,IAAd;AACA;AACD,GAND;;AAOA/U,QAAM,CAACmC,OAAP,GAAiBD,KAAK,CAACC,OAAvB;AACAnC,QAAM,CAACkhC,SAAP,GAAmBvkB,IAAI,CAACC,KAAxB;AACA5c,QAAM,CAACiJ,QAAP,GAAkBA,QAAlB;AACAjJ,QAAM,CAAChB,UAAP,GAAoBA,UAApB;AACAgB,QAAM,CAACd,QAAP,GAAkBA,QAAlB;AACAc,QAAM,CAAC2b,SAAP,GAAmBA,SAAnB;AACA3b,QAAM,CAACZ,IAAP,GAActgB,MAAd;AAEAkhB,QAAM,CAAC6kB,GAAP,GAAa5f,IAAI,CAAC4f,GAAlB;;AAEA7kB,QAAM,CAACmhC,SAAP,GAAmB,UAAU7iD,GAAV,EAAgB;AAElC;AACA;AACA;AACA,QAAI8gB,IAAI,GAAGY,MAAM,CAACZ,IAAP,CAAa9gB,GAAb,CAAX;AACA,WAAO,CAAE8gB,IAAI,KAAK,QAAT,IAAqBA,IAAI,KAAK,QAAhC,KAEN;AACA;AACA;AACA,KAACgiC,KAAK,CAAE9iD,GAAG,GAAGP,UAAU,CAAEO,GAAF,CAAlB,CALP;AAMA,GAZD,CA9gUiF,CA+hUjF;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;;AAEA,MAAK,IAAL,EAAkD;AACjD+iD,qCAAkB,EAAZ,mCAAgB,YAAW;AAChC,aAAOrhC,MAAP;AACA,KAFK;AAAA,oGAAN;AAGA;;AAKD,MAEC;AACAshC,SAAO,GAAG18C,MAAM,CAACob,MAHlB;AAAA,MAKC;AACAuhC,IAAE,GAAG38C,MAAM,CAAC/H,CANb;;AAQAmjB,QAAM,CAACwhC,UAAP,GAAoB,UAAUx/B,IAAV,EAAiB;AACpC,QAAKpd,MAAM,CAAC/H,CAAP,KAAamjB,MAAlB,EAA2B;AAC1Bpb,YAAM,CAAC/H,CAAP,GAAW0kD,EAAX;AACA;;AAED,QAAKv/B,IAAI,IAAIpd,MAAM,CAACob,MAAP,KAAkBA,MAA/B,EAAwC;AACvCpb,YAAM,CAACob,MAAP,GAAgBshC,OAAhB;AACA;;AAED,WAAOthC,MAAP;AACA,GAVD,CA7jUiF,CAykUjF;AACA;AACA;;;AACA,MAAK,CAAChC,QAAN,EAAiB;AAChBpZ,UAAM,CAACob,MAAP,GAAgBpb,MAAM,CAAC/H,CAAP,GAAWmjB,MAA3B;AACA;;AAKD,SAAOA,MAAP;AACC,CA9mUD,E;;;;;;;;;;;;;;ACbA,IAAIyhC,CAAJ,C,CAEA;;AACAA,CAAC,GAAI,YAAW;AACf,SAAO,IAAP;AACA,CAFG,EAAJ;;AAIA,IAAI;AACH;AACAA,GAAC,GAAGA,CAAC,IAAI,IAAIC,QAAJ,CAAa,aAAb,GAAT;AACA,CAHD,CAGE,OAAO17C,CAAP,EAAU;AACX;AACA,MAAI,QAAOpB,MAAP,yCAAOA,MAAP,OAAkB,QAAtB,EAAgC68C,CAAC,GAAG78C,MAAJ;AAChC,C,CAED;AACA;AACA;;;AAEAgZ,MAAM,CAACC,OAAP,GAAiB4jC,CAAjB,C;;;;;;;;;;;ACnBA7jC,MAAM,CAACC,OAAP,GAAiB,UAASD,MAAT,EAAiB;AACjC,MAAI,CAACA,MAAM,CAAC+jC,eAAZ,EAA6B;AAC5B/jC,UAAM,CAACgkC,SAAP,GAAmB,YAAW,CAAE,CAAhC;;AACAhkC,UAAM,CAACikC,KAAP,GAAe,EAAf,CAF4B,CAG5B;;AACA,QAAI,CAACjkC,MAAM,CAACtT,QAAZ,EAAsBsT,MAAM,CAACtT,QAAP,GAAkB,EAAlB;AACtB9L,UAAM,CAACy9B,cAAP,CAAsBre,MAAtB,EAA8B,QAA9B,EAAwC;AACvComB,gBAAU,EAAE,IAD2B;AAEvCvjB,SAAG,EAAE,eAAW;AACf,eAAO7C,MAAM,CAACvJ,CAAd;AACA;AAJsC,KAAxC;AAMA7V,UAAM,CAACy9B,cAAP,CAAsBre,MAAtB,EAA8B,IAA9B,EAAoC;AACnComB,gBAAU,EAAE,IADuB;AAEnCvjB,SAAG,EAAE,eAAW;AACf,eAAO7C,MAAM,CAACxV,CAAd;AACA;AAJkC,KAApC;AAMAwV,UAAM,CAAC+jC,eAAP,GAAyB,CAAzB;AACA;;AACD,SAAO/jC,MAAP;AACA,CArBD,C;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AAEAtgB,QAAQ,CAACguB,gBAAT,CAA0B,kBAA1B,EAA8C,YAAM;AAClDw2B,0DAAM,CAAC5hC,IAAP;AACA6hC,0DAAM,CAAC7hC,IAAP;AAEA,SAAO8hC,MAAP,KAAkB,WAAlB,GAAgCC,sEAAO,EAAvC,GAA4C,IAA5C;AACD,CALD,E;;;;;;;;;;;;ACPA;AAAA;AACA,IAAIhhC,GAAJ;AACA,IAAIihC,QAAQ,GAAG,CAAf;AACA,IAAIC,OAAO,GAAG,EAAd,C,CAEA;;AACA,IAAMC,YAAY,GAAG;AACnBC,OAAK,EAAE,SADY;AAEnBC,OAAK,EAAE,SAFY;AAGnBC,MAAI,EAAE,SAHa;AAInBC,MAAI,EAAE;AAJa,CAArB;AAMA,IAAMC,MAAM,GAAG;AAAEC,KAAG,EAAE,SAAP;AAAkBC,KAAG,EAAE;AAAvB,CAAf;;AAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe,GAAM;AACzB,MAAIC,YAAY,GAAG,EAAnB;AAEArkD,QAAM,CAACkrB,IAAP,CAAYy4B,OAAZ,EAAqBW,OAArB,CAA6B,UAAAl5B,GAAG,EAAI;AAClCi5B,gBAAY,CAACvkC,IAAb,CAAkB6jC,OAAO,CAACv4B,GAAD,CAAP,CAAam5B,WAAb,GAA2BC,MAA3B,EAAlB;AACD,GAFD;AAIA,MAAMC,WAAW,GAAGpM,kBAAkB,CAACla,IAAI,CAACumB,SAAL,CAAeL,YAAf,CAAD,CAAtC;AACAvlD,UAAQ,CAACsrB,cAAT,CAAwB,oBAAxB,EAA8CjqB,KAA9C,GAAsDskD,WAAtD;AACD,CATD;;AAWA,IAAME,WAAW,GAAG,SAAdA,WAAc,CAACrzB,QAAD,EAAW7O,GAAX,EAAmB;AACrC,MAAMmiC,MAAM,GAAG,IAAIpB,MAAM,CAACqB,IAAP,CAAYC,MAAhB,CAAuB;AACpC5Y,YAAQ,EAAE5a,QAD0B;AAEpC7O,OAAG,EAAEA;AAF+B,GAAvB,CAAf;AAIAmiC,QAAM,CAACjnB,GAAP,CAAW,UAAX,EAAuB+lB,QAAQ,EAA/B;AAEAF,QAAM,CAACqB,IAAP,CAAYvmD,KAAZ,CAAkBymD,WAAlB,CAA8BH,MAA9B,EAAsC,OAAtC,EAA+C,YAAM;AACnDA,UAAM,CAACI,MAAP,CAAc,IAAd;AACA,WAAOrB,OAAO,CAACiB,MAAM,CAAC3iC,GAAP,CAAW,UAAX,CAAD,CAAd;AACAmiC,gBAAY;AACb,GAJD;AAMA3hC,KAAG,CAACwiC,KAAJ,CAAU3zB,QAAV;AACAqyB,SAAO,CAACiB,MAAM,CAAC3iC,GAAP,CAAW,UAAX,CAAD,CAAP,GAAkC2iC,MAAlC;AACAR,cAAY;AACb,CAhBD;;AAkBA,IAAMX,OAAO,GAAG,SAAVA,OAAU,GAAM;AACpBhhC,KAAG,GAAG,IAAI+gC,MAAM,CAACqB,IAAP,CAAYK,GAAhB,CAAoBpmD,QAAQ,CAACsrB,cAAT,CAAwB,KAAxB,CAApB,EAAoD;AACxD+6B,UAAM,EAAElB,MADgD;AAExDmB,eAAW,EAAE;AACXC,kBAAY,EAAEzB,YADH;AAEX0B,kBAAY,EAAE;AAFH,KAF2C;AAMxDC,QAAI,EAAE,EANkD;AAOxDC,qBAAiB,EAAE,KAPqC;AAQxDC,qBAAiB,EAAE,KARqC;AASxDC,kBAAc,EAAE;AATwC,GAApD,CAAN;AAYAlC,QAAM,CAACqB,IAAP,CAAYvmD,KAAZ,CAAkBymD,WAAlB,CAA8BtiC,GAA9B,EAAmC,OAAnC,EAA4C,UAAAnkB,KAAK,EAAI;AACnDqmD,eAAW,CAACrmD,KAAK,CAACqnD,MAAP,EAAeljC,GAAf,CAAX;AACD,GAFD;AAIA,MAAMmjC,aAAa,GAAGznB,IAAI,CAACC,KAAL,CACpBynB,kBAAkB,CAAC/mD,QAAQ,CAACsrB,cAAT,CAAwB,oBAAxB,EAA8CjqB,KAA/C,CADE,CAAtB;AAIAylD,eAAa,CAACtB,OAAd,CAAsB,UAAAwB,YAAY,EAAI;AACpCnB,eAAW,CAACmB,YAAD,EAAerjC,GAAf,CAAX;AACD,GAFD;AAGD,CAxBD;;AA0BeghC,sEAAf,E;;;;;;;;;;;;;;;;;;;;;ACrEA;;;;;;AAMA;;;;;AAKA,IAAMsC,sBAAsB,GAAG,SAAzBA,sBAAyB,GAAM;AACnC,MAAI3/C,MAAM,CAAC4/C,UAAP,IAAqB,GAAzB,EAA8B;AAC5B,QAAMC,SAAS,GAAGnnD,QAAQ,CAACisB,gBAAT,CAA0B,wBAA1B,CAAlB;;AAEA,uBAAIk7B,SAAJ,EAAe3B,OAAf,CAAuB,UAAA4B,QAAQ,EAAI;AACjCA,cAAQ,CAACrlC,GAAT,GAAeqlC,QAAQ,CAACC,OAAT,CAAiBC,UAAhC;AACD,KAFD;AAGD;AACF,CARD;AAUA;;;;;;;AAKA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;AAC7B;;;;AAIA,MAAMC,eAAe,GAAG,SAAlBA,eAAkB;AAAA,WAAMxnD,QAAQ,CAACynD,MAAT,CAAgBxmC,OAAhB,CAAwB,eAAxB,MAA6C,CAAC,CAApD;AAAA,GAAxB;AAEA;;;;;AAGA,MAAMymC,iBAAiB,GAAG,SAApBA,iBAAoB,GAAM;AAC9B;AACA,QAAMlD,MAAM,GAAGxkD,QAAQ,CAAC2nD,aAAT,CAAuB,QAAvB,CAAf,CAF8B,CAI9B;;AACA,QAAMC,aAAa,GAAG5nD,QAAQ,CAAC2nD,aAAT,CAAuB,yBAAvB,CAAtB,CAL8B,CAO9B;;AACAnD,UAAM,CAAC/hC,WAAP,CAAmBmlC,aAAnB;AACD,GATD;;AAWA,MAAIJ,eAAe,EAAnB,EAAuB;AACrBE,qBAAiB;AAClB,GAFD,MAEO;AACL;;;AAGA,QAAMG,UAAU,GAAG,SAAbA,UAAa,GAAM;AACvB7nD,cAAQ,CAACynD,MAAT,GACE,2DADF;AAED,KAHD,CAJK,CASL;;;AACA,QAAM/iD,MAAM,GAAG1E,QAAQ,CAAC2nD,aAAT,CAAuB,uBAAvB,CAAf,CAVK,CAYL;;AACAjjD,UAAM,GACFA,MAAM,CAACspB,gBAAP,CACE,OADF,EAEE,YAAM;AACJ65B,gBAAU;AACVH,uBAAiB;AAClB,KALH,EAME;AAAEpuB,UAAI,EAAE;AAAR,KANF,CADE,GASF,IATJ;AAUD;AACF,CA/CD;AAiDA;;;;;;;AAKA,IAAMkrB,MAAM,GAAG;AACb5hC,MAAI,EAAE,gBAAM;AACVqkC,0BAAsB;AACtBM,oBAAgB;AACjB;AAJY,CAAf;AAOe/C,qEAAf,E;;;;;;;;;;;;;;;;;;;;;ACvFA;;;;;AAMA,IAAMsD,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5B,MAAMC,gBAAgB,GAAG/nD,QAAQ,CAACisB,gBAAT,CAA0B,mBAA1B,CAAzB;;AAEA,MAAM+7B,cAAc,GAAG,SAAjBA,cAAiB,CAAAC,eAAe;AAAA,WACpCA,eAAe,CAACC,SAAhB,CAA0B7jD,MAA1B,CAAiC,UAAjC,CADoC;AAAA,GAAtC;;AAGA,qBAAI0jD,gBAAJ,EAAsBvC,OAAtB,CAA8B,UAAA2C,OAAO,EAAI;AACvC,QAAMC,eAAe,GAAGD,OAAO,CAACR,aAAR,CAAsB,mBAAtB,CAAxB;AACA,QAAMU,aAAa,GAAGF,OAAO,CAACR,aAAR,CAAsB,iBAAtB,CAAtB;AAEAS,mBAAe,CAACp6B,gBAAhB,CAAiC,OAAjC,EAA0C,YAAM;AAC9Cg6B,oBAAc,CAACG,OAAD,CAAd;AACD,KAFD;AAGD,GAPD;AAQD,CAdD;;AAgBA,IAAMG,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;AAC7B,MAAMC,iBAAiB,GAAGvoD,QAAQ,CAAC2nD,aAAT,CACxB,qCADwB,CAA1B;AAGA,MAAMa,UAAU,GAAGxoD,QAAQ,CAAC2nD,aAAT,CAAuB,sBAAvB,CAAnB;AACA,MAAMjmB,IAAI,GAAG1hC,QAAQ,CAAC2nD,aAAT,CAAuB,MAAvB,CAAb;AAEA;;;;AAGA,MAAMc,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B/mB,QAAI,CAACwmB,SAAL,CAAe7jD,MAAf,CAAsB,eAAtB;AACD,GAFD;AAIA;;;;;AAGA,MAAMqkD,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;AAC7BF,cAAU,CAACN,SAAX,CAAqB7jD,MAArB,CAA4B,SAA5B;AACD,GAFD;AAIA;;;;;AAGA,MAAMskD,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1BJ,qBAAiB,CAACL,SAAlB,CAA4B7jD,MAA5B,CAAmC,WAAnC;AACD,GAFD;;AAIAkkD,mBAAiB,CAACv6B,gBAAlB,CAAmC,OAAnC,EAA4C,YAAM;AAChD06B,oBAAgB;AAChBC,iBAAa;AACbF,kBAAc;AACf,GAJD;AAKD,CAjCD;;AAmCA,IAAMhE,MAAM,GAAG;AACb7hC,MAAI,EAAE,gBAAM;AACV0lC,oBAAgB;AAChBR,mBAAe;AAChB;AAJY,CAAf;AAOerD,qEAAf,E","file":"app.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input:not([type=\"hidden\"])',\n ACTIVE : '.active',\n BUTTON : '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n}\n\nconst Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHSTART : `touchstart${EVENT_KEY}`,\n TOUCHMOVE : `touchmove${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n POINTERDOWN : `pointerdown${EVENT_KEY}`,\n POINTERUP : `pointerup${EVENT_KEY}`,\n DRAG_START : `dragstart${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item',\n POINTER_EVENT : 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n ITEM_IMG : '.carousel-item img',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n if (this._pointerEvent) {\n $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n $(this._element).on(Event.TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n}\n\nconst Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n}\n\nconst Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.7\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (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\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n}\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n show() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE : 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DIALOG : '.modal-dialog',\n MODAL_BODY : '.modal-body',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n $(document).off(Event.FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if ($(this._dialog).hasClass(ClassName.SCROLLABLE)) {\n this._dialog.querySelector(Selector.MODAL_BODY).scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach((attr) => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string|function)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)',\n sanitize : 'boolean',\n sanitizeFn : '(null|function)',\n whiteList : 'object'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '
' +\n '
' +\n '
',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent',\n sanitize : true,\n sanitizeFn : null,\n whiteList : DefaultWhitelist\n}\n\nconst HoverState = {\n SHOW : 'show',\n OUT : 'out'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n}\n\nconst Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => this._handlePopperPlacementChange(data)\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n })\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => {\n if (this.element) {\n this.hide()\n }\n }\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach((dataAttr) => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '
' +\n '
' +\n '

' +\n '
'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n}\n\nconst Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both