{"version":3,"sources":["webpack:///./node_modules/react-icons/lib/esm/iconsManifest.js","webpack:///./node_modules/react-icons/lib/esm/iconContext.js","webpack:///./node_modules/react-icons/lib/esm/iconBase.js","webpack:///./src/img/icons/icon_freedaiyal.svg","webpack:///(webpack)/buildin/amd-options.js","webpack:///./node_modules/react-device-detect/main.js","webpack:///./src/img/logo.png","webpack:///./node_modules/ua-parser-js/dist/ua-parser.min.js","webpack:///./src/services/anchorLink.tsx","webpack:///./node_modules/react-scroll-up/index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/react-spring/web.js","webpack:///./src/components/SiteMetadata.tsx","webpack:///./src/components/Footer/style.tsx","webpack:///./src/components/Footer/Copyright.tsx","webpack:///./node_modules/styled-media-query/dist/styled-media-query.es.js","webpack:///./src/theme/colors.ts","webpack:///./src/theme/index.ts","webpack:///./src/theme/media.tsx","webpack:///./src/components/Footer/FooterMedia.tsx","webpack:///./src/components/Footer/Content.tsx","webpack:///./src/components/ScrollUpButton/style.tsx","webpack:///./src/components/ScrollUpButton/Content.tsx","webpack:///./src/components/Layout.tsx","webpack:///./node_modules/tween-functions/index.js","webpack:///./node_modules/detect-it/dist/detect-it.esm.js"],"names":["DefaultContext","color","undefined","size","className","style","attr","IconContext","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","GenIcon","data","props","IconBase","Tree2Element","tree","map","node","tag","key","child","elem","conf","computedSize","title","svgProps","stroke","fill","strokeWidth","height","width","xmlns","children","Consumer","module","exports","__webpack_amd_options__","defineProperty","value","ex","React","React__default","UA","browser","getBrowser","device","getCPU","getDevice","engine","getEngine","os","getOS","ua","getUA","setDefaults","d","getNavigatorInstance","window","navigator","isIOS13Check","type","nav","platform","maxTouchPoints","MSStream","_typeof","obj","Symbol","iterator","constructor","_defineProperties","target","descriptor","enumerable","configurable","writable","_defineProperty","_extends","source","ownKeys","object","enumerableOnly","keys","symbols","filter","sym","getOwnPropertyDescriptor","push","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_assertThisInitialized","self","ReferenceError","DeviceTypes","BrowserTypes","Chrome","Firefox","Opera","Yandex","Safari","InternetExplorer","Edge","Chromium","Ie","MobileSafari","EdgeChromium","MIUI","SamsungBrowser","OsTypes","IOS","Android","WindowsPhone","Windows","MAC_OS","initialData","isMobile","isTablet","isBrowser","isSmartTV","isConsole","isWearable","mobilePayload","forEach","getOwnPropertyDescriptors","defineProperties","_objectSpread2","vendor","model","name","osVersion","version","checkType","isEdgeChromiumType","isBrowserType","isEdgeType","getIPad13","isMobileSafari","isChromium","isMobileAndTabletType","isMobileOnly","isDesktop","isAndroid","isWinPhone","isIOS","isChrome","isFirefox","isSafari","isOpera","isIE","osName","fullBrowserVersion","browserVersion","major","browserName","mobileVendor","mobileModel","engineName","engineVersion","isEdge","isYandex","deviceType","isIOS13","test","isIPad13","isIPhone13","isIPod13","isElectron","userAgent","toLowerCase","isElectronType","isEdgeChromium","isLegacyEdge","isWindows","isMacOs","isMIUI","isSamsungBrowser","AndroidView","_ref","renderWithFragment","viewClassName","createElement","Fragment","BrowserView","_ref2","ConsoleView","_ref10","CustomView","_ref12","condition","IEView","_ref3","IOSView","_ref4","MobileOnlyView","_ref8","MobileView","_ref5","SmartTVView","_ref9","TabletView","_ref6","WearableView","_ref11","WinPhoneView","_ref7","deviceDetect","browserMajorVersion","browserFullVersion","broPayload","stvPayload","consolePayload","wearPayload","withOrientationChange","WrappedComponent","_React$Component","_class","_this","instance","Constructor","TypeError","_classCallCheck","isEventListenerAdded","handleOrientationChange","bind","onOrientationChange","onPageLoad","state","isLandscape","isPortrait","protoProps","staticProps","subClass","superClass","create","_inherits","orientation","innerWidth","innerHeight","setState","removeEventListener","addEventListener","Component","MODEL","NAME","TYPE","VENDOR","VERSION","MOBILE","TABLET","SMARTTV","enumerize","arr","enums","toUpperCase","has","str1","str2","lowerize","str","trim","len","replace","substring","rgxMapper","arrays","j","k","q","matches","match","regex","exec","strMapper","windowsVersionMap","ME","XP","Vista","7","8","8.1","10","RT","regexes","OPERA","FIREFOX","SAMSUNG","CHROME","1.2","1.3","cpu","APPLE","EDGE","UAParser","extensions","getResult","_navigator","_ua","_uach","userAgentData","_rgxmap","mergedRegexes","concat","extend","_isSelfNav","_browser","split","brave","isBrave","_cpu","_device","mobile","standalone","_engine","_os","setUA","BROWSER","CPU","DEVICE","ENGINE","OS","$","jQuery","Zepto","parser","get","set","result","prop","SmoothScrolling","timer","stop","clearTimeout","scrollTo","id","callback","startTime","settings","outQuint","x","b","c","document","getElementById","nodeTop","offsetTop","nodeHeight","offsetHeight","body","html","documentElement","Math","max","scrollHeight","clientHeight","windowHeight","offset","pageYOffset","delta","bottomScrollableY","targetY","Date","now","clearInterval","setTimeout","step","yScroll","elapsed","_createClass","_react2","_interopRequireDefault","_propTypes2","_tweenFunctions2","_detectPassiveEvents","_objectAssign2","__esModule","default","ScrollUp","_possibleConstructorReturn","show","startValue","currentTime","rafId","handleClick","handleScroll","scrollStep","stopScrolling","nextProps","nextState","supportsPassiveEvents","passive","onShow","onHide","showUnder","notifyOnShow","notifyOnHide","requestAnimationFrame","timestamp","position","easing","topPosition","duration","cancelAnimationFrame","propStyle","element","onClick","defaultProps","opacity","visibility","transitionProperty","cloneElement","bottom","right","cursor","transitionDuration","transitionTimingFunction","transitionDelay","propTypes","number","isRequired","oneOf","func","is","Array","isArray","a","toString","fun","num","und","nul","Set","Map","useForceUpdate","f","v","withDefault","defaultValue","toArray","callProp","_len","args","_key","forward","to","from","config","onStart","onRest","onFrame","reset","reverse","force","immediate","delay","attach","destroyed","interpolateTo","ref","lazy","getForwardProps","rest","reduce","Animated","payload","getValue","index","splice","detach","AnimatedArray","super","addChild","removeChild","AnimatedObject","values","animated","applyAnimatedValues","colorNames","injectApplyAnimatedValues","fn","transform","injectColorNames","names","interpolation","requestFrame","cb","injectStringInterpolator","defaultElement","injectDefaultElement","el","createAnimatedStyle","manualFrameloop","animatedApi","current","injectCreateAnimatedStyle","factory","update","active","time","controller","isActive","configIdx","configs","endOfAnimation","lastTime","valIdx","animatedValues","animation","done","fromValues","toValues","lastPosition","isAnimated","velocity","initialVelocity","setValue","decay","exp","abs","lastVelocity","numSteps","floor","tension","friction","mass","isOvershooting","clamp","isVelocity","precision","isDisplacement","delete","createInterpolator","range","output","extrapolate","outputRange","inputRange","extrapolateLeft","extrapolateRight","input","findRange","inputMin","inputMax","outputMin","outputMax","Infinity","interpolate","AnimatedInterpolation","parents","calc","getPayload","AnimatedValue","_value","animatedStyles","startPosition","flush","addAnimatedStyles","styles","add","getChildren","animatedStyle","clear","AnimatedValueArray","G","idle","hasChanged","guid","local","merged","animations","interpolations","listeners","queue","localQueue","getValues","_ref$delay","ops","entries","entry","previous","sort","diff","onEnd","_ref3$from","_ref3$to","finished","async","runAsync","start","Promise","resolve","fresh","then","r","last","_this$props","_this$props$from","_this$props$to","_this$props$config","acc","isNumber","isString","startsWith","isInterpolation","fromValue","toValue","toConfig","parent","interpolation$$1","newValue","currentValue","some","currentValueDiffersFromGoal","equ","hasNewGoal","hasNewConfig","prev","updateConfig","mapKeys","items","String","_props$keys","item","useTransition","keyTransform","_get","_get$lazy","_get$reset","unique","onDestroyed","enter","leave","_onRest","extra","forceUpdate","mounted","first","deleted","transitions","prevProps","paused","instances","all","_get2","initial","_get2$trail","trail","_get2$order","order","_get3","_keys","_items","currentKeys","currentSet","nextSet","added","removed","originalKey","updated","shift","find","keyIndex","slot","unshift","left","min","out","pos","findIndex","slice","changed","diffItems","transition","ctrl","newProps","cleanUp","destroy","filterKey","AnimatedStyle","colors","transparent","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","NUMBER","parts","join","rgb","RegExp","rgba","hsl","hsla","hex3","hex4","hex6","hex8","hue2rgb","hslToRgb","h","l","g","round","parse255","int","parseInt","parse360","parseFloat","parse1","parsePercentage","colorToRgba","int32Color","normalizeColor","stringShapeRegex","colorRegex","colorNamesRegex","isUnitlessNumber","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","prefixes","dangerousStyleValue","isCustomProperty","prefix","charAt","prefixKey","attributeCache","rangeValue","outputRanges","_","p1","p2","p3","p4","nodeType","setAttribute","scrollTop","scrollLeft","attributes","nodeName","parentNode","textContent","styleName","styleValue","setProperty","dashCase","getAttribute","lowercase","extendedAnimated","propsAnimated","attachProps","oldPropsAnimated","didUpdate","getAnimatedValue","_getValue","animatedProps","refFn","val","childRef","handleRef","useSiteMetadata","site","useStaticQuery","siteMetadata","FooterWrapper","styled","footer","_templateObject","_taggedTemplateLiteralLoose","CopyrightWrapper","_templateObject2","space","themeGet","_templateObject3","_templateObject4","_templateObject5","CopyrightText","_templateObject6","fontSize","_templateObject7","_templateObject8","Copyright","pt","pb","getFullYear","_taggedTemplateLiteral","strings","raw","freeze","defaultBreakpoints","huge","large","medium","small","getSizeFromBreakpoint","breakpointValue","breakpoints","console","error","lessThan","breakpoint","greaterThan","between","firstBreakpoint","secondBreakpoint","oldStyle","label","warn","generateMedia","textColor","cTextColor","lightRed","lightBlue","disabledBg","disabledText","disabledTabText","description","broder","lightBorder","bgColor","bgBorder","plusmedical","lightTextColor","inactiveField","inactiveColor","inactiveBG","borderColor","lightBorderColor","primary","primaryHover","theme","fontSizes","fontWeights","fontFamily","lineHeights","normal","normalText","text","letterSpacings","tracked","tight","mega","borders","radius","widths","heights","maxWidths","colorStyles","backgroundColor","mq","up","media","down","tab","css","FooterMedia","Wrapper","mb","LinkText","href","Text","mt","Footer","ScrollUpButtonWrapper","div","ScrollUpButton","IoIosArrowUp","TemplateWrapper","showSPMenu","setShowSPMenu","useState","hoverPCMenu","setPCMenuHover","hoverPCMedicalHairRemovalMenu","setPCMedicalHairRemovalMenuHover","menuOpen","setMenu","handleBtnClick","handleMenuAndScrollToMedicalSection","location","pathname","navigate","handleMenuAndScrollToPartsOfTroubleSection","handleMenuAndScrollToAccessSection","toggleHover","toggleHoverMedicalHairRemoval","ThemeProvider","Link","src","LogoImage","alt","scrollToMedicalSection","onMouseEnter","onMouseLeave","scrollToAccessSection","top","minHeight","FreedaiyalImage","ScrollToTop","tweenFunctions","linear","_c","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","cos","PI","easeOutSine","sin","easeInOutSine","easeInExpo","pow","easeOutExpo","easeInOutExpo","easeInCirc","sqrt","easeOutCirc","easeInOutCirc","easeInElastic","asin","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","w","screen","matchMedia","passiveOptionAccessed","options","noop","onTouchStartInWindow","supportsTouchEvents","isIPad"],"mappings":";sJAAO,I,YCCIA,EAAiB,CAC1BC,WAAOC,EACPC,UAAMD,EACNE,eAAWF,EACXG,WAAOH,EACPI,UAAMJ,GAEGK,EAAc,iBAAuB,gBAAoBP,GCRhEQ,EAAoC,WAQtC,OAPAA,EAAWC,OAAOC,QAAU,SAAUC,GACpC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE9C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE5E,OAAON,IAEOU,MAAMC,KAAMP,YAE1BQ,EAAgC,SAAUX,EAAGY,GAC/C,IAAIb,EAAI,GACR,IAAK,IAAIM,KAAKL,EAAOH,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,IAAMO,EAAEC,QAAQR,GAAK,IAAGN,EAAEM,GAAKL,EAAEK,IAC9F,GAAS,MAALL,GAAqD,mBAAjCH,OAAOiB,sBAA2C,KAAIb,EAAI,EAAb,IAAgBI,EAAIR,OAAOiB,sBAAsBd,GAAIC,EAAII,EAAED,OAAQH,IAASW,EAAEC,QAAQR,EAAEJ,IAAM,IAAGF,EAAEM,EAAEJ,IAAMD,EAAEK,EAAEJ,KACpL,OAAOF,GAWF,SAASgB,EAAQC,GACtB,OAAO,SAAUC,GACf,OAAO,gBAAoBC,EAAUtB,EAAS,CAC5CF,KAAME,EAAS,GAAIoB,EAAKtB,OACvBuB,GAXP,SAASE,EAAaC,GACpB,OAAOA,GAAQA,EAAKC,KAAI,SAAUC,EAAMrB,GACtC,OAAO,gBAAoBqB,EAAKC,IAAK3B,EAAS,CAC5C4B,IAAKvB,GACJqB,EAAK5B,MAAOyB,EAAaG,EAAKG,WAOtBN,CAAaH,EAAKS,SAG1B,SAASP,EAASD,GACvB,IAAIS,EAAO,SAAUC,GACnB,IACInC,EADAoC,EAAeX,EAAM1B,MAAQoC,EAAKpC,MAAQ,MAE1CoC,EAAKnC,YAAWA,EAAYmC,EAAKnC,WACjCyB,EAAMzB,YAAWA,GAAaA,EAAYA,EAAY,IAAM,IAAMyB,EAAMzB,WAC5E,IAAIE,EAAOuB,EAAMvB,KACfmC,EAAQZ,EAAMY,MACdC,EAAWnB,EAAOM,EAAO,CAAC,OAAQ,UACpC,OAAO,gBAAoB,MAAOrB,EAAS,CACzCmC,OAAQ,eACRC,KAAM,eACNC,YAAa,KACZN,EAAKjC,KAAMA,EAAMoC,EAAU,CAC5BtC,UAAWA,EACXC,MAAOG,EAAS,CACdP,MAAO4B,EAAM5B,OAASsC,EAAKtC,OAC1BsC,EAAKlC,MAAOwB,EAAMxB,OACrByC,OAAQN,EACRO,MAAOP,EACPQ,MAAO,+BACLP,GAAS,gBAAoB,QAAS,KAAMA,GAAQZ,EAAMoB,WAEhE,YAAuB/C,IAAhBK,EAA4B,gBAAoBA,EAAY2C,SAAU,MAAM,SAAUX,GAC3F,OAAOD,EAAKC,MACTD,EAAKtC,K,mBCzDZmD,EAAOC,QAAU,k2C,oBCAjB,YACAD,EAAOC,QAAUC,I,iDCCjB5C,OAAO6C,eAAeF,EAAS,aAAc,CAC3CG,OAAO,IAKT,IAHyBC,EAGrBC,EAAQ,EAAQ,QAChBC,GAJqBF,EAIYC,IAHR,iBAAPD,GAAmB,YAAaA,EAAKA,EAAY,QAAIA,EAKvEG,EAAK,IADM,EAAQ,SAEnBC,EAAUD,EAAGE,aAEbC,GADMH,EAAGI,SACAJ,EAAGK,aACZC,EAASN,EAAGO,YACZC,EAAKR,EAAGS,QACRC,EAAKV,EAAGW,QACRC,EAAc,SAAqBtD,GACrC,IAAIuD,EAAIzD,UAAUC,OAAS,QAAsBd,IAAjBa,UAAU,GAAmBA,UAAU,GAAK,OAC5E,OAAOE,GAAQuD,GAEbC,EAAuB,WACzB,QAAsB,oBAAXC,SACLA,OAAOC,YAAaA,aACfD,OAAOC,WAAaA,YAK7BC,EAAe,SAAsBC,GACvC,IAAIC,EAAML,IACV,OAAOK,GAAOA,EAAIC,YAA6C,IAAhCD,EAAIC,SAAStD,QAAQoD,IAAiC,aAAjBC,EAAIC,UAA2BD,EAAIE,eAAiB,IAAMN,OAAOO,WAEvI,SAASC,EAAQC,GAUf,OARED,EADoB,mBAAXE,QAAoD,iBAApBA,OAAOC,SACtC,SAAUF,GAClB,cAAcA,GAGN,SAAUA,GAClB,OAAOA,GAAyB,mBAAXC,QAAyBD,EAAIG,cAAgBF,QAAUD,IAAQC,OAAOlE,UAAY,gBAAkBiE,IAG9GA,GAOjB,SAASI,EAAkBC,EAAQ3D,GACjC,IAAK,IAAIhB,EAAI,EAAGA,EAAIgB,EAAMb,OAAQH,IAAK,CACrC,IAAI4E,EAAa5D,EAAMhB,GACvB4E,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDnF,OAAO6C,eAAekC,EAAQC,EAAWrD,IAAKqD,IAQlD,SAASI,EAAgBV,EAAK/C,EAAKmB,GAWjC,OAVInB,KAAO+C,EACT1E,OAAO6C,eAAe6B,EAAK/C,EAAK,CAC9BmB,MAAOA,EACPmC,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZT,EAAI/C,GAAOmB,EAEN4B,EAET,SAASW,IAYP,OAXAA,EAAWrF,OAAOC,QAAU,SAAU8E,GACpC,IAAK,IAAI3E,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAAK,CACzC,IAAIkF,EAAShF,UAAUF,GACvB,IAAK,IAAIuB,KAAO2D,EACVtF,OAAOS,UAAUC,eAAeC,KAAK2E,EAAQ3D,KAC/CoD,EAAOpD,GAAO2D,EAAO3D,IAI3B,OAAOoD,IAEOnE,MAAMC,KAAMP,WAE9B,SAASiF,EAAQC,EAAQC,GACvB,IAAIC,EAAO1F,OAAO0F,KAAKF,GACvB,GAAIxF,OAAOiB,sBAAuB,CAChC,IAAI0E,EAAU3F,OAAOiB,sBAAsBuE,GACvCC,IAAgBE,EAAUA,EAAQC,QAAO,SAAUC,GACrD,OAAO7F,OAAO8F,yBAAyBN,EAAQK,GAAKZ,eAEtDS,EAAKK,KAAKnF,MAAM8E,EAAMC,GAExB,OAAOD,EAgCT,SAASM,EAAgBC,GAIvB,OAHAD,EAAkBhG,OAAOkG,eAAiBlG,OAAOmG,eAAiB,SAAyBF,GACzF,OAAOA,EAAEG,WAAapG,OAAOmG,eAAeF,KAEvBA,GAEzB,SAASI,EAAgBJ,EAAGzF,GAK1B,OAJA6F,EAAkBrG,OAAOkG,gBAAkB,SAAyBD,EAAGzF,GAErE,OADAyF,EAAEG,UAAY5F,EACPyF,IAEcA,EAAGzF,GAc5B,SAAS8F,EAAyBhB,EAAQiB,GACxC,GAAc,MAAVjB,EAAgB,MAAO,GAC3B,IACI3D,EAAKvB,EADL2E,EAdN,SAAuCO,EAAQiB,GAC7C,GAAc,MAAVjB,EAAgB,MAAO,GAC3B,IAEI3D,EAAKvB,EAFL2E,EAAS,GACTyB,EAAaxG,OAAO0F,KAAKJ,GAE7B,IAAKlF,EAAI,EAAGA,EAAIoG,EAAWjG,OAAQH,IACjCuB,EAAM6E,EAAWpG,GACbmG,EAASvF,QAAQW,IAAQ,IAC7BoD,EAAOpD,GAAO2D,EAAO3D,IAEvB,OAAOoD,EAIM0B,CAA8BnB,EAAQiB,GAEnD,GAAIvG,OAAOiB,sBAAuB,CAChC,IAAIyF,EAAmB1G,OAAOiB,sBAAsBqE,GACpD,IAAKlF,EAAI,EAAGA,EAAIsG,EAAiBnG,OAAQH,IACvCuB,EAAM+E,EAAiBtG,GACnBmG,EAASvF,QAAQW,IAAQ,GACxB3B,OAAOS,UAAUkG,qBAAqBhG,KAAK2E,EAAQ3D,KACxDoD,EAAOpD,GAAO2D,EAAO3D,IAGzB,OAAOoD,EAET,SAAS6B,EAAuBC,GAC9B,QAAa,IAATA,EACF,MAAM,IAAIC,eAAe,6DAE3B,OAAOD,EAQT,IAAIE,EACM,SADNA,EAEM,SAFNA,EAGO,UAHPA,EAIO,UAJPA,EAKQ,WALRA,OAMOtH,EAEPuH,EAAe,CACjBC,OAAQ,SACRC,QAAS,UACTC,MAAO,QACPC,OAAQ,SACRC,OAAQ,SACRC,iBAAkB,oBAClBC,KAAM,OACNC,SAAU,WACVC,GAAI,KACJC,aAAc,gBACdC,aAAc,gBACdC,KAAM,eACNC,eAAgB,mBAEdC,EAAU,CACZC,IAAK,MACLC,QAAS,UACTC,aAAc,gBACdC,QAAS,UACTC,OAAQ,UAENC,EAAc,CAChBC,UAAU,EACVC,UAAU,EACVC,WAAW,EACXC,WAAW,EACXC,WAAW,EACXC,YAAY,GA6CVC,EAAgB,SAAuBvE,EAAMf,EAAQK,EAAIE,GAC3D,OApKF,SAAwBmB,GACtB,IAAK,IAAI3E,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAAK,CACzC,IAAIkF,EAAyB,MAAhBhF,UAAUF,GAAaE,UAAUF,GAAK,GAC/CA,EAAI,EACNmF,EAAQD,GAAQ,GAAMsD,SAAQ,SAAUjH,GACtCyD,EAAgBL,EAAQpD,EAAK2D,EAAO3D,OAE7B3B,OAAO6I,0BAChB7I,OAAO8I,iBAAiB/D,EAAQ/E,OAAO6I,0BAA0BvD,IAEjEC,EAAQD,GAAQsD,SAAQ,SAAUjH,GAChC3B,OAAO6C,eAAekC,EAAQpD,EAAK3B,OAAO8F,yBAAyBR,EAAQ3D,OAIjF,OAAOoD,EAqJAgE,CAAe,GAAI3E,EAAM,CAC9B4E,OAAQlF,EAAYT,EAAO2F,QAC3BC,MAAOnF,EAAYT,EAAO4F,OAC1BvF,GAAII,EAAYJ,EAAGwF,MACnBC,UAAWrF,EAAYJ,EAAG0F,SAC1BxF,GAAIE,EAAYF,MAiChBQ,EAlFY,SAAmBA,GACjC,OAAQA,GACN,KAAK2C,EACH,MAAO,CACLsB,UAAU,GAEd,KAAKtB,EACH,MAAO,CACLuB,UAAU,GAEd,KAAKvB,EACH,MAAO,CACLyB,WAAW,GAEf,KAAKzB,EACH,MAAO,CACL0B,WAAW,GAEf,KAAK1B,EACH,MAAO,CACL2B,YAAY,GAEhB,KAAK3B,EACH,MAAO,CACLwB,WAAW,GAEf,QACE,OAAOH,GAuDFiB,CAAUhG,EAAOe,MA2B5B,IAoFMC,EArEFiF,EAAqB,WACvB,MAAqB,iBAAP1F,IAA2C,IAAxBA,EAAG5C,QAAQ,SAK1CuI,EAAgB,WAClB,OAAOlG,EAAOe,OAAS2C,GAgCrByC,EAAa,WACf,OAAOrG,EAAQ+F,OAASlC,EAAaO,MAgCnCkC,EAAY,WACd,OAAOtF,EAAa,SAyClBqE,EA9GKnF,EAAOe,OAAS2C,EA+GrB0B,EAtGKpF,EAAOe,OAAS2C,EAuGrB2B,EA1GKrF,EAAOe,OAAS2C,EA2GrB2C,EApEKvG,EAAQ+F,OAASlC,EAAaU,cAoEM+B,IACzCE,EAjFKxG,EAAQ+F,OAASlC,EAAaQ,SAkFnCa,EAhIwB,WAC1B,OAAQhF,EAAOe,MACb,KAAK2C,EACL,KAAKA,EACH,OAAO,EACT,QACE,OAAO,GA0HE6C,IAA2BH,IACtCI,EAtIKxG,EAAOe,OAAS2C,EAuIrBuB,EApIKjF,EAAOe,OAAS2C,GAoIQ0C,IAC7BlB,EAAYgB,IACZO,EAAYP,IACZQ,EA5GKrG,EAAGwF,OAASpB,EAAQE,QA6GzBgC,EApGKtG,EAAGwF,OAASpB,EAAQG,aAqGzBgC,EAlGKvG,EAAGwF,OAASpB,EAAQC,KAkGF0B,IACvBS,EAhGK/G,EAAQ+F,OAASlC,EAAaC,OAiGnCkD,GA9FKhH,EAAQ+F,OAASlC,EAAaE,QA+FnCkD,GAnFKjH,EAAQ+F,OAASlC,EAAaK,QAAUlE,EAAQ+F,OAASlC,EAAaU,aAoF3E2C,GA9EKlH,EAAQ+F,OAASlC,EAAaG,MA+EnCmD,GA5EKnH,EAAQ+F,OAASlC,EAAaM,kBAAoBnE,EAAQ+F,OAASlC,EAAaS,GA6ErF0B,GA5CKrF,EAAYJ,EAAG0F,SA6CpBmB,GA1CKzG,EAAYJ,EAAGwF,MA2CpBsB,GApDK1G,EAAYX,EAAQiG,SAqDzBqB,GAlDK3G,EAAYX,EAAQuH,OAmDzBC,GA1CK7G,EAAYX,EAAQ+F,MA2CzB0B,GAxCK9G,EAAYT,EAAO2F,QAyCxB6B,GAtCK/G,EAAYT,EAAO4F,OAuCxB6B,GApCKhH,EAAYN,EAAO0F,MAqCxB6B,GAlCKjH,EAAYN,EAAO4F,SAmCxBvF,GAhCKC,EAAYF,GAiCjBoH,GAASxB,KAAgBF,IACzB2B,GApGK9H,EAAQ+F,OAASlC,EAAaI,OAqGnC8D,GAhCKpH,EAAYT,EAAOe,KAAM,WAiC9B+G,IA5EE9G,EAAML,OACK,mBAAmBoH,KAAK/G,EAAIC,WAA8B,aAAjBD,EAAIC,UAA2BD,EAAIE,eAAiB,KAAON,OAAOO,SA4ExH6G,GAAW5B,IACX6B,GAvEKnH,EAAa,UAwElBoH,GArEKpH,EAAa,QAsElBqH,GAtFiB,WACnB,IAAInH,EAAML,IACNJ,EAAKS,GAAOA,EAAIoH,WAAapH,EAAIoH,UAAUC,cAC/C,MAAqB,iBAAP9H,GAAkB,WAAWwH,KAAKxH,GAmFjC+H,GACbC,GAAiBtC,IACjBuC,GAAerC,MAAiBF,IAChCwC,GArIKpI,EAAGwF,OAASpB,EAAQI,QAsIzB6D,GAnIKrI,EAAGwF,OAASpB,EAAQK,OAoIzB6D,GAhGK7I,EAAQ+F,OAASlC,EAAaY,KAiGnCqE,GA9FK9I,EAAQ+F,OAASlC,EAAaa,eA2SvClF,EAAQuJ,YA5MU,SAAqBC,GACrC,IAAIC,EAAqBD,EAAKC,mBAC5B5J,EAAW2J,EAAK3J,SAChB6J,EAAgBF,EAAKE,cACrBzM,EAAQuM,EAAKvM,MACbwB,EAAQkF,EAAyB6F,EAAM,CAAC,qBAAsB,WAAY,gBAAiB,UAC7F,OAAOpC,EAAYqC,EAAqBnJ,EAAeqJ,cAActJ,EAAMuJ,SAAU,KAAM/J,GAAYS,EAAeqJ,cAAc,MAAOjH,EAAS,CAClJ1F,UAAW0M,EACXzM,MAAOA,GACNwB,GAAQoB,GAAY,MAoMzBG,EAAQqE,aAAeA,EACvBrE,EAAQ6J,YAnMU,SAAqBC,GACrC,IAAIL,EAAqBK,EAAML,mBAC7B5J,EAAWiK,EAAMjK,SACjB6J,EAAgBI,EAAMJ,cACtBzM,EAAQ6M,EAAM7M,MACdwB,EAAQkF,EAAyBmG,EAAO,CAAC,qBAAsB,WAAY,gBAAiB,UAC9F,OAAOlE,EAAY6D,EAAqBnJ,EAAeqJ,cAActJ,EAAMuJ,SAAU,KAAM/J,GAAYS,EAAeqJ,cAAc,MAAOjH,EAAS,CAClJ1F,UAAW0M,EACXzM,MAAOA,GACNwB,GAAQoB,GAAY,MA2LzBG,EAAQ+J,YA5GU,SAAqBC,GACrC,IAAIP,EAAqBO,EAAOP,mBAC9B5J,EAAWmK,EAAOnK,SAClB6J,EAAgBM,EAAON,cACvBzM,EAAQ+M,EAAO/M,MACfwB,EAAQkF,EAAyBqG,EAAQ,CAAC,qBAAsB,WAAY,gBAAiB,UAC/F,OAAOlE,EAAY2D,EAAqBnJ,EAAeqJ,cAActJ,EAAMuJ,SAAU,KAAM/J,GAAYS,EAAeqJ,cAAc,MAAOjH,EAAS,CAClJ1F,UAAW0M,EACXzM,MAAOA,GACNwB,GAAQoB,GAAY,MAoGzBG,EAAQiK,WAvFS,SAAoBC,GACnC,IAAIT,EAAqBS,EAAOT,mBAC9B5J,EAAWqK,EAAOrK,SAClB6J,EAAgBQ,EAAOR,cACvBzM,EAAQiN,EAAOjN,MACfkN,EAAYD,EAAOC,UACnB1L,EAAQkF,EAAyBuG,EAAQ,CAAC,qBAAsB,WAAY,gBAAiB,QAAS,cACxG,OAAOC,EAAYV,EAAqBnJ,EAAeqJ,cAActJ,EAAMuJ,SAAU,KAAM/J,GAAYS,EAAeqJ,cAAc,MAAOjH,EAAS,CAClJ1F,UAAW0M,EACXzM,MAAOA,GACNwB,GAAQoB,GAAY,MA8EzBG,EAAQoK,OA3LK,SAAgBC,GAC3B,IAAIZ,EAAqBY,EAAMZ,mBAC7B5J,EAAWwK,EAAMxK,SACjB6J,EAAgBW,EAAMX,cACtBzM,EAAQoN,EAAMpN,MACdwB,EAAQkF,EAAyB0G,EAAO,CAAC,qBAAsB,WAAY,gBAAiB,UAC9F,OAAO1C,GAAO8B,EAAqBnJ,EAAeqJ,cAActJ,EAAMuJ,SAAU,KAAM/J,GAAYS,EAAeqJ,cAAc,MAAOjH,EAAS,CAC7I1F,UAAW0M,EACXzM,MAAOA,GACNwB,GAAQoB,GAAY,MAmLzBG,EAAQsK,QAjLM,SAAiBC,GAC7B,IAAId,EAAqBc,EAAMd,mBAC7B5J,EAAW0K,EAAM1K,SACjB6J,EAAgBa,EAAMb,cACtBzM,EAAQsN,EAAMtN,MACdwB,EAAQkF,EAAyB4G,EAAO,CAAC,qBAAsB,WAAY,gBAAiB,UAC9F,OAAOjD,EAAQmC,EAAqBnJ,EAAeqJ,cAActJ,EAAMuJ,SAAU,KAAM/J,GAAYS,EAAeqJ,cAAc,MAAOjH,EAAS,CAC9I1F,UAAW0M,EACXzM,MAAOA,GACNwB,GAAQoB,GAAY,MAyKzBG,EAAQwK,eAtIa,SAAwBC,GAC3C,IAAIhB,EAAqBgB,EAAMhB,mBAC7B5J,EAAW4K,EAAM5K,SACjB6J,EAAgBe,EAAMf,cACtBzM,EAAQwN,EAAMxN,MACdwB,EAAQkF,EAAyB8G,EAAO,CAAC,qBAAsB,WAAY,gBAAiB,UAC9F,OAAOvD,EAAeuC,EAAqBnJ,EAAeqJ,cAActJ,EAAMuJ,SAAU,KAAM/J,GAAYS,EAAeqJ,cAAc,MAAOjH,EAAS,CACrJ1F,UAAW0M,EACXzM,MAAOA,GACNwB,GAAQoB,GAAY,MA8HzBG,EAAQ0K,WAxKS,SAAoBC,GACnC,IAAIlB,EAAqBkB,EAAMlB,mBAC7B5J,EAAW8K,EAAM9K,SACjB6J,EAAgBiB,EAAMjB,cACtBzM,EAAQ0N,EAAM1N,MACdwB,EAAQkF,EAAyBgH,EAAO,CAAC,qBAAsB,WAAY,gBAAiB,UAC9F,OAAOjF,EAAW+D,EAAqBnJ,EAAeqJ,cAActJ,EAAMuJ,SAAU,KAAM/J,GAAYS,EAAeqJ,cAAc,MAAOjH,EAAS,CACjJ1F,UAAW0M,EACXzM,MAAOA,GACNwB,GAAQoB,GAAY,MAgKzBG,EAAQmF,QAAUA,EAClBnF,EAAQ4K,YA9HU,SAAqBC,GACrC,IAAIpB,EAAqBoB,EAAMpB,mBAC7B5J,EAAWgL,EAAMhL,SACjB6J,EAAgBmB,EAAMnB,cACtBzM,EAAQ4N,EAAM5N,MACdwB,EAAQkF,EAAyBkH,EAAO,CAAC,qBAAsB,WAAY,gBAAiB,UAC9F,OAAOhF,EAAY4D,EAAqBnJ,EAAeqJ,cAActJ,EAAMuJ,SAAU,KAAM/J,GAAYS,EAAeqJ,cAAc,MAAOjH,EAAS,CAClJ1F,UAAW0M,EACXzM,MAAOA,GACNwB,GAAQoB,GAAY,MAsHzBG,EAAQ8K,WAhKS,SAAoBC,GACnC,IAAItB,EAAqBsB,EAAMtB,mBAC7B5J,EAAWkL,EAAMlL,SACjB6J,EAAgBqB,EAAMrB,cACtBzM,EAAQ8N,EAAM9N,MACdwB,EAAQkF,EAAyBoH,EAAO,CAAC,qBAAsB,WAAY,gBAAiB,UAC9F,OAAOpF,EAAW8D,EAAqBnJ,EAAeqJ,cAActJ,EAAMuJ,SAAU,KAAM/J,GAAYS,EAAeqJ,cAAc,MAAOjH,EAAS,CACjJ1F,UAAW0M,EACXzM,MAAOA,GACNwB,GAAQoB,GAAY,MAwJzBG,EAAQgL,aA1GW,SAAsBC,GACvC,IAAIxB,EAAqBwB,EAAOxB,mBAC9B5J,EAAWoL,EAAOpL,SAClB6J,EAAgBuB,EAAOvB,cACvBzM,EAAQgO,EAAOhO,MACfwB,EAAQkF,EAAyBsH,EAAQ,CAAC,qBAAsB,WAAY,gBAAiB,UAC/F,OAAOlF,EAAa0D,EAAqBnJ,EAAeqJ,cAActJ,EAAMuJ,SAAU,KAAM/J,GAAYS,EAAeqJ,cAAc,MAAOjH,EAAS,CACnJ1F,UAAW0M,EACXzM,MAAOA,GACNwB,GAAQoB,GAAY,MAkGzBG,EAAQkL,aAvJW,SAAsBC,GACvC,IAAI1B,EAAqB0B,EAAM1B,mBAC7B5J,EAAWsL,EAAMtL,SACjB6J,EAAgByB,EAAMzB,cACtBzM,EAAQkO,EAAMlO,MACdwB,EAAQkF,EAAyBwH,EAAO,CAAC,qBAAsB,WAAY,gBAAiB,UAC9F,OAAO9D,EAAaoC,EAAqBnJ,EAAeqJ,cAActJ,EAAMuJ,SAAU,KAAM/J,GAAYS,EAAeqJ,cAAc,MAAOjH,EAAS,CACnJ1F,UAAW0M,EACXzM,MAAOA,GACNwB,GAAQoB,GAAY,MA+IzBG,EAAQgI,YAAcA,GACtBhI,EAAQ8H,eAAiBA,GACzB9H,EAAQoL,aAjaR,WACE,IAAIxF,EAAYnE,EAAKmE,UACnBF,EAAWjE,EAAKiE,SAChBC,EAAWlE,EAAKkE,SAChBE,EAAYpE,EAAKoE,UACjBC,EAAYrE,EAAKqE,UACjBC,EAAatE,EAAKsE,WACpB,OAAIH,EA5DW,SAAoBA,EAAWpF,EAASK,EAAQE,EAAIE,GACnE,MAAO,CACL2E,UAAWA,EACXyF,oBAAqBlK,EAAYX,EAAQuH,OACzCuD,mBAAoBnK,EAAYX,EAAQiG,SACxCuB,YAAa7G,EAAYX,EAAQ+F,MACjC4B,WAAYhH,EAAYN,EAAO0F,MAC/B6B,cAAejH,EAAYN,EAAO4F,SAClCmB,OAAQzG,EAAYJ,EAAGwF,MACvBC,UAAWrF,EAAYJ,EAAG0F,SAC1BqC,UAAW3H,EAAYF,IAmDhBsK,CAAW3F,EAAWpF,EAASK,EAAQE,EAAIE,GAEhD4E,EAzCW,SAAoBA,EAAWhF,EAAQE,EAAIE,GAC1D,MAAO,CACL4E,UAAWA,EACXsC,WAAYhH,EAAYN,EAAO0F,MAC/B6B,cAAejH,EAAYN,EAAO4F,SAClCmB,OAAQzG,EAAYJ,EAAGwF,MACvBC,UAAWrF,EAAYJ,EAAG0F,SAC1BqC,UAAW3H,EAAYF,IAmChBuK,CAAW3F,EAAWhF,EAAQE,EAAIE,GAEvC6E,EAlCe,SAAwBA,EAAWjF,EAAQE,EAAIE,GAClE,MAAO,CACL6E,UAAWA,EACXqC,WAAYhH,EAAYN,EAAO0F,MAC/B6B,cAAejH,EAAYN,EAAO4F,SAClCmB,OAAQzG,EAAYJ,EAAGwF,MACvBC,UAAWrF,EAAYJ,EAAG0F,SAC1BqC,UAAW3H,EAAYF,IA4BhBwK,CAAe3F,EAAWjF,EAAQE,EAAIE,GAE3CyE,GAGAC,EAFKK,EAAcvE,EAAMf,EAAQK,EAAIE,GAKrC8E,EAjCY,SAAqBA,EAAYlF,EAAQE,EAAIE,GAC7D,MAAO,CACL8E,WAAYA,EACZoC,WAAYhH,EAAYN,EAAO0F,MAC/B6B,cAAejH,EAAYN,EAAO4F,SAClCmB,OAAQzG,EAAYJ,EAAGwF,MACvBC,UAAWrF,EAAYJ,EAAG0F,SAC1BqC,UAAW3H,EAAYF,IA2BhByK,CAAY3F,EAAYlF,EAAQE,EAAIE,QAD7C,GA4YFjB,EAAQuI,WAAaA,GACrBvI,EAAQmI,WAAaA,GACrBnI,EAAQoI,cAAgBA,GACxBpI,EAAQ6H,mBAAqBA,GAC7B7H,EAAQkB,MAAQA,GAChBlB,EAAQoH,UAAYA,EACpBpH,EAAQ4F,UAAYA,EACpB5F,EAAQuH,SAAWA,EACnBvH,EAAQgH,WAAaA,EACrBhH,EAAQ8F,UAAYA,EACpB9F,EAAQmH,UAAYA,EACpBnH,EAAQqI,OAASA,GACjBrI,EAAQiJ,eAAiBA,GACzBjJ,EAAQ6I,WAAaA,GACrB7I,EAAQwH,UAAYA,GACpBxH,EAAQ2H,KAAOA,GACf3H,EAAQsH,MAAQA,EAChBtH,EAAQwI,QAAUA,GAClBxI,EAAQ0I,SAAWA,GACnB1I,EAAQ2I,WAAaA,GACrB3I,EAAQ4I,SAAWA,GACnB5I,EAAQkJ,aAAeA,GACvBlJ,EAAQqJ,OAASA,GACjBrJ,EAAQoJ,QAAUA,GAClBpJ,EAAQ0F,SAAWA,EACnB1F,EAAQkH,aAAeA,EACvBlH,EAAQ+G,eAAiBA,EACzB/G,EAAQ0H,QAAUA,GAClB1H,EAAQyH,SAAWA,GACnBzH,EAAQsJ,iBAAmBA,GAC3BtJ,EAAQ6F,UAAYA,EACpB7F,EAAQ2F,SAAWA,EACnB3F,EAAQ+F,WAAaA,EACrB/F,EAAQqH,WAAaA,EACrBrH,EAAQmJ,UAAYA,GACpBnJ,EAAQsI,SAAWA,GACnBtI,EAAQkI,YAAcA,GACtBlI,EAAQiI,aAAeA,GACvBjI,EAAQ4H,OAASA,GACjB5H,EAAQwG,UAAYA,GACpBxG,EAAQ2L,sBAhIR,SAA+BC,GAC7B,OACE,SAAUC,GAER,SAASC,EAAOrN,GACd,IAAIsN,EA9cwB7H,EAAMlG,EAydlC,OA9lBR,SAAyBgO,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qCAklBhBC,CAAgBjO,KAAM4N,GA/cM5H,EAgdOhG,MAAnC6N,IAhdkC/N,EAgdOqF,EAAgByI,GAAQ9N,KAAKE,KAAMO,KA/crD,iBAATT,GAAqC,mBAATA,EAGzCiG,EAAuBC,GAFrBlG,GA+cGoO,sBAAuB,EAC7BL,EAAMM,wBAA0BN,EAAMM,wBAAwBC,KAAKrI,EAAuB8H,IAC1FA,EAAMQ,oBAAsBR,EAAMQ,oBAAoBD,KAAKrI,EAAuB8H,IAClFA,EAAMS,WAAaT,EAAMS,WAAWF,KAAKrI,EAAuB8H,IAChEA,EAAMU,MAAQ,CACZC,aAAa,EACbC,YAAY,GAEPZ,EAhlBf,IAAsBE,EAAaW,EAAYC,EAmoBzC,OAvkBN,SAAmBC,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIb,UAAU,sDAEtBY,EAAShP,UAAYT,OAAO2P,OAAOD,GAAcA,EAAWjP,UAAW,CACrEoE,YAAa,CACX/B,MAAO2M,EACPtK,UAAU,EACVD,cAAc,KAGdwK,GAAYrJ,EAAgBoJ,EAAUC,GA4ftCE,CAAUnB,EAAQD,GAnkBFI,EAklBHH,GAllBgBc,EAklBR,CAAC,CACpB5N,IAAK,0BACLmB,MAAO,WACAjC,KAAKkO,uBACRlO,KAAKkO,sBAAuB,GAE9B,IAAIc,EAAc5L,OAAO6L,WAAa7L,OAAO8L,YAAc,GAAK,EAChElP,KAAKmP,SAAS,CACZV,WAA4B,IAAhBO,EACZR,YAA6B,KAAhBQ,MAGhB,CACDlO,IAAK,sBACLmB,MAAO,WACLjC,KAAKmO,4BAEN,CACDrN,IAAK,aACLmB,MAAO,WACLjC,KAAKmO,4BAEN,CACDrN,IAAK,oBACLmB,MAAO,gBACmErD,KAAjD,oBAAXwE,OAAyB,YAAcQ,EAAQR,UAA0BoE,IAC9ExH,KAAKkO,qBAIR9K,OAAOgM,oBAAoB,OAAQpP,KAAKsO,YAAY,IAHpDtO,KAAKmO,0BACL/K,OAAOiM,iBAAiB,OAAQrP,KAAKsO,YAAY,IAInDlL,OAAOiM,iBAAiB,SAAUrP,KAAKqO,qBAAqB,MAG/D,CACDvN,IAAK,uBACLmB,MAAO,WACLmB,OAAOgM,oBAAoB,SAAUpP,KAAKqO,qBAAqB,KAEhE,CACDvN,IAAK,SACLmB,MAAO,WACL,OAAOG,EAAeqJ,cAAciC,EAAkBlJ,EAAS,GAAIxE,KAAKO,MAAO,CAC7EiO,YAAaxO,KAAKuO,MAAMC,YACxBC,WAAYzO,KAAKuO,MAAME,mBA9nBjBxK,EAAkB8J,EAAYnO,UAAW8O,GACrDC,GAAa1K,EAAkB8J,EAAaY,GAioBrCf,EAlES,CAmEhBxL,EAAekN,a,mBChsBrBzN,EAAOC,QAAU,8qK,qBCAjB,OAGA,SAAWsB,EAAQxE,GACjB,aAEA,IAQE2Q,EAAQ,QACRC,EAAO,OACPC,EAAO,OACPC,EAAS,SACTC,EAAU,UAGVC,EAAS,SACTC,EAAS,SACTC,EAAU,UAqCVC,EAAY,SAAUC,GAEpB,IADA,IAAIC,EAAQ,GACH1Q,EAAI,EAAGA,EAAIyQ,EAAItQ,OAAQH,IAC9B0Q,EAAMD,EAAIzQ,GAAG2Q,eAAiBF,EAAIzQ,GAEpC,OAAO0Q,GAETE,EAAM,SAAUC,EAAMC,GACpB,MAxDS,iBAwDKD,IAAgE,IAA5CE,EAASD,GAAMlQ,QAAQmQ,EAASF,KAEpEE,EAAW,SAAUC,GACnB,OAAOA,EAAI1F,eAKb2F,EAAO,SAAUD,EAAKE,GACpB,GAjES,iBAiEEF,EAET,OADAA,EAAMA,EAAIG,QAAQ,SAvEd,SAGK,IAqEKD,EAAqBF,EAAMA,EAAII,UAAU,EArD3C,MAwDdC,EAAY,SAAU7N,EAAI8N,GAQ1B,IAPA,IACEC,EACAC,EACApR,EACAqR,EACAC,EACAC,EANE3R,EAAI,EAODA,EAAIsR,EAAOnR,SAAWuR,GAAS,CACpC,IAAIE,EAAQN,EAAOtR,GACjBgB,EAAQsQ,EAAOtR,EAAI,GAErB,IADAuR,EAAIC,EAAI,EACDD,EAAIK,EAAMzR,SAAWuR,GACrBE,EAAML,IAIX,GADAG,EAAUE,EAAML,KAAKM,KAAKrO,GAExB,IAAKpD,EAAI,EAAGA,EAAIY,EAAMb,OAAQC,IAC5BuR,EAAQD,IAAUF,GA1FjB,iBA2FDC,EAAIzQ,EAAMZ,KACmBqR,EAAEtR,OAAS,EACrB,IAAbsR,EAAEtR,OA/FN,mBAgGasR,EAAE,GACXhR,KAAKgR,EAAE,IAAMA,EAAE,GAAGlR,KAAKE,KAAMkR,GAE7BlR,KAAKgR,EAAE,IAAMA,EAAE,GAEK,IAAbA,EAAEtR,OArGb,mBAsGasR,EAAE,IAAsBA,EAAE,GAAGI,MAAQJ,EAAE,GAAGzG,KAGnDvK,KAAKgR,EAAE,IAAME,EAAQA,EAAMR,QAAQM,EAAE,GAAIA,EAAE,SA/G/D,EA6GoBhR,KAAKgR,EAAE,IAAME,EAAQF,EAAE,GAAGlR,KAAKE,KAAMkR,EAAOF,EAAE,SA7GlE,EAiHwC,IAAbA,EAAEtR,SACXM,KAAKgR,EAAE,IAAME,EAAQF,EAAE,GAAGlR,KAAKE,KAAMkR,EAAMR,QAAQM,EAAE,GAAIA,EAAE,UAlH7E,GAqHgBhR,KAAKgR,GAAKE,QArH1B,EA0HQ3R,GAAK,IAGT8R,EAAY,SAAUd,EAAK5P,GACzB,IAAK,IAAIpB,KAAKoB,EACZ,GAvHO,iBAuHIA,EAAIpB,IAAmBoB,EAAIpB,GAAGG,OAAS,GAChD,IAAK,IAAIoR,EAAI,EAAGA,EAAInQ,EAAIpB,GAAGG,OAAQoR,IACjC,GAAIX,EAAIxP,EAAIpB,GAAGuR,GAAIP,GACjB,MA7HA,MA6HOhR,OAlIrB,EAkIiDA,OAGlC,GAAI4Q,EAAIxP,EAAIpB,GAAIgR,GACrB,MAjII,MAiIGhR,OAtIjB,EAsI6CA,EAGvC,OAAOgR,GAYTe,EAAoB,CAClBC,GAAI,OACJ,UAAW,SACX,SAAU,QACV,IAAK,SACLC,GAAI,CAAC,SAAU,UACfC,MAAO,SACPC,EAAG,SACHC,EAAG,SACHC,IAAK,SACLC,GAAI,CAAC,SAAU,WACfC,GAAI,OAEJC,EAAU,CACZzP,QAAS,CAAC,CAAC,gCAAiC,CAACqN,EAAS,CAACH,EAAM,WAAY,CAAC,+BAAgC,CAACG,EAAS,CAACH,EAAM,SAAU,CAAC,4BAA6B,mDAAoD,2CAA4C,CAACA,EAAMG,GAAU,CAAC,yBAA0B,CAACA,EAAS,CAACH,EAAMwC,eAAmB,CAAC,qBAAsB,CAACrC,EAAS,CAACH,EA9H7W,UA8H4X,CAAC,0DAA2D,CAACG,EAAS,CAACH,EAAM,UAAW,CAAC,uBAAwB,8DAA+D,uDAAwD,2BAA4B,+LAAgM,kCAAmC,uBAAwB,CAACA,EAAMG,GAAU,CAAC,qDAAsD,CAACA,EAAS,CAACH,EAAM,cAAkB,CAAC,+BAAgC,+BAAgC,8BAA+B,CAACG,EAAS,CAACH,EAAM,WAAY,CAAC,yBAA0B,CAACG,EAAS,CAACH,EAAM,cAAe,CAAC,+CAAgD,CAACG,EAAS,CAACH,EAAM,OAAQ,CAAC,oCAAqC,CAACG,EAAS,CAACH,EAAM,WAAY,CAAC,yBAA0B,CAACG,EAAS,CAACH,EAAM,yBAA6B,CAAC,2BAA4B,CAAC,CAACA,EAAM,OAAQ,qBAAyBG,GAAU,CAAC,uBAAwB,CAACA,EAAS,CAACH,EAAMyC,kBAAsB,CAAC,qBAAsB,CAACtC,EAAS,CAACH,EAAMwC,gBAAoB,CAAC,0BAA2B,CAACrC,EAAS,CAACH,EAAM,YAAa,CAAC,sBAAuB,CAACG,EAAS,CAACH,EAAM,YAAa,CAAC,qBAAsB,CAACG,EAAS,CAACH,EAAMwC,gBAAoB,CAAC,2BAA4B,CAACrC,EAAS,CAACH,EAAM,iBAAqB,CAAC,sBAAuB,CAACG,EAAS,CAACH,EApIh1D,YAoIi2D,CAAC,iCAAkC,CAAC,CAACA,EAAM,gBAAoB,CAAC,oDAAqD,CAAC,CAACA,EAAM,OAAQ,cAAkBG,GAAU,CAAC,8BAA+B,CAACA,EAAS,CAACH,EAAM0C,qBAAyB,CAAC,+BAAgC,CAAC,CAAC1C,EAAM,KAAM,KAAMG,GAAU,CAAC,0BAA2B,CAACA,EAAS,CAACH,EAAM,mBAAoB,CAAC,4BAA6B,CAAC,CAACA,EAAM,gBAAiBG,GAAU,CAAC,gCAAiC,iDAAkD,8CAA+C,CAACH,EAAMG,GAAU,CAAC,eAAgB,sBAAuB,CAACH,GAAO,CAAC,+DAAgE,CAAC,CAACA,EAxHnhF,YAwHoiFG,GAAU,CAAC,uBAAwB,uCAAwC,kCAAmC,4BAA6B,4BAA6B,6BAA8B,iDAAkD,CAACH,EAAMG,GAAU,CAAC,gCAAiC,CAACA,EAAS,CAACH,EAAM,QAAS,CAAC,8CAA+C,CAACG,EAAS,CAACH,EAAM,WAAY,CAAC,oCAAqC,CAACG,EAAS,CAACH,EAAM2C,oBAAwB,CAAC,+BAAgC,CAAC,CAAC3C,EAAM2C,kBAAsBxC,GAAU,CAAC,2DAA4D,CAACA,EAAS,CAACH,EAAM,oBAAwB,CAAC,+DAAgE,CAACA,EAAMG,GAAU,CAAC,gDAAiD,CAACA,EAAS,CAACH,EAAM,kBAAmB,CAAC,sDAAuD,CAACG,EAASH,GAAO,CAAC,gDAAiD,CAACA,EAAM,CAACG,EAAS0B,EAxBl+G,CACf,MAAO,KACPe,IAAK,KACLC,IAAK,KACL,MAAO,OACP,QAAS,OACT,QAAS,OACT,QAAS,OACT,IAAK,OAgBugH,CAAC,8BAA+B,CAAC7C,EAAMG,GAAU,CAAC,wCAAyC,CAAC,CAACH,EAAM,YAAaG,GAAU,CAAC,uCAAwC,CAACA,EAAS,CAACH,EAAMyC,oBAAwB,CAAC,6BAA8B,cAAe,mGAAoG,+FAAgG,wBAAyB,2CAA4C,wHAAyH,uBAAwB,sBAAuB,CAACzC,EAAMG,GAAU,CAAC,wBAAyB,CAACH,EAAM,CAACG,EAAS,eAAgB,MACrwI2C,IAAK,CAAC,CAAC,iDAAkD,CAAC,CApJ3C,eAoJ0D,UAAW,CAAC,gBAAiB,CAAC,CApJxF,eAoJuGhC,IAAY,CAAC,0BAA2B,CAAC,CApJhJ,eAoJ+J,SAAU,CAAC,oCAAqC,CAAC,CApJhN,eAoJ+N,UAAW,CAAC,mCAAoC,CAAC,CApJhR,eAoJ+R,UAAW,CAAC,8BAA+B,CAAC,CApJ3U,eAoJ0V,QAAS,CAAC,0CAA2C,CAAC,CApJhZ,eAoJ+Z,OAhKta,GAgKqbA,IAAY,CAAC,kBAAmB,CAAC,CApJ/c,eAoJ8d,UAAW,CAAC,2HAA4H,CAAC,CApJvmB,eAoJsnBA,KACroB9N,OAAQ,CAAC,CAAC,mFAAoF,CAAC+M,EAAO,CAACG,EA/H7F,WA+H+G,CAACD,EAAMI,IAAU,CAAC,yDAA0D,uBAAwB,iBAAkB,CAACN,EAAO,CAACG,EA/H9O,WA+HgQ,CAACD,EAAMG,IAAU,CAAC,4CAA6C,CAACL,EAAO,CAACG,EA5I1U,SA4I0V,CAACD,EAAMG,IAAU,CAAC,6BAA8B,oCAAqC,kCAAmC,CAACL,EAAO,CAACG,EA5I3d,SA4I2e,CAACD,EAAMI,IAAU,CAAC,iBAAkB,CAACN,EAAO,CAACG,EA5IxhB,UA4IyiB,CAAC,iCAAkC,CAACH,EAAO,CAACG,EA9HrlB,SA8HqmB,CAACD,EAAMG,IAAU,CAAC,+DAAgE,CAACL,EAAO,CAACG,EApI/rB,UAoIgtB,CAACD,EAAMI,IAAU,CAAC,kCAAmC,sEAAuE,CAACN,EAAO,CAACG,EApIr1B,UAoIs2B,CAACD,EAAMG,IAAU,CAAC,kDAAmD,yBAA0B,uCAAwC,iDAAkD,4DAA6D,yGAA0G,CAAC,CAACL,EAAO,KAAM,KAAM,CAACG,EA5H5tC,UA4H6uC,CAACD,EAAMG,IAAU,CAAC,+CAAgD,8CAA+C,CAAC,CAACL,EAAO,KAAM,KAAM,CAACG,EA5Hp3C,UA4Hq4C,CAACD,EAAMI,IAAU,CAAC,sBAAuB,mEAAoE,CAACN,EAAO,CAACG,EAAQ,QAAS,CAACD,EAAMG,IAAU,CAAC,yBAA0B,oCAAqC,CAACL,EAAO,CAACG,EAAQ,QAAS,CAACD,EAAMG,IAAU,CAAC,mCAAoC,CAACL,EAAO,CAACG,EAAQ,UAAW,CAACD,EAAMG,IAAU,CAAC,iFAAkF,4BAA6B,sDAAuD,CAACL,EAAO,CAACG,EAjIx4D,YAiI25D,CAACD,EAAMG,IAAU,CAAC,qCAAsC,CAACL,EAAO,CAACG,EAjI59D,YAiI++D,CAACD,EAAMI,IAAU,CAAC,iEAAkE,CAACN,EAAO,CAACG,EAnIllE,MAmI+lE,CAACD,EAAMI,IAAU,CAAC,sDAAuD,oDAAqD,wBAAyB,CAACN,EAAO,CAACG,EAnI/vE,MAmI4wE,CAACD,EAAMG,IAAU,CAAC,oBAAqB,qEAAsE,CAACL,EAAO,CAACG,EAAQ,UAAW,CAACD,EAAMI,IAAU,CAAC,qCAAsC,0BAA2B,CAAC,CAACN,EAAO,KAAM,KAAM,CAACG,EAAQ,SAAU,CAACD,EAAMG,IAAU,CAAC,gBAAiB,CAACL,EAAO,CAACG,EArIxjF,UAqIykF,CAACD,EAAMI,IAAU,CAAC,6CAA8C,CAACN,EAAO,CAACG,EArIlpF,UAqImqF,CAACD,EAAMG,IAAU,CAAC,0GAA2G,CAACL,EAAO,CAACG,EA7H3yF,QA6H0zF,CAACD,EAAMG,IAAU,CAAC,oBAAqB,iCAAkC,CAAC,CAACL,EAAO,iBAAkB,CAACG,EA7H/5F,QA6H86F,CAACD,EAAMI,IAAU,CAAC,sCAAuC,0CAA2C,CAACN,EAAO,CAACG,EAAQ,WAAY,CAACD,EAAMG,IAAU,CAAC,eAAgB,uCAAwC,gCAAiC,CAACL,EAAO,CAACG,EA7I/pG,UA6IgrG,CAACD,EAAMI,IAAU,CAAC,iDAAkD,CAAC,CAACN,EAAO,QAAS,iBAAkB,CAACG,EA7IzxG,UA6I0yG,CAACD,EAAMG,IAAU,CAAC,gCAAiC,CAACL,EAAOG,EAAQ,CAACD,EAAMI,IAAU,CAAC,gCAAiC,kBAAmB,CAACN,EAAO,CAACG,EA1I17G,cA0I+8G,CAACD,EAAMG,IAAU,CAAC,qFAAsF,CAACL,EAAO,CAACG,EA3ItkH,QA2IqlH,CAACD,EAAMI,IAAU,CAAC,iDAAkD,CAACN,EAAO,CAACG,EA3IlqH,QA2IirH,CAACD,EAAMG,IAAU,CAAC,cAAe,CAACL,EAAO,CAACG,EAAQ,OAAQ,CAACD,EAAMI,IAAU,CAAC,2CAA4C,oCAAqC,iFAAkF,CAACH,EAAQ,CAACH,EAAO,KAAM,KAAM,CAACE,EAAMG,IAAU,CAAC,uCAAwC,CAACL,EAAO,CAACG,EAAQ,QAAS,CAACD,EAAMI,IAAU,CAAC,8BAA+B,qBAAsB,CAACN,EAAO,CAACG,EAAQ,SAAU,CAACD,EAAMG,IAAU,CAAC,kDAAmD,CAACL,EAAO,CAACG,EAAQ,WAAY,CAACD,EAAMG,IAAU,CAAC,gHAAiH,mBAAoB,iBAAkB,8BAA+B,0BAA2B,WAAY,yBAA0B,CAACF,EAAQH,EAAO,CAACE,EAAMG,IAAU,CAAC,2BAA4B,wBAAyB,uCAAwC,uBAAwB,4BAA6B,iCAAkC,kCAAmC,8BAA+B,gCAAiC,mCAAoC,CAACF,EAAQH,EAAO,CAACE,EAAMI,IAAU,CAAC,kBAAmB,CAACN,EAAO,CAACG,EAlIp3J,aAkIw4J,CAACD,EAAMI,IAAU,CAAC,qCAAsC,CAACN,EAAO,CAACG,EAAQ,aAAc,CAACD,EAAMG,IAAU,CAAC,aAAc,CAACL,EAAO,CAACG,EAAQ,QAAS,CAACD,EAAMG,IAAU,CAAC,gBAAiB,CAACL,EAAO,CAACG,EAAQ,WAAY,CAACD,EAAMG,IAAU,CAAC,iBAAkB,CAACL,EAAO,CAACG,EAAQ,OAAQ,CAACD,EAAMI,IAAU,CAAC,0BAA2B,CAACN,EAAO,CAACG,EAAQ,QAAS,CAACD,EAAMI,IAAU,CAAC,wBAAyB,CAACN,EAAO,CAACG,EAAQ,WAAY,CAACD,EAAMI,IAAU,CAAC,+CAAgD,CAACN,EAAO,CAACG,EAAQ,kBAAmB,CAACD,EAAMI,IAAU,CAAC,qBAAsB,CAACN,EAAO,CAACG,EAAQ,YAAa,CAACD,EAAMI,IAAU,CAAC,cAAe,CAACN,EAAO,CAACG,EAAQ,OAAQ,CAACD,EAAMI,IAAU,CAAC,mBAAoB,CAACN,EAAO,CAACG,EAAQ,OAAQ,CAACD,EAAMG,IAAU,CAAC,wBAAyB,CAACL,EAAO,CAACG,EAAQ,SAAU,CAACD,EAAMG,IAAU,CAAC,mBAAoB,CAACL,EAAO,CAACG,EAAQ,SAAU,CAACD,EAAMI,IAAU,CAAC,wBAAyB,CAACN,EAAO,CAACG,EAAQ,QAAS,CAACD,EAAMI,IAAU,CAAC,mBAAoB,sCAAuC,CAAC,CAACH,EAAQ,gBAAiBH,EAAO,CAACE,EAAMI,IAAU,CAAC,sBAAuB,CAACN,EAAO,CAACG,EAAQ,YAAa,CAACD,EAAMI,IAAU,CAAC,8BAA+B,CAACN,EAAO,CAACG,EAAQ,YAAa,CAACD,EAAMI,IAAU,CAAC,oDAAqD,CAAC,CAACH,EAAQ,SAAUH,EAAO,CAACE,EAAMG,IAAU,CAAC,2BAA4B,CAAC,CAACF,EAAQ,SAAUH,EAAO,CAACE,EAAMG,IAAU,CAAC,cAAe,CAACL,EAAO,CAACG,EAAQ,aAAc,CAACD,EAAMG,IAAU,CAAC,uCAAwC,CAACL,EAAO,CAACG,EAAQ,WAAY,CAACD,EAAMI,IAAU,CAAC,wBAAyB,CAACN,EAAO,CAACG,EAAQ,aAAc,CAACD,EAAMI,IAAU,CAAC,kBAAmB,CAACN,EAAO,CAACG,EAAQ,SAAU,CAACD,EAAMI,IAAU,CAAC,qBAAsB,CAACN,EAAO,CAACG,EAAQ,UAAW,CAACD,EAAMI,IAAU,CAAC,mBAAoB,CAACH,EAAQH,EAAO,CAACE,EAAMG,IAAU,CAAC,sBAAuB,CAAC,CAACL,EAAO,MAAO,KAAM,CAACG,EAlIjqN,aAkIqrN,CAACD,EAAMG,IAAU,CAAC,yDAA0D,CAACL,EAAO,CAACG,EA3H9wN,SA2H8xN,CAACD,EAAMI,IAAU,CAAC,yCAA0C,CAACN,EAAO,CAACG,EA3Hn2N,SA2Hm3N,CAACD,EAAMG,IAAU,CAAC,wBAAyB,CAACF,EAAQ,CAACD,EAAMK,IAAW,CAAC,uBAAwB,CAAC,CAACP,EAAO,IAAK,WAAY,CAACG,EA/H3+N,WA+H6/N,CAACD,EAAMK,IAAW,CAAC,8DAA+D,CAAC,CAACJ,EAnItlO,MAmImmO,CAACD,EAAMK,IAAW,CAAC,gBAAiB,CAACJ,EAAQ,CAACH,EAAOgD,YAAgB,CAAC9C,EAAMK,IAAW,CAAC,UAAW,CAAC,CAACP,EAAO4C,cAAkB,CAACzC,EArI9tO,UAqI+uO,CAACD,EAAMK,IAAW,CAAC,6BAA8B,CAACP,EAAO,CAACG,EA7IvyO,UA6IwzO,CAACD,EAAMK,IAAW,CAAC,uBAAwB,uBAAwB,CAACP,EAAO,CAACG,EA9Hv4O,SA8Hu5O,CAACD,EAAMK,IAAW,CAAC,4BAA6B,CAACP,EAAO,CAACG,EA7Hj9O,QA6Hg+O,CAACD,EAAMK,IAAW,CAAC,qBAAsB,CAACP,EAAO,CAACG,EA5HhhP,UA4HiiP,CAACD,EAAMK,IAAW,CAAC,6BAA8B,CAACJ,EAAQH,EAAO,CAACE,EAAMK,IAAW,CAAC,0CAA2C,6DAA8D,CAAC,CAACJ,EAAQc,GAAO,CAACjB,EAAOiB,GAAO,CAACf,EAAMK,IAAW,CAAC,mDAAoD,CAAC,CAACL,EAAMK,IAAW,CAAC,UAAW,8BAA+B,CAACJ,EAAQH,EAAO,CAACE,EApJn5P,YAoJo6P,CAAC,0BAA2B,CAACF,EAAO,CAACG,EAAQ,UAAW,CAACD,EApJ79P,YAoJ8+P,CAAC,mCAAoC,CAACF,EAAO,CAACG,EA7H/hQ,QA6H8iQ,CAACD,EApJ5iQ,YAoJ6jQ,CAAC,sCAAuC,CAACF,EAAO,CAACG,EAlI5mQ,aAkIgoQ,CAACD,EApJnoQ,YAoJopQ,CAAC,kBAAmB,CAACC,EAAQH,EAAO,CAACE,EAhJxrQ,aAgJ0sQ,CAAC,wCAAyC,CAACF,EAAO,CAACG,EA5IhwQ,SA4IgxQ,CAACD,EAhJ9wQ,aAgJgyQ,CAAC,wBAAyB,CAACF,EAAO,CAACG,EArIr0Q,UAqIs1Q,CAACD,EAhJr1Q,aAgJu2Q,CAAC,6BAA8B,CAACF,EAAO,CAACG,EA3Hl5Q,SA2Hk6Q,CAACD,EAhJh6Q,aAgJk7Q,CAAC,sBAAuB,CAACF,EAAO,CAACG,EA1Hn9Q,YA0Hs+Q,CAACD,EAhJv+Q,aAgJy/Q,CAAC,wCAAyC,CAACC,EAAQ,CAACD,EA/I7iR,aA+I+jR,CAAC,cAAe,CAACF,EAAO,CAACG,EA7IxlR,UA6IymR,CAACD,EA/I1mR,aA+I4nR,CAAC,kEAAmE,CAACF,EAAO,CAACE,EAAMG,IAAU,CAAC,+DAAgE,CAACL,EAAO,CAACE,EAAMI,IAAU,CAAC,gDAAiD,CAAC,CAACJ,EAAMI,IAAU,CAAC,kEAAmE,CAAC,CAACJ,EAAMG,IAAU,CAAC,kCAAmC,CAACL,EAAO,CAACG,EAAQ,aAC7gS/M,OAAQ,CAAC,CAAC,8BAA+B,CAACgN,EAAS,CAACH,EAAMgD,aAAiB,CAAC,6CAA8C,CAAC7C,EAAS,CAACH,EAAM,UAAW,CAAC,uBAAwB,sEAAuE,0BAA2B,yCAA0C,8BAA+B,eAAgB,CAACA,EAAMG,GAAU,CAAC,iCAAkC,CAACA,EAASH,IACxa3M,GAAI,CAAC,CAAC,mCAAoC,CAAC2M,EAAMG,GAAU,CAAC,yDAA0D,CAACH,EAAM,CAACG,EAAS0B,EAAWC,IAAqB,CAAC,0BAA2B,2CAA4C,wCAAyC,CAAC,CAAC3B,EAAS0B,EAAWC,GAAoB,CAAC9B,EAAM,YAAa,CAAC,sDAAuD,4CAA6C,wBAAyB,CAAC,CAACG,EAAS,KAAM,KAAM,CAACH,EAAM,QAAS,CAAC,0BAA2B,yCAA0C,CAAC,CAACA,EA1H1jB,UA0HykB,CAACG,EAAS,KAAM,MAAO,CAAC,kDAAmD,CAACA,EAASH,GAAO,CAAC,+EAAgF,8BAA+B,+BAAgC,kBAAmB,CAACA,EAAMG,GAAU,CAAC,cAAe,CAACA,EAAS,CAACH,EA5Ih3B,eA4Io4B,CAAC,6DAA8D,CAACG,EAAS,CAACH,EAAM,YAAa,CAAC,mFAAoF,CAACG,EAAS,CAACH,EAAMyC,eAAmB,CAAC,kBAAmB,wCAAyC,CAACtC,EAAS,CAACH,EAAM,UAAW,CAAC,wCAAyC,CAACG,EAAS,CAACH,EAAM,YAAa,CAAC,qBAAsB,CAACG,EAAS,CAACH,EAAM2C,eAAmB,CAAC,oCAAqC,CAAC,CAAC3C,EA3H71C,eA2Hi3CG,GAAU,CAAC,qBAAsB,iBAAkB,2BAA4B,mDAAoD,2BAA4B,wCAAyC,yBAA0B,4BAA6B,8SAA+S,2BAA4B,oBAAqB,6EAA8E,kBAAmB,CAACH,EAAMG,GAAU,CAAC,yBAA0B,CAAC,CAACH,EAAM,WAAYG,GAAU,CAAC,sCAAuC,kCAAmC,mEAAoE,sBAAuB,CAACH,EAAMG,KAEpzE8C,EAAW,SAAU1P,EAAI2P,GAK3B,GAtKW,iBAkKA3P,IACT2P,EAAa3P,EACbA,OA5KN,KA8KU/C,gBAAgByS,GACpB,OAAO,IAAIA,EAAS1P,EAAI2P,GAAYC,YAEtC,IAAIC,OA1KS,IA0KWxP,GAAyBA,EAAOC,UAAYD,EAAOC,eAjL/E,EAkLQwP,EAAM9P,IAAO6P,GAAcA,EAAWhI,UAAYgI,EAAWhI,UA9KzD,IA+KJkI,EAAQF,GAAcA,EAAWG,cAAgBH,EAAWG,mBAnLpE,EAoLQC,EAAUN,EAtIH,SAAUX,EAASW,GAC5B,IAAIO,EAAgB,GACpB,IAAK,IAAI1T,KAAKwS,EACRW,EAAWnT,IAAMmT,EAAWnT,GAAGG,OAAS,GAAM,EAChDuT,EAAc1T,GAAKmT,EAAWnT,GAAG2T,OAAOnB,EAAQxS,IAEhD0T,EAAc1T,GAAKwS,EAAQxS,GAG/B,OAAO0T,EA6HkBE,CAAOpB,EAASW,GAAcX,EACrDqB,EAAaR,GAAcA,EAAWhI,WAAaiI,EAoEvD,OAnEA7S,KAAKuC,WAAa,WAChB,IAjHmBgG,EAiHf8K,EAAW,GAQf,OAPAA,EAAS7D,QAxLf,EAyLM6D,EAAS1D,QAzLf,EA0LMiB,EAAU9Q,KAAKuT,EAAUR,EAAKG,EAAQ1Q,SACtC+Q,EAAc,MAlLL,iBA6DU9K,EAqHQ8K,EAAS1D,IApHCpH,EAAQmI,QAAQ,WAnE/C,IAmEkE4C,MAAM,KAAK,QAvEzF,EA4LUF,GAAcR,GAAcA,EAAWW,OAtLjC,mBAsLiDX,EAAWW,MAAMC,UAC1EH,EAAS7D,GAAQ,SAEZ6D,GAETrT,KAAKyC,OAAS,WACZ,IAAIgR,EAAO,CACX,kBAnMN,GAqMM,OADA7C,EAAU9Q,KAAK2T,EAAMZ,EAAKG,EAAQV,KAC3BmB,GAETzT,KAAK0C,UAAY,WACf,IAAIgR,EAAU,CACd,YAzMN,EA0MM,WA1MN,EA2MM,UA3MN,GAoNM,OARA9C,EAAU9Q,KAAK4T,EAASb,EAAKG,EAAQxQ,QACjC4Q,IAAeM,EAAQjE,IAASqD,GAASA,EAAMa,SACjDD,EAAQjE,GAAQG,GAEdwD,GAAgC,aAAlBM,EAAQnE,IAAyBqD,QAzMxC,IAyM6DA,EAAWgB,YAA6BhB,EAAWlP,gBAAkBkP,EAAWlP,eAAiB,IACvKgQ,EAAQnE,GAAS,OACjBmE,EAAQjE,GAAQI,GAEX6D,GAET1T,KAAK4C,UAAY,WACf,IAAIiR,EAAU,CACd,UAxNN,EAyNM,aAzNN,GA2NM,OADAjD,EAAU9Q,KAAK+T,EAAShB,EAAKG,EAAQrQ,QAC9BkR,GAET7T,KAAK8C,MAAQ,WACX,IAAIgR,EAAM,CACV,UA/NN,EAgOM,aAhON,GAqOM,OAJAlD,EAAU9Q,KAAKgU,EAAKjB,EAAKG,EAAQnQ,IAC7BuQ,IAAeU,EAAItE,IAASsD,GAA2B,WAAlBA,EAAMrP,WAC7CqQ,EAAItE,GAAQsD,EAAMrP,SAASiN,QAAQ,aAvLzB,eAuLoDA,QAAQ,SAtLjE,WAwLAoD,GAET9T,KAAK2S,UAAY,WACf,MAAO,CACL5P,GAAI/C,KAAKgD,QACTV,QAAStC,KAAKuC,aACdI,OAAQ3C,KAAK4C,YACbC,GAAI7C,KAAK8C,QACTN,OAAQxC,KAAK0C,YACb4P,IAAKtS,KAAKyC,WAGdzC,KAAKgD,MAAQ,WACX,OAAO6P,GAET7S,KAAK+T,MAAQ,SAAUhR,GAErB,OADA8P,EA5OS,iBA4OI9P,GAAmBA,EAAGrD,OA9NrB,IA8N8C8Q,EAAKzN,EA9NnD,KA8NwEA,EAC/E/C,MAETA,KAAK+T,MAAMlB,GACJ7S,MAETyS,EAAS9C,QAxPQ,SAyPjB8C,EAASuB,QAAUjE,EAAU,CAACP,EAAMG,EAlP1B,UAmPV8C,EAASwB,IAAMlE,EAAU,CA7OR,iBA8OjB0C,EAASyB,OAASnE,EAAU,CAACR,EAAOG,EAAQD,EA7OhC,UA6O+CG,EAAQE,EAASD,EAzO/D,WACA,aAyOb4C,EAAS0B,OAAS1B,EAAS2B,GAAKrE,EAAU,CAACP,EAAMG,SAxPlC,IAyPJ7N,QAzPI,IA0PFD,GAAyBA,EAAOC,UACzCA,EAAUD,EAAOC,QAAU2Q,GAE7B3Q,EAAQ2Q,SAAWA,GAEgB,eAtQvC,KAuQM,aACE,OAAOA,GACR,mCAlQU,IAmQKrP,IAChBA,EAAOqP,SAAWA,GAGtB,IAAI4B,OAvQW,IAuQAjR,IAA0BA,EAAOkR,QAAUlR,EAAOmR,OACjE,GAAIF,IAAMA,EAAEtR,GAAI,CACd,IAAIyR,EAAS,IAAI/B,EACjB4B,EAAEtR,GAAKyR,EAAO7B,YACd0B,EAAEtR,GAAG0R,IAAM,WACT,OAAOD,EAAOxR,SAEhBqR,EAAEtR,GAAG2R,IAAM,SAAU3R,GACnByR,EAAOT,MAAMhR,GACb,IAAI4R,EAASH,EAAO7B,YACpB,IAAK,IAAIiC,KAAQD,EACfN,EAAEtR,GAAG6R,GAAQD,EAAOC,KAzR5B,CA6RqB,iBAAXxR,OAAsBA,OAASpD,O,yDChSzC,gBACA,MAAM6U,EAAkB,CACtBC,MAAO,KAEPC,KAAM,WACJC,aAAahV,KAAK8U,QAGpBG,SAAU,SAASC,EAAIC,GACrB,IAUIC,EAVAC,EACQ,IADRA,EAEM,CACNC,SAAU,SAASC,EAAGlW,EAAGmW,EAAGC,EAAGvS,GAC7B,OAAOuS,IAAMpW,EAAIA,EAAI6D,EAAI,GAAK7D,EAAIA,EAAIA,EAAIA,EAAI,GAAKmW,IAOrD5U,EAAO8U,SAASC,eAAeT,GAC/BU,EAAUpO,WAAW5G,EAAKiV,UAJT,GAIsCjV,EAAKiV,UAC5DC,EAAalV,EAAKmV,aAClBC,EAAON,SAASM,KAChBC,EAAOP,SAASQ,gBAChB1U,EAAS2U,KAAKC,IAChBJ,EAAKK,aACLL,EAAKD,aACLE,EAAKK,aACLL,EAAKI,aACLJ,EAAKF,cAEHQ,EAAenT,OAAO8L,YACtBsH,EAASpT,OAAOqT,YAChBC,EAAQd,EAAUY,EAClBG,EAAoBnV,EAAS+U,EAC7BK,EACFD,EAAoBD,EAChBC,GAAqBnV,EAASoU,EAAUE,EAAaU,GACrDE,EAENtB,EAAYyB,KAAKC,MAGb9W,KAAK8U,OACPiC,cAAc/W,KAAK8U,OAgCrB9U,KAAK8U,MAAQkC,YA7Bb,SAASC,IACP,IAAIC,EACAC,EAAUN,KAAKC,MAAQ1B,EAEvB+B,EAAU9B,GACZL,aAAahV,KAAK8U,OAGPqC,EAAU9B,EAEN,GACfL,aAAahV,KAAK8U,OAEdK,GACFA,MAGF+B,EAAU7B,EAAgBC,SACxB,EACA6B,EACAX,EACAI,EACAvB,GAEFjS,OAAO6R,SAAS,EAAGiC,GACnBlX,KAAK8U,MAAQkC,WAAWC,EAAM,OAIJ,MAInBpC,O,kCC1Ef1V,OAAO6C,eAAeF,EAAS,aAAc,CAC3CG,OAAO,IAET,IAAImV,EAAe,WACjB,SAASnP,EAAiB/D,EAAQ3D,GAChC,IAAK,IAAIhB,EAAI,EAAGA,EAAIgB,EAAMb,OAAQH,IAAK,CACrC,IAAI4E,EAAa5D,EAAMhB,GACvB4E,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDnF,OAAO6C,eAAekC,EAAQC,EAAWrD,IAAKqD,IAGlD,OAAO,SAAU4J,EAAaW,EAAYC,GAGxC,OAFID,GAAYzG,EAAiB8F,EAAYnO,UAAW8O,GACpDC,GAAa1G,EAAiB8F,EAAaY,GACxCZ,GAbQ,GAiBfsJ,EAAUC,EADD,EAAQ,SAGjBC,EAAcD,EADD,EAAQ,SAGrBE,EAAmBF,EADD,EAAQ,SAE1BG,EAAuB,EAAQ,QAE/BC,EAAiBJ,EADD,EAAQ,SAE5B,SAASA,EAAuBzT,GAC9B,OAAOA,GAAOA,EAAI8T,WAAa9T,EAAM,CACnC+T,QAAS/T,GA4Bb,IAAIgU,EAAW,SAAUlK,GAEvB,SAASkK,EAAStX,IA3BpB,SAAyBuN,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qCA0BpBC,CAAgBjO,KAAM6X,GAGtB,IAAIhK,EA1BR,SAAoC7H,EAAMlG,GACxC,IAAKkG,EACH,MAAM,IAAIC,eAAe,6DAE3B,OAAOnG,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BkG,EAAPlG,EAsB5DgY,CAA2B9X,MAAO6X,EAAStS,WAAapG,OAAOmG,eAAeuS,IAAW/X,KAAKE,KAAMO,IAmBhH,OAlBAsN,EAAMU,MAAQ,CACZwJ,MAAM,GAIRlK,EAAMvN,KAAO,CACX0X,WAAY,EACZC,YAAa,EAEb7C,UAAW,KACX8C,MAAO,MAITrK,EAAMsK,YAActK,EAAMsK,YAAY/J,KAAKP,GAC3CA,EAAMuK,aAAevK,EAAMuK,aAAahK,KAAKP,GAC7CA,EAAMwK,WAAaxK,EAAMwK,WAAWjK,KAAKP,GACzCA,EAAMyK,cAAgBzK,EAAMyK,cAAclK,KAAKP,GACxCA,EA2IT,OAlLF,SAAmBe,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIb,UAAU,kEAAoEa,GAE1FD,EAAShP,UAAYT,OAAO2P,OAAOD,GAAcA,EAAWjP,UAAW,CACrEoE,YAAa,CACX/B,MAAO2M,EACPxK,YAAY,EACZE,UAAU,EACVD,cAAc,KAGdwK,IAAY1P,OAAOkG,eAAiBlG,OAAOkG,eAAeuJ,EAAUC,GAAcD,EAASrJ,UAAYsJ,GAG3GE,CAAU8I,EAAUlK,GA0BpByJ,EAAaS,EAAU,CAAC,CACtB/W,IAAK,wBACLmB,MAAO,SAA+BsW,EAAWC,GAC/C,OAAOA,EAAUT,OAAS/X,KAAKuO,MAAMwJ,OAEtC,CACDjX,IAAK,oBACLmB,MAAO,WACLjC,KAAKoY,eAGLhV,OAAOiM,iBAAiB,SAAUrP,KAAKoY,cACvChV,OAAOiM,iBAAiB,QAASrP,KAAKsY,gBAAeb,EAAqBgB,uBAAwB,CAChGC,SAAS,IAEXtV,OAAOiM,iBAAiB,aAAcrP,KAAKsY,gBAAeb,EAAqBgB,uBAAwB,CACrGC,SAAS,MAGZ,CACD5X,IAAK,uBACLmB,MAAO,WAELmB,OAAOgM,oBAAoB,SAAUpP,KAAKoY,cAC1ChV,OAAOgM,oBAAoB,QAASpP,KAAKsY,eAAe,GACxDlV,OAAOgM,oBAAoB,aAAcpP,KAAKsY,eAAe,KAM9D,CACDxX,IAAK,eACLmB,MAAO,WACDjC,KAAKO,MAAMoY,QAAuC,mBAAtB3Y,KAAKO,MAAMoY,QACzC3Y,KAAKO,MAAMoY,WAOd,CACD7X,IAAK,eACLmB,MAAO,WACDjC,KAAKO,MAAMqY,QAAuC,mBAAtB5Y,KAAKO,MAAMqY,QACzC5Y,KAAKO,MAAMqY,WAOd,CACD9X,IAAK,eACLmB,MAAO,WACDmB,OAAOqT,YAAczW,KAAKO,MAAMsY,UAC7B7Y,KAAKuO,MAAMwJ,OACd/X,KAAKmP,SAAS,CACZ4I,MAAM,IAER/X,KAAK8Y,gBAGH9Y,KAAKuO,MAAMwJ,OACb/X,KAAKmP,SAAS,CACZ4I,MAAM,IAER/X,KAAK+Y,kBAQV,CACDjY,IAAK,cACLmB,MAAO,WACLjC,KAAKsY,gBACLtY,KAAKM,KAAK0X,WAAa5U,OAAOqT,YAC9BzW,KAAKM,KAAK2X,YAAc,EACxBjY,KAAKM,KAAK8U,UAAY,KACtBpV,KAAKM,KAAK4X,MAAQ9U,OAAO4V,sBAAsBhZ,KAAKqY,cAQrD,CACDvX,IAAK,aACLmB,MAAO,SAAoBgX,GACpBjZ,KAAKM,KAAK8U,YACbpV,KAAKM,KAAK8U,UAAY6D,GAExBjZ,KAAKM,KAAK2X,YAAcgB,EAAYjZ,KAAKM,KAAK8U,UAC9C,IAAI8D,EAAW1B,EAAiBI,QAAQ5X,KAAKO,MAAM4Y,QAAQnZ,KAAKM,KAAK2X,YAAajY,KAAKM,KAAK0X,WAAYhY,KAAKO,MAAM6Y,YAAapZ,KAAKO,MAAM8Y,UACvIjW,OAAOqT,aAAezW,KAAKO,MAAM6Y,YACnCpZ,KAAKsY,iBAELlV,OAAO6R,SAAS7R,OAAOqT,YAAayC,GACpClZ,KAAKM,KAAK4X,MAAQ9U,OAAO4V,sBAAsBhZ,KAAKqY,eAOvD,CACDvX,IAAK,gBACLmB,MAAO,WACLmB,OAAOkW,qBAAqBtZ,KAAKM,KAAK4X,SAMvC,CACDpX,IAAK,SACLmB,MAAO,WACL,IAAIsX,EAAYvZ,KAAKO,MAAMxB,MACvBya,EAAUnC,EAAQO,QAAQnM,cAAc,MAAO,CACjD1M,MAAOwa,EACPE,QAASzZ,KAAKmY,aACbnY,KAAKO,MAAMoB,UACV5C,GAAQ,EAAI2Y,EAAeE,SAAS,GAAIC,EAAS6B,aAAa3a,OAKlE,OAJAA,GAAQ,EAAI2Y,EAAeE,SAAS7Y,EAAOwa,IACrCI,QAAU3Z,KAAKuO,MAAMwJ,KAAO,EAAI,EACtChZ,EAAM6a,WAAa5Z,KAAKuO,MAAMwJ,KAAO,UAAY,SACjDhZ,EAAM8a,mBAAqB,sBACpBxC,EAAQO,QAAQkC,aAAaN,EAAS,CAC3Cza,MAAOA,QAIN8Y,EApKM,CAqKbR,EAAQO,QAAQtI,WAIlBxN,EAAQ8V,QAAUC,EAClBA,EAAS6B,aAAe,CACtBL,SAAU,IACVF,OAAQ,eACRpa,MAAO,CACLma,SAAU,QACVa,OAAQ,GACRC,MAAO,GACPC,OAAQ,UACRC,mBAAoB,OACpBC,yBAA0B,SAC1BC,gBAAiB,MAEnBhB,YAAa,GAIfvB,EAASwC,UAAY,CACnBjB,YAAa7B,EAAYK,QAAQ0C,OACjCzB,UAAWtB,EAAYK,QAAQ0C,OAAOC,WAEtCpB,OAAQ5B,EAAYK,QAAQ4C,MAAM,CAAC,SAAU,aAAc,cAAe,gBAAiB,cAAe,eAAgB,iBAAkB,cAAe,eAAgB,iBAAkB,cAAe,eAAgB,iBAAkB,aAAc,cAAe,gBAAiB,aAAc,cAAe,gBAAiB,aAAc,cAAe,gBAAiB,gBAAiB,iBAAkB,mBAAoB,aAAc,cAAe,gBAAiB,eAAgB,gBAAiB,oBAC9fnB,SAAU9B,EAAYK,QAAQ0C,OAE9Bvb,MAAOwY,EAAYK,QAAQjT,OAC3BgU,OAAQpB,EAAYK,QAAQ6C,KAC5B7B,OAAQrB,EAAYK,QAAQ6C,O,mFCpQf,SAASjW,IAYtB,OAXAA,EAAWrF,OAAOC,OAASD,OAAOC,OAAOgP,OAAS,SAAUlK,GAC1D,IAAK,IAAI3E,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAAK,CACzC,IAAIkF,EAAShF,UAAUF,GACvB,IAAK,IAAIuB,KAAO2D,EACVtF,OAAOS,UAAUC,eAAeC,KAAK2E,EAAQ3D,KAC/CoD,EAAOpD,GAAO2D,EAAO3D,IAI3B,OAAOoD,IAEOnE,MAAMC,KAAMP,WCZf,SAASmG,EAA8BnB,EAAQiB,GAC5D,GAAc,MAAVjB,EAAgB,MAAO,GAC3B,IAEI3D,EAAKvB,EAFL2E,EAAS,GACTyB,EAAaxG,OAAO0F,KAAKJ,GAE7B,IAAKlF,EAAI,EAAGA,EAAIoG,EAAWjG,OAAQH,IACjCuB,EAAM6E,EAAWpG,GACbmG,EAASvF,QAAQW,IAAQ,IAC7BoD,EAAOpD,GAAO2D,EAAO3D,IAEvB,OAAOoD,ECPT,MAAMwW,EAAK,CACT1K,IAAK2K,MAAMC,QACX/W,IAAKgX,GAA2C,oBAAtC1b,OAAOS,UAAUkb,SAAShb,KAAK+a,GACzCE,IAAKF,GAAkB,mBAANA,EACjBtK,IAAKsK,GAAkB,iBAANA,EACjBG,IAAKH,GAAkB,iBAANA,EACjBI,IAAKJ,QAAW,IAANA,EACVK,IAAKL,GAAW,OAANA,EACVnG,IAAKmG,GAAKA,aAAaM,IACvBxa,IAAKka,GAAKA,aAAaO,IACvB,IAAIP,EAAGrF,GACL,UAAWqF,UAAarF,EAAG,OAAO,EAClC,GAAIkF,EAAGnK,IAAIsK,IAAMH,EAAGM,IAAIH,GAAI,OAAOA,IAAMrF,EACzC,GAAIkF,EAAG7W,IAAIgX,IAAMH,EAAG7W,IAAI2R,IAAMrW,OAAO0F,KAAKgW,GAAGnb,OAASP,OAAO0F,KAAK2Q,GAAG9V,SAAW,EAAG,OAAO,EAC1F,IAAIH,EACJ,IAAKA,KAAKsb,EAAG,KAAMtb,KAAKiW,GAAI,OAAO,EACnC,IAAKjW,KAAKiW,EAAG,GAAIqF,EAAEtb,KAAOiW,EAAEjW,GAAI,OAAO,EACvC,OAAOmb,EAAGO,IAAI1b,IAAKsb,IAAMrF,IAa7B,SAAS6F,IACP,MACEC,EADgB,oBAAS,GACX,GAEhB,OADoB,sBAAY,IAAMA,EAAEC,IAAMA,GAAI,IAGpD,SAASC,EAAYvZ,EAAOwZ,GAC1B,OAAOf,EAAGO,IAAIhZ,IAAUyY,EAAGQ,IAAIjZ,GAASwZ,EAAexZ,EAEzD,SAASyZ,EAAQb,GACf,OAAQH,EAAGO,IAAIJ,GAA2B,GAAtBH,EAAG1K,IAAI6K,GAAKA,EAAI,CAACA,GAEvC,SAASc,EAAS9X,GAChB,IAAK,IAAI+X,EAAOnc,UAAUC,OAAQmc,EAAO,IAAIlB,MAAMiB,EAAO,EAAIA,EAAO,EAAI,GAAIE,EAAO,EAAGA,EAAOF,EAAME,IAClGD,EAAKC,EAAO,GAAKrc,UAAUqc,GAE7B,OAAOpB,EAAGK,IAAIlX,GAAOA,KAAOgY,GAAQhY,EAuBtC,SAAS,EAActD,GACrB,MAAMwb,EAtBR,SAAyBxb,GAmBvB,OAlBWA,EAAMyb,GACRzb,EAAM0b,KACJ1b,EAAM2b,OACL3b,EAAM4b,QACP5b,EAAM6b,OACL7b,EAAM8b,QACL9b,EAAMoB,SACTpB,EAAM+b,MACJ/b,EAAMgc,QACRhc,EAAMic,MACFjc,EAAMkc,UACVlc,EAAMmc,MACLnc,EAAMoc,OACHpc,EAAMqc,UACFrc,EAAMsc,cAChBtc,EAAMuc,IACLvc,EAAMwc,KACHnX,EAA8BrF,EAAO,CAAC,KAAM,OAAQ,SAAU,UAAW,SAAU,UAAW,WAAY,QAAS,UAAW,QAAS,YAAa,QAAS,SAAU,YAAa,gBAAiB,MAAO,SAIxMyc,CAAgBzc,GAChC,GAAIma,EAAGO,IAAIc,GAAU,OAAOvX,EAAS,CACnCwX,GAAID,GACHxb,GACH,MAAM0c,EAAO9d,OAAO0F,KAAKtE,GAAO2c,OAAO,CAACrC,EAAG9J,IAAO2J,EAAGO,IAAIc,EAAQhL,IAAUvM,EAAS,GAAIqW,EAAG,CACzF,CAAC9J,GAAIxQ,EAAMwQ,KAD0D8J,EAEnE,IACJ,OAAOrW,EAAS,CACdwX,GAAID,GACHkB,GAWL,MAAME,EACJ,cACEnd,KAAKod,aAAU,EACfpd,KAAK2B,SAAW,GAElB,mBACE,OAAO3B,KAAKqd,WAEd,aACE,OAAOrd,KAAKod,SAAWpd,KAEzB,UACA,UACA,cACE,OAAOA,KAAK2B,SAEd,SAASZ,GACsB,IAAzBf,KAAK2B,SAASjC,QAAcM,KAAK2c,SACrC3c,KAAK2B,SAASuD,KAAKnE,GAErB,YAAYA,GACV,MAAMuc,EAAQtd,KAAK2B,SAASxB,QAAQY,GACpCf,KAAK2B,SAAS4b,OAAOD,EAAO,GACC,IAAzBtd,KAAK2B,SAASjC,QAAcM,KAAKwd,UAGzC,MAAMC,UAAsBN,EAC1B,cACEO,SAASje,WACTO,KAAKod,QAAU,GACfpd,KAAK2c,OAAS,IAAM3c,KAAKod,QAAQrV,QAAQpI,GAAKA,aAAawd,GAAYxd,EAAEge,SAAS3d,OAClFA,KAAKwd,OAAS,IAAMxd,KAAKod,QAAQrV,QAAQpI,GAAKA,aAAawd,GAAYxd,EAAEie,YAAY5d,QAGzF,MAAM6d,UAAuBV,EAC3B,cACEO,SAASje,WACTO,KAAKod,QAAU,GACfpd,KAAK2c,OAAS,IAAMxd,OAAO2e,OAAO9d,KAAKod,SAASrV,QAAQzI,GAAKA,aAAa6d,GAAY7d,EAAEqe,SAAS3d,OACjGA,KAAKwd,OAAS,IAAMre,OAAO2e,OAAO9d,KAAKod,SAASrV,QAAQzI,GAAKA,aAAa6d,GAAY7d,EAAEse,YAAY5d,OAEtG,SAAS+d,QACU,IAAbA,IACFA,GAAW,GAEb,MAAMX,EAAU,GAChB,IAAK,MAAMtc,KAAOd,KAAKod,QAAS,CAC9B,MAAMnb,EAAQjC,KAAKod,QAAQtc,KACvBid,GAAc9b,aAAiBkb,KACnCC,EAAQtc,GAAOmB,aAAiBkb,EAAWlb,EAAM8b,EAAW,mBAAqB,cAAgB9b,GAEnG,OAAOmb,EAET,mBACE,OAAOpd,KAAKqd,UAAS,IAGzB,IAAIW,EAOAC,EANJ,SAASC,EAA0BC,EAAIC,GACrCJ,EAAsB,CACpBG,KACAC,aAIJ,SAASC,EAAiBC,GACxBL,EAAaK,EAEf,IAQIC,EARAC,EAAeC,GAAwB,oBAAXrb,OAAyBA,OAAO4V,sBAAsByF,IAAO,EAS7F,SAASC,EAAyBP,GAChCI,EAAgBJ,EAElB,IAIIQ,EAJA7H,EAAM,IAAMD,KAAKC,MAKrB,SAAS8H,EAAqBC,GAC5BF,EAAiBE,EAEnB,IAIIC,EAIAC,EARAC,EAAcpe,GAAQA,EAAKqe,QAK/B,SAASC,EAA0BC,GACjCL,EAAsBK,EAoDxB,MAAM,UAAsBtB,EAC1B,YAAYtd,EAAO4U,GACjBuI,QACA1d,KAAKof,YAAS,EACdpf,KAAKod,QAAW7c,EAAMxB,MAAgByF,EAAS,GAAIjE,EAAO,CACxDxB,MAAO+f,EAAoBve,EAAMxB,SADLwB,EAG9BP,KAAKof,OAASjK,EACdnV,KAAK2c,UA6CT,IAAI0C,GAAS,EACb,MAAM,EAAc,IAAIlE,IAClB,EAAS,KACb,IAAKkE,EAAQ,OAAO,EACpB,IAAIC,EAAOxI,IACX,IAAK,IAAIyI,KAAc,EAAa,CAClC,IAAIC,GAAW,EACf,IAAK,IAAIC,EAAY,EAAGA,EAAYF,EAAWG,QAAQhgB,OAAQ+f,IAAa,CAC1E,IACIE,EAAgBC,EADhB1D,EAASqD,EAAWG,QAAQD,GAEhC,IAAK,IAAII,EAAS,EAAGA,EAAS3D,EAAO4D,eAAepgB,OAAQmgB,IAAU,CACpE,IAAIE,EAAY7D,EAAO4D,eAAeD,GAEtC,GAAIE,EAAUC,KAAM,SACpB,IAAI/D,EAAOC,EAAO+D,WAAWJ,GACzB7D,EAAKE,EAAOgE,SAASL,GACrB3G,EAAW6G,EAAUI,aACrBC,EAAapE,aAAcmB,EAC3BkD,EAAW1F,MAAMC,QAAQsB,EAAOoE,iBAAmBpE,EAAOoE,gBAAgBT,GAAU3D,EAAOoE,gBAG/F,GAFIF,IAAYpE,EAAKA,EAAGqB,YAEpBnB,EAAOO,UACTsD,EAAUQ,SAASvE,GACnB+D,EAAUC,MAAO,OAInB,GAAoB,iBAAT/D,GAAmC,iBAAPD,EAAvC,CAKA,QAAwB,IAApBE,EAAO7C,SAETH,EAAW+C,EAAOC,EAAO/C,QAAQmG,EAAOS,EAAU3K,WAAa8G,EAAO7C,WAAa2C,EAAKC,GACxF0D,EAAiBL,GAAQS,EAAU3K,UAAY8G,EAAO7C,cACjD,GAAI6C,EAAOsE,MAEhBtH,EAAW+C,EAAOoE,GAAY,EAAI,OAAU,EAAIlK,KAAKsK,MAAM,EAAI,OAAUnB,EAAOS,EAAU3K,aAC1FuK,EAAiBxJ,KAAKuK,IAAIX,EAAUI,aAAejH,GAAY,GAC3DyG,IAAgB3D,EAAK9C,OACpB,CAEL0G,OAAkC,IAAvBG,EAAUH,SAAsBG,EAAUH,SAAWN,EAChEe,OAAsC,IAA3BN,EAAUY,aAA0BZ,EAAUY,aAAezE,EAAOoE,gBAE3EhB,EAAOM,EAAW,KAAIA,EAAWN,GAErC,IAAIsB,EAAWzK,KAAK0K,MAAMvB,EAAOM,GACjC,IAAK,IAAIrgB,EAAI,EAAGA,EAAIqhB,IAAYrhB,EAAG,CAIjC8gB,GAAqC,KAHxBnE,EAAO4E,SAAW5H,EAAW8C,IAC3BE,EAAO6E,SAAWV,GACMnE,EAAO8E,MACL,IACzC9H,GAAiC,EAAXmH,EAAe,IAGvC,IAAIY,KAAiB/E,EAAOgF,OAA4B,IAAnBhF,EAAO4E,WAAgB7E,EAAOD,EAAK9C,EAAW8C,EAAK9C,EAAW8C,GAC/FmF,EAAahL,KAAKuK,IAAIL,IAAanE,EAAOkF,UAC1CC,EAAoC,IAAnBnF,EAAO4E,SAAgB3K,KAAKuK,IAAI1E,EAAK9C,IAAagD,EAAOkF,UAC9EzB,EAAiBsB,GAAkBE,GAAcE,EACjDtB,EAAUY,aAAeN,EACzBN,EAAUH,SAAWN,EAGnBc,IAAelE,EAAOgE,SAASL,GAAQG,OAAML,GAAiB,GAC9DA,GAEEI,EAAU9d,QAAU+Z,IAAI9C,EAAW8C,GACvC+D,EAAUC,MAAO,GACZR,GAAW,EAClBO,EAAUQ,SAASrH,GACnB6G,EAAUI,aAAejH,OA5CvB6G,EAAUQ,SAASvE,GACnB+D,EAAUC,MAAO,EA8CjBT,EAAWhf,MAAM8b,UAASkD,EAAWzB,OAAO5B,EAAO7T,MAAQ6T,EAAOqC,cAAclB,YAGlFkC,EAAWhf,MAAM8b,SAASkD,EAAWhf,MAAM8b,QAAQkD,EAAWzB,QAE7D0B,IACH,EAAY8B,OAAO/B,GACnBA,EAAWxK,MAAK,IASpB,OALI,EAAYlW,KACVkgB,EAAiBA,IAAuBP,EAAa,GAEzDa,GAAS,EAEJA,GAYT,SAASkC,EAAmBC,EAAOC,EAAQC,GACzC,GAAqB,mBAAVF,EACT,OAAOA,EAET,GAAI7G,MAAMC,QAAQ4G,GAChB,OAAOD,EAAmB,CACxBC,QACAC,OAAQA,EACRC,gBAGJ,GAAInD,GAA4C,iBAApBiD,EAAMC,OAAO,GACvC,OAAOlD,EAAciD,GAEvB,MAAMtF,EAASsF,EACTG,EAAczF,EAAOuF,OACrBG,EAAa1F,EAAOsF,OAAS,CAAC,EAAG,GACjCK,EAAkB3F,EAAO2F,iBAAmB3F,EAAOwF,aAAe,SAClEI,EAAmB5F,EAAO4F,kBAAoB5F,EAAOwF,aAAe,SACpEvI,EAAS+C,EAAO/C,QAAU,CAAC9Z,GAAKA,GACtC,OAAO0iB,IACL,MAAMP,EAuBV,SAAmBO,EAAOH,GACxB,IAAK,IAAIriB,EAAI,EAAGA,EAAIqiB,EAAWliB,OAAS,KAAYkiB,EAAWriB,IAAMwiB,KAAxBxiB,GAC7C,OAAOA,EAAI,EAzBKyiB,CAAUD,EAAOH,GAC/B,OAGJ,SAAqBG,EAAOE,EAAUC,EAAUC,EAAWC,EAAWjJ,EAAQ0I,EAAiBC,EAAkBnhB,GAC/G,IAAIgU,EAAShU,EAAMA,EAAIohB,GAASA,EAEhC,GAAIpN,EAASsN,EAAU,CACrB,GAAwB,aAApBJ,EAAgC,OAAOlN,EAAoC,UAApBkN,IAA6BlN,EAASsN,GAEnG,GAAItN,EAASuN,EAAU,CACrB,GAAyB,aAArBJ,EAAiC,OAAOnN,EAAqC,UAArBmN,IAA8BnN,EAASuN,GAErG,GAAIC,IAAcC,EAAW,OAAOD,EACpC,GAAIF,IAAaC,EAAU,OAAOH,GAASE,EAAWE,EAAYC,EAE9DH,KAAcI,IAAU1N,GAAUA,EAAgBuN,IAAaG,IAAU1N,GAAkBsN,EAActN,GAAUA,EAASsN,IAAaC,EAAWD,GAExJtN,EAASwE,EAAOxE,GAEZwN,KAAeE,IAAU1N,GAAUA,EAAgByN,IAAcC,IAAU1N,GAAkBwN,EAAexN,EAASA,GAAUyN,EAAYD,GAAaA,EAC5J,OAAOxN,EApBE2N,CAAYP,EAAOH,EAAWJ,GAAQI,EAAWJ,EAAQ,GAAIG,EAAYH,GAAQG,EAAYH,EAAQ,GAAIrI,EAAQ0I,EAAiBC,EAAkB5F,EAAOvb,MA0BtK,MAAM4hB,UAA8B9E,EAClC,YAAY+E,EAAShB,EAAOC,EAAQC,GAClChE,QACA1d,KAAKyiB,UAAO,EACZziB,KAAKod,QAAUoF,aAAmB/E,KAAmB+E,aAAmBD,GAAyBC,EAAQE,aAAe/H,MAAMC,QAAQ4H,GAAWA,EAAU,CAACA,GAC5JxiB,KAAKyiB,KAAOlB,EAAmBC,EAAOC,EAAQC,GAEhD,WACE,OAAO1hB,KAAKyiB,QAAQziB,KAAKod,QAAQzc,IAAIsB,GAASA,EAAMob,aAEtD,aAAamE,EAAOC,EAAQC,GAC1B1hB,KAAKyiB,KAAOlB,EAAmBC,EAAOC,EAAQC,GAEhD,YAAYF,EAAOC,EAAQC,GACzB,OAAO,IAAIa,EAAsBviB,KAAMwhB,EAAOC,EAAQC,IAiG1D,MAAMiB,UAAsBxF,EAC1B,YAAYyF,GACV,IAAI/U,EACJ6P,QACA7P,EAAQ7N,KACRA,KAAK6iB,eAAiB,IAAI1H,IAC1Bnb,KAAKiC,WAAQ,EACbjC,KAAK8iB,mBAAgB,EACrB9iB,KAAKmgB,kBAAe,EACpBngB,KAAK2gB,kBAAe,EACpB3gB,KAAKoV,eAAY,EACjBpV,KAAK4f,cAAW,EAChB5f,KAAKggB,MAAO,EACZhgB,KAAKugB,SAAW,SAAUte,EAAO8gB,QACjB,IAAVA,IACFA,GAAQ,GAEVlV,EAAM5L,MAAQA,EACV8gB,GAAOlV,EAAMkV,SAEnB/iB,KAAKiC,MAAQ2gB,EACb5iB,KAAK8iB,cAAgBF,EACrB5iB,KAAKmgB,aAAeyC,EAEtB,QACmC,IAA7B5iB,KAAK6iB,eAAehkB,MAhC5B,SAASmkB,EAAkBpiB,EAAMqiB,GAC3B,WAAYriB,EACdqiB,EAAOC,IAAItiB,GAEXA,EAAKuiB,cAAcpb,QAAQhH,GAASiiB,EAAkBjiB,EAAOkiB,IA6B3DD,CAAkBhjB,KAAMA,KAAK6iB,gBAE/B7iB,KAAK6iB,eAAe9a,QAAQqb,GAAiBA,EAAchE,UAE7D,cACEpf,KAAK6iB,eAAeQ,QAEtB,WACE,OAAOrjB,KAAKiC,MAEd,YAAYuf,EAAOC,EAAQC,GACzB,OAAO,IAAIa,EAAsBviB,KAAMwhB,EAAOC,EAAQC,IAG1D,MAAM4B,UAA2B7F,EAC/B,YAAYK,GACVJ,QACA1d,KAAKod,QAAUU,EAAOnd,IAAInB,GAAK,IAAImjB,EAAcnjB,IAEnD,SAASyC,EAAO8gB,QACA,IAAVA,IACFA,GAAQ,GAENpI,MAAMC,QAAQ3Y,GACZA,EAAMvC,SAAWM,KAAKod,QAAQ1d,QAChCuC,EAAM8F,QAAQ,CAACwT,EAAGhc,IAAMS,KAAKod,QAAQ7d,GAAGghB,SAAShF,EAAGwH,IAGtD/iB,KAAKod,QAAQrV,QAAQpI,GAAKA,EAAE4gB,SAASte,EAAO8gB,IAGhD,WACE,OAAO/iB,KAAKod,QAAQzc,IAAI4a,GAAKA,EAAE8B,YAEjC,YAAYmE,EAAOC,GACjB,OAAO,IAAIc,EAAsBviB,KAAMwhB,EAAOC,IAGlD,IAAI8B,EAAI,EACR,MAAM,EACJ,cACEvjB,KAAKkV,QAAK,EACVlV,KAAKwjB,MAAO,EACZxjB,KAAKyjB,YAAa,EAClBzjB,KAAK0jB,KAAO,EACZ1jB,KAAK2jB,MAAQ,EACb3jB,KAAKO,MAAQ,GACbP,KAAK4jB,OAAS,GACd5jB,KAAK6jB,WAAa,GAClB7jB,KAAK8jB,eAAiB,GACtB9jB,KAAK8d,OAAS,GACd9d,KAAK0f,QAAU,GACf1f,KAAK+jB,UAAY,GACjB/jB,KAAKgkB,MAAQ,GACbhkB,KAAKikB,gBAAa,EAClBjkB,KAAKkkB,UAAY,IAAMlkB,KAAK8jB,eAC5B9jB,KAAKkV,GAAKqO,IAMZ,OAAO1H,GAEL,IAAKA,EAAM,OAAO7b,KAElB,MAAMsL,EAAO,EAAcuQ,GACzBsI,EAAa7Y,EAAKoR,MAClBA,OAAuB,IAAfyH,EAAwB,EAAIA,EACpCnI,EAAK1Q,EAAK0Q,GACVzb,EAAQqF,EAA8B0F,EAAM,CAAC,QAAS,OACxD,GAAIoP,EAAG1K,IAAIgM,IAAOtB,EAAGK,IAAIiB,GAEvBhc,KAAKgkB,MAAM9e,KAAKV,EAAS,GAAIjE,EAAO,CAClCmc,QACAV,aAEG,GAAIA,EAAI,CAEb,IAAIoI,EAAM,GACVjlB,OAAOklB,QAAQrI,GAAIjU,QAAQ6D,IACzB,IAAImF,EAAInF,EAAM,GAId,MAAM0Y,EAAQ9f,EAAS,CACrBwX,GAAI,CACF,CAACjL,GALCnF,EAAM,IAOV8Q,MAAOf,EAASe,EAAO3L,IACtBxQ,GACGgkB,EAAWH,EAAIE,EAAM5H,QAAU0H,EAAIE,EAAM5H,OAAOV,GACtDoI,EAAIE,EAAM5H,OAASlY,EAAS,GAAI4f,EAAIE,EAAM5H,OAAQ4H,EAAO,CACvDtI,GAAIxX,EAAS,GAAI+f,EAAUD,EAAMtI,QAGrChc,KAAKgkB,MAAQ7kB,OAAO2e,OAAOsG,GAM7B,OAHApkB,KAAKgkB,MAAQhkB,KAAKgkB,MAAMQ,KAAK,CAAC3J,EAAGrF,IAAMqF,EAAE6B,MAAQlH,EAAEkH,OAEnD1c,KAAKykB,KAAKlkB,GACHP,KAKT,MAAM0kB,GAEJ,GAAI1kB,KAAKgkB,MAAMtkB,OAAQ,CACrBM,KAAKwjB,MAAO,EAERxjB,KAAKikB,YACPjkB,KAAKikB,WAAWlc,QAAQoE,IACtB,IAAIwY,EAAaxY,EAAM8P,KACrBA,OAAsB,IAAf0I,EAAwB,GAAKA,EACpCC,EAAWzY,EAAM6P,GACjBA,OAAkB,IAAb4I,EAAsB,GAAKA,EAC9BlK,EAAG7W,IAAIoY,KAAOjc,KAAK4jB,OAASpf,EAAS,GAAIyX,EAAMjc,KAAK4jB,SACpDlJ,EAAG7W,IAAImY,KAAKhc,KAAK4jB,OAASpf,EAAS,GAAIxE,KAAK4jB,OAAQ5H,MAK5D,MAAM2H,EAAQ3jB,KAAK2jB,QAAU3jB,KAAK0jB,KAC5BM,EAAQhkB,KAAKikB,WAAajkB,KAAKgkB,MACrChkB,KAAKgkB,MAAQ,GAEbA,EAAMjc,QAAQ,CAACsE,EAAOiR,KACpB,IAAIZ,EAAQrQ,EAAMqQ,MAChBnc,EAAQqF,EAA8ByG,EAAO,CAAC,UAChD,MAAMoS,EAAKoG,IACLvH,IAAU0G,EAAMtkB,OAAS,GAAKikB,IAAU3jB,KAAK0jB,MAAQmB,IACvD7kB,KAAKwjB,MAAO,EACRxjB,KAAKO,MAAM6b,QAAQpc,KAAKO,MAAM6b,OAAOpc,KAAK4jB,SAE5Cc,GAAOA,KAGb,IAAII,EAAQpK,EAAG1K,IAAIzP,EAAMyb,KAAOtB,EAAGK,IAAIxa,EAAMyb,IACzCU,EACF1F,WAAW,KACL2M,IAAU3jB,KAAK0jB,OACboB,EAAO9kB,KAAK+kB,SAASxkB,EAAOke,GAASze,KAAKykB,KAAKlkB,GAAOykB,MAAMvG,KAEjE/B,GACMoI,EAAO9kB,KAAK+kB,SAASxkB,EAAOke,GAASze,KAAKykB,KAAKlkB,GAAOykB,MAAMvG,UAIrE/D,EAAGK,IAAI2J,IAAQ1kB,KAAK+jB,UAAU7e,KAAKwf,GACnC1kB,KAAKO,MAAM4b,SAASnc,KAAKO,MAAM4b,UA1V3BoD,EA2VFvf,KA1VL,EAAYmQ,IAAIoP,IAAa,EAAY2D,IAAI3D,GAC7CF,IACHA,GAAS,EACYb,EAAjBO,GAAiE,IAJ3DQ,MA6VV,OAAOvf,KAET,KAAK6kB,GAGH,OAFA7kB,KAAK+jB,UAAUhc,QAAQ2c,GAASA,EAAMG,IACtC7kB,KAAK+jB,UAAY,GACV/jB,KAIT,MAAM6kB,GA/VKtF,MAkWT,OAFAvf,KAAK+U,MAAK,GACN8P,IAjWKtF,EAiWUvf,KAhWjB,EAAYmQ,IAAIoP,IAAa,EAAY+B,OAAO/B,IAiW3Cvf,KAET,SAASyM,EAAOiY,GACd,IAAI7W,EAAQ7N,KACAyM,EAAMiQ,MAAlB,IACEnc,EAAQqF,EAA8B6G,EAAO,CAAC,UAChD,MAAMkX,EAAQ3jB,KAAK2jB,MAGnB,IAAIK,EAAQiB,QAAQC,aAAQtmB,GAC5B,GAAI8b,EAAG1K,IAAIzP,EAAMyb,IACf,IAAK,IAAIzc,EAAI,EAAGA,EAAIgB,EAAMyb,GAAGtc,OAAQH,IAAK,CACxC,MAAM+d,EAAQ/d,EACR4lB,EAAQ3gB,EAAS,GAAIjE,EAAO,EAAcA,EAAMyb,GAAGsB,KACrD5C,EAAG1K,IAAImV,EAAMjJ,UAASiJ,EAAMjJ,OAASiJ,EAAMjJ,OAAOoB,IACtD0G,EAAQA,EAAMoB,KAAK,KAEjB,GAAIzB,IAAU3jB,KAAK0jB,KAAM,OAAO,IAAIuB,QAAQI,GAAKrlB,KAAKykB,KAAKU,GAAOH,MAAMK,WAGvE,GAAI3K,EAAGK,IAAIxa,EAAMyb,IAAK,CAC3B,IACIsJ,EADAhI,EAAQ,EAEZ0G,EAAQA,EAAMoB,KAAK,IAAM7kB,EAAMyb,GAE/Brc,IACE,MAAMwlB,EAAQ3gB,EAAS,GAAIjE,EAAO,EAAcZ,IAIhD,GAHI+a,EAAG1K,IAAImV,EAAMjJ,UAASiJ,EAAMjJ,OAASiJ,EAAMjJ,OAAOoB,IACtDA,IAEIqG,IAAU3jB,KAAK0jB,KAAM,OAAO4B,EAAO,IAAIL,QAAQI,GAAKrlB,KAAKykB,KAAKU,GAAOH,MAAMK,MAIjF,SAAUR,GAIR,YAHiB,IAAbA,IACFA,GAAW,GAENhX,EAAMkH,KAAK8P,MACjBO,KAAK,IAAME,IAEhBtB,EAAMoB,KAAKV,GAEb,KAAKnkB,GACHP,KAAKO,MAAQiE,EAAS,GAAIxE,KAAKO,MAAOA,GACtC,IAAIglB,EAAcvlB,KAAKO,MACrBilB,EAAmBD,EAAYtJ,KAC/BA,OAA4B,IAArBuJ,EAA8B,GAAKA,EAC1CC,EAAiBF,EAAYvJ,GAC7BA,OAAwB,IAAnByJ,EAA4B,GAAKA,EACtCC,EAAqBH,EAAYrJ,OACjCA,OAAgC,IAAvBwJ,EAAgC,GAAKA,EAC9CnJ,EAAUgJ,EAAYhJ,QACtBI,EAAS4I,EAAY5I,OACrBL,EAAQiJ,EAAYjJ,MACpBG,EAAY8I,EAAY9I,UAE1B,GAAIF,EAAS,CACX,IAAI1P,EAAQ,CAACmP,EAAIC,GACjBA,EAAOpP,EAAM,GACbmP,EAAKnP,EAAM,GAGb7M,KAAK4jB,OAASpf,EAAS,GAAIyX,EAAMjc,KAAK4jB,OAAQ5H,GAC9Chc,KAAKyjB,YAAa,EAElB,IAAIvf,EAASyY,GAAUA,EAAO3c,MAkH9B,GAhHAA,KAAK6jB,WAAa1kB,OAAOklB,QAAQrkB,KAAK4jB,QAAQ1G,OAAO,CAACyI,EAAK1Y,KACzD,IAAI5E,EAAO4E,EAAM,GACfhL,EAAQgL,EAAM,GAEZqX,EAAQqB,EAAItd,IAAS,GAEzB,MAAMud,EAAWlL,EAAGM,IAAI/Y,GAClB4jB,EAAWnL,EAAGnK,IAAItO,KAAWA,EAAM6jB,WAAW,OAAS,KAAKvb,KAAKtI,KAAWgc,EAAWhc,GACvF2Y,EAAUF,EAAG1K,IAAI/N,GACjB8jB,GAAmBH,IAAahL,IAAYiL,EAClD,IAAIG,EAAatL,EAAGO,IAAIgB,EAAK5T,IAAsBpG,EAAbga,EAAK5T,GACvC4d,EAAUL,GAAYhL,GAAkBiL,EAAR5jB,EAA2B,EAC3DikB,EAAWvK,EAASO,EAAQ7T,GAC5BnE,IAAQ+hB,EAAU/hB,EAAO2f,WAAWxb,GAAM8d,QAC9C,IAGErG,EAHEqG,EAAS7B,EAAM6B,OACjBC,EAAmB9B,EAAM/F,cACzB2B,EAAWxE,EAAQxX,EAAS+hB,EAAQvD,aAAeuD,GAEjDI,EAAWpkB,EACX8jB,IAAiBM,EAAW9H,EAAc,CAC5CiD,MAAO,CAAC,EAAG,GACXC,OAAQ,CAACxf,EAAOA,IAFcsc,CAG7B,IACH,IAAI+H,EAAeF,GAAoBA,EAAiB/I,WAExD,MACMmC,GADU9E,EAAGO,IAAIkL,IACM7B,EAAMxE,eAAeyG,KAAKhL,IAAMA,EAAEyE,MACzDwG,GAA+B9L,EAAG+L,IAAIJ,EAAUC,GAChDI,GAAchM,EAAG+L,IAAIJ,EAAU/B,EAAMC,UACrCoC,GAAgBjM,EAAG+L,IAAIP,EAAU5B,EAAMpI,QAG7C,GAAII,GAASoK,GAAcF,GAA+BG,EAAc,CAEtE,GAAIf,GAAYC,EAAUM,EAASC,EAAmB9B,EAAM6B,QAAU,IAAIxD,EAAcqD,QAAgB,GAAIpL,EAASuL,EAASC,EAAmB9B,EAAM6B,QAAU,IAAI7C,EAAmB0C,QAAgB,GAAID,EAAiB,CAC3N,IAAIa,EAAOtC,EAAM/F,eAAiB+F,EAAM/F,cAAckE,KAAK6B,EAAM6B,OAAOlkB,OACxE2kB,OAAgB,IAATA,GAAoBtK,EAAe0J,EAAPY,EAC/BtC,EAAM6B,QACRA,EAAS7B,EAAM6B,OACfA,EAAO5F,SAAS,GAAG,IACd4F,EAAS,IAAIxD,EAAc,GAClC,MAAMnB,EAAQ,CACZC,OAAQ,CAACmF,EAAM3kB,IAEbqiB,EAAM/F,eACR6H,EAAmB9B,EAAM/F,cACzB+F,EAAM/F,cAAcsI,aAAarF,IAC5B4E,EAAmBD,EAAO7D,YAAYd,GAoB/C,OAlBAtB,EAAWxE,EAAQxX,EAAS+hB,EAAQvD,aAAeuD,GACnDnG,EAAiBpE,EAAQyK,EAAOzD,cAC5BpG,IAAUyJ,GAAiBI,EAAO5F,SAASyF,GAAW,GAC1DhmB,KAAKyjB,YAAa,EAElB3D,EAAe/X,QAAQ9F,IACrBA,EAAM6gB,cAAgB7gB,EAAMA,MAC5BA,EAAMke,aAAele,EAAMA,MAC3BA,EAAM0e,aAAenB,EAAWvd,EAAM0e,kBAAe/hB,EACrDqD,EAAM2d,SAAWJ,EAAWvd,EAAM2d,cAAWhhB,EAC7CqD,EAAMmT,UAAY0B,IAClB7U,EAAM+d,MAAO,EACb/d,EAAM4gB,eAAeQ,UAGnB1H,EAASc,EAAWpU,IACtB8d,EAAO5F,SAASwF,EAAkBE,EAAUhkB,GAAO,GAE9CuC,EAAS,GAAImhB,EAAK,CACvB,CAACtd,GAAO7D,EAAS,GAAI8f,EAAO,CAC1Bjc,OACA8d,SACA5H,cAAe6H,EACftG,iBACAI,WACAqE,SAAU8B,EACVnK,OAAQgK,EACRjG,WAAYvE,EAAQyK,EAAO9I,YAC3BZ,UAAWd,EAASc,EAAWpU,GAC/BiY,gBAAiB9E,EAAY0K,EAAS7F,SAAU,GAChDa,MAAO1F,EAAY0K,EAAShF,OAAO,GACnCE,UAAW5F,EAAY0K,EAAS9E,UAAW,KAC3CN,QAAStF,EAAY0K,EAASpF,QAAS,KACvCC,SAAUvF,EAAY0K,EAASnF,SAAU,IACzCC,KAAMxF,EAAY0K,EAASlF,KAAM,GACjC3H,SAAU6M,EAAS7M,SACnBF,OAAQqC,EAAY0K,EAAS/M,OAAQ9Z,GAAKA,GAC1CmhB,MAAO0F,EAAS1F,UAIpB,OAAKgG,EAmBEb,GAdDI,IACFI,EAAO5F,SAAS,GAAG,GACnB6F,EAAiBS,aAAa,CAC5BpF,OAAQ,CAAC4E,EAAUA,MAGvBF,EAAOnG,MAAO,EACdhgB,KAAKyjB,YAAa,EACXjf,EAAS,GAAImhB,EAAK,CACvB,CAACtd,GAAO7D,EAAS,GAAImhB,EAAItd,GAAO,CAC9Bkc,SAAU8B,QAMjBrmB,KAAK6jB,YACJ7jB,KAAKyjB,WAAY,CAEnBzjB,KAAK0f,QAAUvgB,OAAO2e,OAAO9d,KAAK6jB,YAClC7jB,KAAK8d,OAAS,GACd9d,KAAK8jB,eAAiB,GACtB,IAAK,IAAIhjB,KAAOd,KAAK6jB,WACnB7jB,KAAK8jB,eAAehjB,GAAOd,KAAK6jB,WAAW/iB,GAAKyd,cAChDve,KAAK8d,OAAOhd,GAAOd,KAAK6jB,WAAW/iB,GAAKyd,cAAclB,WAG1D,OAAOrd,KAET,UACEA,KAAK+U,OACL/U,KAAKO,MAAQ,GACbP,KAAK4jB,OAAS,GACd5jB,KAAK6jB,WAAa,GAClB7jB,KAAK8jB,eAAiB,GACtB9jB,KAAK8d,OAAS,GACd9d,KAAK0f,QAAU,GACf1f,KAAK2jB,MAAQ,GAoHjB,IAAID,EAAO,EACX,MAGMoD,EAAU,CAACC,EAAOliB,KAA0B,mBAATA,EAAsBkiB,EAAMpmB,IAAIkE,GAAQ6W,EAAQ7W,IAAOlE,IAAIqmB,QAC9FvS,EAAMlU,IACV,IAAIwmB,EAAQxmB,EAAMwmB,MAChBE,EAAc1mB,EAAMsE,KACpBA,OAAuB,IAAhBoiB,EAAyBC,GAAQA,EAAOD,EAC/ChK,EAAOrX,EAA8BrF,EAAO,CAAC,QAAS,SAExD,OADAwmB,EAAQrL,OAAkB,IAAVqL,EAAmBA,EAAQ,MACpCviB,EAAS,CACduiB,QACAliB,KAAMiiB,EAAQC,EAAOliB,IACpBoY,IAEL,SAASkK,EAAcpF,EAAOqF,EAAclL,GAC1C,MAAM3b,EAAQiE,EAAS,CACrBuiB,MAAOhF,EACPld,KAAMuiB,GAAgB,CAAC7nB,GAAKA,IAC3B2c,GACGmL,EAAO5S,EAAIlU,GACf+mB,EAAYD,EAAKtK,KACjBA,OAAqB,IAAduK,GAA+BA,EAEtCC,GADcF,EAAKG,OACNH,EAAK/K,OAClBA,OAAuB,IAAfiL,GAAgCA,EAIxCE,GAHQJ,EAAKK,MACLL,EAAKM,MACJN,EAAKjI,OACAiI,EAAKI,aAGnBpL,GAFOgL,EAAKxiB,KACJwiB,EAAKN,MACHM,EAAKhL,SACfuL,EAAUP,EAAKjL,OACfD,EAAUkL,EAAKlL,QACfW,EAAMuK,EAAKvK,IACX+K,EAAQjiB,EAA8ByhB,EAAM,CAAC,OAAQ,SAAU,QAAS,QAAS,QAAS,SAAU,cAAe,OAAQ,QAAS,UAAW,SAAU,UAAW,QAChKS,EAAczM,IACd0M,EAAU,kBAAO,GACjBxZ,EAAQ,iBAAO,CACnBwZ,SAAS,EACTC,OAAO,EACPC,QAAS,GACThJ,QAAS,GACTiJ,YAAa,GACbC,UAAW,GACXC,SAAU7nB,EAAMuc,IAChBuL,WAAYN,EAAQ9I,SAAW,IAAI7D,IACnC0M,gBA2EF,OAzEA,8BAAoBvnB,EAAMuc,IAAK,KAAM,CACnCkI,MAAO,IAAMC,QAAQqD,IAAI3N,MAAMsB,KAAK1N,EAAM0Q,QAAQoJ,WAAW1nB,IAAI2K,IAC/D,IAAImK,EAAInK,EAAK,GACb,OAAO,IAAI2Z,QAAQI,GAAK5P,EAAEuP,MAAMK,OAElCtQ,KAAM8P,GAAYlK,MAAMsB,KAAK1N,EAAM0Q,QAAQoJ,WAAWtgB,QAAQ6D,GACpDA,EAAM,GACLmJ,KAAK8P,IAEhB,kBACE,OAAOlK,MAAMsB,KAAK1N,EAAM0Q,QAAQoJ,WAAW1nB,IAAIwL,GACrCA,EAAM,QAMpBoC,EAAM0Q,QAiFR,SAAmB1S,EAAOhM,GACxB,IAAIynB,EAAQzb,EAAMyb,MAChBG,EAAY5b,EAAM4b,UAClB5Z,EAAQ3I,EAA8B2G,EAAO,CAAC,QAAS,cACrDgc,EAAQ9T,EAAIlU,GACdwmB,EAAQwB,EAAMxB,MACdliB,EAAO0jB,EAAM1jB,KACb2jB,EAAUD,EAAMC,QAChBvM,EAAOsM,EAAMtM,KACbyL,EAAQa,EAAMb,MACdC,EAAQY,EAAMZ,MACdvI,EAASmJ,EAAMnJ,OACfqJ,EAAcF,EAAMG,MACpBA,OAAwB,IAAhBD,EAAyB,EAAIA,EACrCjB,EAASe,EAAMf,OACftL,EAASqM,EAAMrM,OACfyM,EAAcJ,EAAMK,MACpBA,OAAwB,IAAhBD,EAAyB,CArKvB,QACA,QACC,UAmK+CA,EACxDE,EAAQpU,EAAI0T,GACdW,EAAQD,EAAMhkB,KACdkkB,EAASF,EAAM9B,MACb9H,EAAUza,EAAS,GAAI+J,EAAM0Q,SAC7BgJ,EAAU,IAAI1Z,EAAM0Z,SAEpBe,EAAc7pB,OAAO0F,KAAKoa,GAC1BgK,EAAa,IAAI9N,IAAI6N,GACrBE,EAAU,IAAI/N,IAAItW,GAClBskB,EAAQtkB,EAAKE,OAAOmiB,IAAS+B,EAAW9Y,IAAI+W,IAC5CkC,EAAU7a,EAAM2Z,YAAYnjB,OAAOmiB,IAASA,EAAKtK,YAAcsM,EAAQ/Y,IAAI+W,EAAKmC,cAAc1oB,IAAIpB,GAAKA,EAAE8pB,aACzGC,EAAUzkB,EAAKE,OAAOmiB,GAAQ+B,EAAW9Y,IAAI+W,IAC7CxK,GAASgM,EACb,KAAOE,EAAMlpB,QAAQ,CAEnB,OADmBkpB,EAAMW,SAEvB,IAtLQ,QAwLJJ,EAAMphB,QAAQ,CAACjH,EAAKwc,KAEdkK,GAAUS,EAAQuB,KAAKtmB,GAAKA,EAAEmmB,cAAgBvoB,KAAMmnB,EAAUA,EAAQljB,OAAO1F,GAAKA,EAAEgqB,cAAgBvoB,IACxG,MAAM2oB,EAAW5kB,EAAK1E,QAAQW,GACxBomB,EAAOH,EAAM0C,GACbC,EAAO1B,QAAqB,IAAZQ,EAAqB,UA7LzC,QA8LFvJ,EAAQne,GAAO,CACb4oB,OACAL,YAAavoB,EACbA,IAAK0mB,EAASR,OAAOlmB,GAAO4iB,IAC5BwD,OACAwB,MAAOhM,GAAgBgM,EACvBxM,OAAQP,EAASO,EAAQgL,EAAMwC,GAC/BzN,KAAMN,EAASqM,QAAoB,IAAZQ,EAAqBA,GAAW,GAAYvM,EAAMiL,GACzElL,GAAIL,EAAS+L,EAAOR,MAGxB,MAEJ,IA1MQ,QA4MJkC,EAAQrhB,QAAQjH,IACd,MAAM2oB,EAAWX,EAAM3oB,QAAQW,GACzBomB,EAAO6B,EAAOU,GAEpBxB,EAAQ0B,QAAQnlB,EAAS,GAAIya,EAAQne,GAAM,CACzC4oB,KAjNA,QAkNA9M,WAAW,EACXgN,KAAMd,EAAM3S,KAAKC,IAAI,EAAGqT,EAAW,IACnCzP,MAAO8O,EAAM3S,KAAK0T,IAAIf,EAAMppB,OAAQ+pB,EAAW,IAC/Cf,MAAOhM,GAAgBgM,EACvBxM,OAAQP,EAASO,EAAQgL,EAtNzB,SAuNAlL,GAAIL,EAASgM,EAAOT,aAEfjI,EAAQne,KAEjB,MAEJ,IA5NS,SA8NLwoB,EAAQvhB,QAAQjH,IACd,MAAM2oB,EAAW5kB,EAAK1E,QAAQW,GACxBomB,EAAOH,EAAM0C,GAEnBxK,EAAQne,GAAO0D,EAAS,GAAIya,EAAQne,GAAM,CACxComB,OACAwC,KApOC,SAqODhB,MAAOhM,GAAgBgM,EACvBxM,OAAQP,EAASO,EAAQgL,EAtOxB,UAuODlL,GAAIL,EAASyD,EAAQ8H,QAOjC,IAAI4C,EAAMjlB,EAAKlE,IAAIG,GAAOme,EAAQne,IAclC,OAXAmnB,EAAQlgB,QAAQ4E,IACd,IAGIod,EAHAH,EAAOjd,EAAMid,KAEf1C,GADQva,EAAMqN,MACPpU,EAA8B+G,EAAO,CAAC,OAAQ,YAGK,KAAvDod,EAAMD,EAAIE,UAAU3qB,GAAKA,EAAEgqB,cAAgBO,MAAeG,GAAO,GAEtEA,EAAM5T,KAAKC,IAAI,EAAG2T,GAClBD,EAAM,IAAIA,EAAIG,MAAM,EAAGF,GAAM7C,KAAS4C,EAAIG,MAAMF,MAE3CvlB,EAAS,GAAI+J,EAAO,CACzB2b,QAASf,EAAMzpB,QAAU0pB,EAAQ1pB,QAAU4pB,EAAQ5pB,OACnDsoB,MAAOA,GAA0B,IAAjBmB,EAAMzpB,OACtBwoB,YAAa4B,EACb7K,UACAgJ,UACAE,UAAW5nB,IAjMG4pB,CAAU5b,EAAM0Q,QAAS1e,GACrCgO,EAAM0Q,QAAQiL,SAEhB3b,EAAM0Q,QAAQiJ,YAAYngB,QAAQqiB,IAChC,MAAMV,EAAOU,EAAWV,KACtBzN,EAAOmO,EAAWnO,KAClBD,EAAKoO,EAAWpO,GAChBE,EAASkO,EAAWlO,OACpBwM,EAAQ0B,EAAW1B,MACnB5nB,EAAMspB,EAAWtpB,IACjBomB,EAAOkD,EAAWlD,KACf3Y,EAAM0Q,QAAQoJ,UAAUlY,IAAIrP,IAAMyN,EAAM0Q,QAAQoJ,UAAU3T,IAAI5T,EAAK,IAAI,GAE5E,MAAMupB,EAAO9b,EAAM0Q,QAAQoJ,UAAU5T,IAAI3T,GACnCwpB,EAAW9lB,EAAS,GAAIqjB,EAAO,CACnC7L,KACAC,OACAC,SACAY,MACAV,OAAQ0B,IACN,GAAIvP,EAAM0Q,QAAQ8I,QAAS,CACrBqC,EAAWxN,YAERE,GAAQC,GAAMwN,EAAQhc,EAAOzN,GAC9B2mB,GAAaA,EAAYP,KAGVvM,MAAMsB,KAAK1N,EAAM0Q,QAAQoJ,WAClB9B,KAAKla,IACvBA,EAAM,GACJmX,QAEI1G,GAAOC,IAASxO,EAAM0Q,QAAQgJ,QAAQvoB,OAAS,GAAG6qB,EAAQhc,GACtEqZ,GAASA,EAAQV,EAAMwC,EAAM5L,KAGrC3B,QAASA,GAAW,KAAOA,EAAQ+K,EAAMwC,IACzCrN,QAASA,GAAW,CAACyB,GAAUzB,EAAQ6K,EAAMwC,EAAM5L,IACnDpB,MAAOgM,EACPpM,MAAOA,GA1GD,UA0GUoN,IAElBW,EAAKjL,OAAOkL,GACP/b,EAAM0Q,QAAQmJ,QAAQiC,EAAKrF,UAGpC,oBAAU,KACRzW,EAAM0Q,QAAQ8I,QAAUA,EAAQ9I,SAAU,EACnC,KACL1Q,EAAM0Q,QAAQ8I,QAAUA,EAAQ9I,SAAU,EAC1CtE,MAAMsB,KAAK1N,EAAM0Q,QAAQoJ,WAAW1nB,IAAI8L,GAC9BA,EAAM,GACL+d,WAEXjc,EAAM0Q,QAAQoJ,UAAUhF,UAEzB,IACI9U,EAAM0Q,QAAQiJ,YAAYvnB,IAAIkM,IACnC,IAAIqa,EAAOra,EAAMqa,KACfwC,EAAO7c,EAAM6c,KACb5oB,EAAM+L,EAAM/L,IACd,MAAO,CACLomB,OACApmB,MACAyN,MAAOmb,EACPnpB,MAAOgO,EAAM0Q,QAAQoJ,UAAU5T,IAAI3T,GAAKojB,eAI9C,SAASqG,EAAQhc,EAAOkc,GACtB,MAAMxC,EAAU1Z,EAAM0Q,QAAQgJ,QAC9B,IAAK,IAAIhb,KAASgb,EAAS,CACzB,IAAInnB,EAAMmM,EAAMnM,IAChB,MAAMiE,EAAS1F,GAAKA,EAAEyB,MAAQA,GAC1B4Z,EAAGO,IAAIwP,IAAcA,IAAc3pB,KACrCyN,EAAM0Q,QAAQoJ,UAAU/G,OAAOxgB,GAC/ByN,EAAM0Q,QAAQiJ,YAAc3Z,EAAM0Q,QAAQiJ,YAAYnjB,OAAOA,GAC7DwJ,EAAM0Q,QAAQgJ,QAAU1Z,EAAM0Q,QAAQgJ,QAAQljB,OAAOA,IAGzDwJ,EAAM0Q,QAAQ6I,cAqHhB,MAAM4C,UAAsB7M,EAC1B,YAAY9e,QACI,IAAVA,IACFA,EAAQ,IAEV2e,SACI3e,EAAMqf,WAAerf,EAAMqf,qBAAqBjB,IAClDpe,EAAQif,EAAoBI,UAAUrf,IAExCiB,KAAKod,QAAUre,GAKnB,MAAM4rB,EAAS,CACbC,YAAa,EACbC,UAAW,WACXC,aAAc,WACdC,KAAM,SACNC,WAAY,WACZC,MAAO,WACPC,MAAO,WACPC,OAAQ,WACRC,MAAO,IACPC,eAAgB,WAChBC,KAAM,MACNC,WAAY,WACZC,MAAO,WACPC,UAAW,WACXC,YAAa,WACbC,UAAW,WACXC,WAAY,WACZC,UAAW,WACXC,MAAO,WACPC,eAAgB,WAChBC,SAAU,WACVC,QAAS,WACTC,KAAM,SACNC,SAAU,MACVC,SAAU,QACVC,cAAe,WACfC,SAAU,WACVC,UAAW,QACXC,SAAU,WACVC,UAAW,WACXC,YAAa,WACbC,eAAgB,WAChBC,WAAY,WACZC,WAAY,WACZC,QAAS,WACTC,WAAY,WACZC,aAAc,WACdC,cAAe,WACfC,cAAe,UACfC,cAAe,UACfC,cAAe,SACfC,WAAY,WACZC,SAAU,WACVC,YAAa,SACbC,QAAS,WACTC,QAAS,WACTC,WAAY,UACZC,UAAW,WACXC,YAAa,WACbC,YAAa,UACbC,QAAS,WACTC,UAAW,WACXC,WAAY,WACZC,KAAM,WACNC,UAAW,WACXC,KAAM,WACNC,MAAO,QACPC,YAAa,WACbC,KAAM,WACNC,SAAU,WACVC,QAAS,WACTC,UAAW,WACXC,OAAQ,WACRC,MAAO,WACPC,MAAO,WACPC,SAAU,WACVC,cAAe,WACfC,UAAW,WACXC,aAAc,WACdC,UAAW,WACXC,WAAY,WACZC,UAAW,WACXC,qBAAsB,WACtBC,UAAW,WACXC,WAAY,WACZC,UAAW,WACXC,UAAW,WACXC,YAAa,WACbC,cAAe,UACfC,aAAc,WACdC,eAAgB,WAChBC,eAAgB,WAChBC,eAAgB,WAChBC,YAAa,WACbC,KAAM,SACNC,UAAW,UACXC,MAAO,WACPC,QAAS,WACTC,OAAQ,WACRC,iBAAkB,WAClBC,WAAY,MACZC,aAAc,WACdC,aAAc,WACdC,eAAgB,WAChBC,gBAAiB,WACjBC,kBAAmB,SACnBC,gBAAiB,WACjBC,gBAAiB,WACjBC,aAAc,UACdC,UAAW,WACXC,UAAW,WACXC,SAAU,WACVC,YAAa,WACbC,KAAM,MACNC,QAAS,WACTC,MAAO,WACPC,UAAW,WACXC,OAAQ,WACRC,UAAW,WACXC,OAAQ,WACRC,cAAe,WACfC,UAAW,WACXC,cAAe,WACfC,cAAe,WACfC,WAAY,WACZC,UAAW,WACXC,KAAM,WACNC,KAAM,WACNC,KAAM,WACNC,WAAY,WACZC,OAAQ,WACRC,cAAe,WACfC,IAAK,WACLC,UAAW,WACXC,UAAW,WACXC,YAAa,WACbC,OAAQ,WACRC,WAAY,WACZC,SAAU,UACVC,SAAU,WACVC,OAAQ,WACRC,OAAQ,WACRC,QAAS,WACTC,UAAW,WACXC,UAAW,WACXC,UAAW,WACXC,KAAM,WACNC,YAAa,SACbC,UAAW,WACXC,IAAK,WACLC,KAAM,QACNC,QAAS,WACTC,OAAQ,WACRC,UAAW,WACXC,OAAQ,WACRC,MAAO,WACPC,MAAO,WACPC,WAAY,WACZC,OAAQ,WACRC,YAAa,YAITC,EAAS,oBAEf,SAASp0B,IACP,IAAK,IAAI8b,EAAOnc,UAAUC,OAAQy0B,EAAQ,IAAIxZ,MAAMiB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAChFqY,EAAMrY,GAAQrc,UAAUqc,GAE1B,MAAO,WAAaqY,EAAMC,KAAK,eAAiB,WAElD,MAAMC,EAAM,IAAIC,OAAO,MAAQx0B,EAAKo0B,EAAQA,EAAQA,IAC9CK,EAAO,IAAID,OAAO,OAASx0B,EAAKo0B,EAAQA,EAAQA,EAAQA,IACxDM,EAAM,IAAIF,OAAO,MAAQx0B,EAAKo0B,EATjBA,4CAUbO,GAAO,IAAIH,OAAO,OAASx0B,EAAKo0B,EAVnBA,0CAUmDA,IAChEQ,GAAO,sDACPC,GAAO,sEACPC,GAAO,sBACPC,GAAO,sBA+Gb,SAASC,GAAQn1B,EAAGqR,EAAG3R,GAGrB,OAFIA,EAAI,IAAGA,GAAK,GACZA,EAAI,IAAGA,GAAK,GACZA,EAAI,EAAI,EAAUM,EAAc,GAATqR,EAAIrR,GAASN,EACpCA,EAAI,GAAc2R,EAClB3R,EAAI,EAAI,EAAUM,GAAKqR,EAAIrR,IAAM,EAAI,EAAIN,GAAK,EAC3CM,EAET,SAASo1B,GAASC,EAAG11B,EAAG21B,GACtB,MAAMjkB,EAAIikB,EAAI,GAAMA,GAAK,EAAI31B,GAAK21B,EAAI31B,EAAI21B,EAAI31B,EACxCK,EAAI,EAAIs1B,EAAIjkB,EACZqU,EAAIyP,GAAQn1B,EAAGqR,EAAGgkB,EAAI,EAAI,GAC1BE,EAAIJ,GAAQn1B,EAAGqR,EAAGgkB,GAClBxf,EAAIsf,GAAQn1B,EAAGqR,EAAGgkB,EAAI,EAAI,GAChC,OAAO7e,KAAKgf,MAAU,IAAJ9P,IAAY,GAAKlP,KAAKgf,MAAU,IAAJD,IAAY,GAAK/e,KAAKgf,MAAU,IAAJ3f,IAAY,EAExF,SAAS4f,GAAS7kB,GAChB,MAAM8kB,EAAMC,SAAS/kB,EAAK,IAC1B,OAAI8kB,EAAM,EAAU,EAChBA,EAAM,IAAY,IACfA,EAET,SAASE,GAAShlB,GAEhB,OADYilB,WAAWjlB,GACT,IAAM,KAAO,IAAM,IAEnC,SAASklB,GAAOllB,GACd,MAAMyK,EAAMwa,WAAWjlB,GACvB,OAAIyK,EAAM,EAAU,EAChBA,EAAM,EAAU,IACb7E,KAAKgf,MAAY,IAANna,GAEpB,SAAS0a,GAAgBnlB,GAEvB,MAAM8kB,EAAMG,WAAWjlB,GACvB,OAAI8kB,EAAM,EAAU,EAChBA,EAAM,IAAY,EACfA,EAAM,IAEf,SAASM,GAAY5T,GACnB,IAAI6T,EApHN,SAAwBj3B,GACtB,IAAIuS,EACJ,MAAqB,iBAAVvS,EACFA,IAAU,IAAMA,GAASA,GAAS,GAAKA,GAAS,WAAaA,EAAQ,MAG1EuS,EAAQ0jB,GAAKxjB,KAAKzS,IAAe22B,SAASpkB,EAAM,GAAK,KAAM,MAAQ,EACnEyZ,EAAO9qB,eAAelB,GAAegsB,EAAOhsB,IAC5CuS,EAAQmjB,EAAIjjB,KAAKzS,KACXy2B,GAASlkB,EAAM,KAAO,GAE9BkkB,GAASlkB,EAAM,KAAO,GAEtBkkB,GAASlkB,EAAM,KAAO,EAEtB,OAEA,GAEEA,EAAQqjB,EAAKnjB,KAAKzS,KACZy2B,GAASlkB,EAAM,KAAO,GAE9BkkB,GAASlkB,EAAM,KAAO,GAEtBkkB,GAASlkB,EAAM,KAAO,EAEtBukB,GAAOvkB,EAAM,OAEb,GAEEA,EAAQwjB,GAAKtjB,KAAKzS,IACb22B,SAASpkB,EAAM,GAAKA,EAAM,GAEjCA,EAAM,GAAKA,EAAM,GAEjBA,EAAM,GAAKA,EAAM,GAEjB,KAEA,MAAQ,GAGNA,EAAQ2jB,GAAKzjB,KAAKzS,IAAe22B,SAASpkB,EAAM,GAAI,MAAQ,GAC5DA,EAAQyjB,GAAKvjB,KAAKzS,IACb22B,SAASpkB,EAAM,GAAKA,EAAM,GAEjCA,EAAM,GAAKA,EAAM,GAEjBA,EAAM,GAAKA,EAAM,GAEjBA,EAAM,GAAKA,EAAM,GAEjB,MAAQ,GAENA,EAAQsjB,EAAIpjB,KAAKzS,KAMf,IALIo2B,GAASQ,GAASrkB,EAAM,IAEhCwkB,GAAgBxkB,EAAM,IAEtBwkB,GAAgBxkB,EAAM,QAGtB,GAEEA,EAAQujB,GAAKrjB,KAAKzS,KACZo2B,GAASQ,GAASrkB,EAAM,IAEhCwkB,GAAgBxkB,EAAM,IAEtBwkB,GAAgBxkB,EAAM,KAClBukB,GAAOvkB,EAAM,OAEjB,EAEK,KA0CU2kB,CAAe9T,GAChC,GAAmB,OAAf6T,EAAqB,OAAO7T,EAChC6T,EAAaA,GAAc,EAC3B,IACIV,GAAkB,SAAbU,KAA6B,GAClCpgB,GAAkB,MAAbogB,KAA6B,EAClC/a,GAAkB,IAAb+a,GAA2B,IACpC,MAAO,QAAQ1iB,QAJO,WAAb0iB,KAA6B,GAIb,MAAM1iB,OAAOgiB,EAAG,MAAMhiB,OAAOsC,EAAG,MAAMtC,OAAO2H,EAAG,KAI3E,MAAMib,GAAmB,oDAGnBC,GAAa,2FAEbC,GAAkB,IAAI1B,OAAO,IAAIphB,OAAO/T,OAAO0F,KAAK8lB,GAAQyJ,KAAK,KAAM,KAAM,KA+BnF,IAAI6B,GAAmB,CACrBC,yBAAyB,EACzBC,mBAAmB,EACnBC,kBAAkB,EAClBC,kBAAkB,EAClBC,SAAS,EACTC,cAAc,EACdC,iBAAiB,EACjBC,aAAa,EACbC,SAAS,EACTC,MAAM,EACNC,UAAU,EACVC,cAAc,EACdC,YAAY,EACZC,cAAc,EACdC,WAAW,EACXC,SAAS,EACTC,YAAY,EACZC,aAAa,EACbC,cAAc,EACdC,YAAY,EACZC,eAAe,EACfC,gBAAgB,EAChBC,iBAAiB,EACjBC,YAAY,EACZC,WAAW,EACXC,YAAY,EACZhe,SAAS,EACTiP,OAAO,EACPgP,SAAS,EACTC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,MAAM,EAENC,aAAa,EACbC,cAAc,EACdC,aAAa,EACbC,iBAAiB,EACjBC,kBAAkB,EAClBC,kBAAkB,EAClBC,eAAe,EACfh3B,aAAa,GAEf,MACMi3B,GAAW,CAAC,SAAU,KAAM,MAAO,KAKzC,SAASC,GAAoBpwB,EAAMpG,EAAOy2B,GACxC,OAAa,MAATz2B,GAAkC,kBAAVA,GAAiC,KAAVA,EAAqB,GACnEy2B,GAAqC,iBAAVz2B,GAAgC,IAAVA,GAAiBg0B,GAAiBp2B,eAAewI,IAAS4tB,GAAiB5tB,IAEzH,GAAKpG,GAAOuO,OAF4HvO,EAAQ,KAN1Jg0B,GAAmB92B,OAAO0F,KAAKoxB,IAAkB/Y,OAAO,CAACyI,EAAK/Q,KAC5D4jB,GAASzwB,QAAQ4wB,GAAUhT,EAHX,EAACgT,EAAQ73B,IAAQ63B,EAAS73B,EAAI83B,OAAO,GAAG1oB,cAAgBpP,EAAI6P,UAAU,GAGvDkoB,CAAUF,EAAQ/jB,IAAS+Q,EAAI/Q,IACvD+Q,GACNsQ,IAOH,MAAM6C,GAAiB,GACvB5Z,EAA0BngB,GAAS,IAAI2rB,EAAc3rB,IACrD6f,EAAqB,OACrBF,EA/EiCxC,IAE/B,MAAMyF,EAAczF,EAAOuF,OAAO9gB,IAAIo4B,GAAcA,EAAWroB,QAAQqlB,GAAYJ,KAAch1B,IAAIo4B,GAAcA,EAAWroB,QAAQslB,GAAiBL,KACjJqD,EAAerX,EAAY,GAAGzQ,MAAM4kB,IAAkBn1B,IAAI,IAAM,IACtEghB,EAAY5Z,QAAQ9F,IAClBA,EAAMiP,MAAM4kB,IAAkB/tB,QAAQ,CAACuS,EAAQ/a,IAAMy5B,EAAaz5B,GAAG2F,MAAMoV,MAE7E,MAAMwJ,EAAiBnC,EAAY,GAAGzQ,MAAM4kB,IAAkBn1B,IAAI,CAACiiB,EAAQrjB,IAAMgiB,EAAmB/c,EAAS,GAAI0X,EAAQ,CACvHuF,OAAQuX,EAAaz5B,OAEvB,OAAOwiB,IACL,IAAIxiB,EAAI,EACR,OAAOoiB,EAAY,GAGlBjR,QAAQolB,GAAkB,IAAMhS,EAAevkB,KAAKwiB,IAEpDrR,QAAQ,+DAAgE,CAACuoB,EAAGC,EAAIC,EAAIC,EAAIC,IAAO,QAAQnmB,OAAOiD,KAAKgf,MAAM+D,GAAK,MAAMhmB,OAAOiD,KAAKgf,MAAMgE,GAAK,MAAMjmB,OAAOiD,KAAKgf,MAAMiE,GAAK,MAAMlmB,OAAOmmB,EAAI,SA+D9Mhb,EAAiBsM,GACjBzM,EAA0B,CAACpQ,EAAUvN,KACnC,IAAIuN,EAASwrB,eAAsC16B,IAA1BkP,EAASyrB,aA0B3B,OAAO,EA1Bd,CACE,MAAMx6B,EAAQwB,EAAMxB,MAClB4C,EAAWpB,EAAMoB,SACjB63B,EAAYj5B,EAAMi5B,UAClBC,EAAal5B,EAAMk5B,WACnBC,EAAa9zB,EAA8BrF,EAAO,CAAC,QAAS,WAAY,YAAa,eACjFwE,EAA+B,WAAtB+I,EAAS6rB,UAAyB7rB,EAAS8rB,YAA+C,WAAjC9rB,EAAS8rB,WAAWD,cAC1E,IAAdH,IAAsB1rB,EAAS0rB,UAAYA,QAC5B,IAAfC,IAAuB3rB,EAAS2rB,WAAaA,QAEhC,IAAb93B,IAAqBmM,EAAS+rB,YAAcl4B,GAEhD,IAAK,IAAIm4B,KAAa/6B,EACpB,GAAKA,EAAMc,eAAei6B,GAA1B,CACA,IAAIpB,EAA+C,IAA5BoB,EAAU35B,QAAQ,MACrC45B,EAAatB,GAAoBqB,EAAW/6B,EAAM+6B,GAAYpB,GAChD,UAAdoB,IAAuBA,EAAY,YACnCpB,EAAkB5qB,EAAS/O,MAAMi7B,YAAYF,EAAWC,GAAiBjsB,EAAS/O,MAAM+6B,GAAaC,EAG3G,IAAK,IAAI1xB,KAAQqxB,EAAY,CAE3B,MAAMO,EAAWl1B,EAASsD,EAAOywB,GAAezwB,KAAUywB,GAAezwB,GAAQA,EAAKqI,QAAQ,WAAYlR,GAAK,IAAMA,EAAEqL,qBACxE,IAApCiD,EAASosB,aAAaD,IAA2BnsB,EAASyrB,aAAaU,EAAUP,EAAWrxB,OAI1GtJ,GAASA,GA7uDZ,IAAemF,GAAQi2B,GAmvDvB,MAAMC,IAnvDSl2B,GAoOiBoL,GACJ,qBAAW,CAAC/O,EAAOuc,KAC3C,MAAMgL,EAAczM,IACd0M,EAAU,kBAAO,GACjBsS,EAAgB,iBAAO,MACvBz5B,EAAO,iBAAO,MACd05B,EAAc,sBAAY/5B,IAC9B,MAAMg6B,EAAmBF,EAAcpb,QAYvCob,EAAcpb,QAAU,IAAI,EAAc1e,EAXzB,KACf,IAAIi6B,GAAY,EACZ55B,EAAKqe,UACPub,EAAYxc,EAAoBG,GAAGvd,EAAKqe,QAASob,EAAcpb,QAAQwb,qBAEpE75B,EAAKqe,UAAyB,IAAdub,GAGnB1S,MAIJyS,GAAoBA,EAAiB/c,UACpC,IACH,oBAAU,IAAM,KACduK,EAAQ9I,SAAU,EAClBob,EAAcpb,SAAWob,EAAcpb,QAAQzB,UAC9C,IACH,8BAAoBV,EAAK,IAAMkC,EAAYpe,EAAMmnB,EAASD,IAC1DwS,EAAY/5B,GACZ,MAAMm6B,EAAYL,EAAcpb,QAAQ5B,WAGtCsd,GAFYD,EAAUlB,UACTkB,EAAUjB,WACP7zB,EAA8B80B,EAAW,CAAC,YAAa,gBAGnEE,GAnCkBC,EAmCUvrB,GAnCHoL,EAAGK,IAAI8f,IAAUA,EAAIj7B,qBAAqB,IAAM0P,UAmCpBwrB,GAAYl6B,EAAKqe,QAzMhF,SAAmBnC,EAAKf,GAOtB,OANIA,IAEErB,EAAGK,IAAIgB,GAAUA,EAAQe,GAAcpC,EAAG7W,IAAIkY,KAChDA,EAAQkD,QAAUnC,IAGfA,EAkMiFie,CAAUD,EAAUhe,QAA3Dle,GAnCvBi8B,MAoCxB,OAAO,IAAMpvB,cAAc6D,EAAW9K,EAAS,GAAIm2B,EAAe,CAChE7d,IAAK8d,YAvQS,KADGT,IAkvDsB,KAhvDzCA,IAAY,GAEPx1B,IAAW+V,EAAG1K,IAAIrL,GAAUA,EAASxF,OAAO0F,KAAKF,IAASuY,OAAO,CAACyI,EAAKnM,KAC5E,MAAM1Y,EAAMq5B,GAAY3gB,EAAQ,GAAG3O,cAAgB2O,EAAQ7I,UAAU,GAAK6I,EAE1E,OADAmM,EAAI7kB,GAAOoD,GAAOpD,GACX6kB,GACNzhB,KAsuDe,CAAC,IAAK,OAAQ,UAAW,OAAQ,UAAW,QAAS,QAAS,IAAK,OAAQ,MAAO,MAAO,MAAO,aAAc,OAAQ,KAAM,SAAU,SAAU,UAAW,OAAQ,OAAQ,MAAO,WAAY,OAAQ,WAAY,KAAM,MAAO,UAAW,MAAO,SAAU,MAAO,KAAM,KAAM,KAAM,QAAS,WAAY,aAAc,SAAU,SAAU,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAAQ,SAAU,SAAU,KAAM,OAAQ,IAAK,SAAU,MAAO,QAAS,MAAO,MAAO,SAAU,QAAS,SAAU,KAAM,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,WAAY,OAAQ,QAAS,MAAO,WAAY,SAAU,KAAM,WAAY,SAAU,SAAU,IAAK,QAAS,UAAW,MAAO,WAAY,IAAK,KAAM,KAAM,OAAQ,IAAK,OAAQ,SAAU,UAAW,SAAU,QAAS,SAAU,OAAQ,SAAU,QAAS,MAAO,UAAW,MAAO,QAAS,QAAS,KAAM,WAAY,QAAS,KAAM,QAAS,OAAQ,QAAS,KAAM,QAAS,IAAK,KAAM,MAAO,QAAS,MAE37B,SAAU,WAAY,OAAQ,UAAW,gBAAiB,IAAK,QAAS,OAAQ,iBAAkB,OAAQ,OAAQ,UAAW,UAAW,WAAY,iBAAkB,OAAQ,OAAQ,MAAO,OAAQ,U,yCCrvDtL82B,I,wBAAAA,GAhBSA,KACtB,MAAM,KAAEC,GAASC,yBAAe,cAYhC,OAAOD,EAAKE,c,oDCSP,MAAMC,GAAgBC,KAAOC,OAAMC,QAAAC,aAAA,gQAyC7BC,IAxBcJ,aAAO,MAAPA,CAAaK,QAAAF,aAAA,gEAEpCG,KACkBC,aAAS,gBAGPP,aAAO,MAAPA,CAAaQ,QAAAL,aAAA,gJACjCG,MAYuBN,aAAO,MAAPA,CAAaS,QAAAN,aAAA,gBACpCG,MAI4BN,aAAO,MAAPA,CAAaU,QAAAP,aAAA,wFAEzCG,KAEkBC,aAAS,kBAGlBI,GAAgBX,aAAO,IAAPA,CAAWY,QAAAT,aAAA,6CACpCG,KACAO,MAIgBb,aAAO,IAAPA,CAAWc,QAAAX,aAAA,6EAI3BG,MAGoBN,aAAO,IAAPA,CAAWe,QAAAZ,aAAA,sIAU/BG,MChFWU,OAV2B/wB,IAAQ,MAALA,EAC3C,OACEnJ,gBAACs5B,GAAgB,CAACa,GAAI,CAAC,EAAG,GAAIC,GAAI,CAAC,EAAG,IACpCp6B,gBAAC65B,GAAa,CAACE,SAAU,CAAC,GAAI,KAAK,MACzB,IAAIrlB,MAAO2lB,cAAc,yBCRzC,SAASC,GAAuBC,EAASC,GAIvC,OAHKA,IACHA,EAAMD,EAAQzS,MAAM,IAEf9qB,OAAOy9B,OAAOz9B,OAAO8I,iBAAiBy0B,EAAS,CACpDC,IAAK,CACH16B,MAAO9C,OAAOy9B,OAAOD,OA6C3B,SAAS,KACP,IAAIr8B,EAAOm8B,GAAuB,CAAC,kCAAmC,oBAAqB,4BAI3F,OAHA,GAAmB,WACjB,OAAOn8B,GAEFA,EAET,SAAS,KACP,IAAIA,EAAOm8B,GAAuB,CAAC,kCAAmC,oBAAqB,4BAI3F,OAHA,GAAmB,WACjB,OAAOn8B,GAEFA,EAET,SAAS,KACP,IAAIA,EAAOm8B,GAAuB,CAAC,4BAA6B,4BAA6B,cAAe,gBAI5G,OAHA,GAAmB,WACjB,OAAOn8B,GAEFA,EAET,SAAS,KACP,IAAIA,EAAOm8B,GAAuB,CAAC,4BAA6B,cAAe,gBAI/E,OAHA,GAAmB,WACjB,OAAOn8B,GAEFA,EAET,SAAS,KACP,IAAIA,EAAOm8B,GAAuB,CAAC,4BAA6B,cAAe,gBAI/E,OAHA,GAAkB,WAChB,OAAOn8B,GAEFA,EAOT,IAAIu8B,GAAqB,CACvBC,KAAM,SACNC,MAAO,SACPC,OAAQ,QACRC,MAAO,SAET,SAASC,GAAsBC,GAC7B,IAAIC,EAAc39B,UAAUC,OAAS,QAAsBd,IAAjBa,UAAU,GAAmBA,UAAU,GAAK,GACtF,OAAI29B,EAAYD,GACPC,EAAYD,GACV7H,SAAS6H,GACXA,GAEPE,QAAQC,MAAM,wEACP,KAoDX,IAMe,GAjDf,WACE,IAAIF,EAAc39B,UAAUC,OAAS,QAAsBd,IAAjBa,UAAU,GAAmBA,UAAU,GAAKo9B,GAClFU,EAAW,SAAkBC,GAC/B,OAAO,WACL,OAAO,aAAI,KAAmBN,GAAsBM,EAAYJ,GAAc,KAAIr9B,WAAM,EAAQN,cAGhGg+B,EAAc,SAAqBD,GACrC,OAAO,WACL,OAAO,aAAI,KAAoBN,GAAsBM,EAAYJ,GAAc,KAAIr9B,WAAM,EAAQN,cAGjGi+B,EAAU,SAAiBC,EAAiBC,GAC9C,OAAO,WACL,OAAO,aAAI,KAAoBV,GAAsBS,EAAiBP,GAAcF,GAAsBU,EAAkBR,GAAc,KAAIr9B,WAAM,EAAQN,cAG5Jo+B,EAAW1+B,OAAO0F,KAAKu4B,GAAalgB,QAAO,SAAUyI,EAAKmY,GAC5D,IAAIj/B,EAAOu+B,EAAYU,GASvB,OARAnY,EAAI3J,GAAG8hB,GAAS,WAEd,OADAT,QAAQU,KAAK,2CAA2C7qB,OAAO4qB,EAAO,+BAA+B5qB,OAAO4qB,EAAO,mCAC5G,aAAI,KAAoBj/B,EAAM,KAAIkB,WAAM,EAAQN,aAEzDkmB,EAAI1J,KAAK6hB,GAAS,WAEhB,OADAT,QAAQU,KAAK,8CAA8C7qB,OAAO4qB,EAAO,iCAAiC5qB,OAAO4qB,EAAO,mCACjH,aAAI,KAAoBj/B,EAAM,KAAIkB,WAAM,EAAQN,aAElDkmB,IACN,CACD3J,GAAI,GACJC,KAAM,KAER,OAAO9c,OAAOC,OAAO,CACnBm+B,SAAUA,EACVE,YAAaA,EACbC,QAASA,GACRG,GAOOG,GC5HGrT,OAlCA,CACbC,YAAa,cACbqT,UAAW,UACXC,WAAY,UACZpK,MAAO,OACP1I,MAAO,UACPkH,IAAK,UACL6L,SAAU,UACV7S,KAAM,UACN8S,UAAW,UACXpK,OAAQ,UACR7F,KAAM,UACNkQ,WAAY,UACZC,aAAc,UACdC,gBAAiB,UACjBC,YAAa,UACbC,OAAQ,UACRC,YAAa,UACbC,QAAS,UACTC,SAAU,UAEVC,YAAa,UAGbC,eAAgB,UAChBC,cAAe,UACfC,cAAe,UACfC,WAAY,UACZC,YAAa,UACbC,iBAAkB,UAClBC,QAAS,UACTC,aAAc,WC7BT,MAAMC,GAAQ,CACnBlC,YAAa,CAAC,QAAS,QAAS,SAAU,UAC1CzB,MAAO,CACL,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IAGA,GACA,GACA,GACA,IAEF4D,UAAW,CACT,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAEFC,YAAa,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACtDC,WAAY,CAEV,oGACA,0BACA,kHAEFC,YAAa,CACXC,OAAQ,EACRC,WAAY,IACZz+B,MAAO,EACP0+B,KAAM,KAERC,eAAgB,CACdH,OAAQ,SACRI,QAAS,QACTC,MAAO,UACPC,KAAM,UAERC,QAAS,CACP,EACA,YACA,YACA,YACA,YACA,YACA,aAEFC,OAAQ,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,OACvCC,OAAQ,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,KAC1CC,QAAS,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,KAC/CC,UAAW,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,MAClD3V,UACA4V,YAAa,CACXnB,QAAS,CACPzgC,MAAOgsB,GAAOyU,QACdoB,gBAAiB7V,GAAOyU,QACxBF,YAAavU,GAAOyU,QACpB,UAAW,CACToB,gBAAiB7V,GAAO0U,aACxBH,YAAavU,GAAO0U,iB,OCjCboB,I,eAAAA,GAV8C,CAC3DC,GAAI,kBAAaC,GAAMlD,YAAY,UAAS19B,WAAC,EAADN,YAC5CmhC,KAAM,kBAAaD,GAAMpD,SAAS,UAASx9B,WAAC,EAADN,YAC3CohC,IAAK,kBAAaC,aAAGvF,QAAAC,aAAA,uEACa8D,GAAMlC,YAAY,GAC9C0D,KAAG/gC,WAAC,EAADN,cCFIshC,OAjB6Bz1B,IAAQ,MAALA,EAC7C,OACEnJ,gBAAC6+B,GAAO,CAACC,GAAI,CAAC,EAAG,UACf9+B,gBAAC++B,GAAQ,CACPC,KAAK,iGACLj9B,OAAO,SACP+8B,GAAI,CAAC,MAAO,SACb,qBAGD9+B,gBAACi/B,GAAI,CAACC,GAAI,CAAC,SAAS,2BACpBl/B,gBAACi/B,GAAI,KAAC,yBACNj/B,gBAACi/B,GAAI,KAAC,yBAOZ,MAAMJ,GAAU3F,aAAO,MAAPA,CAAaE,QAAAC,aAAA,8DAGzBG,MAGEyF,GAAO/F,aAAO,IAAPA,CAAWK,QAAAF,aAAA,wGAMpBiF,GAAGG,KAAI/E,QAAAL,aAAA,kCAIPG,MAGEuF,GAAW7F,aAAO,IAAPA,CAAWS,QAAAN,aAAA,0QAOxBiF,GAAGG,KAAI7E,QAAAP,aAAA,kCAaPG,MClEW2F,I,GAAAA,GAVsCh2B,IAAQ,MAALA,EACtD,OACEnJ,gBAACi5B,GAAa,KACZj5B,gBAAC4+B,GAAW,MAEZ5+B,gBAACk6B,GAAS,Q,aCUDkF,OApBelG,KAAOmG,IAAGjG,QAAAC,aAAA,mXAQlBI,aAAS,gBCGhB6F,OARgClhC,GAE3C4B,IAAAsJ,cAAC81B,GAA0BhhC,EACzB4B,IAAAsJ,cAACi2B,KAAY,O,gFCqoBJC,IA3mB+Cr2B,IAExD,IAFyD,SAC7D3J,GACD2J,EACC,MAAM,MAAEnK,EAAK,YAAEq9B,GAAgBxD,MACzB,EAAC4G,EAAU,EAAEC,GAAiBC,oBAAS,IACvC,EAACC,EAAW,EAAEC,GAAkBF,oBAAS,IACzC,EACJG,EAA6B,EAC7BC,GACEJ,oBAAS,IAUP,EAACK,EAAQ,EAAEC,GAAWN,oBAAS,GAE/BO,EAAiBA,IAAMD,GAASD,GAmBhCG,EAAsCA,KAC1CF,GAASD,GACoB,MAA7B/+B,OAAOm/B,SAASC,SACZ3tB,KAAgBI,SAAS,kBAAmB,MAC5CwtB,mBAAS,sBAITC,EAA6CA,KACjDN,GAASD,GACoB,MAA7B/+B,OAAOm/B,SAASC,SACZ3tB,KAAgBI,SAAS,mBAAoB,MAC7CwtB,mBAAS,uBAITE,EAAqCA,KACzCP,GAASD,GACTttB,KAAgBI,SAAS,iBAAkB,OAGvCiT,EAAcf,EAAcgb,EAAU,KAAM,CAChDjmB,OAAQ,CAAE7C,SAAU,KACpB4C,KAAM,CAAEtC,QAAS,EAAGyE,UAAW,oBAC/BsJ,MAAO,CAAE/N,QAAS,EAAGyE,UAAW,kBAChCuJ,MAAO,CAAEhO,QAAS,EAAGyE,UAAW,sBAI5BwkB,EAAcA,KAClBZ,GAAgBD,IAGZc,EAAgCA,KACpCX,GAAkCD,IAGpC,OACE9/B,IAAAsJ,cAACq3B,KAAa,CAACxD,MAAOA,IACpBn9B,IAAAsJ,cAAAtJ,IAAAuJ,SAAA,KACEvJ,IAAAsJ,cAAA,UAAQ3M,UAAU,YAChBqD,IAAAsJ,cAAA,OAAK3M,UAAU,mBACbqD,IAAAsJ,cAACs3B,OAAI,CAACjkC,UAAU,iBAAiBkd,GAAI,KACnC7Z,IAAAsJ,cAAA,OAAKu3B,IAAKC,KAAWC,IAAI,MAG3B/gC,IAAAsJ,cAAA,OAAK3M,UAAU,iBACbqD,IAAAsJ,cAAA,OAAK3M,UAAU,uBACbqD,IAAAsJ,cAACs3B,OAAI,CACH/mB,GAAI,oBACJld,UAAU,4BACV2a,QApEe0pB,KACA,MAA7B//B,OAAOm/B,SAASC,SACZ3tB,KAAgBI,SAAS,kBAAmB,MAC5CwtB,mBAAS,uBAkEA,SAcHtgC,IAAAsJ,cAAA,OACE3M,UAAU,sBACVskC,aAAcP,EACdQ,aAAcR,GAEd1gC,IAAAsJ,cAAA,QAAM3M,UAAU,6BAA4B,aAI3CmjC,GACC9/B,IAAAsJ,cAAAtJ,IAAAuJ,SAAA,KACEvJ,IAAAsJ,cAAA,OAAK3M,UAAU,6BACbqD,IAAAsJ,cAAA,OAAK3M,UAAU,oCACbqD,IAAAsJ,cAAA,OAAK3M,UAAU,mCACbqD,IAAAsJ,cAACs3B,OAAI,CACHjkC,UAAU,wCACVkd,GAAI,+BACL,UAIH7Z,IAAAsJ,cAAA,OAAK3M,UAAU,mCACbqD,IAAAsJ,cAAA,KACE01B,KAAK,6CACLj9B,OAAO,SACPpF,UAAU,yCACX,eAuGbqD,IAAAsJ,cAAA,OAAK3M,UAAU,uBACbqD,IAAAsJ,cAACs3B,OAAI,CACHjkC,UAAU,4BACVkd,GAAI,iBACL,SAKH7Z,IAAAsJ,cAAA,OACE3M,UAAU,sBACVskC,aAAcR,EACdS,aAAcT,GAEdzgC,IAAAsJ,cAAA,QAAM3M,UAAU,6BAA4B,OAE3CijC,GACC5/B,IAAAsJ,cAAAtJ,IAAAuJ,SAAA,KACEvJ,IAAAsJ,cAAA,OAAK3M,UAAU,6BACbqD,IAAAsJ,cAAA,OAAK3M,UAAU,oCACbqD,IAAAsJ,cAAA,OAAK3M,UAAU,mCACbqD,IAAAsJ,cAACs3B,OAAI,CACHjkC,UAAU,wCACVkd,GAAI,mCACL,aAIH7Z,IAAAsJ,cAAA,OAAK3M,UAAU,mCACbqD,IAAAsJ,cAACs3B,OAAI,CACHjkC,UAAU,wCACVkd,GAAI,uBACL,iBAUb7Z,IAAAsJ,cAAA,OAAK3M,UAAU,uBACbqD,IAAAsJ,cAAA,KACE01B,KAAK,gEACLj9B,OAAO,SACPpF,UAAU,6BACX,WAKHqD,IAAAsJ,cAAA,OAAK3M,UAAU,uBACbqD,IAAAsJ,cAACs3B,OAAI,CAACjkC,UAAU,4BAA4Bkd,GAAI,UAAU,QAI5D7Z,IAAAsJ,cAAA,OAAK3M,UAAU,uBACbqD,IAAAsJ,cAAA,KACE3M,UAAU,4BACVqiC,KAAK,kBACL1nB,QArQc6pB,KAC5BzuB,KAAgBI,SAAS,iBAAkB,QAqQ9B,UAwBL9S,IAAAsJ,cAAA,OAAK3M,UAAU,oBACbqD,IAAAsJ,cAAA,OAAK3M,UAAU,6BACbqD,IAAAsJ,cAAA,OAAK3M,UAAU,mCAYbqD,IAAAsJ,cAAA,KACE01B,KAAK,kBACLriC,UAAU,iCAEVqD,IAAAsJ,cAAA,QAAM3M,UAAU,kCAAiC,KAE/CqD,IAAAsJ,cAAA,WAAM,SAMdtJ,IAAAsJ,cAAA,OAAK3M,UAAU,yBAAyB2a,QAAS4oB,GAC/ClgC,IAAAsJ,cAAA,OAAK3M,UAAU,iCACbqD,IAAAsJ,cAAA,QAAM3M,UAAU,iCAChBqD,IAAAsJ,cAAA,QAAM3M,UAAU,iCAChBqD,IAAAsJ,cAAA,QAAM3M,UAAU,oCAKrBopB,EAAYvnB,IAAIiL,IAA0B,IAAzB,KAAEsb,EAAI,IAAEpmB,EAAG,MAAEP,GAAOqL,EACpC,OACEsb,GACE/kB,IAAAsJ,cAACsS,GAASyjB,IAAG,CACXziC,MAAO,IACFwB,EACH2Y,SAAU,QACVqqB,IAAK,EACL3Z,KAAM,EACNnoB,MAAO,OACPD,OAAQ,QACRgiC,UAAW,WAEb1kC,UAAU,OACVgC,IAAKA,GAELqB,IAAAsJ,cAAA,OAAK3M,UAAU,iBACbqD,IAAAsJ,cAAA,OAAK3M,UAAU,wBACbqD,IAAAsJ,cAAA,OAAK3M,UAAU,uBACbqD,IAAAsJ,cAAA,OAAK3M,UAAU,8BACbqD,IAAAsJ,cAAA,OACE3M,UAAU,6BACV2a,QAAS4oB,IAEXlgC,IAAAsJ,cAAA,OAAK3M,UAAU,6BACbqD,IAAAsJ,cAAA,OACEu3B,IAAKC,KACLC,IAAI,QACJpkC,UAAU,wCAMlBqD,IAAAsJ,cAAA,OAAK3M,UAAU,uBAabqD,IAAAsJ,cAACs3B,OAAI,CACH/mB,GAAI,IACJvC,QAAS4oB,EACTvjC,UAAU,6BAEVqD,IAAAsJ,cAAA,QAAM3M,UAAU,mCAAkC,WAcpDqD,IAAAsJ,cAAA,OACEgO,QAAS6oB,EACTxjC,UAAU,6BAEVqD,IAAAsJ,cAAA,QAAM3M,UAAU,mCAAkC,SAIpDqD,IAAAsJ,cAAA,KACE01B,KAAK,oBACL1nB,QAASipB,EACT5jC,UAAU,6BAEVqD,IAAAsJ,cAAA,QAAM3M,UAAU,mCAAkC,cAIpDqD,IAAAsJ,cAAA,KACE01B,KAAK,6CACLriC,UAAU,6BAEVqD,IAAAsJ,cAAA,QAAM3M,UAAU,mCAAkC,WAIpDqD,IAAAsJ,cAACs3B,OAAI,CACH/mB,GAAI,gBACJvC,QAAS4oB,EACTvjC,UAAU,6BAEVqD,IAAAsJ,cAAA,QAAM3M,UAAU,mCAAkC,SAIpDqD,IAAAsJ,cAACs3B,OAAI,CACH/mB,GAAI,kCACJld,UAAU,6BAEVqD,IAAAsJ,cAAA,QAAM3M,UAAU,mCAAkC,aAIpDqD,IAAAsJ,cAACs3B,OAAI,CACH/mB,GAAI,sBACJld,UAAU,6BAEVqD,IAAAsJ,cAAA,QAAM3M,UAAU,mCAAkC,aAKpDqD,IAAAsJ,cAAA,KACE01B,KAAK,gEACLj9B,OAAO,SACPpF,UAAU,6BAEVqD,IAAAsJ,cAAA,QAAM3M,UAAU,mCAAkC,WAKpDqD,IAAAsJ,cAACs3B,OAAI,CACH/mB,GAAI,SACJvC,QAAS4oB,EACTvjC,UAAU,6BAEVqD,IAAAsJ,cAAA,QAAM3M,UAAU,mCAAkC,QAIpDqD,IAAAsJ,cAAA,KACE01B,KAAK,kBACL1nB,QAASkpB,EACT7jC,UAAU,mCAEVqD,IAAAsJ,cAAA,QAAM3M,UAAU,mCAAkC,SAKpDqD,IAAAsJ,cAAA,OAAK3M,UAAU,gCACbqD,IAAAsJ,cAAA,OAAK3M,UAAU,sCAiBbqD,IAAAsJ,cAAA,KACE01B,KAAK,kBACLriC,UAAU,uCAEVqD,IAAAsJ,cAAA,OACE3M,UAAU,iBACVkkC,IAAKS,KACLP,IAAI,KAEN/gC,IAAAsJ,cAAA,QAAM3M,UAAU,yBAAwB,iBAGxCqD,IAAAsJ,cAAA,QAAM3M,UAAU,yBAAwB,wBAO9CqD,IAAAsJ,cAAA,OAAK3M,UAAU,sCACbqD,IAAAsJ,cAAA,OAAK3M,UAAU,6CACbqD,IAAAsJ,cAAA,KAAG3M,UAAU,6CAA4C,cAIzDqD,IAAAsJ,cAAA,OAAK3M,UAAU,4CACbqD,IAAAsJ,cAAA,OAAK3M,UAAU,kDAAiD,MAGhEqD,IAAAsJ,cAAA,OAAK3M,UAAU,kDAAiD,iCAIlEqD,IAAAsJ,cAAA,KAAG3M,UAAU,4CAA2C,2BAGxDqD,IAAAsJ,cAAA,KAAG3M,UAAU,4CAA2C,8CAGxDqD,IAAAsJ,cAAA,KAAG3M,UAAU,4CAA2C,8CAM5DqD,IAAAsJ,cAAA,OAAK3M,UAAU,sCACbqD,IAAAsJ,cAAA,OAAK3M,UAAU,6CACbqD,IAAAsJ,cAAA,KAAG3M,UAAU,6CAA4C,sBAIzDqD,IAAAsJ,cAAA,OAAK3M,UAAU,4CACbqD,IAAAsJ,cAAA,OAAK3M,UAAU,kDAAiD,SAGhEqD,IAAAsJ,cAAA,OAAK3M,UAAU,kDAAiD,+BAKlEqD,IAAAsJ,cAAA,OAAK3M,UAAU,sDACbqD,IAAAsJ,cAAA,OAAK3M,UAAU,kDAAiD,OAGhEqD,IAAAsJ,cAAA,OAAK3M,UAAU,kDAAiD,+BAIlEqD,IAAAsJ,cAAA,KAAG3M,UAAU,4CAA2C,2BAe9EqD,IAAAsJ,cAAA,WAAM9J,GACNQ,IAAAsJ,cAAC61B,GAAM,MAEPn/B,IAAAsJ,cAACi4B,KAAW,CACV7qB,UAAW,IACXQ,SAAU,IACVF,OAAO,iBACPpa,MAAO,CAAEgb,OAAQ,GAAIC,MAAO,KAE5B7X,IAAAsJ,cAACg2B,GAAc,W,kCCpoBzB,IAAIkC,EAAiB,CACnBC,OAAQ,SAAUvkC,EAAGmW,EAAGquB,EAAI3gC,GAE1B,OADQ2gC,EAAKruB,GACFnW,EAAI6D,EAAIsS,GAErBsuB,WAAY,SAAUzkC,EAAGmW,EAAGquB,EAAI3gC,GAE9B,OADQ2gC,EAAKruB,IACDnW,GAAK6D,GAAK7D,EAAImW,GAE5BuuB,YAAa,SAAU1kC,EAAGmW,EAAGquB,EAAI3gC,GAE/B,QADQ2gC,EAAKruB,IACAnW,GAAK6D,IAAM7D,EAAI,GAAKmW,GAEnCwuB,cAAe,SAAU3kC,EAAGmW,EAAGquB,EAAI3gC,GACjC,IAAIuS,EAAIouB,EAAKruB,EACb,OAAKnW,GAAK6D,EAAI,GAAK,EACVuS,EAAI,EAAIpW,EAAIA,EAAImW,GAEfC,EAAI,KAAOpW,GAAKA,EAAI,GAAK,GAAKmW,GAG1CyuB,YAAa,SAAU5kC,EAAGmW,EAAGquB,EAAI3gC,GAE/B,OADQ2gC,EAAKruB,IACDnW,GAAK6D,GAAK7D,EAAIA,EAAImW,GAEhC0uB,aAAc,SAAU7kC,EAAGmW,EAAGquB,EAAI3gC,GAEhC,OADQ2gC,EAAKruB,KACAnW,EAAIA,EAAI6D,EAAI,GAAK7D,EAAIA,EAAI,GAAKmW,GAE7C2uB,eAAgB,SAAU9kC,EAAGmW,EAAGquB,EAAI3gC,GAClC,IAAIuS,EAAIouB,EAAKruB,EACb,OAAKnW,GAAK6D,EAAI,GAAK,EACVuS,EAAI,EAAIpW,EAAIA,EAAIA,EAAImW,EAEpBC,EAAI,IAAMpW,GAAK,GAAKA,EAAIA,EAAI,GAAKmW,GAG5C4uB,YAAa,SAAU/kC,EAAGmW,EAAGquB,EAAI3gC,GAE/B,OADQ2gC,EAAKruB,IACDnW,GAAK6D,GAAK7D,EAAIA,EAAIA,EAAImW,GAEpC6uB,aAAc,SAAUhlC,EAAGmW,EAAGquB,EAAI3gC,GAEhC,QADQ2gC,EAAKruB,KACCnW,EAAIA,EAAI6D,EAAI,GAAK7D,EAAIA,EAAIA,EAAI,GAAKmW,GAElD8uB,eAAgB,SAAUjlC,EAAGmW,EAAGquB,EAAI3gC,GAClC,IAAIuS,EAAIouB,EAAKruB,EACb,OAAKnW,GAAK6D,EAAI,GAAK,EACVuS,EAAI,EAAIpW,EAAIA,EAAIA,EAAIA,EAAImW,GAEvBC,EAAI,IAAMpW,GAAK,GAAKA,EAAIA,EAAIA,EAAI,GAAKmW,GAGjD+uB,YAAa,SAAUllC,EAAGmW,EAAGquB,EAAI3gC,GAE/B,OADQ2gC,EAAKruB,IACDnW,GAAK6D,GAAK7D,EAAIA,EAAIA,EAAIA,EAAImW,GAExCgvB,aAAc,SAAUnlC,EAAGmW,EAAGquB,EAAI3gC,GAEhC,OADQ2gC,EAAKruB,KACAnW,EAAIA,EAAI6D,EAAI,GAAK7D,EAAIA,EAAIA,EAAIA,EAAI,GAAKmW,GAErDivB,eAAgB,SAAUplC,EAAGmW,EAAGquB,EAAI3gC,GAClC,IAAIuS,EAAIouB,EAAKruB,EACb,OAAKnW,GAAK6D,EAAI,GAAK,EACVuS,EAAI,EAAIpW,EAAIA,EAAIA,EAAIA,EAAIA,EAAImW,EAE5BC,EAAI,IAAMpW,GAAK,GAAKA,EAAIA,EAAIA,EAAIA,EAAI,GAAKmW,GAGpDkvB,WAAY,SAAUrlC,EAAGmW,EAAGquB,EAAI3gC,GAC9B,IAAIuS,EAAIouB,EAAKruB,EACb,OAAQC,EAAIU,KAAKwuB,IAAItlC,EAAI6D,GAAKiT,KAAKyuB,GAAK,IAAMnvB,EAAID,GAEpDqvB,YAAa,SAAUxlC,EAAGmW,EAAGquB,EAAI3gC,GAE/B,OADQ2gC,EAAKruB,GACFW,KAAK2uB,IAAIzlC,EAAI6D,GAAKiT,KAAKyuB,GAAK,IAAMpvB,GAE/CuvB,cAAe,SAAU1lC,EAAGmW,EAAGquB,EAAI3gC,GAEjC,QADQ2gC,EAAKruB,GACD,GAAKW,KAAKwuB,IAAIxuB,KAAKyuB,GAAKvlC,EAAI6D,GAAK,GAAKsS,GAEpDwvB,WAAY,SAAU3lC,EAAGmW,EAAGquB,EAAI3gC,GAE9B,OAAY,GAAL7D,EAASmW,GADRquB,EAAKruB,GACWW,KAAK8uB,IAAI,EAAG,IAAM5lC,EAAI6D,EAAI,IAAMsS,GAE1D0vB,YAAa,SAAU7lC,EAAGmW,EAAGquB,EAAI3gC,GAC/B,IAAIuS,EAAIouB,EAAKruB,EACb,OAAOnW,GAAK6D,EAAIsS,EAAIC,EAAIA,GAAiC,EAA3BU,KAAK8uB,IAAI,GAAI,GAAK5lC,EAAI6D,IAAUsS,GAEhE2vB,cAAe,SAAU9lC,EAAGmW,EAAGquB,EAAI3gC,GACjC,IAAIuS,EAAIouB,EAAKruB,EACb,OAAU,IAANnW,EACKmW,EAELnW,IAAM6D,EACDsS,EAAIC,GAERpW,GAAK6D,EAAI,GAAK,EACVuS,EAAI,EAAIU,KAAK8uB,IAAI,EAAG,IAAM5lC,EAAI,IAAMmW,EAEpCC,EAAI,GAA+B,EAAzBU,KAAK8uB,IAAI,GAAI,KAAO5lC,IAAUmW,GAGnD4vB,WAAY,SAAU/lC,EAAGmW,EAAGquB,EAAI3gC,GAE9B,QADQ2gC,EAAKruB,IACAW,KAAKkvB,KAAK,GAAKhmC,GAAK6D,GAAK7D,GAAK,GAAKmW,GAElD8vB,YAAa,SAAUjmC,EAAGmW,EAAGquB,EAAI3gC,GAE/B,OADQ2gC,EAAKruB,GACFW,KAAKkvB,KAAK,GAAKhmC,EAAIA,EAAI6D,EAAI,GAAK7D,GAAKmW,GAElD+vB,cAAe,SAAUlmC,EAAGmW,EAAGquB,EAAI3gC,GACjC,IAAIuS,EAAIouB,EAAKruB,EACb,OAAKnW,GAAK6D,EAAI,GAAK,GACTuS,EAAI,GAAKU,KAAKkvB,KAAK,EAAIhmC,EAAIA,GAAK,GAAKmW,EAEtCC,EAAI,GAAKU,KAAKkvB,KAAK,GAAKhmC,GAAK,GAAKA,GAAK,GAAKmW,GAGvDgwB,cAAe,SAAUnmC,EAAGmW,EAAGquB,EAAI3gC,GACjC,IACI2X,EAAGlb,EAAGL,EADNmW,EAAIouB,EAAKruB,EAKb,OAHAlW,EAAI,QAGM,IAAND,EACKmW,EACe,IAAZnW,GAAK6D,GACRsS,EAAIC,IALb9V,EAAI,KAQFA,EAAQ,GAAJuD,IAPN2X,EAAIpF,GASIU,KAAKuK,IAAIjL,IACfoF,EAAIpF,EACJnW,EAAIK,EAAI,GAERL,EAAIK,GAAK,EAAIwW,KAAKyuB,IAAMzuB,KAAKsvB,KAAKhwB,EAAIoF,IAE/BA,EAAI1E,KAAK8uB,IAAI,EAAG,IAAM5lC,GAAK,IAAM8W,KAAK2uB,KAAKzlC,EAAI6D,EAAI5D,IAAM,EAAI6W,KAAKyuB,IAAMjlC,GAAM6V,IAEzFkwB,eAAgB,SAAUrmC,EAAGmW,EAAGquB,EAAI3gC,GAClC,IACI2X,EAAGlb,EAAGL,EADNmW,EAAIouB,EAAKruB,EAKb,OAHAlW,EAAI,QAGM,IAAND,EACKmW,EACe,IAAZnW,GAAK6D,GACRsS,EAAIC,IALb9V,EAAI,KAQFA,EAAQ,GAAJuD,IAPN2X,EAAIpF,GASIU,KAAKuK,IAAIjL,IACfoF,EAAIpF,EACJnW,EAAIK,EAAI,GAERL,EAAIK,GAAK,EAAIwW,KAAKyuB,IAAMzuB,KAAKsvB,KAAKhwB,EAAIoF,GAEjCA,EAAI1E,KAAK8uB,IAAI,GAAI,GAAK5lC,GAAK8W,KAAK2uB,KAAKzlC,EAAI6D,EAAI5D,IAAM,EAAI6W,KAAKyuB,IAAMjlC,GAAK8V,EAAID,IAEpFmwB,iBAAkB,SAAUtmC,EAAGmW,EAAGquB,EAAI3gC,GACpC,IACI2X,EAAGlb,EAAGL,EADNmW,EAAIouB,EAAKruB,EAKb,OAHAlW,EAAI,QAGM,IAAND,EACKmW,EACmB,IAAhBnW,GAAK6D,EAAI,GACZsS,EAAIC,IALb9V,EAAI,KAQFA,EAAIuD,GAAK,GAAM,OAPjB2X,EAAIpF,GASIU,KAAKuK,IAAIjL,IACfoF,EAAIpF,EACJnW,EAAIK,EAAI,GAERL,EAAIK,GAAK,EAAIwW,KAAKyuB,IAAMzuB,KAAKsvB,KAAKhwB,EAAIoF,GAEpCxb,EAAI,EACSwb,EAAI1E,KAAK8uB,IAAI,EAAG,IAAM5lC,GAAK,IAAM8W,KAAK2uB,KAAKzlC,EAAI6D,EAAI5D,IAAM,EAAI6W,KAAKyuB,IAAMjlC,IAA/E,GAAqF6V,EAEtFqF,EAAI1E,KAAK8uB,IAAI,GAAI,IAAM5lC,GAAK,IAAM8W,KAAK2uB,KAAKzlC,EAAI6D,EAAI5D,IAAM,EAAI6W,KAAKyuB,IAAMjlC,GAAK,GAAM8V,EAAID,IAGnGowB,WAAY,SAAUvmC,EAAGmW,EAAGquB,EAAI3gC,EAAG5D,GAKjC,YAHU,IAANA,IACFA,EAAI,UAFEukC,EAAKruB,IAIDnW,GAAK6D,GAAK7D,IAAMC,EAAI,GAAKD,EAAIC,GAAKkW,GAEhDqwB,YAAa,SAAUxmC,EAAGmW,EAAGquB,EAAI3gC,EAAG5D,GAKlC,YAHU,IAANA,IACFA,EAAI,UAFEukC,EAAKruB,KAIAnW,EAAIA,EAAI6D,EAAI,GAAK7D,IAAMC,EAAI,GAAKD,EAAIC,GAAK,GAAKkW,GAE7DswB,cAAe,SAAUzmC,EAAGmW,EAAGquB,EAAI3gC,EAAG5D,GACpC,IAAImW,EAAIouB,EAAKruB,EAIb,YAHU,IAANlW,IACFA,EAAI,UAEDD,GAAK6D,EAAI,GAAK,EACVuS,EAAI,GAAKpW,EAAIA,IAAqB,GAAdC,GAAK,QAAcD,EAAIC,IAAMkW,EAEjDC,EAAI,IAAMpW,GAAK,GAAKA,IAAqB,GAAdC,GAAK,QAAcD,EAAIC,GAAK,GAAKkW,GAGvEuwB,aAAc,SAAU1mC,EAAGmW,EAAGquB,EAAI3gC,GAChC,IAAIuS,EAAIouB,EAAKruB,EAGb,OAAOC,EADHkuB,EAAeqC,cAAc9iC,EAAI7D,EAAG,EAAGoW,EAAGvS,GAC/BsS,GAEjBwwB,cAAe,SAAU3mC,EAAGmW,EAAGquB,EAAI3gC,GACjC,IAAIuS,EAAIouB,EAAKruB,EACb,OAAKnW,GAAK6D,GAAK,EAAI,KACVuS,GAAK,OAASpW,EAAIA,GAAKmW,EACrBnW,EAAI,EAAI,KACVoW,GAAK,QAAUpW,GAAK,IAAM,MAAQA,EAAI,KAAQmW,EAC5CnW,EAAI,IAAM,KACZoW,GAAK,QAAUpW,GAAK,KAAO,MAAQA,EAAI,OAAUmW,EAEjDC,GAAK,QAAUpW,GAAK,MAAQ,MAAQA,EAAI,SAAYmW,GAG/DywB,gBAAiB,SAAU5mC,EAAGmW,EAAGquB,EAAI3gC,GACnC,IAAIuS,EAAIouB,EAAKruB,EAEb,OAAInW,EAAI6D,EAAI,EAEC,GADPygC,EAAeoC,aAAiB,EAAJ1mC,EAAO,EAAGoW,EAAGvS,GAC5BsS,EAGN,GADPmuB,EAAeqC,cAAkB,EAAJ3mC,EAAQ6D,EAAG,EAAGuS,EAAGvS,GAC7B,GAAJuS,EAAUD,IAIjC3T,EAAOC,QAAU6hC,G,+FCtPjB,IAAIuC,EAAsB,oBAAX9iC,OAAyBA,OAAS,CAC/C+iC,OAAQ,GACR9iC,UAAW,IAET+iC,GAAcF,EAAEE,YAAc,WAChC,MAAO,CACLn1B,SAAS,KAEV7C,KAAK83B,GAGJG,GAAwB,EACxBC,EAAU,CACZ,cACE,OAAOD,GAAwB,IAQ/BE,EAAO,aACXL,EAAE72B,kBAAoB62B,EAAE72B,iBAAiB,IAAKk3B,EAAMD,GACpDJ,EAAE92B,qBAAuB82B,EAAE92B,oBAAoB,IAAKm3B,GAAM,GAC1D,IAAI9tB,EAAwB4tB,EAExBG,EAAwB,iBAAkBN,EAW1CO,EAAsBD,GAVA,eAAgBN,GAU8BE,EAAW,yBAAyBn1B,QAKxGrG,GAJYs7B,EAAE7iC,UAAUK,eAIZwiC,EAAE7iC,UAAUuH,WAAa,IAOrC87B,EAASN,EAAW,qBAAqBn1B,SAI7C,iBAAiB1G,KAAKK,IAAcuL,KAAK0T,IAAIqc,EAAEC,OAAO1kC,OAAS,EAAGykC,EAAEC,OAAO3kC,QAAU,IAAM,KAC5D4kC,EAAW,qBAAqBn1B,UAI9Dm1B,EAAW,mBAAmBn1B,SAAWu1B,IAIzC,mBAAmBj8B,KAAKK,GACSw7B,EAAW,uBAAuBn1B,SAAWm1B,EAAW,sBAAsBn1B,S","file":"5563b64d23ffe6913d8c78d7e12c5d84f888a47a-6184861fa711ea89cbb5.js","sourcesContent":["export var IconsManifest = [{\n \"id\": \"fa\",\n \"name\": \"Font Awesome\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n}, {\n \"id\": \"io\",\n \"name\": \"Ionicons\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n}, {\n \"id\": \"md\",\n \"name\": \"Material Design icons\",\n \"projectUrl\": \"http://google.github.io/material-design-icons/\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"https://github.com/google/material-design-icons/blob/master/LICENSE\"\n}, {\n \"id\": \"ti\",\n \"name\": \"Typicons\",\n \"projectUrl\": \"http://s-ings.com/typicons/\",\n \"license\": \"CC BY-SA 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by-sa/3.0/\"\n}, {\n \"id\": \"go\",\n \"name\": \"Github Octicons icons\",\n \"projectUrl\": \"https://octicons.github.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/primer/octicons/blob/master/LICENSE\"\n}, {\n \"id\": \"fi\",\n \"name\": \"Feather\",\n \"projectUrl\": \"https://feathericons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/feathericons/feather/blob/master/LICENSE\"\n}, {\n \"id\": \"gi\",\n \"name\": \"Game Icons\",\n \"projectUrl\": \"https://game-icons.net/\",\n \"license\": \"CC BY 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/3.0/\"\n}, {\n \"id\": \"wi\",\n \"name\": \"Weather Icons\",\n \"projectUrl\": \"https://erikflowers.github.io/weather-icons/\",\n \"license\": \"SIL OFL 1.1\",\n \"licenseUrl\": \"http://scripts.sil.org/OFL\"\n}, {\n \"id\": \"di\",\n \"name\": \"Devicons\",\n \"projectUrl\": \"https://vorillaz.github.io/devicons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"ai\",\n \"name\": \"Ant Design Icons\",\n \"projectUrl\": \"https://github.com/ant-design/ant-design-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}];","import * as React from 'react';\nexport var DefaultContext = {\n color: undefined,\n size: undefined,\n className: undefined,\n style: undefined,\n attr: undefined\n};\nexport var IconContext = React.createContext && React.createContext(DefaultContext);","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];\n return t;\n};\nimport * as React from 'react';\nimport { IconContext, DefaultContext } from './iconContext';\nfunction Tree2Element(tree) {\n return tree && tree.map(function (node, i) {\n return React.createElement(node.tag, __assign({\n key: i\n }, node.attr), Tree2Element(node.child));\n });\n}\nexport function GenIcon(data) {\n return function (props) {\n return React.createElement(IconBase, __assign({\n attr: __assign({}, data.attr)\n }, props), Tree2Element(data.child));\n };\n}\nexport function IconBase(props) {\n var elem = function (conf) {\n var computedSize = props.size || conf.size || \"1em\";\n var className;\n if (conf.className) className = conf.className;\n if (props.className) className = (className ? className + ' ' : '') + props.className;\n var attr = props.attr,\n title = props.title,\n svgProps = __rest(props, [\"attr\", \"title\"]);\n return React.createElement(\"svg\", __assign({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: \"0\"\n }, conf.attr, attr, svgProps, {\n className: className,\n style: __assign({\n color: props.color || conf.color\n }, conf.style, props.style),\n height: computedSize,\n width: computedSize,\n xmlns: \"http://www.w3.org/2000/svg\"\n }), title && React.createElement(\"title\", null, title), props.children);\n };\n return IconContext !== undefined ? React.createElement(IconContext.Consumer, null, function (conf) {\n return elem(conf);\n }) : elem(DefaultContext);\n}","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAuNzYgNzguODEiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojMzQ4Y2NjO308L3N0eWxlPjwvZGVmcz48dGl0bGU+ZnJlZWRhaXlhbDwvdGl0bGU+PGcgaWQ9IuODrOOCpOODpOODvF8yIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAyIj48ZyBpZD0i44Os44Kk44Ok44O8XzEtMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTUuNDksNDUuNjJjMCwxMC40NSw4LjIzLDE1LjUxLDE0Ljg1LDE1LjUxczE0Ljg1LTUuMDYsMTQuODUtMTUuNTFjMC04LjExLTgtMTQuNTgtMTQuODUtMTguNDZDMjMuNTIsMzEsMTUuNDksMzcuNTEsMTUuNDksNDUuNjJaTTAsMFY3OC44MUgxMjAuNzZWMFpNMTIwLjc0LDE5LjE2Yy03LjI1LDAtMTYuMDcsMS4zNi0yMyw0LjM2LDcuNDYsNSwxNC42NywxMi41NSwxNC42NywyMi4xQTIyLjQyLDIyLjQyLDAsMCwxLDkwLjIxLDY3Ljg2LDIyLjEyLDIyLjEyLDAsMCwxLDY4LjM1LDQ1LjYyYzAtOS41NSw2Ljg1LTE3LjExLDE0LjMyLTIyLjFhNTkuMjMsNTkuMjMsMCwwLDAtNDQuNjEsMGM3LjQ2LDUsMTQuMzIsMTIuNTUsMTQuMzIsMjIuMUEyMi4xMiwyMi4xMiwwLDAsMSwzMC41MSw2Ny44NmMtMTEuNjUsMC0yMi4zOS05LjYzLTIyLjM5LTIyLjI0LDAtOS41NSw3LjM4LTE3LjExLDE0Ljg0LTIyLjEtNi45MS0zLTE1LjcxLTQuMzYtMjMtNC4zNnYtNi45YzEyLjI3LDAsMjMuMTMsMy4wNiwzMC41MSw2LjlhNjQuOTQsNjQuOTQsMCwwLDEsMjkuODUtNi45LDY0Ljk0LDY0Ljk0LDAsMCwxLDI5Ljg1LDYuOWM3LjM5LTMuODQsMTguMjYtNi45LDMwLjUzLTYuOVpNNzUuODQsNDUuNDVjMCwxMC40NCw4LjIyLDE1LjUsMTQuODQsMTUuNWExNSwxNSwwLDAsMCwxNC44NS0xNS41YzAtOC4xMS04LTE0LjU5LTE0Ljg1LTE4LjQ2QzgzLjg2LDMwLjg2LDc1Ljg0LDM3LjM0LDc1Ljg0LDQ1LjQ1WiIvPjwvZz48L2c+PC9zdmc+\"","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\nvar React = require('react');\nvar React__default = _interopDefault(React);\nvar UAParser = require('ua-parser-js/dist/ua-parser.min');\nvar UA = new UAParser();\nvar browser = UA.getBrowser();\nvar cpu = UA.getCPU();\nvar device = UA.getDevice();\nvar engine = UA.getEngine();\nvar os = UA.getOS();\nvar ua = UA.getUA();\nvar setDefaults = function setDefaults(p) {\n var d = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'none';\n return p ? p : d;\n};\nvar getNavigatorInstance = function getNavigatorInstance() {\n if (typeof window !== 'undefined') {\n if (window.navigator || navigator) {\n return window.navigator || navigator;\n }\n }\n return false;\n};\nvar isIOS13Check = function isIOS13Check(type) {\n var nav = getNavigatorInstance();\n return nav && nav.platform && (nav.platform.indexOf(type) !== -1 || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1 && !window.MSStream);\n};\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _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}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nvar DeviceTypes = {\n Mobile: 'mobile',\n Tablet: 'tablet',\n SmartTv: 'smarttv',\n Console: 'console',\n Wearable: 'wearable',\n Browser: undefined\n};\nvar BrowserTypes = {\n Chrome: 'Chrome',\n Firefox: \"Firefox\",\n Opera: \"Opera\",\n Yandex: \"Yandex\",\n Safari: \"Safari\",\n InternetExplorer: \"Internet Explorer\",\n Edge: \"Edge\",\n Chromium: \"Chromium\",\n Ie: 'IE',\n MobileSafari: \"Mobile Safari\",\n EdgeChromium: \"Edge Chromium\",\n MIUI: \"MIUI Browser\",\n SamsungBrowser: 'Samsung Browser'\n};\nvar OsTypes = {\n IOS: 'iOS',\n Android: \"Android\",\n WindowsPhone: \"Windows Phone\",\n Windows: 'Windows',\n MAC_OS: 'Mac OS'\n};\nvar initialData = {\n isMobile: false,\n isTablet: false,\n isBrowser: false,\n isSmartTV: false,\n isConsole: false,\n isWearable: false\n};\nvar checkType = function checkType(type) {\n switch (type) {\n case DeviceTypes.Mobile:\n return {\n isMobile: true\n };\n case DeviceTypes.Tablet:\n return {\n isTablet: true\n };\n case DeviceTypes.SmartTv:\n return {\n isSmartTV: true\n };\n case DeviceTypes.Console:\n return {\n isConsole: true\n };\n case DeviceTypes.Wearable:\n return {\n isWearable: true\n };\n case DeviceTypes.Browser:\n return {\n isBrowser: true\n };\n default:\n return initialData;\n }\n};\nvar broPayload = function broPayload(isBrowser, browser, engine, os, ua) {\n return {\n isBrowser: isBrowser,\n browserMajorVersion: setDefaults(browser.major),\n browserFullVersion: setDefaults(browser.version),\n browserName: setDefaults(browser.name),\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar mobilePayload = function mobilePayload(type, device, os, ua) {\n return _objectSpread2({}, type, {\n vendor: setDefaults(device.vendor),\n model: setDefaults(device.model),\n os: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n ua: setDefaults(ua)\n });\n};\nvar stvPayload = function stvPayload(isSmartTV, engine, os, ua) {\n return {\n isSmartTV: isSmartTV,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar consolePayload = function consolePayload(isConsole, engine, os, ua) {\n return {\n isConsole: isConsole,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar wearPayload = function wearPayload(isWearable, engine, os, ua) {\n return {\n isWearable: isWearable,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar type = checkType(device.type);\nfunction deviceDetect() {\n var isBrowser = type.isBrowser,\n isMobile = type.isMobile,\n isTablet = type.isTablet,\n isSmartTV = type.isSmartTV,\n isConsole = type.isConsole,\n isWearable = type.isWearable;\n if (isBrowser) {\n return broPayload(isBrowser, browser, engine, os, ua);\n }\n if (isSmartTV) {\n return stvPayload(isSmartTV, engine, os, ua);\n }\n if (isConsole) {\n return consolePayload(isConsole, engine, os, ua);\n }\n if (isMobile) {\n return mobilePayload(type, device, os, ua);\n }\n if (isTablet) {\n return mobilePayload(type, device, os, ua);\n }\n if (isWearable) {\n return wearPayload(isWearable, engine, os, ua);\n }\n}\nvar isMobileType = function isMobileType() {\n return device.type === DeviceTypes.Mobile;\n};\nvar isTabletType = function isTabletType() {\n return device.type === DeviceTypes.Tablet;\n};\nvar isMobileAndTabletType = function isMobileAndTabletType() {\n switch (device.type) {\n case DeviceTypes.Mobile:\n case DeviceTypes.Tablet:\n return true;\n default:\n return false;\n }\n};\nvar isEdgeChromiumType = function isEdgeChromiumType() {\n return typeof ua === 'string' && ua.indexOf('Edg/') !== -1;\n};\nvar isSmartTVType = function isSmartTVType() {\n return device.type === DeviceTypes.SmartTv;\n};\nvar isBrowserType = function isBrowserType() {\n return device.type === DeviceTypes.Browser;\n};\nvar isWearableType = function isWearableType() {\n return device.type === DeviceTypes.Wearable;\n};\nvar isConsoleType = function isConsoleType() {\n return device.type === DeviceTypes.Console;\n};\nvar isAndroidType = function isAndroidType() {\n return os.name === OsTypes.Android;\n};\nvar isWindowsType = function isWindowsType() {\n return os.name === OsTypes.Windows;\n};\nvar isMacOsType = function isMacOsType() {\n return os.name === OsTypes.MAC_OS;\n};\nvar isWinPhoneType = function isWinPhoneType() {\n return os.name === OsTypes.WindowsPhone;\n};\nvar isIOSType = function isIOSType() {\n return os.name === OsTypes.IOS;\n};\nvar isChromeType = function isChromeType() {\n return browser.name === BrowserTypes.Chrome;\n};\nvar isFirefoxType = function isFirefoxType() {\n return browser.name === BrowserTypes.Firefox;\n};\nvar isChromiumType = function isChromiumType() {\n return browser.name === BrowserTypes.Chromium;\n};\nvar isEdgeType = function isEdgeType() {\n return browser.name === BrowserTypes.Edge;\n};\nvar isYandexType = function isYandexType() {\n return browser.name === BrowserTypes.Yandex;\n};\nvar isSafariType = function isSafariType() {\n return browser.name === BrowserTypes.Safari || browser.name === BrowserTypes.MobileSafari;\n};\nvar isMobileSafariType = function isMobileSafariType() {\n return browser.name === BrowserTypes.MobileSafari;\n};\nvar isOperaType = function isOperaType() {\n return browser.name === BrowserTypes.Opera;\n};\nvar isIEType = function isIEType() {\n return browser.name === BrowserTypes.InternetExplorer || browser.name === BrowserTypes.Ie;\n};\nvar isMIUIType = function isMIUIType() {\n return browser.name === BrowserTypes.MIUI;\n};\nvar isSamsungBrowserType = function isSamsungBrowserType() {\n return browser.name === BrowserTypes.SamsungBrowser;\n};\nvar isElectronType = function isElectronType() {\n var nav = getNavigatorInstance();\n var ua = nav && nav.userAgent && nav.userAgent.toLowerCase();\n return typeof ua === 'string' ? /electron/.test(ua) : false;\n};\nvar getIOS13 = function getIOS13() {\n var nav = getNavigatorInstance();\n return nav && (/iPad|iPhone|iPod/.test(nav.platform) || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1) && !window.MSStream;\n};\nvar getIPad13 = function getIPad13() {\n return isIOS13Check('iPad');\n};\nvar getIphone13 = function getIphone13() {\n return isIOS13Check('iPhone');\n};\nvar getIPod13 = function getIPod13() {\n return isIOS13Check('iPod');\n};\nvar getBrowserFullVersion = function getBrowserFullVersion() {\n return setDefaults(browser.version);\n};\nvar getBrowserVersion = function getBrowserVersion() {\n return setDefaults(browser.major);\n};\nvar getOsVersion = function getOsVersion() {\n return setDefaults(os.version);\n};\nvar getOsName = function getOsName() {\n return setDefaults(os.name);\n};\nvar getBrowserName = function getBrowserName() {\n return setDefaults(browser.name);\n};\nvar getMobileVendor = function getMobileVendor() {\n return setDefaults(device.vendor);\n};\nvar getMobileModel = function getMobileModel() {\n return setDefaults(device.model);\n};\nvar getEngineName = function getEngineName() {\n return setDefaults(engine.name);\n};\nvar getEngineVersion = function getEngineVersion() {\n return setDefaults(engine.version);\n};\nvar getUseragent = function getUseragent() {\n return setDefaults(ua);\n};\nvar getDeviceType = function getDeviceType() {\n return setDefaults(device.type, 'browser');\n};\nvar isSmartTV = isSmartTVType();\nvar isConsole = isConsoleType();\nvar isWearable = isWearableType();\nvar isMobileSafari = isMobileSafariType() || getIPad13();\nvar isChromium = isChromiumType();\nvar isMobile = isMobileAndTabletType() || getIPad13();\nvar isMobileOnly = isMobileType();\nvar isTablet = isTabletType() || getIPad13();\nvar isBrowser = isBrowserType();\nvar isDesktop = isBrowserType();\nvar isAndroid = isAndroidType();\nvar isWinPhone = isWinPhoneType();\nvar isIOS = isIOSType() || getIPad13();\nvar isChrome = isChromeType();\nvar isFirefox = isFirefoxType();\nvar isSafari = isSafariType();\nvar isOpera = isOperaType();\nvar isIE = isIEType();\nvar osVersion = getOsVersion();\nvar osName = getOsName();\nvar fullBrowserVersion = getBrowserFullVersion();\nvar browserVersion = getBrowserVersion();\nvar browserName = getBrowserName();\nvar mobileVendor = getMobileVendor();\nvar mobileModel = getMobileModel();\nvar engineName = getEngineName();\nvar engineVersion = getEngineVersion();\nvar getUA = getUseragent();\nvar isEdge = isEdgeType() || isEdgeChromiumType();\nvar isYandex = isYandexType();\nvar deviceType = getDeviceType();\nvar isIOS13 = getIOS13();\nvar isIPad13 = getIPad13();\nvar isIPhone13 = getIphone13();\nvar isIPod13 = getIPod13();\nvar isElectron = isElectronType();\nvar isEdgeChromium = isEdgeChromiumType();\nvar isLegacyEdge = isEdgeType() && !isEdgeChromiumType();\nvar isWindows = isWindowsType();\nvar isMacOs = isMacOsType();\nvar isMIUI = isMIUIType();\nvar isSamsungBrowser = isSamsungBrowserType();\nvar AndroidView = function AndroidView(_ref) {\n var renderWithFragment = _ref.renderWithFragment,\n children = _ref.children,\n viewClassName = _ref.viewClassName,\n style = _ref.style,\n props = _objectWithoutProperties(_ref, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n return isAndroid ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\nvar BrowserView = function BrowserView(_ref2) {\n var renderWithFragment = _ref2.renderWithFragment,\n children = _ref2.children,\n viewClassName = _ref2.viewClassName,\n style = _ref2.style,\n props = _objectWithoutProperties(_ref2, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n return isBrowser ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\nvar IEView = function IEView(_ref3) {\n var renderWithFragment = _ref3.renderWithFragment,\n children = _ref3.children,\n viewClassName = _ref3.viewClassName,\n style = _ref3.style,\n props = _objectWithoutProperties(_ref3, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n return isIE ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\nvar IOSView = function IOSView(_ref4) {\n var renderWithFragment = _ref4.renderWithFragment,\n children = _ref4.children,\n viewClassName = _ref4.viewClassName,\n style = _ref4.style,\n props = _objectWithoutProperties(_ref4, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n return isIOS ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\nvar MobileView = function MobileView(_ref5) {\n var renderWithFragment = _ref5.renderWithFragment,\n children = _ref5.children,\n viewClassName = _ref5.viewClassName,\n style = _ref5.style,\n props = _objectWithoutProperties(_ref5, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n return isMobile ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\nvar TabletView = function TabletView(_ref6) {\n var renderWithFragment = _ref6.renderWithFragment,\n children = _ref6.children,\n viewClassName = _ref6.viewClassName,\n style = _ref6.style,\n props = _objectWithoutProperties(_ref6, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n return isTablet ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\nvar WinPhoneView = function WinPhoneView(_ref7) {\n var renderWithFragment = _ref7.renderWithFragment,\n children = _ref7.children,\n viewClassName = _ref7.viewClassName,\n style = _ref7.style,\n props = _objectWithoutProperties(_ref7, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n return isWinPhone ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\nvar MobileOnlyView = function MobileOnlyView(_ref8) {\n var renderWithFragment = _ref8.renderWithFragment,\n children = _ref8.children,\n viewClassName = _ref8.viewClassName,\n style = _ref8.style,\n props = _objectWithoutProperties(_ref8, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n return isMobileOnly ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\nvar SmartTVView = function SmartTVView(_ref9) {\n var renderWithFragment = _ref9.renderWithFragment,\n children = _ref9.children,\n viewClassName = _ref9.viewClassName,\n style = _ref9.style,\n props = _objectWithoutProperties(_ref9, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n return isSmartTV ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\nvar ConsoleView = function ConsoleView(_ref10) {\n var renderWithFragment = _ref10.renderWithFragment,\n children = _ref10.children,\n viewClassName = _ref10.viewClassName,\n style = _ref10.style,\n props = _objectWithoutProperties(_ref10, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n return isConsole ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\nvar WearableView = function WearableView(_ref11) {\n var renderWithFragment = _ref11.renderWithFragment,\n children = _ref11.children,\n viewClassName = _ref11.viewClassName,\n style = _ref11.style,\n props = _objectWithoutProperties(_ref11, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n return isWearable ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\nvar CustomView = function CustomView(_ref12) {\n var renderWithFragment = _ref12.renderWithFragment,\n children = _ref12.children,\n viewClassName = _ref12.viewClassName,\n style = _ref12.style,\n condition = _ref12.condition,\n props = _objectWithoutProperties(_ref12, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\", \"condition\"]);\n return condition ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\nfunction withOrientationChange(WrappedComponent) {\n return /*#__PURE__*/(\n function (_React$Component) {\n _inherits(_class, _React$Component);\n function _class(props) {\n var _this;\n _classCallCheck(this, _class);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props));\n _this.isEventListenerAdded = false;\n _this.handleOrientationChange = _this.handleOrientationChange.bind(_assertThisInitialized(_this));\n _this.onOrientationChange = _this.onOrientationChange.bind(_assertThisInitialized(_this));\n _this.onPageLoad = _this.onPageLoad.bind(_assertThisInitialized(_this));\n _this.state = {\n isLandscape: false,\n isPortrait: false\n };\n return _this;\n }\n _createClass(_class, [{\n key: \"handleOrientationChange\",\n value: function handleOrientationChange() {\n if (!this.isEventListenerAdded) {\n this.isEventListenerAdded = true;\n }\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n this.setState({\n isPortrait: orientation === 0,\n isLandscape: orientation === 90\n });\n }\n }, {\n key: \"onOrientationChange\",\n value: function onOrientationChange() {\n this.handleOrientationChange();\n }\n }, {\n key: \"onPageLoad\",\n value: function onPageLoad() {\n this.handleOrientationChange();\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== undefined && isMobile) {\n if (!this.isEventListenerAdded) {\n this.handleOrientationChange();\n window.addEventListener(\"load\", this.onPageLoad, false);\n } else {\n window.removeEventListener(\"load\", this.onPageLoad, false);\n }\n window.addEventListener(\"resize\", this.onOrientationChange, false);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener(\"resize\", this.onOrientationChange, false);\n }\n }, {\n key: \"render\",\n value: function render() {\n return React__default.createElement(WrappedComponent, _extends({}, this.props, {\n isLandscape: this.state.isLandscape,\n isPortrait: this.state.isPortrait\n }));\n }\n }]);\n return _class;\n }(React__default.Component)\n );\n}\nexports.AndroidView = AndroidView;\nexports.BrowserTypes = BrowserTypes;\nexports.BrowserView = BrowserView;\nexports.ConsoleView = ConsoleView;\nexports.CustomView = CustomView;\nexports.IEView = IEView;\nexports.IOSView = IOSView;\nexports.MobileOnlyView = MobileOnlyView;\nexports.MobileView = MobileView;\nexports.OsTypes = OsTypes;\nexports.SmartTVView = SmartTVView;\nexports.TabletView = TabletView;\nexports.WearableView = WearableView;\nexports.WinPhoneView = WinPhoneView;\nexports.browserName = browserName;\nexports.browserVersion = browserVersion;\nexports.deviceDetect = deviceDetect;\nexports.deviceType = deviceType;\nexports.engineName = engineName;\nexports.engineVersion = engineVersion;\nexports.fullBrowserVersion = fullBrowserVersion;\nexports.getUA = getUA;\nexports.isAndroid = isAndroid;\nexports.isBrowser = isBrowser;\nexports.isChrome = isChrome;\nexports.isChromium = isChromium;\nexports.isConsole = isConsole;\nexports.isDesktop = isDesktop;\nexports.isEdge = isEdge;\nexports.isEdgeChromium = isEdgeChromium;\nexports.isElectron = isElectron;\nexports.isFirefox = isFirefox;\nexports.isIE = isIE;\nexports.isIOS = isIOS;\nexports.isIOS13 = isIOS13;\nexports.isIPad13 = isIPad13;\nexports.isIPhone13 = isIPhone13;\nexports.isIPod13 = isIPod13;\nexports.isLegacyEdge = isLegacyEdge;\nexports.isMIUI = isMIUI;\nexports.isMacOs = isMacOs;\nexports.isMobile = isMobile;\nexports.isMobileOnly = isMobileOnly;\nexports.isMobileSafari = isMobileSafari;\nexports.isOpera = isOpera;\nexports.isSafari = isSafari;\nexports.isSamsungBrowser = isSamsungBrowser;\nexports.isSmartTV = isSmartTV;\nexports.isTablet = isTablet;\nexports.isWearable = isWearable;\nexports.isWinPhone = isWinPhone;\nexports.isWindows = isWindows;\nexports.isYandex = isYandex;\nexports.mobileModel = mobileModel;\nexports.mobileVendor = mobileVendor;\nexports.osName = osName;\nexports.osVersion = osVersion;\nexports.withOrientationChange = withOrientationChange;","module.exports = \"data:image/png;base64,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\"","/* UAParser.js v0.7.37\n Copyright © 2012-2021 Faisal Salman \n MIT License */\n(function (window, undefined) {\n \"use strict\";\n\n var LIBVERSION = \"0.7.37\",\n EMPTY = \"\",\n UNKNOWN = \"?\",\n FUNC_TYPE = \"function\",\n UNDEF_TYPE = \"undefined\",\n OBJ_TYPE = \"object\",\n STR_TYPE = \"string\",\n MAJOR = \"major\",\n MODEL = \"model\",\n NAME = \"name\",\n TYPE = \"type\",\n VENDOR = \"vendor\",\n VERSION = \"version\",\n ARCHITECTURE = \"architecture\",\n CONSOLE = \"console\",\n MOBILE = \"mobile\",\n TABLET = \"tablet\",\n SMARTTV = \"smarttv\",\n WEARABLE = \"wearable\",\n EMBEDDED = \"embedded\",\n UA_MAX_LENGTH = 500;\n var AMAZON = \"Amazon\",\n APPLE = \"Apple\",\n ASUS = \"ASUS\",\n BLACKBERRY = \"BlackBerry\",\n BROWSER = \"Browser\",\n CHROME = \"Chrome\",\n EDGE = \"Edge\",\n FIREFOX = \"Firefox\",\n GOOGLE = \"Google\",\n HUAWEI = \"Huawei\",\n LG = \"LG\",\n MICROSOFT = \"Microsoft\",\n MOTOROLA = \"Motorola\",\n OPERA = \"Opera\",\n SAMSUNG = \"Samsung\",\n SHARP = \"Sharp\",\n SONY = \"Sony\",\n XIAOMI = \"Xiaomi\",\n ZEBRA = \"Zebra\",\n FACEBOOK = \"Facebook\",\n CHROMIUM_OS = \"Chromium OS\",\n MAC_OS = \"Mac OS\";\n var extend = function (regexes, extensions) {\n var mergedRegexes = {};\n for (var i in regexes) {\n if (extensions[i] && extensions[i].length % 2 === 0) {\n mergedRegexes[i] = extensions[i].concat(regexes[i]);\n } else {\n mergedRegexes[i] = regexes[i];\n }\n }\n return mergedRegexes;\n },\n enumerize = function (arr) {\n var enums = {};\n for (var i = 0; i < arr.length; i++) {\n enums[arr[i].toUpperCase()] = arr[i];\n }\n return enums;\n },\n has = function (str1, str2) {\n return typeof str1 === STR_TYPE ? lowerize(str2).indexOf(lowerize(str1)) !== -1 : false;\n },\n lowerize = function (str) {\n return str.toLowerCase();\n },\n majorize = function (version) {\n return typeof version === STR_TYPE ? version.replace(/[^\\d\\.]/g, EMPTY).split(\".\")[0] : undefined;\n },\n trim = function (str, len) {\n if (typeof str === STR_TYPE) {\n str = str.replace(/^\\s\\s*/, EMPTY);\n return typeof len === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);\n }\n };\n var rgxMapper = function (ua, arrays) {\n var i = 0,\n j,\n k,\n p,\n q,\n matches,\n match;\n while (i < arrays.length && !matches) {\n var regex = arrays[i],\n props = arrays[i + 1];\n j = k = 0;\n while (j < regex.length && !matches) {\n if (!regex[j]) {\n break;\n }\n matches = regex[j++].exec(ua);\n if (!!matches) {\n for (p = 0; p < props.length; p++) {\n match = matches[++k];\n q = props[p];\n if (typeof q === OBJ_TYPE && q.length > 0) {\n if (q.length === 2) {\n if (typeof q[1] == FUNC_TYPE) {\n this[q[0]] = q[1].call(this, match);\n } else {\n this[q[0]] = q[1];\n }\n } else if (q.length === 3) {\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n } else {\n this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\n }\n } else if (q.length === 4) {\n this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\n }\n } else {\n this[q] = match ? match : undefined;\n }\n }\n }\n }\n i += 2;\n }\n },\n strMapper = function (str, map) {\n for (var i in map) {\n if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n for (var j = 0; j < map[i].length; j++) {\n if (has(map[i][j], str)) {\n return i === UNKNOWN ? undefined : i;\n }\n }\n } else if (has(map[i], str)) {\n return i === UNKNOWN ? undefined : i;\n }\n }\n return str;\n };\n var oldSafariMap = {\n \"1.0\": \"/8\",\n 1.2: \"/1\",\n 1.3: \"/3\",\n \"2.0\": \"/412\",\n \"2.0.2\": \"/416\",\n \"2.0.3\": \"/417\",\n \"2.0.4\": \"/419\",\n \"?\": \"/\"\n },\n windowsVersionMap = {\n ME: \"4.90\",\n \"NT 3.11\": \"NT3.51\",\n \"NT 4.0\": \"NT4.0\",\n 2e3: \"NT 5.0\",\n XP: [\"NT 5.1\", \"NT 5.2\"],\n Vista: \"NT 6.0\",\n 7: \"NT 6.1\",\n 8: \"NT 6.2\",\n 8.1: \"NT 6.3\",\n 10: [\"NT 6.4\", \"NT 10.0\"],\n RT: \"ARM\"\n };\n var regexes = {\n browser: [[/\\b(?:crmo|crios)\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Chrome\"]], [/edg(?:e|ios|a)?\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Edge\"]], [/(opera mini)\\/([-\\w\\.]+)/i, /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i, /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i], [NAME, VERSION], [/opios[\\/ ]+([\\w\\.]+)/i], [VERSION, [NAME, OPERA + \" Mini\"]], [/\\bopr\\/([\\w\\.]+)/i], [VERSION, [NAME, OPERA]], [/\\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\\/ ]?([\\w\\.]+)/i], [VERSION, [NAME, \"Baidu\"]], [/(kindle)\\/([\\w\\.]+)/i, /(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i, /(avant|iemobile|slim)\\s?(?:browser)?[\\/ ]?([\\w\\.]*)/i, /(?:ms|\\()(ie) ([\\w\\.]+)/i, /(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\\/([-\\w\\.]+)/i, /(heytap|ovi)browser\\/([\\d\\.]+)/i, /(weibo)__([\\d\\.]+)/i], [NAME, VERSION], [/(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i], [VERSION, [NAME, \"UC\" + BROWSER]], [/microm.+\\bqbcore\\/([\\w\\.]+)/i, /\\bqbcore\\/([\\w\\.]+).+microm/i, /micromessenger\\/([\\w\\.]+)/i], [VERSION, [NAME, \"WeChat\"]], [/konqueror\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Konqueror\"]], [/trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i], [VERSION, [NAME, \"IE\"]], [/ya(?:search)?browser\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Yandex\"]], [/slbrowser\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Smart Lenovo \" + BROWSER]], [/(avast|avg)\\/([\\w\\.]+)/i], [[NAME, /(.+)/, \"$1 Secure \" + BROWSER], VERSION], [/\\bfocus\\/([\\w\\.]+)/i], [VERSION, [NAME, FIREFOX + \" Focus\"]], [/\\bopt\\/([\\w\\.]+)/i], [VERSION, [NAME, OPERA + \" Touch\"]], [/coc_coc\\w+\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Coc Coc\"]], [/dolfin\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Dolphin\"]], [/coast\\/([\\w\\.]+)/i], [VERSION, [NAME, OPERA + \" Coast\"]], [/miuibrowser\\/([\\w\\.]+)/i], [VERSION, [NAME, \"MIUI \" + BROWSER]], [/fxios\\/([-\\w\\.]+)/i], [VERSION, [NAME, FIREFOX]], [/\\bqihu|(qi?ho?o?|360)browser/i], [[NAME, \"360 \" + BROWSER]], [/(oculus|sailfish|huawei|vivo)browser\\/([\\w\\.]+)/i], [[NAME, /(.+)/, \"$1 \" + BROWSER], VERSION], [/samsungbrowser\\/([\\w\\.]+)/i], [VERSION, [NAME, SAMSUNG + \" Internet\"]], [/(comodo_dragon)\\/([\\w\\.]+)/i], [[NAME, /_/g, \" \"], VERSION], [/metasr[\\/ ]?([\\d\\.]+)/i], [VERSION, [NAME, \"Sogou Explorer\"]], [/(sogou)mo\\w+\\/([\\d\\.]+)/i], [[NAME, \"Sogou Mobile\"], VERSION], [/(electron)\\/([\\w\\.]+) safari/i, /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i, /m?(qqbrowser|2345Explorer)[\\/ ]?([\\w\\.]+)/i], [NAME, VERSION], [/(lbbrowser)/i, /\\[(linkedin)app\\]/i], [NAME], [/((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i], [[NAME, FACEBOOK], VERSION], [/(Klarna)\\/([\\w\\.]+)/i, /(kakao(?:talk|story))[\\/ ]([\\w\\.]+)/i, /(naver)\\(.*?(\\d+\\.[\\w\\.]+).*\\)/i, /safari (line)\\/([\\w\\.]+)/i, /\\b(line)\\/([\\w\\.]+)\\/iab/i, /(alipay)client\\/([\\w\\.]+)/i, /(chromium|instagram|snapchat)[\\/ ]([-\\w\\.]+)/i], [NAME, VERSION], [/\\bgsa\\/([\\w\\.]+) .*safari\\//i], [VERSION, [NAME, \"GSA\"]], [/musical_ly(?:.+app_?version\\/|_)([\\w\\.]+)/i], [VERSION, [NAME, \"TikTok\"]], [/headlesschrome(?:\\/([\\w\\.]+)| )/i], [VERSION, [NAME, CHROME + \" Headless\"]], [/ wv\\).+(chrome)\\/([\\w\\.]+)/i], [[NAME, CHROME + \" WebView\"], VERSION], [/droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i], [VERSION, [NAME, \"Android \" + BROWSER]], [/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i], [NAME, VERSION], [/version\\/([\\w\\.\\,]+) .*mobile\\/\\w+ (safari)/i], [VERSION, [NAME, \"Mobile Safari\"]], [/version\\/([\\w(\\.|\\,)]+) .*(mobile ?safari|safari)/i], [VERSION, NAME], [/webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i], [NAME, [VERSION, strMapper, oldSafariMap]], [/(webkit|khtml)\\/([\\w\\.]+)/i], [NAME, VERSION], [/(navigator|netscape\\d?)\\/([-\\w\\.]+)/i], [[NAME, \"Netscape\"], VERSION], [/mobile vr; rv:([\\w\\.]+)\\).+firefox/i], [VERSION, [NAME, FIREFOX + \" Reality\"]], [/ekiohf.+(flow)\\/([\\w\\.]+)/i, /(swiftfox)/i, /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i, /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i, /(firefox)\\/([\\w\\.]+)/i, /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i, /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i, /(links) \\(([\\w\\.]+)/i, /panasonic;(viera)/i], [NAME, VERSION], [/(cobalt)\\/([\\w\\.]+)/i], [NAME, [VERSION, /master.|lts./, \"\"]]],\n cpu: [[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i], [[ARCHITECTURE, \"amd64\"]], [/(ia32(?=;))/i], [[ARCHITECTURE, lowerize]], [/((?:i[346]|x)86)[;\\)]/i], [[ARCHITECTURE, \"ia32\"]], [/\\b(aarch64|arm(v?8e?l?|_?64))\\b/i], [[ARCHITECTURE, \"arm64\"]], [/\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i], [[ARCHITECTURE, \"armhf\"]], [/windows (ce|mobile); ppc;/i], [[ARCHITECTURE, \"arm\"]], [/((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [/(sun4\\w)[;\\)]/i], [[ARCHITECTURE, \"sparc\"]], [/((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i], [[ARCHITECTURE, lowerize]]],\n device: [[/\\b(sch-i[89]0\\d|shw-m380s|sm-[ptx]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i], [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]], [/\\b((?:s[cgp]h|gt|sm)-\\w+|sc[g-]?[\\d]+a?|galaxy nexus)/i, /samsung[- ]([-\\w]+)/i, /sec-(sgh\\w+)/i], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [/(?:\\/|\\()(ip(?:hone|od)[\\w, ]*)(?:\\/|;)/i], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], [/\\((ipad);[-\\w\\),; ]+apple/i, /applecoremedia\\/[\\w\\.]+ \\((ipad)/i, /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i], [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], [/(macintosh);/i], [MODEL, [VENDOR, APPLE]], [/\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i], [MODEL, [VENDOR, SHARP], [TYPE, MOBILE]], [/\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i], [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]], [/(?:huawei|honor)([-\\w ]+)[;\\)]/i, /\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [/\\b(poco[\\w ]+|m2\\d{3}j\\d\\d[a-z]{2})(?: bui|\\))/i, /\\b; (\\w+) build\\/hm\\1/i, /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i, /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i, /oid[^\\)]+; (m?[12][0-389][01]\\w{3,6}[c-y])( bui|; wv|\\))/i, /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i], [[MODEL, /_/g, \" \"], [VENDOR, XIAOMI], [TYPE, MOBILE]], [/oid[^\\)]+; (2\\d{4}(283|rpbf)[cgl])( bui|\\))/i, /\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i], [[MODEL, /_/g, \" \"], [VENDOR, XIAOMI], [TYPE, TABLET]], [/; (\\w+) bui.+ oppo/i, /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i], [MODEL, [VENDOR, \"OPPO\"], [TYPE, MOBILE]], [/vivo (\\w+)(?: bui|\\))/i, /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i], [MODEL, [VENDOR, \"Vivo\"], [TYPE, MOBILE]], [/\\b(rmx[1-3]\\d{3})(?: bui|;|\\))/i], [MODEL, [VENDOR, \"Realme\"], [TYPE, MOBILE]], [/\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i, /\\bmot(?:orola)?[- ](\\w*)/i, /((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i], [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]], [/\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i], [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]], [/((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i], [MODEL, [VENDOR, LG], [TYPE, TABLET]], [/(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i, /\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i, /\\blg-?([\\d\\w]+) bui/i], [MODEL, [VENDOR, LG], [TYPE, MOBILE]], [/(ideatab[-\\w ]+)/i, /lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i], [MODEL, [VENDOR, \"Lenovo\"], [TYPE, TABLET]], [/(?:maemo|nokia).*(n900|lumia \\d+)/i, /nokia[-_ ]?([-\\w\\.]*)/i], [[MODEL, /_/g, \" \"], [VENDOR, \"Nokia\"], [TYPE, MOBILE]], [/(pixel c)\\b/i], [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]], [/droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [/droid.+ (a?\\d[0-2]{2}so|[c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i], [MODEL, [VENDOR, SONY], [TYPE, MOBILE]], [/sony tablet [ps]/i, /\\b(?:sony)?sgp\\w+(?: bui|\\))/i], [[MODEL, \"Xperia Tablet\"], [VENDOR, SONY], [TYPE, TABLET]], [/ (kb2005|in20[12]5|be20[12][59])\\b/i, /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i], [MODEL, [VENDOR, \"OnePlus\"], [TYPE, MOBILE]], [/(alexa)webm/i, /(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\\))/i, /(kf[a-z]+)( bui|\\)).+silk\\//i], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [/((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i], [[MODEL, /(.+)/g, \"Fire Phone $1\"], [VENDOR, AMAZON], [TYPE, MOBILE]], [/(playbook);[-\\w\\),; ]+(rim)/i], [MODEL, VENDOR, [TYPE, TABLET]], [/\\b((?:bb[a-f]|st[hv])100-\\d)/i, /\\(bb10; (\\w+)/i], [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]], [/(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i], [MODEL, [VENDOR, ASUS], [TYPE, TABLET]], [/ (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i], [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]], [/(nexus 9)/i], [MODEL, [VENDOR, \"HTC\"], [TYPE, TABLET]], [/(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i, /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i, /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\\.))|sony(?!-bra))[-_ ]?([-\\w]*)/i], [VENDOR, [MODEL, /_/g, \" \"], [TYPE, MOBILE]], [/droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i], [MODEL, [VENDOR, \"Acer\"], [TYPE, TABLET]], [/droid.+; (m[1-5] note) bui/i, /\\bmz-([-\\w]{2,})/i], [MODEL, [VENDOR, \"Meizu\"], [TYPE, MOBILE]], [/; ((?:power )?armor(?:[\\w ]{0,8}))(?: bui|\\))/i], [MODEL, [VENDOR, \"Ulefone\"], [TYPE, MOBILE]], [/(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\\w]*)/i, /(hp) ([\\w ]+\\w)/i, /(asus)-?(\\w+)/i, /(microsoft); (lumia[\\w ]+)/i, /(lenovo)[-_ ]?([-\\w]+)/i, /(jolla)/i, /(oppo) ?([\\w ]+) bui/i], [VENDOR, MODEL, [TYPE, MOBILE]], [/(kobo)\\s(ereader|touch)/i, /(archos) (gamepad2?)/i, /(hp).+(touchpad(?!.+tablet)|tablet)/i, /(kindle)\\/([\\w\\.]+)/i, /(nook)[\\w ]+build\\/(\\w+)/i, /(dell) (strea[kpr\\d ]*[\\dko])/i, /(le[- ]+pan)[- ]+(\\w{1,9}) bui/i, /(trinity)[- ]*(t\\d{3}) bui/i, /(gigaset)[- ]+(q\\w{1,9}) bui/i, /(vodafone) ([\\w ]+)(?:\\)| bui)/i], [VENDOR, MODEL, [TYPE, TABLET]], [/(surface duo)/i], [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]], [/droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i], [MODEL, [VENDOR, \"Fairphone\"], [TYPE, MOBILE]], [/(u304aa)/i], [MODEL, [VENDOR, \"AT&T\"], [TYPE, MOBILE]], [/\\bsie-(\\w*)/i], [MODEL, [VENDOR, \"Siemens\"], [TYPE, MOBILE]], [/\\b(rct\\w+) b/i], [MODEL, [VENDOR, \"RCA\"], [TYPE, TABLET]], [/\\b(venue[\\d ]{2,7}) b/i], [MODEL, [VENDOR, \"Dell\"], [TYPE, TABLET]], [/\\b(q(?:mv|ta)\\w+) b/i], [MODEL, [VENDOR, \"Verizon\"], [TYPE, TABLET]], [/\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i], [MODEL, [VENDOR, \"Barnes & Noble\"], [TYPE, TABLET]], [/\\b(tm\\d{3}\\w+) b/i], [MODEL, [VENDOR, \"NuVision\"], [TYPE, TABLET]], [/\\b(k88) b/i], [MODEL, [VENDOR, \"ZTE\"], [TYPE, TABLET]], [/\\b(nx\\d{3}j) b/i], [MODEL, [VENDOR, \"ZTE\"], [TYPE, MOBILE]], [/\\b(gen\\d{3}) b.+49h/i], [MODEL, [VENDOR, \"Swiss\"], [TYPE, MOBILE]], [/\\b(zur\\d{3}) b/i], [MODEL, [VENDOR, \"Swiss\"], [TYPE, TABLET]], [/\\b((zeki)?tb.*\\b) b/i], [MODEL, [VENDOR, \"Zeki\"], [TYPE, TABLET]], [/\\b([yr]\\d{2}) b/i, /\\b(dragon[- ]+touch |dt)(\\w{5}) b/i], [[VENDOR, \"Dragon Touch\"], MODEL, [TYPE, TABLET]], [/\\b(ns-?\\w{0,9}) b/i], [MODEL, [VENDOR, \"Insignia\"], [TYPE, TABLET]], [/\\b((nxa|next)-?\\w{0,9}) b/i], [MODEL, [VENDOR, \"NextBook\"], [TYPE, TABLET]], [/\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i], [[VENDOR, \"Voice\"], MODEL, [TYPE, MOBILE]], [/\\b(lvtel\\-)?(v1[12]) b/i], [[VENDOR, \"LvTel\"], MODEL, [TYPE, MOBILE]], [/\\b(ph-1) /i], [MODEL, [VENDOR, \"Essential\"], [TYPE, MOBILE]], [/\\b(v(100md|700na|7011|917g).*\\b) b/i], [MODEL, [VENDOR, \"Envizen\"], [TYPE, TABLET]], [/\\b(trio[-\\w\\. ]+) b/i], [MODEL, [VENDOR, \"MachSpeed\"], [TYPE, TABLET]], [/\\btu_(1491) b/i], [MODEL, [VENDOR, \"Rotor\"], [TYPE, TABLET]], [/(shield[\\w ]+) b/i], [MODEL, [VENDOR, \"Nvidia\"], [TYPE, TABLET]], [/(sprint) (\\w+)/i], [VENDOR, MODEL, [TYPE, MOBILE]], [/(kin\\.[onetw]{3})/i], [[MODEL, /\\./g, \" \"], [VENDOR, MICROSOFT], [TYPE, MOBILE]], [/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i], [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]], [/droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i], [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]], [/smart-tv.+(samsung)/i], [VENDOR, [TYPE, SMARTTV]], [/hbbtv.+maple;(\\d+)/i], [[MODEL, /^/, \"SmartTV\"], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [/(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i], [[VENDOR, LG], [TYPE, SMARTTV]], [/(apple) ?tv/i], [VENDOR, [MODEL, APPLE + \" TV\"], [TYPE, SMARTTV]], [/crkey/i], [[MODEL, CHROME + \"cast\"], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [/droid.+aft(\\w+)( bui|\\))/i], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [/\\(dtv[\\);].+(aquos)/i, /(aquos-tv[\\w ]+)\\)/i], [MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]], [/(bravia[\\w ]+)( bui|\\))/i], [MODEL, [VENDOR, SONY], [TYPE, SMARTTV]], [/(mitv-\\w{5}) bui/i], [MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]], [/Hbbtv.*(technisat) (.*);/i], [VENDOR, MODEL, [TYPE, SMARTTV]], [/\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i, /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w\\+ ]*; *([\\w\\d][^;]*);([^;]*)/i], [[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]], [/\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i], [[TYPE, SMARTTV]], [/(ouya)/i, /(nintendo) ([wids3utch]+)/i], [VENDOR, MODEL, [TYPE, CONSOLE]], [/droid.+; (shield) bui/i], [MODEL, [VENDOR, \"Nvidia\"], [TYPE, CONSOLE]], [/(playstation [345portablevi]+)/i], [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]], [/\\b(xbox(?: one)?(?!; xbox))[\\); ]/i], [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]], [/((pebble))app/i], [VENDOR, MODEL, [TYPE, WEARABLE]], [/(watch)(?: ?os[,\\/]|\\d,\\d\\/)[\\d\\.]+/i], [MODEL, [VENDOR, APPLE], [TYPE, WEARABLE]], [/droid.+; (glass) \\d/i], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [/droid.+; (wt63?0{2,3})\\)/i], [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], [/(quest( 2| pro)?)/i], [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]], [/(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i], [VENDOR, [TYPE, EMBEDDED]], [/(aeobc)\\b/i], [MODEL, [VENDOR, AMAZON], [TYPE, EMBEDDED]], [/droid .+?; ([^;]+?)(?: bui|; wv\\)|\\) applew).+? mobile safari/i], [MODEL, [TYPE, MOBILE]], [/droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i], [MODEL, [TYPE, TABLET]], [/\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i], [[TYPE, TABLET]], [/(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i], [[TYPE, MOBILE]], [/(android[-\\w\\. ]{0,9});.+buil/i], [MODEL, [VENDOR, \"Generic\"]]],\n engine: [[/windows.+ edge\\/([\\w\\.]+)/i], [VERSION, [NAME, EDGE + \"HTML\"]], [/webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i], [VERSION, [NAME, \"Blink\"]], [/(presto)\\/([\\w\\.]+)/i, /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i, /ekioh(flow)\\/([\\w\\.]+)/i, /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i, /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i, /\\b(libweb)/i], [NAME, VERSION], [/rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i], [VERSION, NAME]],\n os: [[/microsoft (windows) (vista|xp)/i], [NAME, VERSION], [/(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i], [NAME, [VERSION, strMapper, windowsVersionMap]], [/windows nt 6\\.2; (arm)/i, /windows[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i, /(?:win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i], [[VERSION, strMapper, windowsVersionMap], [NAME, \"Windows\"]], [/ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i, /(?:ios;fbsv\\/|iphone.+ios[\\/ ])([\\d\\.]+)/i, /cfnetwork\\/.+darwin/i], [[VERSION, /_/g, \".\"], [NAME, \"iOS\"]], [/(mac os x) ?([\\w\\. ]*)/i, /(macintosh|mac_powerpc\\b)(?!.+haiku)/i], [[NAME, MAC_OS], [VERSION, /_/g, \".\"]], [/droid ([\\w\\.]+)\\b.+(android[- ]x86|harmonyos)/i], [VERSION, NAME], [/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i, /(blackberry)\\w*\\/([\\w\\.]*)/i, /(tizen|kaios)[\\/ ]([\\w\\.]+)/i, /\\((series40);/i], [NAME, VERSION], [/\\(bb(10);/i], [VERSION, [NAME, BLACKBERRY]], [/(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i], [VERSION, [NAME, \"Symbian\"]], [/mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i], [VERSION, [NAME, FIREFOX + \" OS\"]], [/web0s;.+rt(tv)/i, /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i], [VERSION, [NAME, \"webOS\"]], [/watch(?: ?os[,\\/]|\\d,\\d\\/)([\\d\\.]+)/i], [VERSION, [NAME, \"watchOS\"]], [/crkey\\/([\\d\\.]+)/i], [VERSION, [NAME, CHROME + \"cast\"]], [/(cros) [\\w]+(?:\\)| ([\\w\\.]+)\\b)/i], [[NAME, CHROMIUM_OS], VERSION], [/panasonic;(viera)/i, /(netrange)mmh/i, /(nettv)\\/(\\d+\\.[\\w\\.]+)/i, /(nintendo|playstation) ([wids345portablevuch]+)/i, /(xbox); +xbox ([^\\);]+)/i, /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i, /(mint)[\\/\\(\\) ]?(\\w*)/i, /(mageia|vectorlinux)[; ]/i, /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i, /(hurd|linux) ?([\\w\\.]*)/i, /(gnu) ?([\\w\\.]*)/i, /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i, /(haiku) (\\w+)/i], [NAME, VERSION], [/(sunos) ?([\\w\\.\\d]*)/i], [[NAME, \"Solaris\"], VERSION], [/((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i, /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i, /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i, /(unix) ?([\\w\\.]*)/i], [NAME, VERSION]]\n };\n var UAParser = function (ua, extensions) {\n if (typeof ua === OBJ_TYPE) {\n extensions = ua;\n ua = undefined;\n }\n if (!(this instanceof UAParser)) {\n return new UAParser(ua, extensions).getResult();\n }\n var _navigator = typeof window !== UNDEF_TYPE && window.navigator ? window.navigator : undefined;\n var _ua = ua || (_navigator && _navigator.userAgent ? _navigator.userAgent : EMPTY);\n var _uach = _navigator && _navigator.userAgentData ? _navigator.userAgentData : undefined;\n var _rgxmap = extensions ? extend(regexes, extensions) : regexes;\n var _isSelfNav = _navigator && _navigator.userAgent == _ua;\n this.getBrowser = function () {\n var _browser = {};\n _browser[NAME] = undefined;\n _browser[VERSION] = undefined;\n rgxMapper.call(_browser, _ua, _rgxmap.browser);\n _browser[MAJOR] = majorize(_browser[VERSION]);\n if (_isSelfNav && _navigator && _navigator.brave && typeof _navigator.brave.isBrave == FUNC_TYPE) {\n _browser[NAME] = \"Brave\";\n }\n return _browser;\n };\n this.getCPU = function () {\n var _cpu = {};\n _cpu[ARCHITECTURE] = undefined;\n rgxMapper.call(_cpu, _ua, _rgxmap.cpu);\n return _cpu;\n };\n this.getDevice = function () {\n var _device = {};\n _device[VENDOR] = undefined;\n _device[MODEL] = undefined;\n _device[TYPE] = undefined;\n rgxMapper.call(_device, _ua, _rgxmap.device);\n if (_isSelfNav && !_device[TYPE] && _uach && _uach.mobile) {\n _device[TYPE] = MOBILE;\n }\n if (_isSelfNav && _device[MODEL] == \"Macintosh\" && _navigator && typeof _navigator.standalone !== UNDEF_TYPE && _navigator.maxTouchPoints && _navigator.maxTouchPoints > 2) {\n _device[MODEL] = \"iPad\";\n _device[TYPE] = TABLET;\n }\n return _device;\n };\n this.getEngine = function () {\n var _engine = {};\n _engine[NAME] = undefined;\n _engine[VERSION] = undefined;\n rgxMapper.call(_engine, _ua, _rgxmap.engine);\n return _engine;\n };\n this.getOS = function () {\n var _os = {};\n _os[NAME] = undefined;\n _os[VERSION] = undefined;\n rgxMapper.call(_os, _ua, _rgxmap.os);\n if (_isSelfNav && !_os[NAME] && _uach && _uach.platform != \"Unknown\") {\n _os[NAME] = _uach.platform.replace(/chrome os/i, CHROMIUM_OS).replace(/macos/i, MAC_OS);\n }\n return _os;\n };\n this.getResult = function () {\n return {\n ua: this.getUA(),\n browser: this.getBrowser(),\n engine: this.getEngine(),\n os: this.getOS(),\n device: this.getDevice(),\n cpu: this.getCPU()\n };\n };\n this.getUA = function () {\n return _ua;\n };\n this.setUA = function (ua) {\n _ua = typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH ? trim(ua, UA_MAX_LENGTH) : ua;\n return this;\n };\n this.setUA(_ua);\n return this;\n };\n UAParser.VERSION = LIBVERSION;\n UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]);\n UAParser.CPU = enumerize([ARCHITECTURE]);\n UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);\n UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);\n if (typeof exports !== UNDEF_TYPE) {\n if (typeof module !== UNDEF_TYPE && module.exports) {\n exports = module.exports = UAParser;\n }\n exports.UAParser = UAParser;\n } else {\n if (typeof define === FUNC_TYPE && define.amd) {\n define(function () {\n return UAParser;\n });\n } else if (typeof window !== UNDEF_TYPE) {\n window.UAParser = UAParser;\n }\n }\n var $ = typeof window !== UNDEF_TYPE && (window.jQuery || window.Zepto);\n if ($ && !$.ua) {\n var parser = new UAParser();\n $.ua = parser.getResult();\n $.ua.get = function () {\n return parser.getUA();\n };\n $.ua.set = function (ua) {\n parser.setUA(ua);\n var result = parser.getResult();\n for (var prop in result) {\n $.ua[prop] = result[prop];\n }\n };\n }\n})(typeof window === \"object\" ? window : this);","import { isMobile } from \"react-device-detect\";\nconst SmoothScrolling = {\n timer: null,\n\n stop: function() {\n clearTimeout(this.timer);\n },\n\n scrollTo: function(id, callback) {\n var settings = {\n duration: 700,\n easing: {\n outQuint: function(x, t, b, c, d) {\n return c * ((t = t / d - 1) * t * t * t * t + 1) + b;\n }\n }\n };\n var spHeaderHeight = 60;\n var percentage;\n var startTime;\n var node = document.getElementById(id);\n var nodeTop = isMobile ? node.offsetTop - spHeaderHeight : node.offsetTop;\n var nodeHeight = node.offsetHeight;\n var body = document.body;\n var html = document.documentElement;\n var height = Math.max(\n body.scrollHeight,\n body.offsetHeight,\n html.clientHeight,\n html.scrollHeight,\n html.offsetHeight\n );\n var windowHeight = window.innerHeight;\n var offset = window.pageYOffset;\n var delta = nodeTop - offset;\n var bottomScrollableY = height - windowHeight;\n var targetY =\n bottomScrollableY < delta\n ? bottomScrollableY - (height - nodeTop - nodeHeight + offset)\n : delta;\n\n startTime = Date.now();\n percentage = 0;\n\n if (this.timer) {\n clearInterval(this.timer);\n }\n\n function step() {\n var yScroll;\n var elapsed = Date.now() - startTime;\n\n if (elapsed > settings.duration) {\n clearTimeout(this.timer);\n }\n\n percentage = elapsed / settings.duration;\n\n if (percentage > 1) {\n clearTimeout(this.timer);\n\n if (callback) {\n callback();\n }\n } else {\n yScroll = settings.easing.outQuint(\n 0,\n elapsed,\n offset,\n targetY,\n settings.duration\n );\n window.scrollTo(0, yScroll);\n this.timer = setTimeout(step, 10);\n }\n }\n\n this.timer = setTimeout(step, 10);\n }\n};\n\nexport default SmoothScrolling;\n","/**\n * @author Milos Janda\n * @licence MIT\n */\n\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\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 return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _react = require('react');\nvar _react2 = _interopRequireDefault(_react);\nvar _propTypes = require('prop-types');\nvar _propTypes2 = _interopRequireDefault(_propTypes);\nvar _tweenFunctions = require('tween-functions');\nvar _tweenFunctions2 = _interopRequireDefault(_tweenFunctions);\nvar _detectPassiveEvents = require('detect-passive-events');\nvar _objectAssign = require('object-assign');\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\nvar ScrollUp = function (_React$Component) {\n _inherits(ScrollUp, _React$Component);\n function ScrollUp(props) {\n _classCallCheck(this, ScrollUp);\n\n // set default state\n var _this = _possibleConstructorReturn(this, (ScrollUp.__proto__ || Object.getPrototypeOf(ScrollUp)).call(this, props));\n _this.state = {\n show: false\n };\n\n // default property `data`\n _this.data = {\n startValue: 0,\n currentTime: 0,\n // store current time of animation\n startTime: null,\n rafId: null\n };\n\n // bind\n _this.handleClick = _this.handleClick.bind(_this);\n _this.handleScroll = _this.handleScroll.bind(_this);\n _this.scrollStep = _this.scrollStep.bind(_this);\n _this.stopScrolling = _this.stopScrolling.bind(_this);\n return _this;\n }\n _createClass(ScrollUp, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps, nextState) {\n return nextState.show !== this.state.show;\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.handleScroll(); // initialize state\n\n // Add all listeners which can start scroll\n window.addEventListener('scroll', this.handleScroll);\n window.addEventListener(\"wheel\", this.stopScrolling, _detectPassiveEvents.supportsPassiveEvents ? {\n passive: true\n } : false);\n window.addEventListener(\"touchstart\", this.stopScrolling, _detectPassiveEvents.supportsPassiveEvents ? {\n passive: true\n } : false);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n // Remove all listeners which was registered\n window.removeEventListener('scroll', this.handleScroll);\n window.removeEventListener(\"wheel\", this.stopScrolling, false);\n window.removeEventListener(\"touchstart\", this.stopScrolling, false);\n }\n\n /**\n * call onShow callback if passed valid props\n */\n }, {\n key: 'notifyOnShow',\n value: function notifyOnShow() {\n if (this.props.onShow && typeof this.props.onShow === \"function\") {\n this.props.onShow();\n }\n }\n\n /**\n * call onHide callback if passed valid props\n */\n }, {\n key: 'notifyOnHide',\n value: function notifyOnHide() {\n if (this.props.onHide && typeof this.props.onHide === \"function\") {\n this.props.onHide();\n }\n }\n\n /**\n * Evaluate show/hide this component, depend on new position\n */\n }, {\n key: 'handleScroll',\n value: function handleScroll() {\n if (window.pageYOffset > this.props.showUnder) {\n if (!this.state.show) {\n this.setState({\n show: true\n });\n this.notifyOnShow();\n }\n } else {\n if (this.state.show) {\n this.setState({\n show: false\n });\n this.notifyOnHide();\n }\n }\n }\n\n /**\n * Handle click on the button\n */\n }, {\n key: 'handleClick',\n value: function handleClick() {\n this.stopScrolling();\n this.data.startValue = window.pageYOffset;\n this.data.currentTime = 0;\n this.data.startTime = null;\n this.data.rafId = window.requestAnimationFrame(this.scrollStep);\n }\n\n /**\n * Calculate new position\n * and scroll screen to new position or stop scrolling\n * @param timestamp\n */\n }, {\n key: 'scrollStep',\n value: function scrollStep(timestamp) {\n if (!this.data.startTime) {\n this.data.startTime = timestamp;\n }\n this.data.currentTime = timestamp - this.data.startTime;\n var position = _tweenFunctions2.default[this.props.easing](this.data.currentTime, this.data.startValue, this.props.topPosition, this.props.duration);\n if (window.pageYOffset <= this.props.topPosition) {\n this.stopScrolling();\n } else {\n window.scrollTo(window.pageYOffset, position);\n this.data.rafId = window.requestAnimationFrame(this.scrollStep);\n }\n }\n\n /**\n * Stop Animation Frame\n */\n }, {\n key: 'stopScrolling',\n value: function stopScrolling() {\n window.cancelAnimationFrame(this.data.rafId);\n }\n\n /**\n * Render component\n */\n }, {\n key: 'render',\n value: function render() {\n var propStyle = this.props.style;\n var element = _react2.default.createElement('div', {\n style: propStyle,\n onClick: this.handleClick\n }, this.props.children);\n var style = (0, _objectAssign2.default)({}, ScrollUp.defaultProps.style);\n style = (0, _objectAssign2.default)(style, propStyle);\n style.opacity = this.state.show ? 1 : 0;\n style.visibility = this.state.show ? 'visible' : 'hidden';\n style.transitionProperty = 'opacity, visibility';\n return _react2.default.cloneElement(element, {\n style: style\n });\n }\n }]);\n return ScrollUp;\n}(_react2.default.Component);\n\n// Set default props\n\nexports.default = ScrollUp;\nScrollUp.defaultProps = {\n duration: 250,\n easing: 'easeOutCubic',\n style: {\n position: 'fixed',\n bottom: 50,\n right: 30,\n cursor: 'pointer',\n transitionDuration: '0.2s',\n transitionTimingFunction: 'linear',\n transitionDelay: '0s'\n },\n topPosition: 0\n};\n\n// Set validation property types\nScrollUp.propTypes = {\n topPosition: _propTypes2.default.number,\n showUnder: _propTypes2.default.number.isRequired,\n // show button under this position,\n easing: _propTypes2.default.oneOf(['linear', 'easeInQuad', 'easeOutQuad', 'easeInOutQuad', 'easeInCubic', 'easeOutCubic', 'easeInOutCubic', 'easeInQuart', 'easeOutQuart', 'easeInOutQuart', 'easeInQuint', 'easeOutQuint', 'easeInOutQuint', 'easeInSine', 'easeOutSine', 'easeInOutSine', 'easeInExpo', 'easeOutExpo', 'easeInOutExpo', 'easeInCirc', 'easeOutCirc', 'easeInOutCirc', 'easeInElastic', 'easeOutElastic', 'easeInOutElastic', 'easeInBack', 'easeOutBack', 'easeInOutBack', 'easeInBounce', 'easeOutBounce', 'easeInOutBounce']),\n duration: _propTypes2.default.number,\n // seconds\n style: _propTypes2.default.object,\n onShow: _propTypes2.default.func,\n onHide: _propTypes2.default.func\n};","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport React, { useState, useCallback, forwardRef, useRef, useEffect, useImperativeHandle, useMemo } from 'react';\nconst is = {\n arr: Array.isArray,\n obj: a => Object.prototype.toString.call(a) === '[object Object]',\n fun: a => typeof a === 'function',\n str: a => typeof a === 'string',\n num: a => typeof a === 'number',\n und: a => a === void 0,\n nul: a => a === null,\n set: a => a instanceof Set,\n map: a => a instanceof Map,\n equ(a, b) {\n if (typeof a !== typeof b) return false;\n if (is.str(a) || is.num(a)) return a === b;\n if (is.obj(a) && is.obj(b) && Object.keys(a).length + Object.keys(b).length === 0) return true;\n let i;\n for (i in a) if (!(i in b)) return false;\n for (i in b) if (a[i] !== b[i]) return false;\n return is.und(i) ? a === b : true;\n }\n};\nfunction merge(target, lowercase) {\n if (lowercase === void 0) {\n lowercase = true;\n }\n return object => (is.arr(object) ? object : Object.keys(object)).reduce((acc, element) => {\n const key = lowercase ? element[0].toLowerCase() + element.substring(1) : element;\n acc[key] = target(key);\n return acc;\n }, target);\n}\nfunction useForceUpdate() {\n const _useState = useState(false),\n f = _useState[1];\n const forceUpdate = useCallback(() => f(v => !v), []);\n return forceUpdate;\n}\nfunction withDefault(value, defaultValue) {\n return is.und(value) || is.nul(value) ? defaultValue : value;\n}\nfunction toArray(a) {\n return !is.und(a) ? is.arr(a) ? a : [a] : [];\n}\nfunction callProp(obj) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return is.fun(obj) ? obj(...args) : obj;\n}\nfunction getForwardProps(props) {\n const to = props.to,\n from = props.from,\n config = props.config,\n onStart = props.onStart,\n onRest = props.onRest,\n onFrame = props.onFrame,\n children = props.children,\n reset = props.reset,\n reverse = props.reverse,\n force = props.force,\n immediate = props.immediate,\n delay = props.delay,\n attach = props.attach,\n destroyed = props.destroyed,\n interpolateTo = props.interpolateTo,\n ref = props.ref,\n lazy = props.lazy,\n forward = _objectWithoutPropertiesLoose(props, [\"to\", \"from\", \"config\", \"onStart\", \"onRest\", \"onFrame\", \"children\", \"reset\", \"reverse\", \"force\", \"immediate\", \"delay\", \"attach\", \"destroyed\", \"interpolateTo\", \"ref\", \"lazy\"]);\n return forward;\n}\nfunction interpolateTo(props) {\n const forward = getForwardProps(props);\n if (is.und(forward)) return _extends({\n to: forward\n }, props);\n const rest = Object.keys(props).reduce((a, k) => !is.und(forward[k]) ? a : _extends({}, a, {\n [k]: props[k]\n }), {});\n return _extends({\n to: forward\n }, rest);\n}\nfunction handleRef(ref, forward) {\n if (forward) {\n // If it's a function, assume it's a ref callback\n if (is.fun(forward)) forward(ref);else if (is.obj(forward)) {\n forward.current = ref;\n }\n }\n return ref;\n}\nclass Animated {\n constructor() {\n this.payload = void 0;\n this.children = [];\n }\n getAnimatedValue() {\n return this.getValue();\n }\n getPayload() {\n return this.payload || this;\n }\n attach() {}\n detach() {}\n getChildren() {\n return this.children;\n }\n addChild(child) {\n if (this.children.length === 0) this.attach();\n this.children.push(child);\n }\n removeChild(child) {\n const index = this.children.indexOf(child);\n this.children.splice(index, 1);\n if (this.children.length === 0) this.detach();\n }\n}\nclass AnimatedArray extends Animated {\n constructor() {\n super(...arguments);\n this.payload = [];\n this.attach = () => this.payload.forEach(p => p instanceof Animated && p.addChild(this));\n this.detach = () => this.payload.forEach(p => p instanceof Animated && p.removeChild(this));\n }\n}\nclass AnimatedObject extends Animated {\n constructor() {\n super(...arguments);\n this.payload = {};\n this.attach = () => Object.values(this.payload).forEach(s => s instanceof Animated && s.addChild(this));\n this.detach = () => Object.values(this.payload).forEach(s => s instanceof Animated && s.removeChild(this));\n }\n getValue(animated) {\n if (animated === void 0) {\n animated = false;\n }\n const payload = {};\n for (const key in this.payload) {\n const value = this.payload[key];\n if (animated && !(value instanceof Animated)) continue;\n payload[key] = value instanceof Animated ? value[animated ? 'getAnimatedValue' : 'getValue']() : value;\n }\n return payload;\n }\n getAnimatedValue() {\n return this.getValue(true);\n }\n}\nlet applyAnimatedValues;\nfunction injectApplyAnimatedValues(fn, transform) {\n applyAnimatedValues = {\n fn,\n transform\n };\n}\nlet colorNames;\nfunction injectColorNames(names) {\n colorNames = names;\n}\nlet requestFrame = cb => typeof window !== 'undefined' ? window.requestAnimationFrame(cb) : -1;\nlet cancelFrame = id => {\n typeof window !== 'undefined' && window.cancelAnimationFrame(id);\n};\nfunction injectFrame(raf, caf) {\n requestFrame = raf;\n cancelFrame = caf;\n}\nlet interpolation;\nfunction injectStringInterpolator(fn) {\n interpolation = fn;\n}\nlet now = () => Date.now();\nfunction injectNow(nowFn) {\n now = nowFn;\n}\nlet defaultElement;\nfunction injectDefaultElement(el) {\n defaultElement = el;\n}\nlet animatedApi = node => node.current;\nfunction injectAnimatedApi(fn) {\n animatedApi = fn;\n}\nlet createAnimatedStyle;\nfunction injectCreateAnimatedStyle(factory) {\n createAnimatedStyle = factory;\n}\nlet manualFrameloop;\nfunction injectManualFrameloop(callback) {\n manualFrameloop = callback;\n}\nvar Globals = /*#__PURE__*/Object.freeze({\n get applyAnimatedValues() {\n return applyAnimatedValues;\n },\n injectApplyAnimatedValues: injectApplyAnimatedValues,\n get colorNames() {\n return colorNames;\n },\n injectColorNames: injectColorNames,\n get requestFrame() {\n return requestFrame;\n },\n get cancelFrame() {\n return cancelFrame;\n },\n injectFrame: injectFrame,\n get interpolation() {\n return interpolation;\n },\n injectStringInterpolator: injectStringInterpolator,\n get now() {\n return now;\n },\n injectNow: injectNow,\n get defaultElement() {\n return defaultElement;\n },\n injectDefaultElement: injectDefaultElement,\n get animatedApi() {\n return animatedApi;\n },\n injectAnimatedApi: injectAnimatedApi,\n get createAnimatedStyle() {\n return createAnimatedStyle;\n },\n injectCreateAnimatedStyle: injectCreateAnimatedStyle,\n get manualFrameloop() {\n return manualFrameloop;\n },\n injectManualFrameloop: injectManualFrameloop\n});\n\n/**\n * Wraps the `style` property with `AnimatedStyle`.\n */\n\nclass AnimatedProps extends AnimatedObject {\n constructor(props, callback) {\n super();\n this.update = void 0;\n this.payload = !props.style ? props : _extends({}, props, {\n style: createAnimatedStyle(props.style)\n });\n this.update = callback;\n this.attach();\n }\n}\nconst isFunctionComponent = val => is.fun(val) && !(val.prototype instanceof React.Component);\nconst createAnimatedComponent = Component => {\n const AnimatedComponent = forwardRef((props, ref) => {\n const forceUpdate = useForceUpdate();\n const mounted = useRef(true);\n const propsAnimated = useRef(null);\n const node = useRef(null);\n const attachProps = useCallback(props => {\n const oldPropsAnimated = propsAnimated.current;\n const callback = () => {\n let didUpdate = false;\n if (node.current) {\n didUpdate = applyAnimatedValues.fn(node.current, propsAnimated.current.getAnimatedValue());\n }\n if (!node.current || didUpdate === false) {\n // If no referenced node has been found, or the update target didn't have a\n // native-responder, then forceUpdate the animation ...\n forceUpdate();\n }\n };\n propsAnimated.current = new AnimatedProps(props, callback);\n oldPropsAnimated && oldPropsAnimated.detach();\n }, []);\n useEffect(() => () => {\n mounted.current = false;\n propsAnimated.current && propsAnimated.current.detach();\n }, []);\n useImperativeHandle(ref, () => animatedApi(node, mounted, forceUpdate));\n attachProps(props);\n const _getValue = propsAnimated.current.getValue(),\n scrollTop = _getValue.scrollTop,\n scrollLeft = _getValue.scrollLeft,\n animatedProps = _objectWithoutPropertiesLoose(_getValue, [\"scrollTop\", \"scrollLeft\"]); // Functions cannot have refs, see:\n // See: https://github.com/react-spring/react-spring/issues/569\n\n const refFn = isFunctionComponent(Component) ? undefined : childRef => node.current = handleRef(childRef, ref);\n return React.createElement(Component, _extends({}, animatedProps, {\n ref: refFn\n }));\n });\n return AnimatedComponent;\n};\nlet active = false;\nconst controllers = new Set();\nconst update = () => {\n if (!active) return false;\n let time = now();\n for (let controller of controllers) {\n let isActive = false;\n for (let configIdx = 0; configIdx < controller.configs.length; configIdx++) {\n let config = controller.configs[configIdx];\n let endOfAnimation, lastTime;\n for (let valIdx = 0; valIdx < config.animatedValues.length; valIdx++) {\n let animation = config.animatedValues[valIdx]; // If an animation is done, skip, until all of them conclude\n\n if (animation.done) continue;\n let from = config.fromValues[valIdx];\n let to = config.toValues[valIdx];\n let position = animation.lastPosition;\n let isAnimated = to instanceof Animated;\n let velocity = Array.isArray(config.initialVelocity) ? config.initialVelocity[valIdx] : config.initialVelocity;\n if (isAnimated) to = to.getValue(); // Conclude animation if it's either immediate, or from-values match end-state\n\n if (config.immediate) {\n animation.setValue(to);\n animation.done = true;\n continue;\n } // Break animation when string values are involved\n\n if (typeof from === 'string' || typeof to === 'string') {\n animation.setValue(to);\n animation.done = true;\n continue;\n }\n if (config.duration !== void 0) {\n /** Duration easing */\n position = from + config.easing((time - animation.startTime) / config.duration) * (to - from);\n endOfAnimation = time >= animation.startTime + config.duration;\n } else if (config.decay) {\n /** Decay easing */\n position = from + velocity / (1 - 0.998) * (1 - Math.exp(-(1 - 0.998) * (time - animation.startTime)));\n endOfAnimation = Math.abs(animation.lastPosition - position) < 0.1;\n if (endOfAnimation) to = position;\n } else {\n /** Spring easing */\n lastTime = animation.lastTime !== void 0 ? animation.lastTime : time;\n velocity = animation.lastVelocity !== void 0 ? animation.lastVelocity : config.initialVelocity; // If we lost a lot of frames just jump to the end.\n\n if (time > lastTime + 64) lastTime = time; // http://gafferongames.com/game-physics/fix-your-timestep/\n\n let numSteps = Math.floor(time - lastTime);\n for (let i = 0; i < numSteps; ++i) {\n let force = -config.tension * (position - to);\n let damping = -config.friction * velocity;\n let acceleration = (force + damping) / config.mass;\n velocity = velocity + acceleration * 1 / 1000;\n position = position + velocity * 1 / 1000;\n } // Conditions for stopping the spring animation\n\n let isOvershooting = config.clamp && config.tension !== 0 ? from < to ? position > to : position < to : false;\n let isVelocity = Math.abs(velocity) <= config.precision;\n let isDisplacement = config.tension !== 0 ? Math.abs(to - position) <= config.precision : true;\n endOfAnimation = isOvershooting || isVelocity && isDisplacement;\n animation.lastVelocity = velocity;\n animation.lastTime = time;\n } // Trails aren't done until their parents conclude\n\n if (isAnimated && !config.toValues[valIdx].done) endOfAnimation = false;\n if (endOfAnimation) {\n // Ensure that we end up with a round value\n if (animation.value !== to) position = to;\n animation.done = true;\n } else isActive = true;\n animation.setValue(position);\n animation.lastPosition = position;\n } // Keep track of updated values only when necessary\n\n if (controller.props.onFrame) controller.values[config.name] = config.interpolation.getValue();\n } // Update callbacks in the end of the frame\n\n if (controller.props.onFrame) controller.props.onFrame(controller.values); // Either call onEnd or next frame\n\n if (!isActive) {\n controllers.delete(controller);\n controller.stop(true);\n }\n } // Loop over as long as there are controllers ...\n\n if (controllers.size) {\n if (manualFrameloop) manualFrameloop();else requestFrame(update);\n } else {\n active = false;\n }\n return active;\n};\nconst start = controller => {\n if (!controllers.has(controller)) controllers.add(controller);\n if (!active) {\n active = true;\n if (manualFrameloop) requestFrame(manualFrameloop);else requestFrame(update);\n }\n};\nconst stop = controller => {\n if (controllers.has(controller)) controllers.delete(controller);\n};\nfunction createInterpolator(range, output, extrapolate) {\n if (typeof range === 'function') {\n return range;\n }\n if (Array.isArray(range)) {\n return createInterpolator({\n range,\n output: output,\n extrapolate\n });\n }\n if (interpolation && typeof range.output[0] === 'string') {\n return interpolation(range);\n }\n const config = range;\n const outputRange = config.output;\n const inputRange = config.range || [0, 1];\n const extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend';\n const extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend';\n const easing = config.easing || (t => t);\n return input => {\n const range = findRange(input, inputRange);\n return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map);\n };\n}\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {\n let result = map ? map(input) : input; // Extrapolate\n\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;\n }\n if (result > inputMax) {\n if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;\n }\n if (outputMin === outputMax) return outputMin;\n if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax; // Input Range\n\n if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin); // Easing\n\n result = easing(result); // Output Range\n\n if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;\n return result;\n}\nfunction findRange(input, inputRange) {\n for (var i = 1; i < inputRange.length - 1; ++i) if (inputRange[i] >= input) break;\n return i - 1;\n}\nclass AnimatedInterpolation extends AnimatedArray {\n constructor(parents, range, output, extrapolate) {\n super();\n this.calc = void 0;\n this.payload = parents instanceof AnimatedArray && !(parents instanceof AnimatedInterpolation) ? parents.getPayload() : Array.isArray(parents) ? parents : [parents];\n this.calc = createInterpolator(range, output, extrapolate);\n }\n getValue() {\n return this.calc(...this.payload.map(value => value.getValue()));\n }\n updateConfig(range, output, extrapolate) {\n this.calc = createInterpolator(range, output, extrapolate);\n }\n interpolate(range, output, extrapolate) {\n return new AnimatedInterpolation(this, range, output, extrapolate);\n }\n}\nconst interpolate$1 = (parents, range, output) => parents && new AnimatedInterpolation(parents, range, output);\nconst config = {\n default: {\n tension: 170,\n friction: 26\n },\n gentle: {\n tension: 120,\n friction: 14\n },\n wobbly: {\n tension: 180,\n friction: 12\n },\n stiff: {\n tension: 210,\n friction: 20\n },\n slow: {\n tension: 280,\n friction: 60\n },\n molasses: {\n tension: 280,\n friction: 120\n }\n};\n\n/** API\n * useChain(references, timeSteps, timeFrame)\n */\n\nfunction useChain(refs, timeSteps, timeFrame) {\n if (timeFrame === void 0) {\n timeFrame = 1000;\n }\n const previous = useRef();\n useEffect(() => {\n if (is.equ(refs, previous.current)) refs.forEach(_ref => {\n let current = _ref.current;\n return current && current.start();\n });else if (timeSteps) {\n refs.forEach((_ref2, index) => {\n let current = _ref2.current;\n if (current) {\n const ctrls = current.controllers;\n if (ctrls.length) {\n const t = timeFrame * timeSteps[index];\n ctrls.forEach(ctrl => {\n ctrl.queue = ctrl.queue.map(e => _extends({}, e, {\n delay: e.delay + t\n }));\n ctrl.start();\n });\n }\n }\n });\n } else refs.reduce((q, _ref3, rI) => {\n let current = _ref3.current;\n return q = q.then(() => current.start());\n }, Promise.resolve());\n previous.current = refs;\n });\n}\n\n/**\n * Animated works by building a directed acyclic graph of dependencies\n * transparently when you render your Animated components.\n *\n * new Animated.Value(0)\n * .interpolate() .interpolate() new Animated.Value(1)\n * opacity translateY scale\n * style transform\n * View#234 style\n * View#123\n *\n * A) Top Down phase\n * When an AnimatedValue is updated, we recursively go down through this\n * graph in order to find leaf nodes: the views that we flag as needing\n * an update.\n *\n * B) Bottom Up phase\n * When a view is flagged as needing an update, we recursively go back up\n * in order to build the new value that it needs. The reason why we need\n * this two-phases process is to deal with composite props such as\n * transform which can receive values from multiple parents.\n */\nfunction addAnimatedStyles(node, styles) {\n if ('update' in node) {\n styles.add(node);\n } else {\n node.getChildren().forEach(child => addAnimatedStyles(child, styles));\n }\n}\nclass AnimatedValue extends Animated {\n constructor(_value) {\n var _this;\n super();\n _this = this;\n this.animatedStyles = new Set();\n this.value = void 0;\n this.startPosition = void 0;\n this.lastPosition = void 0;\n this.lastVelocity = void 0;\n this.startTime = void 0;\n this.lastTime = void 0;\n this.done = false;\n this.setValue = function (value, flush) {\n if (flush === void 0) {\n flush = true;\n }\n _this.value = value;\n if (flush) _this.flush();\n };\n this.value = _value;\n this.startPosition = _value;\n this.lastPosition = _value;\n }\n flush() {\n if (this.animatedStyles.size === 0) {\n addAnimatedStyles(this, this.animatedStyles);\n }\n this.animatedStyles.forEach(animatedStyle => animatedStyle.update());\n }\n clearStyles() {\n this.animatedStyles.clear();\n }\n getValue() {\n return this.value;\n }\n interpolate(range, output, extrapolate) {\n return new AnimatedInterpolation(this, range, output, extrapolate);\n }\n}\nclass AnimatedValueArray extends AnimatedArray {\n constructor(values) {\n super();\n this.payload = values.map(n => new AnimatedValue(n));\n }\n setValue(value, flush) {\n if (flush === void 0) {\n flush = true;\n }\n if (Array.isArray(value)) {\n if (value.length === this.payload.length) {\n value.forEach((v, i) => this.payload[i].setValue(v, flush));\n }\n } else {\n this.payload.forEach(p => p.setValue(value, flush));\n }\n }\n getValue() {\n return this.payload.map(v => v.getValue());\n }\n interpolate(range, output) {\n return new AnimatedInterpolation(this, range, output);\n }\n}\nlet G = 0;\nclass Controller {\n constructor() {\n this.id = void 0;\n this.idle = true;\n this.hasChanged = false;\n this.guid = 0;\n this.local = 0;\n this.props = {};\n this.merged = {};\n this.animations = {};\n this.interpolations = {};\n this.values = {};\n this.configs = [];\n this.listeners = [];\n this.queue = [];\n this.localQueue = void 0;\n this.getValues = () => this.interpolations;\n this.id = G++;\n }\n /** update(props)\n * This function filters input props and creates an array of tasks which are executed in .start()\n * Each task is allowed to carry a delay, which means it can execute asnychroneously */\n\n update(args) {\n //this._id = n + this.id\n if (!args) return this; // Extract delay and the to-prop from props\n\n const _ref = interpolateTo(args),\n _ref$delay = _ref.delay,\n delay = _ref$delay === void 0 ? 0 : _ref$delay,\n to = _ref.to,\n props = _objectWithoutPropertiesLoose(_ref, [\"delay\", \"to\"]);\n if (is.arr(to) || is.fun(to)) {\n // If config is either a function or an array queue it up as is\n this.queue.push(_extends({}, props, {\n delay,\n to\n }));\n } else if (to) {\n // Otherwise go through each key since it could be delayed individually\n let ops = {};\n Object.entries(to).forEach(_ref2 => {\n let k = _ref2[0],\n v = _ref2[1];\n\n // Fetch delay and create an entry, consisting of the to-props, the delay, and basic props\n const entry = _extends({\n to: {\n [k]: v\n },\n delay: callProp(delay, k)\n }, props);\n const previous = ops[entry.delay] && ops[entry.delay].to;\n ops[entry.delay] = _extends({}, ops[entry.delay], entry, {\n to: _extends({}, previous, entry.to)\n });\n });\n this.queue = Object.values(ops);\n } // Sort queue, so that async calls go last\n\n this.queue = this.queue.sort((a, b) => a.delay - b.delay); // Diff the reduced props immediately (they'll contain the from-prop and some config)\n\n this.diff(props);\n return this;\n }\n /** start(onEnd)\n * This function either executes a queue, if present, or starts the frameloop, which animates */\n\n start(onEnd) {\n // If a queue is present we must excecute it\n if (this.queue.length) {\n this.idle = false; // Updates can interrupt trailing queues, in that case we just merge values\n\n if (this.localQueue) {\n this.localQueue.forEach(_ref3 => {\n let _ref3$from = _ref3.from,\n from = _ref3$from === void 0 ? {} : _ref3$from,\n _ref3$to = _ref3.to,\n to = _ref3$to === void 0 ? {} : _ref3$to;\n if (is.obj(from)) this.merged = _extends({}, from, this.merged);\n if (is.obj(to)) this.merged = _extends({}, this.merged, to);\n });\n } // The guid helps us tracking frames, a new queue over an old one means an override\n // We discard async calls in that caseÍ\n\n const local = this.local = ++this.guid;\n const queue = this.localQueue = this.queue;\n this.queue = []; // Go through each entry and execute it\n\n queue.forEach((_ref4, index) => {\n let delay = _ref4.delay,\n props = _objectWithoutPropertiesLoose(_ref4, [\"delay\"]);\n const cb = finished => {\n if (index === queue.length - 1 && local === this.guid && finished) {\n this.idle = true;\n if (this.props.onRest) this.props.onRest(this.merged);\n }\n if (onEnd) onEnd();\n }; // Entries can be delayed, ansyc or immediate\n\n let async = is.arr(props.to) || is.fun(props.to);\n if (delay) {\n setTimeout(() => {\n if (local === this.guid) {\n if (async) this.runAsync(props, cb);else this.diff(props).start(cb);\n }\n }, delay);\n } else if (async) this.runAsync(props, cb);else this.diff(props).start(cb);\n });\n } // Otherwise we kick of the frameloop\n else {\n if (is.fun(onEnd)) this.listeners.push(onEnd);\n if (this.props.onStart) this.props.onStart();\n start(this);\n }\n return this;\n }\n stop(finished) {\n this.listeners.forEach(onEnd => onEnd(finished));\n this.listeners = [];\n return this;\n }\n /** Pause sets onEnd listeners free, but also removes the controller from the frameloop */\n\n pause(finished) {\n this.stop(true);\n if (finished) stop(this);\n return this;\n }\n runAsync(_ref5, onEnd) {\n var _this = this;\n let delay = _ref5.delay,\n props = _objectWithoutPropertiesLoose(_ref5, [\"delay\"]);\n const local = this.local; // If \"to\" is either a function or an array it will be processed async, therefor \"to\" should be empty right now\n // If the view relies on certain values \"from\" has to be present\n\n let queue = Promise.resolve(undefined);\n if (is.arr(props.to)) {\n for (let i = 0; i < props.to.length; i++) {\n const index = i;\n const fresh = _extends({}, props, interpolateTo(props.to[index]));\n if (is.arr(fresh.config)) fresh.config = fresh.config[index];\n queue = queue.then(() => {\n //this.stop()\n if (local === this.guid) return new Promise(r => this.diff(fresh).start(r));\n });\n }\n } else if (is.fun(props.to)) {\n let index = 0;\n let last;\n queue = queue.then(() => props.to(\n // next(props)\n p => {\n const fresh = _extends({}, props, interpolateTo(p));\n if (is.arr(fresh.config)) fresh.config = fresh.config[index];\n index++; //this.stop()\n\n if (local === this.guid) return last = new Promise(r => this.diff(fresh).start(r));\n return;\n },\n // cancel()\n function (finished) {\n if (finished === void 0) {\n finished = true;\n }\n return _this.stop(finished);\n }).then(() => last));\n }\n queue.then(onEnd);\n }\n diff(props) {\n this.props = _extends({}, this.props, props);\n let _this$props = this.props,\n _this$props$from = _this$props.from,\n from = _this$props$from === void 0 ? {} : _this$props$from,\n _this$props$to = _this$props.to,\n to = _this$props$to === void 0 ? {} : _this$props$to,\n _this$props$config = _this$props.config,\n config = _this$props$config === void 0 ? {} : _this$props$config,\n reverse = _this$props.reverse,\n attach = _this$props.attach,\n reset = _this$props.reset,\n immediate = _this$props.immediate; // Reverse values when requested\n\n if (reverse) {\n var _ref6 = [to, from];\n from = _ref6[0];\n to = _ref6[1];\n } // This will collect all props that were ever set, reset merged props when necessary\n\n this.merged = _extends({}, from, this.merged, to);\n this.hasChanged = false; // Attachment handling, trailed springs can \"attach\" themselves to a previous spring\n\n let target = attach && attach(this); // Reduces input { name: value } pairs into animated values\n\n this.animations = Object.entries(this.merged).reduce((acc, _ref7) => {\n let name = _ref7[0],\n value = _ref7[1];\n // Issue cached entries, except on reset\n let entry = acc[name] || {}; // Figure out what the value is supposed to be\n\n const isNumber = is.num(value);\n const isString = is.str(value) && !value.startsWith('#') && !/\\d/.test(value) && !colorNames[value];\n const isArray = is.arr(value);\n const isInterpolation = !isNumber && !isArray && !isString;\n let fromValue = !is.und(from[name]) ? from[name] : value;\n let toValue = isNumber || isArray ? value : isString ? value : 1;\n let toConfig = callProp(config, name);\n if (target) toValue = target.animations[name].parent;\n let parent = entry.parent,\n interpolation$$1 = entry.interpolation,\n toValues = toArray(target ? toValue.getPayload() : toValue),\n animatedValues;\n let newValue = value;\n if (isInterpolation) newValue = interpolation({\n range: [0, 1],\n output: [value, value]\n })(1);\n let currentValue = interpolation$$1 && interpolation$$1.getValue(); // Change detection flags\n\n const isFirst = is.und(parent);\n const isActive = !isFirst && entry.animatedValues.some(v => !v.done);\n const currentValueDiffersFromGoal = !is.equ(newValue, currentValue);\n const hasNewGoal = !is.equ(newValue, entry.previous);\n const hasNewConfig = !is.equ(toConfig, entry.config); // Change animation props when props indicate a new goal (new value differs from previous one)\n // and current values differ from it. Config changes trigger a new update as well (though probably shouldn't?)\n\n if (reset || hasNewGoal && currentValueDiffersFromGoal || hasNewConfig) {\n // Convert regular values into animated values, ALWAYS re-use if possible\n if (isNumber || isString) parent = interpolation$$1 = entry.parent || new AnimatedValue(fromValue);else if (isArray) parent = interpolation$$1 = entry.parent || new AnimatedValueArray(fromValue);else if (isInterpolation) {\n let prev = entry.interpolation && entry.interpolation.calc(entry.parent.value);\n prev = prev !== void 0 && !reset ? prev : fromValue;\n if (entry.parent) {\n parent = entry.parent;\n parent.setValue(0, false);\n } else parent = new AnimatedValue(0);\n const range = {\n output: [prev, value]\n };\n if (entry.interpolation) {\n interpolation$$1 = entry.interpolation;\n entry.interpolation.updateConfig(range);\n } else interpolation$$1 = parent.interpolate(range);\n }\n toValues = toArray(target ? toValue.getPayload() : toValue);\n animatedValues = toArray(parent.getPayload());\n if (reset && !isInterpolation) parent.setValue(fromValue, false);\n this.hasChanged = true; // Reset animated values\n\n animatedValues.forEach(value => {\n value.startPosition = value.value;\n value.lastPosition = value.value;\n value.lastVelocity = isActive ? value.lastVelocity : undefined;\n value.lastTime = isActive ? value.lastTime : undefined;\n value.startTime = now();\n value.done = false;\n value.animatedStyles.clear();\n }); // Set immediate values\n\n if (callProp(immediate, name)) {\n parent.setValue(isInterpolation ? toValue : value, false);\n }\n return _extends({}, acc, {\n [name]: _extends({}, entry, {\n name,\n parent,\n interpolation: interpolation$$1,\n animatedValues,\n toValues,\n previous: newValue,\n config: toConfig,\n fromValues: toArray(parent.getValue()),\n immediate: callProp(immediate, name),\n initialVelocity: withDefault(toConfig.velocity, 0),\n clamp: withDefault(toConfig.clamp, false),\n precision: withDefault(toConfig.precision, 0.01),\n tension: withDefault(toConfig.tension, 170),\n friction: withDefault(toConfig.friction, 26),\n mass: withDefault(toConfig.mass, 1),\n duration: toConfig.duration,\n easing: withDefault(toConfig.easing, t => t),\n decay: toConfig.decay\n })\n });\n } else {\n if (!currentValueDiffersFromGoal) {\n // So ... the current target value (newValue) appears to be different from the previous value,\n // which normally constitutes an update, but the actual value (currentValue) matches the target!\n // In order to resolve this without causing an animation update we silently flag the animation as done,\n // which it technically is. Interpolations also needs a config update with their target set to 1.\n if (isInterpolation) {\n parent.setValue(1, false);\n interpolation$$1.updateConfig({\n output: [newValue, newValue]\n });\n }\n parent.done = true;\n this.hasChanged = true;\n return _extends({}, acc, {\n [name]: _extends({}, acc[name], {\n previous: newValue\n })\n });\n }\n return acc;\n }\n }, this.animations);\n if (this.hasChanged) {\n // Make animations available to frameloop\n this.configs = Object.values(this.animations);\n this.values = {};\n this.interpolations = {};\n for (let key in this.animations) {\n this.interpolations[key] = this.animations[key].interpolation;\n this.values[key] = this.animations[key].interpolation.getValue();\n }\n }\n return this;\n }\n destroy() {\n this.stop();\n this.props = {};\n this.merged = {};\n this.animations = {};\n this.interpolations = {};\n this.values = {};\n this.configs = [];\n this.local = 0;\n }\n}\n\n/** API\n * const props = useSprings(number, [{ ... }, { ... }, ...])\n * const [props, set] = useSprings(number, (i, controller) => ({ ... }))\n */\n\nconst useSprings = (length, props) => {\n const mounted = useRef(false);\n const ctrl = useRef();\n const isFn = is.fun(props); // The controller maintains the animation values, starts and stops animations\n\n const _useMemo = useMemo(() => {\n // Remove old controllers\n if (ctrl.current) {\n ctrl.current.map(c => c.destroy());\n ctrl.current = undefined;\n }\n let ref;\n return [new Array(length).fill().map((_, i) => {\n const ctrl = new Controller();\n const newProps = isFn ? callProp(props, i, ctrl) : props[i];\n if (i === 0) ref = newProps.ref;\n ctrl.update(newProps);\n if (!ref) ctrl.start();\n return ctrl;\n }), ref];\n }, [length]),\n controllers = _useMemo[0],\n ref = _useMemo[1];\n ctrl.current = controllers; // The hooks reference api gets defined here ...\n\n const api = useImperativeHandle(ref, () => ({\n start: () => Promise.all(ctrl.current.map(c => new Promise(r => c.start(r)))),\n stop: finished => ctrl.current.forEach(c => c.stop(finished)),\n get controllers() {\n return ctrl.current;\n }\n })); // This function updates the controllers\n\n const updateCtrl = useMemo(() => updateProps => ctrl.current.map((c, i) => {\n c.update(isFn ? callProp(updateProps, i, c) : updateProps[i]);\n if (!ref) c.start();\n }), [length]); // Update controller if props aren't functional\n\n useEffect(() => {\n if (mounted.current) {\n if (!isFn) updateCtrl(props);\n } else if (!ref) ctrl.current.forEach(c => c.start());\n }); // Update mounted flag and destroy controller on unmount\n\n useEffect(() => (mounted.current = true, () => ctrl.current.forEach(c => c.destroy())), []); // Return animated props, or, anim-props + the update-setter above\n\n const propValues = ctrl.current.map(c => c.getValues());\n return isFn ? [propValues, updateCtrl, finished => ctrl.current.forEach(c => c.pause(finished))] : propValues;\n};\n\n/** API\n * const props = useSpring({ ... })\n * const [props, set] = useSpring(() => ({ ... }))\n */\n\nconst useSpring = props => {\n const isFn = is.fun(props);\n const _useSprings = useSprings(1, isFn ? props : [props]),\n result = _useSprings[0],\n set = _useSprings[1],\n pause = _useSprings[2];\n return isFn ? [result[0], set, pause] : result;\n};\n\n/** API\n * const trails = useTrail(number, { ... })\n * const [trails, set] = useTrail(number, () => ({ ... }))\n */\n\nconst useTrail = (length, props) => {\n const mounted = useRef(false);\n const isFn = is.fun(props);\n const updateProps = callProp(props);\n const instances = useRef();\n const _useSprings = useSprings(length, (i, ctrl) => {\n if (i === 0) instances.current = [];\n instances.current.push(ctrl);\n return _extends({}, updateProps, {\n config: callProp(updateProps.config, i),\n attach: i > 0 && (() => instances.current[i - 1])\n });\n }),\n result = _useSprings[0],\n set = _useSprings[1],\n pause = _useSprings[2]; // Set up function to update controller\n\n const updateCtrl = useMemo(() => props => set((i, ctrl) => {\n const last = props.reverse ? i === 0 : length - 1 === i;\n const attachIdx = props.reverse ? i + 1 : i - 1;\n const attachController = instances.current[attachIdx];\n return _extends({}, props, {\n config: callProp(props.config || updateProps.config, i),\n attach: attachController && (() => attachController)\n });\n }), [length, updateProps.reverse]); // Update controller if props aren't functional\n\n useEffect(() => void (mounted.current && !isFn && updateCtrl(props))); // Update mounted flag and destroy controller on unmount\n\n useEffect(() => void (mounted.current = true), []);\n return isFn ? [result, updateCtrl, pause] : result;\n};\n\n/** API\n * const transitions = useTransition(items, itemKeys, { ... })\n * const [transitions, update] = useTransition(items, itemKeys, () => ({ ... }))\n */\n\nlet guid = 0;\nconst ENTER = 'enter';\nconst LEAVE = 'leave';\nconst UPDATE = 'update';\nconst mapKeys = (items, keys) => (typeof keys === 'function' ? items.map(keys) : toArray(keys)).map(String);\nconst get = props => {\n let items = props.items,\n _props$keys = props.keys,\n keys = _props$keys === void 0 ? item => item : _props$keys,\n rest = _objectWithoutPropertiesLoose(props, [\"items\", \"keys\"]);\n items = toArray(items !== void 0 ? items : null);\n return _extends({\n items,\n keys: mapKeys(items, keys)\n }, rest);\n};\nfunction useTransition(input, keyTransform, config) {\n const props = _extends({\n items: input,\n keys: keyTransform || (i => i)\n }, config);\n const _get = get(props),\n _get$lazy = _get.lazy,\n lazy = _get$lazy === void 0 ? false : _get$lazy,\n _get$unique = _get.unique,\n _get$reset = _get.reset,\n reset = _get$reset === void 0 ? false : _get$reset,\n enter = _get.enter,\n leave = _get.leave,\n update = _get.update,\n onDestroyed = _get.onDestroyed,\n keys = _get.keys,\n items = _get.items,\n onFrame = _get.onFrame,\n _onRest = _get.onRest,\n onStart = _get.onStart,\n ref = _get.ref,\n extra = _objectWithoutPropertiesLoose(_get, [\"lazy\", \"unique\", \"reset\", \"enter\", \"leave\", \"update\", \"onDestroyed\", \"keys\", \"items\", \"onFrame\", \"onRest\", \"onStart\", \"ref\"]);\n const forceUpdate = useForceUpdate();\n const mounted = useRef(false);\n const state = useRef({\n mounted: false,\n first: true,\n deleted: [],\n current: {},\n transitions: [],\n prevProps: {},\n paused: !!props.ref,\n instances: !mounted.current && new Map(),\n forceUpdate\n });\n useImperativeHandle(props.ref, () => ({\n start: () => Promise.all(Array.from(state.current.instances).map(_ref => {\n let c = _ref[1];\n return new Promise(r => c.start(r));\n })),\n stop: finished => Array.from(state.current.instances).forEach(_ref2 => {\n let c = _ref2[1];\n return c.stop(finished);\n }),\n get controllers() {\n return Array.from(state.current.instances).map(_ref3 => {\n let c = _ref3[1];\n return c;\n });\n }\n })); // Update state\n\n state.current = diffItems(state.current, props);\n if (state.current.changed) {\n // Update state\n state.current.transitions.forEach(transition => {\n const slot = transition.slot,\n from = transition.from,\n to = transition.to,\n config = transition.config,\n trail = transition.trail,\n key = transition.key,\n item = transition.item;\n if (!state.current.instances.has(key)) state.current.instances.set(key, new Controller()); // update the map object\n\n const ctrl = state.current.instances.get(key);\n const newProps = _extends({}, extra, {\n to,\n from,\n config,\n ref,\n onRest: values => {\n if (state.current.mounted) {\n if (transition.destroyed) {\n // If no ref is given delete destroyed items immediately\n if (!ref && !lazy) cleanUp(state, key);\n if (onDestroyed) onDestroyed(item);\n } // A transition comes to rest once all its springs conclude\n\n const curInstances = Array.from(state.current.instances);\n const active = curInstances.some(_ref4 => {\n let c = _ref4[1];\n return !c.idle;\n });\n if (!active && (ref || lazy) && state.current.deleted.length > 0) cleanUp(state);\n if (_onRest) _onRest(item, slot, values);\n }\n },\n onStart: onStart && (() => onStart(item, slot)),\n onFrame: onFrame && (values => onFrame(item, slot, values)),\n delay: trail,\n reset: reset && slot === ENTER // Update controller\n });\n ctrl.update(newProps);\n if (!state.current.paused) ctrl.start();\n });\n }\n useEffect(() => {\n state.current.mounted = mounted.current = true;\n return () => {\n state.current.mounted = mounted.current = false;\n Array.from(state.current.instances).map(_ref5 => {\n let c = _ref5[1];\n return c.destroy();\n });\n state.current.instances.clear();\n };\n }, []);\n return state.current.transitions.map(_ref6 => {\n let item = _ref6.item,\n slot = _ref6.slot,\n key = _ref6.key;\n return {\n item,\n key,\n state: slot,\n props: state.current.instances.get(key).getValues()\n };\n });\n}\nfunction cleanUp(state, filterKey) {\n const deleted = state.current.deleted;\n for (let _ref7 of deleted) {\n let key = _ref7.key;\n const filter = t => t.key !== key;\n if (is.und(filterKey) || filterKey === key) {\n state.current.instances.delete(key);\n state.current.transitions = state.current.transitions.filter(filter);\n state.current.deleted = state.current.deleted.filter(filter);\n }\n }\n state.current.forceUpdate();\n}\nfunction diffItems(_ref8, props) {\n let first = _ref8.first,\n prevProps = _ref8.prevProps,\n state = _objectWithoutPropertiesLoose(_ref8, [\"first\", \"prevProps\"]);\n let _get2 = get(props),\n items = _get2.items,\n keys = _get2.keys,\n initial = _get2.initial,\n from = _get2.from,\n enter = _get2.enter,\n leave = _get2.leave,\n update = _get2.update,\n _get2$trail = _get2.trail,\n trail = _get2$trail === void 0 ? 0 : _get2$trail,\n unique = _get2.unique,\n config = _get2.config,\n _get2$order = _get2.order,\n order = _get2$order === void 0 ? [ENTER, LEAVE, UPDATE] : _get2$order;\n let _get3 = get(prevProps),\n _keys = _get3.keys,\n _items = _get3.items;\n let current = _extends({}, state.current);\n let deleted = [...state.deleted]; // Compare next keys with current keys\n\n let currentKeys = Object.keys(current);\n let currentSet = new Set(currentKeys);\n let nextSet = new Set(keys);\n let added = keys.filter(item => !currentSet.has(item));\n let removed = state.transitions.filter(item => !item.destroyed && !nextSet.has(item.originalKey)).map(i => i.originalKey);\n let updated = keys.filter(item => currentSet.has(item));\n let delay = -trail;\n while (order.length) {\n const changeType = order.shift();\n switch (changeType) {\n case ENTER:\n {\n added.forEach((key, index) => {\n // In unique mode, remove fading out transitions if their key comes in again\n if (unique && deleted.find(d => d.originalKey === key)) deleted = deleted.filter(t => t.originalKey !== key);\n const keyIndex = keys.indexOf(key);\n const item = items[keyIndex];\n const slot = first && initial !== void 0 ? 'initial' : ENTER;\n current[key] = {\n slot,\n originalKey: key,\n key: unique ? String(key) : guid++,\n item,\n trail: delay = delay + trail,\n config: callProp(config, item, slot),\n from: callProp(first ? initial !== void 0 ? initial || {} : from : from, item),\n to: callProp(enter, item)\n };\n });\n break;\n }\n case LEAVE:\n {\n removed.forEach(key => {\n const keyIndex = _keys.indexOf(key);\n const item = _items[keyIndex];\n const slot = LEAVE;\n deleted.unshift(_extends({}, current[key], {\n slot,\n destroyed: true,\n left: _keys[Math.max(0, keyIndex - 1)],\n right: _keys[Math.min(_keys.length, keyIndex + 1)],\n trail: delay = delay + trail,\n config: callProp(config, item, slot),\n to: callProp(leave, item)\n }));\n delete current[key];\n });\n break;\n }\n case UPDATE:\n {\n updated.forEach(key => {\n const keyIndex = keys.indexOf(key);\n const item = items[keyIndex];\n const slot = UPDATE;\n current[key] = _extends({}, current[key], {\n item,\n slot,\n trail: delay = delay + trail,\n config: callProp(config, item, slot),\n to: callProp(update, item)\n });\n });\n break;\n }\n }\n }\n let out = keys.map(key => current[key]); // This tries to restore order for deleted items by finding their last known siblings\n // only using the left sibling to keep order placement consistent for all deleted items\n\n deleted.forEach(_ref9 => {\n let left = _ref9.left,\n right = _ref9.right,\n item = _objectWithoutPropertiesLoose(_ref9, [\"left\", \"right\"]);\n let pos; // Was it the element on the left, if yes, move there ...\n\n if ((pos = out.findIndex(t => t.originalKey === left)) !== -1) pos += 1; // And if nothing else helps, move it to the start ¯\\_(ツ)_/¯\n\n pos = Math.max(0, pos);\n out = [...out.slice(0, pos), item, ...out.slice(pos)];\n });\n return _extends({}, state, {\n changed: added.length || removed.length || updated.length,\n first: first && added.length === 0,\n transitions: out,\n current,\n deleted,\n prevProps: props\n });\n}\nclass AnimatedStyle extends AnimatedObject {\n constructor(style) {\n if (style === void 0) {\n style = {};\n }\n super();\n if (style.transform && !(style.transform instanceof Animated)) {\n style = applyAnimatedValues.transform(style);\n }\n this.payload = style;\n }\n}\n\n// http://www.w3.org/TR/css3-color/#svg-color\nconst colors = {\n transparent: 0x00000000,\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff\n};\n\n// const INTEGER = '[-+]?\\\\d+';\nconst NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nconst PERCENTAGE = NUMBER + '%';\nfunction call() {\n for (var _len = arguments.length, parts = new Array(_len), _key = 0; _key < _len; _key++) {\n parts[_key] = arguments[_key];\n }\n return '\\\\(\\\\s*(' + parts.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\nconst rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));\nconst rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));\nconst hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));\nconst hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));\nconst hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nconst hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nconst hex6 = /^#([0-9a-fA-F]{6})$/;\nconst hex8 = /^#([0-9a-fA-F]{8})$/;\n\n/*\nhttps://github.com/react-community/normalize-css-color\n\nBSD 3-Clause License\n\nCopyright (c) 2016, React Community\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\nfunction normalizeColor(color) {\n let match;\n if (typeof color === 'number') {\n return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;\n } // Ordered based on occurrences on Facebook codebase\n\n if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;\n if (colors.hasOwnProperty(color)) return colors[color];\n if (match = rgb.exec(color)) {\n return (parse255(match[1]) << 24 |\n // r\n parse255(match[2]) << 16 |\n // g\n parse255(match[3]) << 8 |\n // b\n 0x000000ff) >>>\n // a\n 0;\n }\n if (match = rgba.exec(color)) {\n return (parse255(match[1]) << 24 |\n // r\n parse255(match[2]) << 16 |\n // g\n parse255(match[3]) << 8 |\n // b\n parse1(match[4])) >>>\n // a\n 0;\n }\n if (match = hex3.exec(color)) {\n return parseInt(match[1] + match[1] +\n // r\n match[2] + match[2] +\n // g\n match[3] + match[3] +\n // b\n 'ff',\n // a\n 16) >>> 0;\n } // https://drafts.csswg.org/css-color-4/#hex-notation\n\n if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;\n if (match = hex4.exec(color)) {\n return parseInt(match[1] + match[1] +\n // r\n match[2] + match[2] +\n // g\n match[3] + match[3] +\n // b\n match[4] + match[4],\n // a\n 16) >>> 0;\n }\n if (match = hsl.exec(color)) {\n return (hslToRgb(parse360(match[1]),\n // h\n parsePercentage(match[2]),\n // s\n parsePercentage(match[3]) // l\n ) | 0x000000ff) >>>\n // a\n 0;\n }\n if (match = hsla.exec(color)) {\n return (hslToRgb(parse360(match[1]),\n // h\n parsePercentage(match[2]),\n // s\n parsePercentage(match[3]) // l\n ) | parse1(match[4])) >>>\n // a\n 0;\n }\n return null;\n}\nfunction hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\nfunction hslToRgb(h, s, l) {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const b = hue2rgb(p, q, h - 1 / 3);\n return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;\n}\nfunction parse255(str) {\n const int = parseInt(str, 10);\n if (int < 0) return 0;\n if (int > 255) return 255;\n return int;\n}\nfunction parse360(str) {\n const int = parseFloat(str);\n return (int % 360 + 360) % 360 / 360;\n}\nfunction parse1(str) {\n const num = parseFloat(str);\n if (num < 0) return 0;\n if (num > 1) return 255;\n return Math.round(num * 255);\n}\nfunction parsePercentage(str) {\n // parseFloat conveniently ignores the final %\n const int = parseFloat(str);\n if (int < 0) return 0;\n if (int > 100) return 1;\n return int / 100;\n}\nfunction colorToRgba(input) {\n let int32Color = normalizeColor(input);\n if (int32Color === null) return input;\n int32Color = int32Color || 0;\n let r = (int32Color & 0xff000000) >>> 24;\n let g = (int32Color & 0x00ff0000) >>> 16;\n let b = (int32Color & 0x0000ff00) >>> 8;\n let a = (int32Color & 0x000000ff) / 255;\n return \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(a, \")\");\n} // Problem: https://github.com/animatedjs/animated/pull/102\n// Solution: https://stackoverflow.com/questions/638565/parsing-scientific-notation-sensibly/658662\n\nconst stringShapeRegex = /[+\\-]?(?:0|[1-9]\\d*)(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g; // Covers rgb, rgba, hsl, hsla\n// Taken from https://gist.github.com/olmokramer/82ccce673f86db7cda5e\n\nconst colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d\\.]+%?\\))/gi; // Covers color names (transparent, blue, etc.)\n\nconst colorNamesRegex = new RegExp(\"(\".concat(Object.keys(colors).join('|'), \")\"), 'g');\n/**\n * Supports string shapes by extracting numbers so new values can be computed,\n * and recombines those values into new strings of the same shape. Supports\n * things like:\n *\n * rgba(123, 42, 99, 0.36) // colors\n * -45deg // values with units\n * 0 2px 2px 0px rgba(0, 0, 0, 0.12) // box shadows\n */\n\nconst createStringInterpolator = config => {\n // Replace colors with rgba\n const outputRange = config.output.map(rangeValue => rangeValue.replace(colorRegex, colorToRgba)).map(rangeValue => rangeValue.replace(colorNamesRegex, colorToRgba));\n const outputRanges = outputRange[0].match(stringShapeRegex).map(() => []);\n outputRange.forEach(value => {\n value.match(stringShapeRegex).forEach((number, i) => outputRanges[i].push(+number));\n });\n const interpolations = outputRange[0].match(stringShapeRegex).map((_value, i) => createInterpolator(_extends({}, config, {\n output: outputRanges[i]\n })));\n return input => {\n let i = 0;\n return outputRange[0] // 'rgba(0, 100, 200, 0)'\n // ->\n // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'\n .replace(stringShapeRegex, () => interpolations[i++](input)) // rgba requires that the r,g,b are integers.... so we want to round them, but we *dont* want to\n // round the opacity (4th column).\n .replace(/rgba\\(([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+)\\)/gi, (_, p1, p2, p3, p4) => \"rgba(\".concat(Math.round(p1), \", \").concat(Math.round(p2), \", \").concat(Math.round(p3), \", \").concat(p4, \")\"));\n };\n};\nlet isUnitlessNumber = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\nconst prefixKey = (prefix, key) => prefix + key.charAt(0).toUpperCase() + key.substring(1);\nconst prefixes = ['Webkit', 'Ms', 'Moz', 'O'];\nisUnitlessNumber = Object.keys(isUnitlessNumber).reduce((acc, prop) => {\n prefixes.forEach(prefix => acc[prefixKey(prefix, prop)] = acc[prop]);\n return acc;\n}, isUnitlessNumber);\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n if (value == null || typeof value === 'boolean' || value === '') return '';\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n\n return ('' + value).trim();\n}\nconst attributeCache = {};\ninjectCreateAnimatedStyle(style => new AnimatedStyle(style));\ninjectDefaultElement('div');\ninjectStringInterpolator(createStringInterpolator);\ninjectColorNames(colors);\ninjectApplyAnimatedValues((instance, props) => {\n if (instance.nodeType && instance.setAttribute !== undefined) {\n const style = props.style,\n children = props.children,\n scrollTop = props.scrollTop,\n scrollLeft = props.scrollLeft,\n attributes = _objectWithoutPropertiesLoose(props, [\"style\", \"children\", \"scrollTop\", \"scrollLeft\"]);\n const filter = instance.nodeName === 'filter' || instance.parentNode && instance.parentNode.nodeName === 'filter';\n if (scrollTop !== void 0) instance.scrollTop = scrollTop;\n if (scrollLeft !== void 0) instance.scrollLeft = scrollLeft; // Set textContent, if children is an animatable value\n\n if (children !== void 0) instance.textContent = children; // Set styles ...\n\n for (let styleName in style) {\n if (!style.hasOwnProperty(styleName)) continue;\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = dangerousStyleValue(styleName, style[styleName], isCustomProperty);\n if (styleName === 'float') styleName = 'cssFloat';\n if (isCustomProperty) instance.style.setProperty(styleName, styleValue);else instance.style[styleName] = styleValue;\n } // Set attributes ...\n\n for (let name in attributes) {\n // Attributes are written in dash case\n const dashCase = filter ? name : attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, n => '-' + n.toLowerCase()));\n if (typeof instance.getAttribute(dashCase) !== 'undefined') instance.setAttribute(dashCase, attributes[name]);\n }\n return;\n } else return false;\n}, style => style);\nconst domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr',\n// SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n// Extend animated with all the available THREE elements\nconst apply = merge(createAnimatedComponent, false);\nconst extendedAnimated = apply(domElements);\nexport { apply, config, update, extendedAnimated as animated, extendedAnimated as a, interpolate$1 as interpolate, Globals, useSpring, useTrail, useTransition, useChain, useSprings };","import { graphql, useStaticQuery } from \"gatsby\";\n\nconst useSiteMetadata = () => {\n const { site } = useStaticQuery(\n graphql`\n query SITE_METADATA_QUERY {\n site {\n siteMetadata {\n title\n description\n }\n }\n }\n `\n );\n return site.siteMetadata;\n};\n\nexport default useSiteMetadata;\n","import styled from \"styled-components\";\r\nimport { themeGet } from \"@styled-system/theme-get\";\r\nimport {\r\n typography,\r\n color,\r\n space,\r\n fontSize,\r\n fontFamily,\r\n width,\r\n} from \"styled-system\";\r\n\r\ninterface DefaultProps {\r\n fontSize?: {};\r\n width?: {};\r\n mt?: {};\r\n mb?: {};\r\n mr?: {};\r\n ml?: {};\r\n px?: {};\r\n py?: {};\r\n pt?: {};\r\n pb?: {};\r\n}\r\n\r\nexport const FooterWrapper = styled.footer`\r\n position: relative;\r\n overflow: hidden;\r\n margin-top: 120px;\r\n\r\n @media (max-width: 1200px) {\r\n margin-top: 90px;\r\n }\r\n @media (max-width: 990px) {\r\n margin-top: 90px;\r\n }\r\n @media (max-width: 575px) {\r\n margin-top: 60px;\r\n }\r\n`;\r\n\r\n// Menu\r\nexport const MenuWrapper = styled(\"div\")`\r\n position: relative;\r\n ${space}\r\n background-color: ${themeGet(\"colors.blue\")}\r\n`;\r\n\r\nexport const MenuLogo = styled(\"div\")`\r\n ${space}\r\n\r\n .footer-logo {\r\n display: block;\r\n width: 150px;\r\n\r\n @media (max-width: 575px) {\r\n width: 120px;\r\n }\r\n }\r\n`;\r\n\r\nexport const MenuContent = styled(\"div\")`\r\n ${space}\r\n`;\r\n\r\n// Copyright\r\nexport const CopyrightWrapper = styled(\"div\")`\r\n position: relative;\r\n ${space}\r\n text-align: center;\r\n background-color: ${themeGet(\"colors.white\")};\r\n`;\r\n\r\nexport const CopyrightText = styled(\"p\")`\r\n ${space}\r\n ${fontSize}\r\n font-weight: bold;\r\n`;\r\n\r\nexport const Text = styled(\"p\")`\r\n display: block;\r\n font-size: 13px;\r\n font-weight: bold;\r\n ${space}\r\n`;\r\n\r\nexport const LinkText = styled(\"a\")`\r\n display: block;\r\n color: #333;\r\n font-size: 10px;\r\n\r\n &:hover,\r\n &:link,\r\n &:visited {\r\n color: #333;\r\n }\r\n ${space}\r\n`;\r\n","import * as React from \"react\";\r\nimport { CopyrightWrapper, CopyrightText, Text, LinkText } from \"./style\";\r\n\r\ntype DefaultProps = {};\r\n\r\nconst Copyright: React.FC = ({}) => {\r\n return (\r\n \r\n \r\n © {new Date().getFullYear()} TENJIN DERMATOLOGY\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Copyright;\r\n\r\n// NOTE: googleから警告があったため表示しないこと\r\n{\r\n /* 運営メディア\r\n\r\n クマケアFinder\r\n */\r\n}\r\n","import { css } from 'styled-components';\nfunction _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}\n\n/**\n * Converts breakpoint units in px to rem or em\n * @param {Object} breakpoints - an object containing breakpoint names as keys and the width as value\n * @param {number} ratio [16] - size of 1 rem in px. What is your main font-size in px?\n * @param {'rem' | 'em'} unit\n */\nfunction pxToEmOrRem(breakpoints) {\n var ratio = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 16;\n var unit = arguments.length > 2 ? arguments[2] : undefined;\n var newBreakpoints = {};\n for (var key in breakpoints) {\n var point = breakpoints[key];\n if (String(point).includes('px')) {\n newBreakpoints[key] = +(parseInt(point) / ratio) + unit;\n continue;\n }\n newBreakpoints[key] = point;\n }\n return newBreakpoints;\n}\n/**\n * Converts breakpoint units in px to em \n * @param {Object} breakpoints - an object containing breakpoint names as keys and the width as value\n * @param {number} ratio [16] - size of 1em in px. What is your main font-size in px?\n */\n\nfunction pxToEm(breakpoints) {\n var ratio = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 16;\n return pxToEmOrRem(breakpoints, ratio, 'em');\n}\n/**\n * Converts breakpoint units in px to rem \n * @param {Object} breakpoints - an object containing breakpoint names as keys and the width as value\n * @param {number} ratio [16] - size of 1rem in px. What is your main font-size in px?\n */\n\nfunction pxToRem(breakpoints) {\n var ratio = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 16;\n return pxToEmOrRem(breakpoints, ratio, 'rem');\n}\nfunction _templateObject5() {\n var data = _taggedTemplateLiteral([\"\\n @media (min-width: \", \") {\\n \", \"\\n }\\n \"]);\n _templateObject5 = function _templateObject5() {\n return data;\n };\n return data;\n}\nfunction _templateObject4() {\n var data = _taggedTemplateLiteral([\"\\n @media (max-width: \", \") {\\n \", \"\\n }\\n \"]);\n _templateObject4 = function _templateObject4() {\n return data;\n };\n return data;\n}\nfunction _templateObject3() {\n var data = _taggedTemplateLiteral([\"\\n @media (min-width: \", \") and\\n (max-width: \", \") {\\n \", \"\\n }\\n \"]);\n _templateObject3 = function _templateObject3() {\n return data;\n };\n return data;\n}\nfunction _templateObject2() {\n var data = _taggedTemplateLiteral([\"\\n @media (min-width: \", \") {\\n \", \"\\n }\\n \"]);\n _templateObject2 = function _templateObject2() {\n return data;\n };\n return data;\n}\nfunction _templateObject() {\n var data = _taggedTemplateLiteral([\"\\n @media (max-width: \", \") {\\n \", \"\\n }\\n \"]);\n _templateObject = function _templateObject() {\n return data;\n };\n return data;\n}\n/**\n * Default media breakpoints\n * @type {Object}\n */\n\nvar defaultBreakpoints = {\n huge: '1440px',\n large: '1170px',\n medium: '768px',\n small: '450px'\n};\nfunction getSizeFromBreakpoint(breakpointValue) {\n var breakpoints = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (breakpoints[breakpointValue]) {\n return breakpoints[breakpointValue];\n } else if (parseInt(breakpointValue)) {\n return breakpointValue;\n } else {\n console.error('styled-media-query: No valid breakpoint or size specified for media.');\n return '0';\n }\n}\n/**\n * Media query generator\n * @param {Object} breakpoints - Map labels to breakpoint sizes\n * @return {Object} - Media generators for each breakpoint\n */\n\nfunction generateMedia() {\n var breakpoints = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultBreakpoints;\n var lessThan = function lessThan(breakpoint) {\n return function () {\n return css(_templateObject(), getSizeFromBreakpoint(breakpoint, breakpoints), css.apply(void 0, arguments));\n };\n };\n var greaterThan = function greaterThan(breakpoint) {\n return function () {\n return css(_templateObject2(), getSizeFromBreakpoint(breakpoint, breakpoints), css.apply(void 0, arguments));\n };\n };\n var between = function between(firstBreakpoint, secondBreakpoint) {\n return function () {\n return css(_templateObject3(), getSizeFromBreakpoint(firstBreakpoint, breakpoints), getSizeFromBreakpoint(secondBreakpoint, breakpoints), css.apply(void 0, arguments));\n };\n };\n var oldStyle = Object.keys(breakpoints).reduce(function (acc, label) {\n var size = breakpoints[label];\n acc.to[label] = function () {\n console.warn(\"styled-media-query: Use media.lessThan('\".concat(label, \"') instead of old media.to.\").concat(label, \" (Probably we'll deprecate it)\"));\n return css(_templateObject4(), size, css.apply(void 0, arguments));\n };\n acc.from[label] = function () {\n console.warn(\"styled-media-query: Use media.greaterThan('\".concat(label, \"') instead of old media.from.\").concat(label, \" (Probably we'll deprecate it)\"));\n return css(_templateObject5(), size, css.apply(void 0, arguments));\n };\n return acc;\n }, {\n to: {},\n from: {}\n });\n return Object.assign({\n lessThan: lessThan,\n greaterThan: greaterThan,\n between: between\n }, oldStyle);\n}\n/**\n * Media object with default breakpoints\n * @return {object} - Media generators for each size\n */\n\nvar index = generateMedia();\n/**\n * Usage: styled.div` ${media.from.medium`background: #000;`} `;\n * With this code, background for small and medium sizes will be `default` and for more than medium, will be `#000`\n */\n\nexport default index;\nexport { pxToEm, pxToRem, defaultBreakpoints, generateMedia };","const colors = {\r\n transparent: \"transparent\",\r\n textColor: \"#292929\",\r\n cTextColor: \"#B5B5B5\",\r\n white: \"#fff\",\r\n black: \"#292929\",\r\n red: \"#FB4972\",\r\n lightRed: \"#FFEAEF\",\r\n blue: \"#00A0E8\",\r\n lightBlue: \"#E4F5FD\",\r\n yellow: \"#FFBD41\",\r\n gray: \"#F7F7F7\",\r\n disabledBg: \"#E3E3E3\",\r\n disabledText: \"#4D5D6E\",\r\n disabledTabText: \"#BCBCBC\",\r\n description: \"#818181\",\r\n broder: \"#707070\",\r\n lightBorder: \"#E0E0E0\",\r\n bgColor: \"#FCFCFC\",\r\n bgBorder: \"#FAFAFA\",\r\n\r\n plusmedical: \"#66A6FF\",\r\n\r\n // old\r\n lightTextColor: \"#757575\", // 4\r\n inactiveField: \"#F7F7F7\", // 5\r\n inactiveColor: \"#767676\", // 6\r\n inactiveBG: \"#e6e6e6\", // 7\r\n borderColor: \"#DBDBDB\", // 8\r\n lightBorderColor: \"#ededed\", // 9\r\n primary: \"#D10068\", // 10\r\n primaryHover: \"#D10068\", // 11\r\n};\r\n\r\nexport default colors;\r\n","import colors from './colors';\r\n\r\nexport const theme = {\r\n breakpoints: ['576px', '768px', '1100px', '1200px'],\r\n space: [\r\n 0, // 0\r\n 5, // 1\r\n 8, // 2\r\n 10, // 3\r\n 15, // 4\r\n 20, // 5\r\n 25, // 6\r\n 30, // 7\r\n 40, // 8\r\n 50, // 9\r\n 60, // 10\r\n 70, // 11\r\n 75, // 12\r\n 80, // 13\r\n 90, // 14\r\n 100, // 15\r\n 120, // 16\r\n\r\n // button border ajust\r\n 12, // 17\r\n 27, // 18\r\n 18, // 19\r\n 48, // 20\r\n ],\r\n fontSizes: [\r\n 10, // 0\r\n 12, // 1\r\n 14, // 2\r\n 15, // 3\r\n 16, // 4\r\n 18, // 5\r\n 24, // 6\r\n 30, // 7\r\n 36, // 8\r\n 48, // 9\r\n 80, // 10\r\n 96, // 11\r\n ],\r\n fontWeights: [100, 200, 300, 400, 500, 600, 700, 800, 900],\r\n fontFamily: [\r\n // tslint:disable-next-line:quotemark\r\n '\"游明朝体\", \"Yu Mincho\", YuMincho, \"ヒラギノ明朝 Pro\", \"Hiragino Mincho Pro\", \"MS P明朝\", \"MS PMincho\", serif',\r\n '\"Montserrat\", system-ui',\r\n '\"Hiragino Kaku Gothic ProN\", \"ヒラギノ角ゴ ProN W3\", Meiryo, メイリオ, Osaka, \"MS PGothic\", arial, helvetica, sans-serif',\r\n ],\r\n lineHeights: {\r\n normal: 1,\r\n normalText: 1.5,\r\n title: 2,\r\n text: 1.7,\r\n },\r\n letterSpacings: {\r\n normal: 'normal',\r\n tracked: '0.1em',\r\n tight: '-0.05em',\r\n mega: '0.25em',\r\n },\r\n borders: [\r\n 0,\r\n '1px solid',\r\n '2px solid',\r\n '3px solid',\r\n '4px solid',\r\n '5px solid',\r\n '6px solid',\r\n ],\r\n radius: [3, 4, 5, 10, 20, 30, 60, 120, '50%'],\r\n widths: [36, 40, 45, 48, 54, 70, 81, 128, 256],\r\n heights: [36, 40, 44, 48, 50, 55, 70, 80, 120, 230],\r\n maxWidths: [16, 32, 64, 128, 256, 512, 768, 1024, 1536],\r\n colors,\r\n colorStyles: {\r\n primary: {\r\n color: colors.primary,\r\n backgroundColor: colors.primary,\r\n borderColor: colors.primary,\r\n '&:hover': {\r\n backgroundColor: colors.primaryHover,\r\n borderColor: colors.primaryHover,\r\n },\r\n },\r\n },\r\n};\r\n","/*\n Doc: https://github.com/morajabi/styled-media-query\n\n -------------------\n lessThan(\"medium\")\n screen width is less than 768px (medium)\n\n between(\"medium\", \"large\")\n screen width is between 768px (medium) and 1170px (large)\n\n greaterThan(\"large\")\n screen width is greater than 1170px (large)\n -------------------\n\n breakpoints: ['576px', '768px', '1024px', '1200px'],\n theme.breakpoints[i]\n*/\n\nimport media from \"styled-media-query\";\nimport {\n FlattenInterpolation,\n InterpolationValue,\n ThemedStyledProps,\n css,\n} from \"styled-components\";\nimport { theme } from \".\";\n\ntype InterpolationFunction = (\n props: ThemedStyledProps\n) => InterpolationValue | FlattenInterpolation>;\n\ntype GeneratorFunction = (\n strings: TemplateStringsArray,\n ...interpolations: (\n | InterpolationValue\n | InterpolationFunction\n | FlattenInterpolation>\n )[]\n) => any;\n\nconst mq: { [v: string]: GeneratorFunction } = {\n up: (...args) => media.greaterThan(\"medium\")(...args),\n down: (...args) => media.lessThan(\"medium\")(...args),\n tab: (...args) => css`\n @media screen and (max-width: ${theme.breakpoints[3]}) {\n ${css(...args)}\n }\n `,\n};\n\nexport default mq;\n","import * as React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { themeGet } from \"@styled-system/theme-get\";\r\nimport {\r\n typography,\r\n color,\r\n space,\r\n fontSize,\r\n fontFamily,\r\n width,\r\n} from \"styled-system\";\r\nimport mq from \"../../theme/media\";\r\n\r\ninterface DefaultProps {\r\n fontSize?: {};\r\n width?: {};\r\n mt?: {};\r\n mb?: {};\r\n mr?: {};\r\n ml?: {};\r\n px?: {};\r\n py?: {};\r\n pt?: {};\r\n pb?: {};\r\n}\r\n\r\nconst FooterMedia: React.FC = ({}) => {\r\n return (\r\n \r\n \r\n 再髪専門サロン Refero本山店\r\n \r\n 口コミ高評価★4.97【ご予約は1日3枠限定】\r\n 〜大人女性の為の隠れ家再髮専門店リフェロ〜\r\n 日本有数!医療提携の育毛促進サロンです\r\n \r\n );\r\n};\r\n\r\nexport default FooterMedia;\r\n\r\nconst Wrapper = styled(\"div\")`\r\n position: relative;\r\n text-align: center;\r\n ${space}\r\n`;\r\n\r\nconst Text = styled(\"p\")`\r\n display: block;\r\n font-size: 12px;\r\n font-weight: bold;\r\n color: #333;\r\n\r\n ${mq.down`\r\n font-size: 10px;\r\n `}\r\n\r\n ${space}\r\n`;\r\n\r\nconst LinkText = styled(\"a\")`\r\n display: block;\r\n color: #333;\r\n font-size: 14px;\r\n font-weight: bold;\r\n text-decoration: underline !important;\r\n\r\n ${mq.down`\r\n font-size: 12px;\r\n `}\r\n\r\n &:hover,\r\n &:link,\r\n &:visited {\r\n color: #333;\r\n }\r\n\r\n &:hover {\r\n text-decoration: none !important;\r\n }\r\n ${space}\r\n`;\r\n","import * as React from \"react\";\r\nimport { FooterWrapper } from \"./style\";\r\nimport Menu from \"./Menu\";\r\nimport Copyright from \"./Copyright\";\r\nimport FooterMedia from \"./FooterMedia\";\r\n\r\ntype FooterProps = {};\r\n\r\nconst Footer: React.FunctionComponent = ({}) => {\r\n return (\r\n \r\n \r\n {/* */}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Footer;\r\n","import styled from 'styled-components';\r\nimport {themeGet} from '@styled-system/theme-get';\r\n\r\nconst ScrollUpButtonWrapper = styled.div`\r\n width: 45px;\r\n height: 45px;\r\n border-radius: 50%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n font-size: 24px;\r\n background-color: ${themeGet('colors.blue')};\r\n color: #fff;\r\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.25);\r\n transition: 0.15s ease-in-out;\r\n @media (max-width: 767px) {\r\n display: none;\r\n }\r\n &:hover {\r\n opacity: 0.8;\r\n }\r\n`;\r\n\r\nexport default ScrollUpButtonWrapper;\r\n","import React from 'react';\r\nimport {IoIosArrowUp} from 'react-icons/io';\r\nimport ScrollUpButtonWrapper from './style';\r\n\r\ninterface DefualtProps {}\r\n\r\nconst ScrollUpButton: React.FC = props => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ScrollUpButton;\r\n","import React, { useState } from \"react\";\nimport { Link } from \"gatsby\";\nimport { Router, navigate } from \"@reach/router\";\nimport Helmet from \"react-helmet\";\nimport { useTransition, animated } from \"react-spring\";\nimport { ThemeProvider } from \"styled-components\";\nimport ScrollToTop from \"react-scroll-up\";\n\n// meta\nimport useSiteMetadata from \"./SiteMetadata\";\n\n// services\nimport SmoothScrolling from \"./../services/anchorLink\";\n\n// components\nimport Footer from \"../components/Footer\";\nimport Navbar from \"./Navbar\";\nimport ScrollUpButton from \"./ScrollUpButton\";\n\n// styles\nimport { theme } from \"../theme\";\n\nimport \"./scss/base.scss\";\nimport \"./scss/reset.scss\";\nimport \"./scss/style.scss\";\n\n// images\nimport LogoImage from \"../img/logo.png\";\nimport FreedaiyalImage from \"../img/icons/icon_freedaiyal.svg\";\nimport BannerImage from \"../img/top/banner_001.png\";\n\ntype LayoutProps = {\n children: React.ReactNode;\n};\n\nconst TemplateWrapper: React.FunctionComponent = ({\n children,\n}) => {\n const { title, description } = useSiteMetadata();\n const [showSPMenu, setShowSPMenu] = useState(false);\n const [hoverPCMenu, setPCMenuHover] = useState(false);\n const [\n hoverPCMedicalHairRemovalMenu,\n setPCMedicalHairRemovalMenuHover,\n ] = useState(false);\n\n const handleSPMenu = (param) => {\n if (showSPMenu === true) {\n setShowSPMenu(false);\n } else {\n setShowSPMenu(true);\n }\n };\n\n const [menuOpen, setMenu] = useState(false);\n\n const handleBtnClick = () => setMenu(!menuOpen);\n\n const scrollToMedicalSection = () => {\n window.location.pathname === \"/\"\n ? SmoothScrolling.scrollTo(\"medical_section\", null)\n : navigate(`/#medical-section`);\n };\n\n const scrollToPartsOfTroubleSection = () => {\n window.location.pathname === \"/\"\n ? SmoothScrolling.scrollTo(\"parts_of_trouble\", null)\n : navigate(`/#parts-of-trouble`);\n };\n\n const scrollToAccessSection = () => {\n SmoothScrolling.scrollTo(\"access_section\", null);\n };\n\n // indexの時は保険診療sectionへスムーススクロール、それ以外はページ移動\n const handleMenuAndScrollToMedicalSection = () => {\n setMenu(!menuOpen);\n window.location.pathname === \"/\"\n ? SmoothScrolling.scrollTo(\"medical_section\", null)\n : navigate(`/#medical-section`);\n };\n\n // indexの時はお悩みの部位sectionへスムーススクロール、それ以外はページ移動\n const handleMenuAndScrollToPartsOfTroubleSection = () => {\n setMenu(!menuOpen);\n window.location.pathname === \"/\"\n ? SmoothScrolling.scrollTo(\"parts_of_trouble\", null)\n : navigate(`/#parts-of-trouble`);\n };\n\n // アクセスへスムーススクロール\n const handleMenuAndScrollToAccessSection = () => {\n setMenu(!menuOpen);\n SmoothScrolling.scrollTo(\"access_section\", null);\n };\n\n const transitions = useTransition(menuOpen, null, {\n config: { duration: 100 },\n from: { opacity: 0, transform: \"translateY(-10%)\" },\n enter: { opacity: 1, transform: \"translateY(0%)\" },\n leave: { opacity: 0, transform: \"translateY(-10%)\" },\n });\n\n // メニューhover時\n const toggleHover = () => {\n setPCMenuHover(!hoverPCMenu);\n };\n\n const toggleHoverMedicalHairRemoval = () => {\n setPCMedicalHairRemovalMenuHover(!hoverPCMedicalHairRemovalMenu);\n };\n\n return (\n \n <>\n
\n
\n \n \"\"\n \n\n
\n
\n \n 医療脱毛\n \n
\n\n \n 料金表\n\n {hoverPCMenu && (\n <>\n
\n
\n
\n \n 美容診療の料金表\n \n
\n
\n \n 医療脱毛の料金表\n \n
\n
\n
\n \n )}\n \n\n
\n \n 親権者同意書\n \n
\n\n
\n \n ブログ\n \n
\n
\n \n アクセス\n \n
\n {/*
\n WEB予約\n
*/}\n \n\n {/* */}\n {/* {transitions.map(({ item, key, props }) => {\n return (\n item && (\n \n\n \n )\n );\n })} */}\n\n \n\n {transitions.map(({ item, key, props }) => {\n return (\n item && (\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n {/* NOTE: モニターのバナー */}\n {/* \n \n */}\n\n \n \n トップページ\n \n \n {/* NOTE: 23/3/3 コメントアウト(別のモニターで使用) */}\n {/* \n \n モニター募集\n \n */}\n \n \n 保険診療\n \n
\n \n \n 美容診療(保険外)\n \n \n \n \n モニター募集\n \n \n \n \n 医療脱毛\n \n \n \n \n 美容診療の料金表\n \n \n \n \n 医療脱毛の料金表\n \n \n\n \n \n 親権者同意書\n \n \n\n \n \n ブログ\n \n \n \n \n アクセス\n \n \n\n
\n
\n {/* \n \n \n 0800-805-1127\n \n \n ※保険診療は予約制ではありません。\n \n */}\n \n \n \n 0800-805-1559\n \n \n ※保険診療は予約制ではありません。\n \n \n
\n
\n\n
\n
\n

\n 保険診療(下記以外)\n

\n\n
\n
\n 平日\n
\n
\n 9:30 〜 19:00 (休診12:30〜14:30)\n
\n
\n

\n ※受付は診療終了時間の30分前までとなります。\n

\n

\n ※診療の混み具合により受付可能時間が変わりますので、ご来院前にお問い合わせください。\n

\n

\n ※予約制ではございませんので、そのままご来院ください(受付順にご案内致します)。\n

\n
\n
\n\n
\n
\n

\n 美容診療、保険適応手術・レーザー治療\n

\n\n
\n
\n 平日・土曜\n
\n
\n 9:30〜19:00 (休診12:30〜14:30)\n
\n
\n\n
\n
\n 日・祝\n
\n
\n 9:30〜17:30 (休診12:30〜14:30)\n
\n
\n

\n ※完全ご予約制となります。\n

\n
\n
\n
\n \n \n \n )\n );\n })}\n \n
\n\n
{children}
\n