{"version":3,"sources":["webpack:///./node_modules/core-js/internals/native-url.js","webpack:///./node_modules/base64-js/index.js","webpack:///../../../src/components/VToolbar/index.ts","webpack:///./node_modules/core-js/modules/web.url.js","webpack:///./src/components/SolutionZoomPicture.vue?eec8","webpack:///./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack:///./src/components/BreadCrumb.vue?ec4a","webpack:///src/components/BreadCrumb.vue","webpack:///./src/components/BreadCrumb.vue?794e","webpack:///./src/components/BreadCrumb.vue","webpack:///./src/components/SolutionZoomPicture.vue?bfca","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/style-value-types/dist/style-value-types.es.js","webpack:///./node_modules/hey-listen/dist/hey-listen.es.js","webpack:///./node_modules/framesync/dist/framesync.es.js","webpack:///./node_modules/@popmotion/easing/dist/easing.es.js","webpack:///./node_modules/@popmotion/popcorn/dist/popcorn.es.js","webpack:///./node_modules/stylefire/dist/stylefire.es.js","webpack:///./node_modules/popmotion/dist/popmotion.es.js","webpack:///./node_modules/popmotion-pose/dist/popmotion-pose.es.js","webpack:///./node_modules/pose-core/dist/pose-core.es.js","webpack:///./node_modules/vue-pose/dist/vue-pose.es.js","webpack:///src/components/SolutionZoomPicture.vue","webpack:///./src/components/SolutionZoomPicture.vue?9eb7","webpack:///./src/components/SolutionZoomPicture.vue?33fa","webpack:///src/views/Detail.vue","webpack:///./node_modules/ieee754/index.js","webpack:///./src/views/Detail.vue?2572","webpack:///./node_modules/core-js/modules/web.url-search-params.js","webpack:///../../../src/components/VGrid/VContainer.ts","webpack:///./node_modules/buffer/index.js","webpack:///./src/views/Detail.vue?fd43","webpack:///./src/views/Detail.vue?e029","webpack:///../../../src/components/VGrid/VLayout.ts","webpack:///./src/views/Detail.vue?0909","webpack:///./node_modules/isarray/index.js","webpack:///../../../src/components/VGrid/grid.ts"],"names":["fails","wellKnownSymbol","IS_PURE","ITERATOR","module","exports","url","URL","searchParams","result","pathname","forEach","value","key","toJSON","sort","href","get","String","URLSearchParams","username","host","hash","undefined","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","Array","code","i","len","length","charCodeAt","getLens","b64","Error","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","push","join","extraBytes","parts","maxChunkLength","len2","VToolbarTitle","VToolbarItems","EOF","$","DESCRIPTORS","USE_NATIVE_URL","global","defineProperties","redefine","anInstance","has","assign","arrayFrom","codeAt","toASCII","$toString","setToStringTag","URLSearchParamsModule","InternalStateModule","NativeURL","getInternalSearchParamsState","getState","setInternalState","set","getInternalURLState","getterFor","floor","Math","pow","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","input","codePoints","index","charAt","parseIPv6","slice","isSpecial","test","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","number","ipv4","split","pop","parseInt","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","chr","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","unshift","toString","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","encodeURIComponent","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","string","normalized","second","startsWithWindowsDriveLetter","third","shortenURLsPath","path","pathSize","isSingleDot","segment","toLowerCase","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","base","bufferCodePoints","failure","state","buffer","seenAt","seenBracket","seenPasswordToken","port","query","fragment","replace","codePoint","encodedCodePoints","shift","URLConstructor","baseState","that","this","arguments","urlString","type","TypeError","searchParamsState","updateSearchParams","updateURL","serializeURL","call","origin","getOrigin","protocol","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","getPathname","search","getSearch","getSearchParams","getHash","URLPrototype","prototype","error","accessorDescriptor","getter","setter","configurable","enumerable","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","blob","apply","forced","sham","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","fromCharCode","ucs2decode","counter","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","k","encode","currentValue","inputLength","n","bias","basicLength","handledCPCount","m","handledCPCountPlusOne","RangeError","q","t","qMinusT","baseMinusT","label","encoded","labels","render","_vm","_h","$createElement","_c","_self","productType","Id","on","toProductTypeChoice","_v","_s","Name","_e","brand","product","toBrandChoice","toProductChoice","_l","step","selectedAutoSkipped","isDetailView","$event","prevStep","staticRenderFns","props","computed","choices","methods","$emit","$router","name","params","component","style","width","imageWidth","height","imageHeight","stopPropagation","toggleZoom","staticClass","attrs","pose","src","extendStatics","d","b","Object","setPrototypeOf","__proto__","p","hasOwnProperty","__extends","__","constructor","create","__assign","s","__rest","e","getOwnPropertySymbols","propertyIsEnumerable","__spreadArrays","il","r","a","j","jl","min","max","v","sanitize","Number","toFixed","floatRegex","colorRegex","singleColorRegex","parse","parseFloat","transform","alpha","default","createUnitType","unit","endsWith","degrees","percent","px","vh","vw","progressPercentage","getValueFromFunctionString","substring","lastIndexOf","clampRgbUnit","isRgba","red","isHsla","hue","getValuesAsArray","splitColorValues","terms","values","valuesArray","rgbaTemplate","_a","green","blue","_b","hslaTemplate","saturation","lightness","rgbUnit","round","isColorString","color","colorType","startsWith","rgba","alpha$1","hsla","hex","g","substr","COLOR_TOKEN","NUMBER_TOKEN","convertNumbersToZero","complex","isNaN","numValues","foundNumbers","match","foundColors","parsed","map","createTransformer","prop","template","token","numColors","numNumbers","getAnimatableNone","target","parsedTarget","targetTransformer","invariant","prevTime","onNextFrame","window","requestAnimationFrame","callback","timestamp","Date","now","timeToCall","setTimeout","createStep","setRunNextFrame","processToRun","processToRunNextFrame","numThisFrame","isProcessing","cancelled","WeakSet","toKeepAlive","renderStep","cancel","process","indexOfCallback","add","splice","frame","process_1","schedule","keepAlive","immediate","addToCurrentBuffer","delete","maxElapsed","defaultElapsed","useDefaultElapsed","willRunNextFrame","stepsOrder","setWillRunNextFrame","willRun","steps","reduce","acc","sync","startLoop","cancelSync","processStep","stepId","processFrame","getFrameData","DEFAULT_OVERSHOOT_STRENGTH","reversed","easing","mirrored","createReversedEasing","createExpoIn","power","createBackIn","createAnticipateEasing","backEasing","linear","easeIn","easeOut","easeInOut","circIn","sin","acos","circOut","circInOut","backIn","backOut","backInOut","anticipate","NEWTON_ITERATIONS","NEWTON_MIN_SLOPE","SUBDIVISION_PRECISION","SUBDIVISION_MAX_ITERATIONS","K_SPLINE_TABLE_SIZE","K_SAMPLE_STEP_SIZE","FLOAT_32_SUPPORTED","Float32Array","a1","a2","c","getSlope","calcBezier","cubicBezier","mX1","mY1","mX2","mY2","sampleValues","binarySubdivide","aX","aA","aB","currentX","currentT","abs","newtonRaphsonIterate","aGuessT","currentSlope","calcSampleValues","getTForX","intervalStart","currentSample","lastSample","dist","guessForT","initialSlope","resolver","returnValue","zeroPoint","x","y","z","isNum","radiansToDegrees","radians","PI","angle","atan2","applyOffset","from","to","hasReceivedFrom","curryRange","func","cv","clamp$1","conditional","check","isPoint","point","isPoint3D","distance1D","distance","xDelta","yDelta","zDelta","sqrt","toFromDifference","mix","progress","mixLinearColor","fromExpo","toExpo","colorTypes","getColorType","find","notAnimatable","color$$1","mixColor","fromColorType","toColorType","fromColor","toColor","blended","mixFunc","combineFunctions","pipe","transformers","_i","getMixer","mixComplex","mixArray","blendValue","fromThis","mixObject","analyse","numRGB","numHSL","originStats","targetStats","mixNumber","detectMixerFactory","isArray","createMixers","ease","customMixer","mixers","mixerFactory","numMixers","mixer","easingFunction","fastInterpolate","slowInterpolate","lastInputIndex","mixerIndex","foundMixerIndex","progressInRange","interpolate","clamp","concat","reverse","interpolator","testElement","toDecimal","precision","smoothFrame","prevValue","nextValue","duration","smoothing","smooth","strength","previousValue","lastUpdated","currentFramestamp","timeDelta","newValue","snap","points","i_1","numPoints_1","lastDistance","identity","springForce","alterDisplacement","constant","displacement","springModifiedDisplacement","springForceLinear","springForceExpo","velocityPerFrame","xps","frameDuration","velocityPerSecond","velocity","wrap","rangeSize","wrap$1","createStyler","onRead","onRender","uncachedValues","Set","useCache","changedValues","hasChanged","setValue","hasCSSVariable","styler","forceRead","useCached","forceRender","CAMEL_CASE_PATTERN","REPLACE_TEMPLATE","camelToDash","str","camelCache","Map","dashCache","prefixes","numPrefixes","isBrowser","document","setDashPrefix","prefixed","testPrefix","createElement","prefix","noPrefix","prefixedPropertyName","toUpperCase","setServerProperty","prefixer","asDashCase","cache","axes","order","transformProps","axesAcc","axesKey","transformPropDictionary","dict","isTransformProp","sortTransformProps","transformOriginProps","isTransformOriginProp","valueTypes","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderRadius","radius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","maxWidth","maxHeight","size","top","right","bottom","left","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skewX","skewY","translateX","translateY","translateZ","perspective","opacity","originX","originY","originZ","zIndex","fillOpacity","strokeOpacity","numOctaves","getValueType","getValueAsType","SCROLL_LEFT","SCROLL_TOP","scrollKeys","blacklist","translateAlias","isCustomTemplate","buildTransform","transformKeys","transformIsDefault","enableHardwareAcceleration","allowTransformNone","transformString","transformHasZ","numTransformKeys","trim","buildStyleProperty","styles","transformOrigin","isDashCase","hasTransform","hasTransformOrigin","valueType","valueAsType","createStyleBuilder","_d","options","element","preparseOutput","defaultValueType","domValue","getComputedStyle","getPropertyValue","buildStyles","numChangedValues","setProperty","cssStyler","createCssStyler","camelCaseAttributes","defaultOrigin","svgAttrsTemplate","progressToPixels","unmeasured","calcOrigin","offset","calculateSVGTransformOrigin","dimensions","svgStyleConfig","buildSVGAttrs","totalPathLength","cssBuilder","attrX","attrY","pathLength","pathSpacing","pathOffset","attrKey","createAttrBuilder","getDimensions","getBBox","getBoundingClientRect","getSVGElementDimensions","isPath","tagName","svgStyler","getAttribute","buildAttrs","setAttribute","svg","getTotalLength","viewport","pageYOffset","pageXOffset","scrollTop","scrollLeft","scrollTo","WeakMap","isHTMLElement","node","HTMLElement","click","isSVGElement","SVGElement","createDOMStyler","getStyler","nodeOrSelector","querySelector","Chainable","applyMiddleware","middleware","funcs","pipedUpdate","update","while","predicate","complete","filter","Observer","observer","_this","onComplete","isActive","updateObserver","err","createObserver","observerCandidate","_super","Action","isComplete","subscription","stop","init","observerProps","api","registerParent","BaseMulticast","subscribers","subscriber","subscribe","unsubscribe","parent","stepProgress","subsegment","percentProgressOfTarget","subsegmentProgressOfTarget","segmentProgressOfTarget","isValueList","isSingleValue","typeOfV","ValueReaction","scheduleVelocityCheck","postRender","velocityCheck","prev","current","updateCurrent","getVelocityOfCurrent","getSingleVelocity","getListVelocity","getMapVelocity","initialSubscription","getVelocity","sub","multi","getCount","getFirst","getOutput","mapApi","setProp","startActions","actions","numActions","updateOutput","numCompletedActions","subs","hasCompleted","keys","methodName","composite","args","propKey","starter","parallel","action","parallel$1","createVectorTests","typeTests","testNames","isVectorProp","getVectorKeys","vectorKeys","testVectorProps","some","unitTypes","findUnitType","isUnitProp","Boolean","createAction","reduceArrayValue","createArrayAction","firstVectorKey","actionList","childActionProps","getActionCreator","reduceObjectValue","createObjectAction","actionMap","createUnitAction","unitType","createMixerAction","createColorAction","createComplexAction","createVectorAction","vectorAction","isVector","testKey","testProp","decay","timeConstant","_f","restDelta","modifyTarget","elapsed","amplitude","idealTarget","frameDelta","exp","isMoving","vectorDecay","spring","stiffness","damping","_g","mass","restSpeed","_j","initialVelocity","position","prevPosition","dampingRatio","angularFreq","envelope","expoDecay","cos","isBelowVelocityThreshold","isBelowDisplacementThreshold","vectorSpring","inertia","bounceStiffness","bounceDamping","activeAnimation","isOutOfBounds","boundaryNearest","startAnimation","animation","next","startSpring","boundary_1","heading_1","scrubber","reverseEase","seek","vectorScrubber","tween","flip","loop","yoyo","repeatDelay","_k","flipCount","_m","yoyoCount","_o","loopCount","playhead","currentProgress","reverseAnimation","isTweenComplete","updateTween","startTimer","stopTimer","getElapsed","getProgress","pause","resume","newProgress","clampProgress$1","defaultEasings","defaultTimings","interpolateScrubbers","scrubbers","rangeLength","finalInputIndex","finalScrubberIndex","scrub","keyframes","easings","times","tweenProps","physics","acceleration","friction","springStrength","distanceToTarget","setAcceleration","setFriction","setSpringStrength","setSpringTarget","setVelocity","vectorPhysics","listen","events","eventNames","eventName","addEventListener","removeEventListener","defaultPointerPos","clientX","clientY","pageX","pageY","eventToPoint","isTouchDevice","updatePointsLocation","touches","numTouches","thisTouch","passive","capture","multitouch","preventDefault","initialDistance","initialRotation","isGesture","firstTouch","secondTouch","updatePoint","newDistance","newRotation","onMove","updateOnMove","getIsTouchDevice","isMouseDevice","updatePointLocation","BoundingBoxDimension","mouse","getFirstTouch","index$1","applyXOffset_1","applyYOffset_1","delta_1","chain","playCurrent","timeToDelay","timeout","clearTimeout","appendUnit","st","transformMap","childTransformers","childTransformer","freeze","blendArray","blendColor","generateStaticSpring","nonlinearSpring","linearSpring","getPoseValues","transition","delay","delayChildren","staggerChildren","staggerDirection","afterChildren","beforeChildren","preTransition","applyAtStart","applyAtEnd","selectPoses","parentValues","ancestorValues","onChange","initialPose","poses","selectAllValues","selectValue","allValues","resolveProp","poseDefault","defaultValue","resolveProps","startChildAnimations","children","animations","stagger","maxStaggerDuration","generateStaggerDuration","child","resolveTransition","convertTransitionDefinition","getInstantTransition","resolvedTransition","resolvedTransitionMap","keyTransition","findInsertionIndex","poseList","priorityList","priorityIndex","insertionIndex","nextHighestPriorityIndex","applyValues","toApply","setValueNative","valueToSet","createPoseSetter","setterProps","startAction","stopAction","addActionDelay","getTransitionProps","resolveTarget","transformPose","posePriority","nextProps","propagate","activeActions","activePoses","hasChildren","baseTransitionProps","nextPose","getChildAnimations","getParentAnimations","getTransition","valuePoses","existingIndex","priority","Promise","transitionProps","resolveTransitionProps","poseDelay","resolve","all","then","DEFAULT_INITIAL_POSE","isScale","includes","defaultReadValueFromSource","readValueFromPose","valueToResolve","getPosesToSearch","posesToSearch","getInitialValue","readValueFromSource","thisPose","createValues","userSetValues","createValue","convertValue","initValue","scrapeValuesFromPose","getAncestorValue","fromParent","ancestors","foundAncestor","bindPassiveValues","readValue","valueKey","passiveProps","valueToBind","passiveParentKey","passiveParent","setNativeValues","valuesHaveSet","setValues","poseKey","createValueMap","applyDefaultTransition","defaultTransitions","generateTransitions","sortByReversePriority","priorityOrder","aP","bP","poseFactory","getDefaultProps","bindOnChange","selectValueToRead","extendAPI","config","poseName","unset","poseProps","posesToSet","poseIndex","currentPose","animationsToResolve","poseToSet","valueName","setProps","newProps","_addChild","childConfig","factory","removeChild","clearChildren","destroy","clear","measureWithoutTransform","transform$$1","bbox","singleAxisPointer","axis","pointerX","pointerY","createPointer","axisPointerCreator","measurement","dragBounds","axisPointer","measurementAsPixels","transformQueue","resolvedDragBounds_1","just","underDampedSpring","overDampedSpring","linearTween","intelligentTransition","dragAction","justAxis","intelligentDragEnd","animationLookup","easingLookup","auto","valueTypeTests","testValueType","createPassiveValue","raw","delay$$1","isCubicBezierArgs","getAction","definedEase","def","x1","y1","x2","y2","baseProps","isAction","action$$1","addListenerToValue","elementStyler","val","_","reaction","remainingDef","outputPipe","createDimensions","hasMeasured","measure","value$$1","makeUIEventApplicator","startEvents","endEvents","startPose","endPose","startCallback","endCallback","useDocumentToEnd","preventScroll","poser","startListener","endListener","moveListener","touchMoveListener","eventStartListener","startEvent","eventEndListener","documentElement","endEvent","buttons","draggable","hoverable","focusable","pressable","eventKeys","appendEventListeners","ORIGIN_START","ORIGIN_CENTER","ORIGIN_END","findCenter","positionalProps","positionalPropsDict","checkPositionalProp","hasPositionalProps","isFlipPose","explicitlyFlipPose","remainingPose","propsToSet","implicitlyFlipPose","prevCenter","nextCenter","flipPose","getPosFromMatrix","matrix","pos","getTranslateFromMatrix","pos2","pos3","matrix3d","positionalValues","isPositionalKey","isPositional","convertPositionalUnits","positionalPoseKeys","changedPositionalKeys","elementComputedStyle","applyAtEndHasBeenCopied","fromValueType","toValueType","originBbox","originComputedStyle","targetBbox","getCurrent","dragPoses","drag","dragEnd","createPoseConfig","onDragStart","onDragEnd","onPressStart","onPressEnd","poseConfig","domPose","pose$$1","bound","boundType","poserApi","addChild","op","domPose$1","supportedElements","PoserMap","preEnterPose","onValueChange","onPoseComplete","Function","withParent","watch","$attrs","newAttrs","newPose","oldPose","setPose","newPoseKey","oldPoseKey","destroyed","_poseDestroyOnUnmount","_poseOnChildUnmount","$el","getInitialPose","$props","_poseGetInitialPoseFromParent","getFirstPoseToSet","initPoser","flushChildren","firstPose","onRegistered","getPoserProps","provide","_poseRegisterChild","inject","createPosedComponentFactory","el","extend","mounted","poserConfig","$listeners","$slots","posed","setPoserTo","fromPose","toPose","defaultConfig","done","setPrePose","enterPose","exitPose","prePose","created","appear","beforeEnter","beforeLeave","enter","leave","beforeAppear","css","data","isZoomed","zoomOut","zoomIn","components","Frame","zoomedOut","zoomedIn","ZoomImage","zoomPicture","breadCrumb","isFirelog","selectorSteps","required","selectedStepsFromSelector","selectedStepIdsFromSelector","useProps","loading","breadCrumbSteps","id","selectedSolution","taxId","getSelectedSolution","backToSolutionList","dialog","comeBackToSelector","useInMarker","solution","taxonomies","userId","user","solutionId","tax263415Id","companyId","lc","favorite","Taxonomy26734158Id","res","fromSelector","selectedTaxonomyIdsFromDetailView","selectedAutoSkippedFromDetailView","selectedTaxonomiesFromDetailView","downloadPdf","read","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","Infinity","write","rt","log","LN2","getBuiltIn","redefineAll","createIteratorConstructor","hasOwn","bind","classof","anObject","isObject","createPropertyDescriptor","getIterator","getIteratorMethod","nativeFetch","NativeRequest","RequestPrototype","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","bytes","RegExp","percentDecode","sequence","decodeURIComponent","deserialize","it","replacer","serialize","parseSearchParams","attribute","entry","attributes","entries","validateArgumentsLength","passed","URLSearchParamsIterator","kind","iterator","URLSearchParamsConstructor","iteratorMethod","entryIterator","entryNext","first","URLSearchParamsPrototype","append","getAll","found","entriesIndex","sliceIndex","boundFunction","wrapRequestOptions","headers","body","fetch","RequestConstructor","Request","functional","tag","fluid","classes","h","class","base64","ieee754","typedArraySupport","foo","subarray","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","arg","encodingOrOffset","allocUnsafe","ArrayBuffer","fromArrayBuffer","fromString","fromObject","assertSize","alloc","encoding","checked","isEncoding","actual","fromArrayLike","array","byteOffset","obj","isBuffer","copy","isnan","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","arrLength","valLength","buf","readUInt16BE","foundIndex","hexWrite","remaining","strLen","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","Symbol","species","defineProperty","allocUnsafeSlow","_isBuffer","compare","list","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","isFinite","_arr","MAX_ARGUMENTS_LENGTH","ret","out","toHex","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","hi","lo","dst","Properties","$t","Taxonomy2Title","Taxonomy2Name","Taxonomy9Name","Taxonomy3Title","Taxonomy3Name","Taxonomy4Title","Taxonomy4Name","Taxonomy1Name","WandDikte","Capping","Taxonomy3","Taxonomy4","Taxonomy1","Taxonomy5Title","Taxonomy5Name","Taxonomy8Name","IsolatieVorm","IsolatieLengte","IsolatieDikte","ProductOplossingen2","Taxonomy6Title","Taxonomy6Name","Taxonomy7Name","AanbrengenAan","AantalLagen","MaximaleOpening","AfstandTotRanden","AfstandTotAnderen","AfstandTotZelfdeType","MaximaleHoek","MateriaalNaad","BreedteNaad","Bevestiging","BeugelAfstand","Disclaimer","ClassificatieRapport","domProps","Images","Norm","ETAOfRapport","Attachments","attachment","Link","Category","Products","Image","scopedSlots","_u","fn","proxy","staticStyle","VBtn","VCard","VCardActions","VCol","VContainer","VDivider","VIcon","VImg","VLayout","VProgressCircular","VProgressLinear","VRow","VSkeletonLoader","VSpacer","VToolbar"],"mappings":"6FAAA,IAAIA,EAAQ,EAAQ,QAChBC,EAAkB,EAAQ,QAC1BC,EAAU,EAAQ,QAElBC,EAAWF,EAAgB,YAE/BG,EAAOC,SAAWL,GAAM,WACtB,IAAIM,EAAM,IAAIC,IAAI,gBAAiB,YAC/BC,EAAeF,EAAIE,aACnBC,EAAS,GAMb,OALAH,EAAII,SAAW,QACfF,EAAaG,SAAQ,SAAUC,EAAOC,GACpCL,EAAa,UAAU,KACvBC,GAAUI,EAAMD,KAEVV,IAAYI,EAAIQ,SAClBN,EAAaO,MACD,2BAAbT,EAAIU,MACsB,MAA1BR,EAAaS,IAAI,MACuB,QAAxCC,OAAO,IAAIC,gBAAgB,WAC1BX,EAAaL,IAEsB,MAApC,IAAII,IAAI,eAAea,UACsC,MAA7D,IAAID,gBAAgB,IAAIA,gBAAgB,QAAQF,IAAI,MAEpB,eAAhC,IAAIV,IAAI,eAAec,MAEQ,YAA/B,IAAId,IAAI,cAAce,MAEX,SAAXb,GAEwC,MAAxC,IAAIF,IAAI,gBAAYgB,GAAWF,S,oCC7BtChB,EAAQmB,WAAaA,EACrBnB,EAAQoB,YAAcA,EACtBpB,EAAQqB,cAAgBA,EAOxB,IALA,IAAIC,EAAS,GACTC,EAAY,GACZC,EAA4B,qBAAfC,WAA6BA,WAAaC,MAEvDC,EAAO,mEACFC,EAAI,EAAGC,EAAMF,EAAKG,OAAQF,EAAIC,IAAOD,EAC5CN,EAAOM,GAAKD,EAAKC,GACjBL,EAAUI,EAAKI,WAAWH,IAAMA,EAQlC,SAASI,EAASC,GAChB,IAAIJ,EAAMI,EAAIH,OAEd,GAAID,EAAM,EAAI,EACZ,MAAM,IAAIK,MAAM,kDAKlB,IAAIC,EAAWF,EAAIG,QAAQ,MACT,IAAdD,IAAiBA,EAAWN,GAEhC,IAAIQ,EAAkBF,IAAaN,EAC/B,EACA,EAAKM,EAAW,EAEpB,MAAO,CAACA,EAAUE,GAIpB,SAASlB,EAAYc,GACnB,IAAIK,EAAON,EAAQC,GACfE,EAAWG,EAAK,GAChBD,EAAkBC,EAAK,GAC3B,OAAuC,GAA9BH,EAAWE,GAAuB,EAAKA,EAGlD,SAASE,EAAaN,EAAKE,EAAUE,GACnC,OAAuC,GAA9BF,EAAWE,GAAuB,EAAKA,EAGlD,SAASjB,EAAaa,GACpB,IAAIO,EAcAZ,EAbAU,EAAON,EAAQC,GACfE,EAAWG,EAAK,GAChBD,EAAkBC,EAAK,GAEvBG,EAAM,IAAIjB,EAAIe,EAAYN,EAAKE,EAAUE,IAEzCK,EAAU,EAGVb,EAAMQ,EAAkB,EACxBF,EAAW,EACXA,EAGJ,IAAKP,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBY,EACGjB,EAAUU,EAAIF,WAAWH,KAAO,GAChCL,EAAUU,EAAIF,WAAWH,EAAI,KAAO,GACpCL,EAAUU,EAAIF,WAAWH,EAAI,KAAO,EACrCL,EAAUU,EAAIF,WAAWH,EAAI,IAC/Ba,EAAIC,KAAcF,GAAO,GAAM,IAC/BC,EAAIC,KAAcF,GAAO,EAAK,IAC9BC,EAAIC,KAAmB,IAANF,EAmBnB,OAhBwB,IAApBH,IACFG,EACGjB,EAAUU,EAAIF,WAAWH,KAAO,EAChCL,EAAUU,EAAIF,WAAWH,EAAI,KAAO,EACvCa,EAAIC,KAAmB,IAANF,GAGK,IAApBH,IACFG,EACGjB,EAAUU,EAAIF,WAAWH,KAAO,GAChCL,EAAUU,EAAIF,WAAWH,EAAI,KAAO,EACpCL,EAAUU,EAAIF,WAAWH,EAAI,KAAO,EACvCa,EAAIC,KAAcF,GAAO,EAAK,IAC9BC,EAAIC,KAAmB,IAANF,GAGZC,EAGT,SAASE,EAAiBC,GACxB,OAAOtB,EAAOsB,GAAO,GAAK,IACxBtB,EAAOsB,GAAO,GAAK,IACnBtB,EAAOsB,GAAO,EAAI,IAClBtB,EAAa,GAANsB,GAGX,SAASC,EAAaC,EAAOC,EAAOC,GAGlC,IAFA,IAAIR,EACAS,EAAS,GACJrB,EAAImB,EAAOnB,EAAIoB,EAAKpB,GAAK,EAChCY,GACIM,EAAMlB,IAAM,GAAM,WAClBkB,EAAMlB,EAAI,IAAM,EAAK,QACP,IAAfkB,EAAMlB,EAAI,IACbqB,EAAOC,KAAKP,EAAgBH,IAE9B,OAAOS,EAAOE,KAAK,IAGrB,SAAS9B,EAAeyB,GAQtB,IAPA,IAAIN,EACAX,EAAMiB,EAAMhB,OACZsB,EAAavB,EAAM,EACnBwB,EAAQ,GACRC,EAAiB,MAGZ1B,EAAI,EAAG2B,EAAO1B,EAAMuB,EAAYxB,EAAI2B,EAAM3B,GAAK0B,EACtDD,EAAMH,KAAKL,EAAYC,EAAOlB,EAAIA,EAAI0B,EAAkBC,EAAOA,EAAQ3B,EAAI0B,IAqB7E,OAjBmB,IAAfF,GACFZ,EAAMM,EAAMjB,EAAM,GAClBwB,EAAMH,KACJ5B,EAAOkB,GAAO,GACdlB,EAAQkB,GAAO,EAAK,IACpB,OAEsB,IAAfY,IACTZ,GAAOM,EAAMjB,EAAM,IAAM,GAAKiB,EAAMjB,EAAM,GAC1CwB,EAAMH,KACJ5B,EAAOkB,GAAO,IACdlB,EAAQkB,GAAO,EAAK,IACpBlB,EAAQkB,GAAO,EAAK,IACpB,MAIGa,EAAMF,KAAK,IAlIpB5B,EAAU,IAAIQ,WAAW,IAAM,GAC/BR,EAAU,IAAIQ,WAAW,IAAM,I,oCCnB/B,8DAMMyB,EAAgB,eAAtB,oBACMC,EAAgB,eAAtB,oBAUI,Q,oCCfJ,EAAQ,QACR,IA4CIC,EA5CAC,EAAI,EAAQ,QACZC,EAAc,EAAQ,QACtBC,EAAiB,EAAQ,QACzBC,EAAS,EAAQ,QACjBC,EAAmB,EAAQ,QAC3BC,EAAW,EAAQ,QACnBC,EAAa,EAAQ,QACrBC,EAAM,EAAQ,QACdC,EAAS,EAAQ,QACjBC,EAAY,EAAQ,QACpBC,EAAS,EAAQ,QAAiCA,OAClDC,EAAU,EAAQ,QAClBC,EAAY,EAAQ,QACpBC,EAAiB,EAAQ,QACzBC,EAAwB,EAAQ,QAChCC,EAAsB,EAAQ,QAE9BC,EAAYb,EAAO5D,IACnBY,EAAkB2D,EAAsB3D,gBACxC8D,EAA+BH,EAAsBI,SACrDC,EAAmBJ,EAAoBK,IACvCC,EAAsBN,EAAoBO,UAAU,OACpDC,EAAQC,KAAKD,MACbE,EAAMD,KAAKC,IAEXC,EAAoB,oBACpBC,EAAiB,iBACjBC,EAAe,eACfC,EAAe,eAEfC,EAAQ,WAERC,EAAe,gBACfC,EAAQ,KACRC,EAAY,OACZC,EAAM,WACNC,EAAM,QACNC,EAAM,gBAENC,EAA4B,6BAC5BC,EAA8C,4BAC9CC,EAA2C,uCAC3CC,EAAmB,YAInBC,EAAY,SAAUnG,EAAKoG,GAC7B,IAAIjG,EAAQkG,EAAYC,EACxB,GAAuB,KAAnBF,EAAMG,OAAO,GAAW,CAC1B,GAAsC,KAAlCH,EAAMG,OAAOH,EAAMvE,OAAS,GAAW,OAAOyD,EAElD,GADAnF,EAASqG,EAAUJ,EAAMK,MAAM,GAAI,KAC9BtG,EAAQ,OAAOmF,EACpBtF,EAAIe,KAAOZ,OAEN,GAAKuG,EAAU1G,GAQf,CAEL,GADAoG,EAAQ/B,EAAQ+B,GACZL,EAA0BY,KAAKP,GAAQ,OAAOd,EAElD,GADAnF,EAASyG,EAAUR,GACJ,OAAXjG,EAAiB,OAAOmF,EAC5BtF,EAAIe,KAAOZ,MAbe,CAC1B,GAAI6F,EAA4CW,KAAKP,GAAQ,OAAOd,EAGpE,IAFAnF,EAAS,GACTkG,EAAalC,EAAUiC,GAClBE,EAAQ,EAAGA,EAAQD,EAAWxE,OAAQyE,IACzCnG,GAAU0G,EAAcR,EAAWC,GAAQQ,GAE7C9G,EAAIe,KAAOZ,IAUXyG,EAAY,SAAUR,GACxB,IACIW,EAAaC,EAASV,EAAOW,EAAMC,EAAOC,EAAQC,EADlDhE,EAAQgD,EAAMiB,MAAM,KAMxB,GAJIjE,EAAMvB,QAAqC,IAA3BuB,EAAMA,EAAMvB,OAAS,IACvCuB,EAAMkE,MAERP,EAAc3D,EAAMvB,OAChBkF,EAAc,EAAG,OAAOX,EAE5B,IADAY,EAAU,GACLV,EAAQ,EAAGA,EAAQS,EAAaT,IAAS,CAE5C,GADAW,EAAO7D,EAAMkD,GACD,IAARW,EAAY,OAAOb,EAMvB,GALAc,EAAQ,GACJD,EAAKpF,OAAS,GAAuB,KAAlBoF,EAAKV,OAAO,KACjCW,EAAQvB,EAAUgB,KAAKM,GAAQ,GAAK,EACpCA,EAAOA,EAAKR,MAAe,GAATS,EAAa,EAAI,IAExB,KAATD,EACFE,EAAS,MACJ,CACL,KAAe,IAATD,EAAcrB,EAAe,GAATqB,EAAatB,EAAME,GAAKa,KAAKM,GAAO,OAAOb,EACrEe,EAASI,SAASN,EAAMC,GAE1BF,EAAQ/D,KAAKkE,GAEf,IAAKb,EAAQ,EAAGA,EAAQS,EAAaT,IAEnC,GADAa,EAASH,EAAQV,GACbA,GAASS,EAAc,GACzB,GAAII,GAAUhC,EAAI,IAAK,EAAI4B,GAAc,OAAO,UAC3C,GAAII,EAAS,IAAK,OAAO,KAGlC,IADAC,EAAOJ,EAAQM,MACVhB,EAAQ,EAAGA,EAAQU,EAAQnF,OAAQyE,IACtCc,GAAQJ,EAAQV,GAASnB,EAAI,IAAK,EAAImB,GAExC,OAAOc,GAILZ,EAAY,SAAUJ,GACxB,IAII9F,EAAOuB,EAAQ2F,EAAaC,EAAWN,EAAQO,EAAOC,EAJtDC,EAAU,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAChCC,EAAa,EACbC,EAAW,KACXC,EAAU,EAGVC,EAAM,WACR,OAAO5B,EAAMG,OAAOwB,IAGtB,GAAa,KAATC,IAAc,CAChB,GAAuB,KAAnB5B,EAAMG,OAAO,GAAW,OAC5BwB,GAAW,EACXF,IACAC,EAAWD,EAEb,MAAOG,IAAO,CACZ,GAAkB,GAAdH,EAAiB,OACrB,GAAa,KAATG,IAAJ,CAOA1H,EAAQuB,EAAS,EACjB,MAAOA,EAAS,GAAKiE,EAAIa,KAAKqB,KAC5B1H,EAAgB,GAARA,EAAaiH,SAASS,IAAO,IACrCD,IACAlG,IAEF,GAAa,KAATmG,IAAc,CAChB,GAAc,GAAVnG,EAAa,OAEjB,GADAkG,GAAWlG,EACPgG,EAAa,EAAG,OACpBL,EAAc,EACd,MAAOQ,IAAO,CAEZ,GADAP,EAAY,KACRD,EAAc,EAAG,CACnB,KAAa,KAATQ,KAAgBR,EAAc,GAC7B,OADgCO,IAGvC,IAAKrC,EAAMiB,KAAKqB,KAAQ,OACxB,MAAOtC,EAAMiB,KAAKqB,KAAQ,CAExB,GADAb,EAASI,SAASS,IAAO,IACP,OAAdP,EAAoBA,EAAYN,MAC/B,IAAiB,GAAbM,EAAgB,OACpBA,EAAwB,GAAZA,EAAiBN,EAClC,GAAIM,EAAY,IAAK,OACrBM,IAEFH,EAAQC,GAAoC,IAAtBD,EAAQC,GAAoBJ,EAClDD,IACmB,GAAfA,GAAmC,GAAfA,GAAkBK,IAE5C,GAAmB,GAAfL,EAAkB,OACtB,MACK,GAAa,KAATQ,KAET,GADAD,KACKC,IAAO,YACP,GAAIA,IAAO,OAClBJ,EAAQC,KAAgBvH,MA3CxB,CACE,GAAiB,OAAbwH,EAAmB,OACvBC,IACAF,IACAC,EAAWD,GAyCf,GAAiB,OAAbC,EAAmB,CACrBJ,EAAQG,EAAaC,EACrBD,EAAa,EACb,MAAqB,GAAdA,GAAmBH,EAAQ,EAChCC,EAAOC,EAAQC,GACfD,EAAQC,KAAgBD,EAAQE,EAAWJ,EAAQ,GACnDE,EAAQE,IAAaJ,GAASC,OAE3B,GAAkB,GAAdE,EAAiB,OAC5B,OAAOD,GAGLK,EAA0B,SAAUC,GAMtC,IALA,IAAIC,EAAW,KACXC,EAAY,EACZC,EAAY,KACZC,EAAa,EACbhC,EAAQ,EACLA,EAAQ,EAAGA,IACI,IAAhB4B,EAAK5B,IACHgC,EAAaF,IACfD,EAAWE,EACXD,EAAYE,GAEdD,EAAY,KACZC,EAAa,IAEK,OAAdD,IAAoBA,EAAY/B,KAClCgC,GAON,OAJIA,EAAaF,IACfD,EAAWE,EACXD,EAAYE,GAEPH,GAGLI,EAAgB,SAAUxH,GAC5B,IAAIZ,EAAQmG,EAAOwB,EAAUU,EAE7B,GAAmB,iBAARzH,EAAkB,CAE3B,IADAZ,EAAS,GACJmG,EAAQ,EAAGA,EAAQ,EAAGA,IACzBnG,EAAOsI,QAAQ1H,EAAO,KACtBA,EAAOkE,EAAMlE,EAAO,KACpB,OAAOZ,EAAO+C,KAAK,KAEhB,GAAmB,iBAARnC,EAAkB,CAGlC,IAFAZ,EAAS,GACT2H,EAAWG,EAAwBlH,GAC9BuF,EAAQ,EAAGA,EAAQ,EAAGA,IACrBkC,GAA2B,IAAhBzH,EAAKuF,KAChBkC,IAASA,GAAU,GACnBV,IAAaxB,GACfnG,GAAUmG,EAAQ,IAAM,KACxBkC,GAAU,IAEVrI,GAAUY,EAAKuF,GAAOoC,SAAS,IAC3BpC,EAAQ,IAAGnG,GAAU,OAG7B,MAAO,IAAMA,EAAS,IACtB,OAAOY,GAGP+F,EAA4B,GAC5B6B,EAA2BzE,EAAO,GAAI4C,EAA2B,CACnE,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAEnC8B,EAAuB1E,EAAO,GAAIyE,EAA0B,CAC9D,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAE3BE,EAA2B3E,EAAO,GAAI0E,EAAsB,CAC9D,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,KAAM,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAG5E/B,EAAgB,SAAUmB,EAAKlD,GACjC,IAAIpD,EAAO0C,EAAO4D,EAAK,GACvB,OAAOtG,EAAO,IAAQA,EAAO,MAASuC,EAAIa,EAAKkD,GAAOA,EAAMc,mBAAmBd,IAG7Ee,EAAiB,CACnBC,IAAK,GACLC,KAAM,KACNC,KAAM,GACNC,MAAO,IACPC,GAAI,GACJC,IAAK,KAGH3C,EAAY,SAAU1G,GACxB,OAAOiE,EAAI8E,EAAgB/I,EAAIsJ,SAG7BC,GAAsB,SAAUvJ,GAClC,MAAuB,IAAhBA,EAAIc,UAAkC,IAAhBd,EAAIwJ,UAG/BC,GAAiC,SAAUzJ,GAC7C,OAAQA,EAAIe,MAAQf,EAAI0J,kBAAkC,QAAd1J,EAAIsJ,QAG9CK,GAAuB,SAAUC,EAAQC,GAC3C,IAAIC,EACJ,OAAwB,GAAjBF,EAAO/H,QAAe2D,EAAMmB,KAAKiD,EAAOrD,OAAO,MACjB,MAA9BuD,EAASF,EAAOrD,OAAO,MAAgBsD,GAAwB,KAAVC,IAG1DC,GAA+B,SAAUH,GAC3C,IAAII,EACJ,OAAOJ,EAAO/H,OAAS,GAAK8H,GAAqBC,EAAOnD,MAAM,EAAG,MAC9C,GAAjBmD,EAAO/H,QACyB,OAA9BmI,EAAQJ,EAAOrD,OAAO,KAAyB,OAAVyD,GAA4B,MAAVA,GAA2B,MAAVA,IAI1EC,GAAkB,SAAUjK,GAC9B,IAAIkK,EAAOlK,EAAIkK,KACXC,EAAWD,EAAKrI,QAChBsI,GAA2B,QAAdnK,EAAIsJ,QAAgC,GAAZa,GAAkBR,GAAqBO,EAAK,IAAI,IACvFA,EAAK5C,OAIL8C,GAAc,SAAUC,GAC1B,MAAmB,MAAZA,GAA6C,QAA1BA,EAAQC,eAGhCC,GAAc,SAAUF,GAE1B,OADAA,EAAUA,EAAQC,cACC,OAAZD,GAAgC,SAAZA,GAAkC,SAAZA,GAAkC,WAAZA,GAIrEG,GAAe,GACfC,GAAS,GACTC,GAAY,GACZC,GAAgC,GAChCC,GAAoB,GACpBC,GAAW,GACXC,GAAiB,GACjBC,GAA4B,GAC5BC,GAAmC,GACnCC,GAAY,GACZC,GAAO,GACPC,GAAW,GACXC,GAAO,GACPC,GAAO,GACPC,GAAa,GACbC,GAAY,GACZC,GAAa,GACbC,GAAO,GACPC,GAA4B,GAC5BC,GAAQ,GACRC,GAAW,GAGXC,GAAW,SAAU7L,EAAKoG,EAAO0F,EAAeC,GAClD,IAMI1F,EAAY2B,EAAKgE,EAAkBC,EANnCC,EAAQJ,GAAiBtB,GACzBzC,EAAU,EACVoE,EAAS,GACTC,GAAS,EACTC,GAAc,EACdC,GAAoB,EAGnBR,IACH9L,EAAIsJ,OAAS,GACbtJ,EAAIc,SAAW,GACfd,EAAIwJ,SAAW,GACfxJ,EAAIe,KAAO,KACXf,EAAIuM,KAAO,KACXvM,EAAIkK,KAAO,GACXlK,EAAIwM,MAAQ,KACZxM,EAAIyM,SAAW,KACfzM,EAAI0J,kBAAmB,EACvBtD,EAAQA,EAAMsG,QAAQzG,EAA0C,KAGlEG,EAAQA,EAAMsG,QAAQxG,EAAkB,IAExCG,EAAalC,EAAUiC,GAEvB,MAAO2B,GAAW1B,EAAWxE,OAAQ,CAEnC,OADAmG,EAAM3B,EAAW0B,GACTmE,GACN,KAAK1B,GACH,IAAIxC,IAAOxC,EAAMmB,KAAKqB,GAGf,IAAK8D,EAGL,OAAOzG,EAFZ6G,EAAQxB,GACR,SAJAyB,GAAUnE,EAAIsC,cACd4B,EAAQzB,GAKV,MAEF,KAAKA,GACH,GAAIzC,IAAQvC,EAAakB,KAAKqB,IAAe,KAAPA,GAAqB,KAAPA,GAAqB,KAAPA,GAChEmE,GAAUnE,EAAIsC,kBACT,IAAW,KAAPtC,EA0BJ,IAAK8D,EAKL,OAAOzG,EAJZ8G,EAAS,GACTD,EAAQxB,GACR3C,EAAU,EACV,SA7BA,GAAI+D,IACDpF,EAAU1G,IAAQiE,EAAI8E,EAAgBoD,IAC5B,QAAVA,IAAqB5C,GAAoBvJ,IAAqB,OAAbA,EAAIuM,OACvC,QAAdvM,EAAIsJ,SAAqBtJ,EAAIe,MAC7B,OAEH,GADAf,EAAIsJ,OAAS6C,EACTL,EAEF,YADIpF,EAAU1G,IAAQ+I,EAAe/I,EAAIsJ,SAAWtJ,EAAIuM,OAAMvM,EAAIuM,KAAO,OAG3EJ,EAAS,GACS,QAAdnM,EAAIsJ,OACN4C,EAAQb,GACC3E,EAAU1G,IAAQ+L,GAAQA,EAAKzC,QAAUtJ,EAAIsJ,OACtD4C,EAAQvB,GACCjE,EAAU1G,GACnBkM,EAAQnB,GAC4B,KAA3B1E,EAAW0B,EAAU,IAC9BmE,EAAQtB,GACR7C,MAEA/H,EAAI0J,kBAAmB,EACvB1J,EAAIkK,KAAKjH,KAAK,IACdiJ,EAAQR,IAQZ,MAEF,KAAKhB,GACH,IAAKqB,GAASA,EAAKrC,kBAA2B,KAAP1B,EAAa,OAAO3C,EAC3D,GAAI0G,EAAKrC,kBAA2B,KAAP1B,EAAY,CACvChI,EAAIsJ,OAASyC,EAAKzC,OAClBtJ,EAAIkK,KAAO6B,EAAK7B,KAAKzD,QACrBzG,EAAIwM,MAAQT,EAAKS,MACjBxM,EAAIyM,SAAW,GACfzM,EAAI0J,kBAAmB,EACvBwC,EAAQN,GACR,MAEFM,EAAuB,QAAfH,EAAKzC,OAAmB+B,GAAOR,GACvC,SAEF,KAAKF,GACH,GAAW,KAAP3C,GAAyC,KAA3B3B,EAAW0B,EAAU,GAGhC,CACLmE,EAAQrB,GACR,SAJAqB,EAAQlB,GACRjD,IAIA,MAEJ,KAAK6C,GACH,GAAW,KAAP5C,EAAY,CACdkE,EAAQjB,GACR,MAEAiB,EAAQT,GACR,SAGJ,KAAKZ,GAEH,GADA7K,EAAIsJ,OAASyC,EAAKzC,OACdtB,GAAOvE,EACTzD,EAAIc,SAAWiL,EAAKjL,SACpBd,EAAIwJ,SAAWuC,EAAKvC,SACpBxJ,EAAIe,KAAOgL,EAAKhL,KAChBf,EAAIuM,KAAOR,EAAKQ,KAChBvM,EAAIkK,KAAO6B,EAAK7B,KAAKzD,QACrBzG,EAAIwM,MAAQT,EAAKS,WACZ,GAAW,KAAPxE,GAAsB,MAAPA,GAAetB,EAAU1G,GACjDkM,EAAQpB,QACH,GAAW,KAAP9C,EACThI,EAAIc,SAAWiL,EAAKjL,SACpBd,EAAIwJ,SAAWuC,EAAKvC,SACpBxJ,EAAIe,KAAOgL,EAAKhL,KAChBf,EAAIuM,KAAOR,EAAKQ,KAChBvM,EAAIkK,KAAO6B,EAAK7B,KAAKzD,QACrBzG,EAAIwM,MAAQ,GACZN,EAAQP,OACH,IAAW,KAAP3D,EASJ,CACLhI,EAAIc,SAAWiL,EAAKjL,SACpBd,EAAIwJ,SAAWuC,EAAKvC,SACpBxJ,EAAIe,KAAOgL,EAAKhL,KAChBf,EAAIuM,KAAOR,EAAKQ,KAChBvM,EAAIkK,KAAO6B,EAAK7B,KAAKzD,QACrBzG,EAAIkK,KAAK5C,MACT4E,EAAQT,GACR,SAhBAzL,EAAIc,SAAWiL,EAAKjL,SACpBd,EAAIwJ,SAAWuC,EAAKvC,SACpBxJ,EAAIe,KAAOgL,EAAKhL,KAChBf,EAAIuM,KAAOR,EAAKQ,KAChBvM,EAAIkK,KAAO6B,EAAK7B,KAAKzD,QACrBzG,EAAIwM,MAAQT,EAAKS,MACjBxM,EAAIyM,SAAW,GACfP,EAAQN,GAUR,MAEJ,KAAKd,GACH,IAAIpE,EAAU1G,IAAgB,KAAPgI,GAAqB,MAAPA,EAE9B,IAAW,KAAPA,EAEJ,CACLhI,EAAIc,SAAWiL,EAAKjL,SACpBd,EAAIwJ,SAAWuC,EAAKvC,SACpBxJ,EAAIe,KAAOgL,EAAKhL,KAChBf,EAAIuM,KAAOR,EAAKQ,KAChBL,EAAQT,GACR,SAPAS,EAAQjB,QAFRiB,EAAQlB,GAUR,MAEJ,KAAKD,GAEH,GADAmB,EAAQlB,GACG,KAAPhD,GAA4C,KAA9BmE,EAAO5F,OAAOwB,EAAU,GAAW,SACrDA,IACA,MAEF,KAAKiD,GACH,GAAW,KAAPhD,GAAqB,MAAPA,EAAa,CAC7BkE,EAAQjB,GACR,SACA,MAEJ,KAAKA,GACH,GAAW,KAAPjD,EAAY,CACVoE,IAAQD,EAAS,MAAQA,GAC7BC,GAAS,EACTJ,EAAmB7H,EAAUgI,GAC7B,IAAK,IAAIxK,EAAI,EAAGA,EAAIqK,EAAiBnK,OAAQF,IAAK,CAChD,IAAIgL,EAAYX,EAAiBrK,GACjC,GAAiB,KAAbgL,GAAqBL,EAAzB,CAIA,IAAIM,EAAoB/F,EAAc8F,EAAW9D,GAC7CyD,EAAmBtM,EAAIwJ,UAAYoD,EAClC5M,EAAIc,UAAY8L,OALnBN,GAAoB,EAOxBH,EAAS,QACJ,GACLnE,GAAOvE,GAAc,KAAPuE,GAAqB,KAAPA,GAAqB,KAAPA,GAClC,MAAPA,GAAetB,EAAU1G,GAC1B,CACA,GAAIoM,GAAoB,IAAVD,EAAc,OAAO/G,EACnC2C,GAAW5D,EAAUgI,GAAQtK,OAAS,EACtCsK,EAAS,GACTD,EAAQhB,QACHiB,GAAUnE,EACjB,MAEF,KAAKkD,GACL,KAAKC,GACH,GAAIW,GAA+B,QAAd9L,EAAIsJ,OAAkB,CACzC4C,EAAQX,GACR,SACK,GAAW,KAAPvD,GAAeqE,EAOnB,IACLrE,GAAOvE,GAAc,KAAPuE,GAAqB,KAAPA,GAAqB,KAAPA,GAClC,MAAPA,GAAetB,EAAU1G,GAC1B,CACA,GAAI0G,EAAU1G,IAAkB,IAAVmM,EAAc,OAAO7G,EAC3C,GAAIwG,GAA2B,IAAVK,IAAiB5C,GAAoBvJ,IAAqB,OAAbA,EAAIuM,MAAgB,OAEtF,GADAN,EAAU9F,EAAUnG,EAAKmM,GACrBF,EAAS,OAAOA,EAGpB,GAFAE,EAAS,GACTD,EAAQV,GACJM,EAAe,OACnB,SAEW,KAAP9D,EAAYqE,GAAc,EACd,KAAPrE,IAAYqE,GAAc,GACnCF,GAAUnE,MAtB2B,CACrC,GAAc,IAAVmE,EAAc,OAAO7G,EAEzB,GADA2G,EAAU9F,EAAUnG,EAAKmM,GACrBF,EAAS,OAAOA,EAGpB,GAFAE,EAAS,GACTD,EAAQd,GACJU,GAAiBX,GAAU,OAiB/B,MAEJ,KAAKC,GACH,IAAI1F,EAAMiB,KAAKqB,GAER,IACLA,GAAOvE,GAAc,KAAPuE,GAAqB,KAAPA,GAAqB,KAAPA,GAClC,MAAPA,GAAetB,EAAU1G,IAC1B8L,EACA,CACA,GAAc,IAAVK,EAAc,CAChB,IAAII,EAAOhF,SAAS4E,EAAQ,IAC5B,GAAII,EAAO,MAAQ,OAAOhH,EAC1BvF,EAAIuM,KAAQ7F,EAAU1G,IAAQuM,IAASxD,EAAe/I,EAAIsJ,QAAW,KAAOiD,EAC5EJ,EAAS,GAEX,GAAIL,EAAe,OACnBI,EAAQV,GACR,SACK,OAAOjG,EAfZ4G,GAAUnE,EAgBZ,MAEF,KAAKqD,GAEH,GADArL,EAAIsJ,OAAS,OACF,KAAPtB,GAAqB,MAAPA,EAAakE,EAAQZ,OAClC,KAAIS,GAAuB,QAAfA,EAAKzC,OAyBf,CACL4C,EAAQT,GACR,SA1BA,GAAIzD,GAAOvE,EACTzD,EAAIe,KAAOgL,EAAKhL,KAChBf,EAAIkK,KAAO6B,EAAK7B,KAAKzD,QACrBzG,EAAIwM,MAAQT,EAAKS,WACZ,GAAW,KAAPxE,EACThI,EAAIe,KAAOgL,EAAKhL,KAChBf,EAAIkK,KAAO6B,EAAK7B,KAAKzD,QACrBzG,EAAIwM,MAAQ,GACZN,EAAQP,OACH,IAAW,KAAP3D,EAMJ,CACA+B,GAA6B1D,EAAWI,MAAMsB,GAAS7E,KAAK,OAC/DlD,EAAIe,KAAOgL,EAAKhL,KAChBf,EAAIkK,KAAO6B,EAAK7B,KAAKzD,QACrBwD,GAAgBjK,IAElBkM,EAAQT,GACR,SAZAzL,EAAIe,KAAOgL,EAAKhL,KAChBf,EAAIkK,KAAO6B,EAAK7B,KAAKzD,QACrBzG,EAAIwM,MAAQT,EAAKS,MACjBxM,EAAIyM,SAAW,GACfP,EAAQN,IAaV,MAEJ,KAAKN,GACH,GAAW,KAAPtD,GAAqB,MAAPA,EAAa,CAC7BkE,EAAQX,GACR,MAEEQ,GAAuB,QAAfA,EAAKzC,SAAqBS,GAA6B1D,EAAWI,MAAMsB,GAAS7E,KAAK,OAC5FyG,GAAqBoC,EAAK7B,KAAK,IAAI,GAAOlK,EAAIkK,KAAKjH,KAAK8I,EAAK7B,KAAK,IACjElK,EAAIe,KAAOgL,EAAKhL,MAEvBmL,EAAQT,GACR,SAEF,KAAKF,GACH,GAAIvD,GAAOvE,GAAc,KAAPuE,GAAqB,MAAPA,GAAsB,KAAPA,GAAqB,KAAPA,EAAY,CACvE,IAAK8D,GAAiBnC,GAAqBwC,GACzCD,EAAQT,QACH,GAAc,IAAVU,EAAc,CAEvB,GADAnM,EAAIe,KAAO,GACP+K,EAAe,OACnBI,EAAQV,OACH,CAEL,GADAS,EAAU9F,EAAUnG,EAAKmM,GACrBF,EAAS,OAAOA,EAEpB,GADgB,aAAZjM,EAAIe,OAAqBf,EAAIe,KAAO,IACpC+K,EAAe,OACnBK,EAAS,GACTD,EAAQV,GACR,SACGW,GAAUnE,EACjB,MAEF,KAAKwD,GACH,GAAI9E,EAAU1G,IAEZ,GADAkM,EAAQT,GACG,KAAPzD,GAAqB,MAAPA,EAAa,cAC1B,GAAK8D,GAAwB,KAAP9D,EAGtB,GAAK8D,GAAwB,KAAP9D,GAGtB,GAAIA,GAAOvE,IAChByI,EAAQT,GACG,KAAPzD,GAAY,cAJhBhI,EAAIyM,SAAW,GACfP,EAAQN,QAJR5L,EAAIwM,MAAQ,GACZN,EAAQP,GAOR,MAEJ,KAAKF,GACH,GACEzD,GAAOvE,GAAc,KAAPuE,GACN,MAAPA,GAAetB,EAAU1G,KACxB8L,IAAyB,KAAP9D,GAAqB,KAAPA,GAClC,CAkBA,GAjBIuC,GAAY4B,IACdlC,GAAgBjK,GACL,KAAPgI,GAAuB,MAAPA,GAAetB,EAAU1G,IAC3CA,EAAIkK,KAAKjH,KAAK,KAEPmH,GAAY+B,GACV,KAAPnE,GAAuB,MAAPA,GAAetB,EAAU1G,IAC3CA,EAAIkK,KAAKjH,KAAK,KAGE,QAAdjD,EAAIsJ,SAAqBtJ,EAAIkK,KAAKrI,QAAU8H,GAAqBwC,KAC/DnM,EAAIe,OAAMf,EAAIe,KAAO,IACzBoL,EAASA,EAAO5F,OAAO,GAAK,KAE9BvG,EAAIkK,KAAKjH,KAAKkJ,IAEhBA,EAAS,GACS,QAAdnM,EAAIsJ,SAAqBtB,GAAOvE,GAAc,KAAPuE,GAAqB,KAAPA,GACvD,MAAOhI,EAAIkK,KAAKrI,OAAS,GAAqB,KAAhB7B,EAAIkK,KAAK,GACrClK,EAAIkK,KAAK2C,QAGF,KAAP7E,GACFhI,EAAIwM,MAAQ,GACZN,EAAQP,IACQ,KAAP3D,IACThI,EAAIyM,SAAW,GACfP,EAAQN,SAGVO,GAAUtF,EAAcmB,EAAKY,GAC7B,MAEJ,KAAK8C,GACQ,KAAP1D,GACFhI,EAAIwM,MAAQ,GACZN,EAAQP,IACQ,KAAP3D,GACThI,EAAIyM,SAAW,GACfP,EAAQN,IACC5D,GAAOvE,IAChBzD,EAAIkK,KAAK,IAAMrD,EAAcmB,EAAKlB,IAClC,MAEJ,KAAK6E,GACEG,GAAwB,KAAP9D,EAGXA,GAAOvE,IACL,KAAPuE,GAActB,EAAU1G,GAAMA,EAAIwM,OAAS,MAC1BxM,EAAIwM,OAAT,KAAPxE,EAAyB,MAChBnB,EAAcmB,EAAKlB,KALrC9G,EAAIyM,SAAW,GACfP,EAAQN,IAKR,MAEJ,KAAKA,GACC5D,GAAOvE,IAAKzD,EAAIyM,UAAY5F,EAAcmB,EAAKW,IACnD,MAGJZ,MAMA+E,GAAiB,SAAa9M,GAChC,IAII+M,EAAWd,EAJXe,EAAOhJ,EAAWiJ,KAAMH,GAAgB,OACxCf,EAAOmB,UAAUrL,OAAS,EAAIqL,UAAU,QAAKjM,EAC7CkM,EAAY7I,EAAUtE,GACtBkM,EAAQrH,EAAiBmI,EAAM,CAAEI,KAAM,QAE3C,QAAanM,IAAT8K,EACF,GAAIA,aAAgBe,GAAgBC,EAAYhI,EAAoBgH,QAGlE,GADAE,EAAUJ,GAASkB,EAAY,GAAIzI,EAAUyH,IACzCE,EAAS,MAAMoB,UAAUpB,GAIjC,GADAA,EAAUJ,GAASK,EAAOiB,EAAW,KAAMJ,GACvCd,EAAS,MAAMoB,UAAUpB,GAC7B,IAAI/L,EAAegM,EAAMhM,aAAe,IAAIW,EACxCyM,EAAoB3I,EAA6BzE,GACrDoN,EAAkBC,mBAAmBrB,EAAMM,OAC3Cc,EAAkBE,UAAY,WAC5BtB,EAAMM,MAAQ5L,OAAOV,IAAiB,MAEnCyD,IACHqJ,EAAKtM,KAAO+M,GAAaC,KAAKV,GAC9BA,EAAKW,OAASC,GAAUF,KAAKV,GAC7BA,EAAKa,SAAWC,GAAYJ,KAAKV,GACjCA,EAAKlM,SAAWiN,GAAYL,KAAKV,GACjCA,EAAKxD,SAAWwE,GAAYN,KAAKV,GACjCA,EAAKjM,KAAOkN,GAAQP,KAAKV,GACzBA,EAAKkB,SAAWC,GAAYT,KAAKV,GACjCA,EAAKT,KAAO6B,GAAQV,KAAKV,GACzBA,EAAK5M,SAAWiO,GAAYX,KAAKV,GACjCA,EAAKsB,OAASC,GAAUb,KAAKV,GAC7BA,EAAK9M,aAAesO,GAAgBd,KAAKV,GACzCA,EAAKhM,KAAOyN,GAAQf,KAAKV,KAIzB0B,GAAe5B,GAAe6B,UAE9BlB,GAAe,WACjB,IAAIzN,EAAM+E,EAAoBkI,MAC1B3D,EAAStJ,EAAIsJ,OACbxI,EAAWd,EAAIc,SACf0I,EAAWxJ,EAAIwJ,SACfzI,EAAOf,EAAIe,KACXwL,EAAOvM,EAAIuM,KACXrC,EAAOlK,EAAIkK,KACXsC,EAAQxM,EAAIwM,MACZC,EAAWzM,EAAIyM,SACfzJ,EAASsG,EAAS,IAYtB,OAXa,OAATvI,GACFiC,GAAU,KACNuG,GAAoBvJ,KACtBgD,GAAUlC,GAAY0I,EAAW,IAAMA,EAAW,IAAM,KAE1DxG,GAAUuF,EAAcxH,GACX,OAATwL,IAAevJ,GAAU,IAAMuJ,IAChB,QAAVjD,IAAkBtG,GAAU,MACvCA,GAAUhD,EAAI0J,iBAAmBQ,EAAK,GAAKA,EAAKrI,OAAS,IAAMqI,EAAKhH,KAAK,KAAO,GAClE,OAAVsJ,IAAgBxJ,GAAU,IAAMwJ,GACnB,OAAbC,IAAmBzJ,GAAU,IAAMyJ,GAChCzJ,GAGL4K,GAAY,WACd,IAAI5N,EAAM+E,EAAoBkI,MAC1B3D,EAAStJ,EAAIsJ,OACbiD,EAAOvM,EAAIuM,KACf,GAAc,QAAVjD,EAAkB,IACpB,OAAO,IAAIwD,GAAexD,EAAOY,KAAK,IAAIyD,OAC1C,MAAOiB,GACP,MAAO,OAET,MAAc,QAAVtF,GAAqB5C,EAAU1G,GAC5BsJ,EAAS,MAAQf,EAAcvI,EAAIe,OAAkB,OAATwL,EAAgB,IAAMA,EAAO,IADhC,QAI9CuB,GAAc,WAChB,OAAO/I,EAAoBkI,MAAM3D,OAAS,KAGxCyE,GAAc,WAChB,OAAOhJ,EAAoBkI,MAAMnM,UAG/BkN,GAAc,WAChB,OAAOjJ,EAAoBkI,MAAMzD,UAG/ByE,GAAU,WACZ,IAAIjO,EAAM+E,EAAoBkI,MAC1BlM,EAAOf,EAAIe,KACXwL,EAAOvM,EAAIuM,KACf,OAAgB,OAATxL,EAAgB,GACV,OAATwL,EAAgBhE,EAAcxH,GAC9BwH,EAAcxH,GAAQ,IAAMwL,GAG9B4B,GAAc,WAChB,IAAIpN,EAAOgE,EAAoBkI,MAAMlM,KACrC,OAAgB,OAATA,EAAgB,GAAKwH,EAAcxH,IAGxCqN,GAAU,WACZ,IAAI7B,EAAOxH,EAAoBkI,MAAMV,KACrC,OAAgB,OAATA,EAAgB,GAAK3L,OAAO2L,IAGjC8B,GAAc,WAChB,IAAIrO,EAAM+E,EAAoBkI,MAC1B/C,EAAOlK,EAAIkK,KACf,OAAOlK,EAAI0J,iBAAmBQ,EAAK,GAAKA,EAAKrI,OAAS,IAAMqI,EAAKhH,KAAK,KAAO,IAG3EqL,GAAY,WACd,IAAI/B,EAAQzH,EAAoBkI,MAAMT,MACtC,OAAOA,EAAQ,IAAMA,EAAQ,IAG3BgC,GAAkB,WACpB,OAAOzJ,EAAoBkI,MAAM/M,cAG/BuO,GAAU,WACZ,IAAIhC,EAAW1H,EAAoBkI,MAAMR,SACzC,OAAOA,EAAW,IAAMA,EAAW,IAGjCoC,GAAqB,SAAUC,EAAQC,GACzC,MAAO,CAAEpO,IAAKmO,EAAQhK,IAAKiK,EAAQC,cAAc,EAAMC,YAAY,IAyHrE,GAtHItL,GACFG,EAAiB4K,GAAc,CAG7BhO,KAAMmO,GAAmBpB,IAAc,SAAU/M,GAC/C,IAAIV,EAAM+E,EAAoBkI,MAC1BE,EAAY7I,EAAU5D,GACtBuL,EAAUJ,GAAS7L,EAAKmN,GAC5B,GAAIlB,EAAS,MAAMoB,UAAUpB,GAC7BtH,EAA6B3E,EAAIE,cAAcqN,mBAAmBvN,EAAIwM,UAIxEmB,OAAQkB,GAAmBjB,IAG3BC,SAAUgB,GAAmBf,IAAa,SAAUD,GAClD,IAAI7N,EAAM+E,EAAoBkI,MAC9BpB,GAAS7L,EAAKsE,EAAUuJ,GAAY,IAAKrD,OAI3C1J,SAAU+N,GAAmBd,IAAa,SAAUjN,GAClD,IAAId,EAAM+E,EAAoBkI,MAC1B5G,EAAalC,EAAUG,EAAUxD,IACrC,IAAI2I,GAA+BzJ,GAAnC,CACAA,EAAIc,SAAW,GACf,IAAK,IAAIa,EAAI,EAAGA,EAAI0E,EAAWxE,OAAQF,IACrC3B,EAAIc,UAAY+F,EAAcR,EAAW1E,GAAIkH,OAKjDW,SAAUqF,GAAmBb,IAAa,SAAUxE,GAClD,IAAIxJ,EAAM+E,EAAoBkI,MAC1B5G,EAAalC,EAAUG,EAAUkF,IACrC,IAAIC,GAA+BzJ,GAAnC,CACAA,EAAIwJ,SAAW,GACf,IAAK,IAAI7H,EAAI,EAAGA,EAAI0E,EAAWxE,OAAQF,IACrC3B,EAAIwJ,UAAY3C,EAAcR,EAAW1E,GAAIkH,OAKjD9H,KAAM8N,GAAmBZ,IAAS,SAAUlN,GAC1C,IAAIf,EAAM+E,EAAoBkI,MAC1BjN,EAAI0J,kBACRmC,GAAS7L,EAAKsE,EAAUvD,GAAOmK,OAIjCgD,SAAUW,GAAmBV,IAAa,SAAUD,GAClD,IAAIlO,EAAM+E,EAAoBkI,MAC1BjN,EAAI0J,kBACRmC,GAAS7L,EAAKsE,EAAU4J,GAAW/C,OAIrCoB,KAAMsC,GAAmBT,IAAS,SAAU7B,GAC1C,IAAIvM,EAAM+E,EAAoBkI,MAC1BxD,GAA+BzJ,KACnCuM,EAAOjI,EAAUiI,GACL,IAARA,EAAYvM,EAAIuM,KAAO,KACtBV,GAAS7L,EAAKuM,EAAMnB,QAI3BhL,SAAUyO,GAAmBR,IAAa,SAAUjO,GAClD,IAAIJ,EAAM+E,EAAoBkI,MAC1BjN,EAAI0J,mBACR1J,EAAIkK,KAAO,GACX2B,GAAS7L,EAAKsE,EAAUlE,GAAWoL,QAIrC8C,OAAQO,GAAmBN,IAAW,SAAUD,GAC9C,IAAItO,EAAM+E,EAAoBkI,MAC9BqB,EAAShK,EAAUgK,GACL,IAAVA,EACFtO,EAAIwM,MAAQ,MAER,KAAO8B,EAAO/H,OAAO,KAAI+H,EAASA,EAAO7H,MAAM,IACnDzG,EAAIwM,MAAQ,GACZX,GAAS7L,EAAKsO,EAAQ3C,KAExBhH,EAA6B3E,EAAIE,cAAcqN,mBAAmBvN,EAAIwM,UAIxEtM,aAAc2O,GAAmBL,IAGjCxN,KAAM6N,GAAmBJ,IAAS,SAAUzN,GAC1C,IAAIhB,EAAM+E,EAAoBkI,MAC9BjM,EAAOsD,EAAUtD,GACL,IAARA,GAIA,KAAOA,EAAKuF,OAAO,KAAIvF,EAAOA,EAAKyF,MAAM,IAC7CzG,EAAIyM,SAAW,GACfZ,GAAS7L,EAAKgB,EAAM4K,KALlB5L,EAAIyM,SAAW,UAYvB1I,EAAS2K,GAAc,UAAU,WAC/B,OAAOjB,GAAaC,KAAKT,QACxB,CAAEgC,YAAY,IAIjBlL,EAAS2K,GAAc,YAAY,WACjC,OAAOjB,GAAaC,KAAKT,QACxB,CAAEgC,YAAY,IAEbvK,EAAW,CACb,IAAIwK,GAAwBxK,EAAUyK,gBAClCC,GAAwB1K,EAAU2K,gBAIlCH,IAAuBnL,EAAS+I,GAAgB,mBAAmB,SAAyBwC,GAC9F,OAAOJ,GAAsBK,MAAM7K,EAAWwI,cAK5CkC,IAAuBrL,EAAS+I,GAAgB,mBAAmB,SAAyB9M,GAC9F,OAAOoP,GAAsBG,MAAM7K,EAAWwI,cAIlD3I,EAAeuI,GAAgB,OAE/BpJ,EAAE,CAAEG,QAAQ,EAAM2L,QAAS5L,EAAgB6L,MAAO9L,GAAe,CAC/D1D,IAAK6M,M,oCC7+BP,W,oCCEA,IAAI4C,EAAS,WACT3D,EAAO,GACP4D,EAAO,EACPC,EAAO,GACPC,EAAO,GACPC,EAAO,IACPC,EAAc,GACdC,EAAW,IACXC,EAAY,IACZC,EAAgB,eAChBC,EAAkB,yBAClBC,EAAiB,kDACjBC,EAAgBtE,EAAO4D,EACvB1K,EAAQC,KAAKD,MACbqL,EAAqB1P,OAAO2P,aAS5BC,EAAa,SAAU5G,GACzB,IAAI5G,EAAS,GACTyN,EAAU,EACV5O,EAAS+H,EAAO/H,OACpB,MAAO4O,EAAU5O,EAAQ,CACvB,IAAIvB,EAAQsJ,EAAO9H,WAAW2O,KAC9B,GAAInQ,GAAS,OAAUA,GAAS,OAAUmQ,EAAU5O,EAAQ,CAE1D,IAAI6O,EAAQ9G,EAAO9H,WAAW2O,KACN,QAAX,MAARC,GACH1N,EAAOC,OAAe,KAAR3C,IAAkB,KAAe,KAARoQ,GAAiB,QAIxD1N,EAAOC,KAAK3C,GACZmQ,UAGFzN,EAAOC,KAAK3C,GAGhB,OAAO0C,GAML2N,EAAe,SAAUC,GAG3B,OAAOA,EAAQ,GAAK,IAAMA,EAAQ,KAOhCC,EAAQ,SAAUC,EAAOC,EAAWC,GACtC,IAAIC,EAAI,EAGR,IAFAH,EAAQE,EAAY/L,EAAM6L,EAAQhB,GAAQgB,GAAS,EACnDA,GAAS7L,EAAM6L,EAAQC,GAChBD,EAAQT,EAAgBT,GAAQ,EAAGqB,GAAKlF,EAC7C+E,EAAQ7L,EAAM6L,EAAQT,GAExB,OAAOpL,EAAMgM,GAAKZ,EAAgB,GAAKS,GAASA,EAAQjB,KAQtDqB,EAAS,SAAU9K,GACrB,IAAIpD,EAAS,GAGboD,EAAQoK,EAAWpK,GAGnB,IAMIzE,EAAGwP,EANHC,EAAchL,EAAMvE,OAGpBwP,EAAIrB,EACJc,EAAQ,EACRQ,EAAOvB,EAIX,IAAKpO,EAAI,EAAGA,EAAIyE,EAAMvE,OAAQF,IAC5BwP,EAAe/K,EAAMzE,GACjBwP,EAAe,KACjBnO,EAAOC,KAAKqN,EAAmBa,IAInC,IAAII,EAAcvO,EAAOnB,OACrB2P,EAAiBD,EAGjBA,GACFvO,EAAOC,KAAKgN,GAId,MAAOuB,EAAiBJ,EAAa,CAEnC,IAAIK,EAAI/B,EACR,IAAK/N,EAAI,EAAGA,EAAIyE,EAAMvE,OAAQF,IAC5BwP,EAAe/K,EAAMzE,GACjBwP,GAAgBE,GAAKF,EAAeM,IACtCA,EAAIN,GAKR,IAAIO,EAAwBF,EAAiB,EAC7C,GAAIC,EAAIJ,EAAIpM,GAAOyK,EAASoB,GAASY,GACnC,MAAMC,WAAWvB,GAMnB,IAHAU,IAAUW,EAAIJ,GAAKK,EACnBL,EAAII,EAEC9P,EAAI,EAAGA,EAAIyE,EAAMvE,OAAQF,IAAK,CAEjC,GADAwP,EAAe/K,EAAMzE,GACjBwP,EAAeE,KAAOP,EAAQpB,EAChC,MAAMiC,WAAWvB,GAEnB,GAAIe,GAAgBE,EAAG,CAGrB,IADA,IAAIO,EAAId,EACCG,EAAIlF,GAA0BkF,GAAKlF,EAAM,CAChD,IAAI8F,EAAIZ,GAAKK,EAAO3B,EAAQsB,GAAKK,EAAO1B,EAAOA,EAAOqB,EAAIK,EAC1D,GAAIM,EAAIC,EAAG,MACX,IAAIC,EAAUF,EAAIC,EACdE,EAAahG,EAAO8F,EACxB7O,EAAOC,KAAKqN,EAAmBK,EAAakB,EAAIC,EAAUC,KAC1DH,EAAI3M,EAAM6M,EAAUC,GAGtB/O,EAAOC,KAAKqN,EAAmBK,EAAaiB,KAC5CN,EAAOT,EAAMC,EAAOY,EAAuBF,GAAkBD,GAC7DT,EAAQ,IACNU,KAIJV,IACAO,EAEJ,OAAOrO,EAAOE,KAAK,KAGrBpD,EAAOC,QAAU,SAAUqG,GACzB,IAEIzE,EAAGqQ,EAFHC,EAAU,GACVC,EAAS9L,EAAMkE,cAAcoC,QAAQyD,EAAiB,KAAU9I,MAAM,KAE1E,IAAK1F,EAAI,EAAGA,EAAIuQ,EAAOrQ,OAAQF,IAC7BqQ,EAAQE,EAAOvQ,GACfsQ,EAAQhP,KAAKiN,EAAcvJ,KAAKqL,GAAS,OAASd,EAAOc,GAASA,GAEpE,OAAOC,EAAQ/O,KAAK,O,oCCtKtB,IAAIiP,EAAS,WAAa,IAAIC,EAAInF,KAASoF,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAAEH,EAAIK,aAAeL,EAAIK,YAAYC,GAAI,CAACH,EAAG,IAAI,CAACI,GAAG,CAAC,MAAQP,EAAIQ,sBAAsB,CAACR,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAIK,YAAYM,SAASX,EAAIS,GAAG,YAAYT,EAAIY,KAAMZ,EAAIa,OAASb,EAAIa,MAAMP,IAAMN,EAAIc,SAAWd,EAAIc,QAAQR,GAAI,CAACH,EAAG,IAAI,CAACI,GAAG,CAAC,MAAQP,EAAIe,gBAAgB,CAACf,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAIa,MAAMF,SAASX,EAAIS,GAAG,WAAWN,EAAG,IAAI,CAACI,GAAG,CAAC,MAAQP,EAAIgB,kBAAkB,CAAChB,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAIc,QAAQH,SAASX,EAAIS,GAAG,YAAYT,EAAIY,KAAKZ,EAAIiB,GAAIjB,EAAsB,oBAAE,SAASkB,EAAK3R,GAAG,MAAO,CAAE2R,GAAiB,wBAATA,EAAgC,CAACf,EAAG,OAAO,CAAChS,IAAIoB,GAAG,CAAEyQ,EAAImB,sBAAwBnB,EAAImB,oBAAoB5R,KAA6HyQ,EAAImB,qBAAuBnB,EAAIoB,aAAxJjB,EAAG,IAAI,CAACI,GAAG,CAAC,MAAQ,SAASc,GAAQ,OAAOrB,EAAIsB,SAAS/R,MAAM,CAACyQ,EAAIS,GAAG,IAAIT,EAAIU,GAAGQ,EAAKP,KAAOO,EAAKP,KAAOO,GAAM,OAA6Kf,EAAG,OAAO,CAACH,EAAIS,GAAGT,EAAIU,GAAGQ,EAAKP,KAAOO,EAAKP,KAAOO,MAASlB,EAAIS,GAAG,cAAcT,EAAIY,UAAS,IACvjCW,EAAkB,G,wBCqCtB,GACEC,MAAO,CAIP,qBACF,sBACA,gBAEEC,SAAU,OAAZ,OAAY,CAAZ,CACIZ,MADJ,WAEM,OAAOhG,KAAK6G,QAAQb,OAEtBC,QAJJ,WAKM,OAAOjG,KAAK6G,QAAQZ,SAEtBT,YAPJ,WAQM,OAAOxF,KAAK6G,QAAQrB,cAE1B,gBAAI,QAAJ,6BAEEsB,QAAS,CACPL,SADJ,SACA,GACMzG,KAAK+G,MAAM,WAAYrS,IAEzBiR,oBAJJ,WAKM3F,KAAKgH,QAAQhR,KAAK,CAChBiR,KAAM,uBAGVf,cATJ,WAUMlG,KAAKgH,QAAQhR,KAAK,CAChBiR,KAAM,iBAGVd,gBAdJ,WAeMnG,KAAKgH,QAAQhR,KAAK,CAChBiR,KAAM,gBACNC,OAAQ,CACNlB,MAAOhG,KAAKgG,YC7E8T,I,YCOhVmB,EAAY,eACd,EACAjC,EACAwB,GACA,EACA,KACA,KACA,MAIa,OAAAS,E,6CClBf,IAAIjC,EAAS,WAAa,IAAIC,EAAInF,KAASoF,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAC8B,MAAM,CAAGC,MAAOlC,EAAImC,WAAYC,OAAQpC,EAAIqC,aAAe9B,GAAG,CAAC,MAAQ,CAAC,SAASc,GAAQA,EAAOiB,mBAAoBtC,EAAIuC,cAAc,CAACpC,EAAG,QAAQ,CAACqC,YAAY,QAAQC,MAAM,CAAC,KAAOzC,EAAI0C,MAAMnC,GAAG,CAAC,MAAQ,SAASc,GAAQA,EAAOiB,sBAAuBnC,EAAG,YAAY,CAACqC,YAAY,cAAcC,MAAM,CAAC,KAAOzC,EAAI0C,KAAK,IAAM1C,EAAI2C,QAAQ,IACnbpB,EAAkB,GCelBqB,EAAgB,SAASC,EAAGC,GAI5B,OAHAF,EAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgB5T,OAAS,SAAUwT,EAAGC,GAAKD,EAAEI,UAAYH,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAII,KAAKJ,EAAOA,EAAEK,eAAeD,KAAIL,EAAEK,GAAKJ,EAAEI,KAClEN,EAAcC,EAAGC,IAGrB,SAASM,EAAUP,EAAGC,GAEzB,SAASO,IAAOxI,KAAKyI,YAAcT,EADnCD,EAAcC,EAAGC,GAEjBD,EAAEtG,UAAkB,OAANuG,EAAaC,OAAOQ,OAAOT,IAAMO,EAAG9G,UAAYuG,EAAEvG,UAAW,IAAI8G,GAG5E,IAAIG,EAAW,WAQlB,OAPAA,EAAWT,OAAOjR,QAAU,SAAkB2N,GAC1C,IAAK,IAAIgE,EAAGlU,EAAI,EAAG0P,EAAInE,UAAUrL,OAAQF,EAAI0P,EAAG1P,IAE5C,IAAK,IAAI2T,KADTO,EAAI3I,UAAUvL,GACAkU,EAAOV,OAAOxG,UAAU4G,eAAe7H,KAAKmI,EAAGP,KAAIzD,EAAEyD,GAAKO,EAAEP,IAE9E,OAAOzD,GAEJ+D,EAASrG,MAAMtC,KAAMC,YAGzB,SAAS4I,EAAOD,EAAGE,GACtB,IAAIlE,EAAI,GACR,IAAK,IAAIyD,KAAKO,EAAOV,OAAOxG,UAAU4G,eAAe7H,KAAKmI,EAAGP,IAAMS,EAAE5T,QAAQmT,GAAK,IAC9EzD,EAAEyD,GAAKO,EAAEP,IACb,GAAS,MAALO,GAAqD,oBAAjCV,OAAOa,sBACtB,KAAIrU,EAAI,EAAb,IAAgB2T,EAAIH,OAAOa,sBAAsBH,GAAIlU,EAAI2T,EAAEzT,OAAQF,IAC3DoU,EAAE5T,QAAQmT,EAAE3T,IAAM,GAAKwT,OAAOxG,UAAUsH,qBAAqBvI,KAAKmI,EAAGP,EAAE3T,MACvEkQ,EAAEyD,EAAE3T,IAAMkU,EAAEP,EAAE3T,KAE1B,OAAOkQ,EAoGJ,SAASqE,IACZ,IAAK,IAAIL,EAAI,EAAGlU,EAAI,EAAGwU,EAAKjJ,UAAUrL,OAAQF,EAAIwU,EAAIxU,IAAKkU,GAAK3I,UAAUvL,GAAGE,OACxE,IAAIuU,EAAI3U,MAAMoU,GAAI5E,EAAI,EAA3B,IAA8BtP,EAAI,EAAGA,EAAIwU,EAAIxU,IACzC,IAAK,IAAI0U,EAAInJ,UAAUvL,GAAI2U,EAAI,EAAGC,EAAKF,EAAExU,OAAQyU,EAAIC,EAAID,IAAKrF,IAC1DmF,EAAEnF,GAAKoF,EAAEC,GACjB,OAAOF,E,gBCxJP,EAAQ,SAAUI,EAAKC,GAAO,OAAO,SAAUC,GAC/C,OAAOxR,KAAKuR,IAAIvR,KAAKsR,IAAIE,EAAGD,GAAMD,KAElCG,EAAW,SAAUD,GAAK,OAAQA,EAAI,EAAIE,OAAOF,EAAEG,QAAQ,IAAMH,GACjEI,EAAa,mBACbC,EAAa,gHACbC,EAAmB,oGAEnB7P,EAAS,CACTR,KAAM,SAAU+P,GAAK,MAAoB,kBAANA,GACnCO,MAAOC,WACPC,UAAW,SAAUT,GAAK,OAAOA,IAEjCU,EAAQxB,EAASA,EAAS,GAAIzO,GAAS,CAAEgQ,UAAW,EAAM,EAAG,KAC7D,EAAQvB,EAASA,EAAS,GAAIzO,GAAS,CAAEkQ,QAAS,IAElDC,EAAiB,SAAUC,GAAQ,MAAO,CAC1C5Q,KAAM,SAAU+P,GACZ,MAAoB,kBAANA,GAAkBA,EAAEc,SAASD,IAAiC,IAAxBb,EAAErP,MAAM,KAAKxF,QAErEoV,MAAOC,WACPC,UAAW,SAAUT,GAAK,MAAO,GAAKA,EAAIa,KAE1CE,EAAUH,EAAe,OACzBI,EAAUJ,EAAe,KACzBK,EAAKL,EAAe,MACpBM,EAAKN,EAAe,MACpBO,EAAKP,EAAe,MACpBQ,EAAqBlC,EAASA,EAAS,GAAI8B,GAAU,CAAET,MAAO,SAAUP,GAAK,OAAOgB,EAAQT,MAAMP,GAAK,KAAQS,UAAW,SAAUT,GAAK,OAAOgB,EAAQP,UAAc,IAAJT,MAElKqB,EAA6B,SAAUzX,GACvC,OAAOA,EAAM0X,UAAU1X,EAAM6B,QAAQ,KAAO,EAAG7B,EAAM2X,YAAY,OAEjEC,EAAe,EAAM,EAAG,KACxBC,EAAS,SAAUzB,GAAK,YAAiBzV,IAAVyV,EAAE0B,KACjCC,EAAS,SAAU3B,GAAK,YAAiBzV,IAAVyV,EAAE4B,KACrC,SAASC,EAAiBjY,GACtB,OAAOyX,EAA2BzX,GAC7BoM,QAAQ,UAAW,KACnBrF,MAAM,QAEf,IAAImR,EAAmB,SAAUC,GAC7B,OAAO,SAAU/B,GACb,GAAiB,kBAANA,EACP,OAAOA,EAGX,IAFA,IAAIgC,EAAS,GACTC,EAAcJ,EAAiB7B,GAC1B/U,EAAI,EAAGA,EAAI,EAAGA,IACnB+W,EAAOD,EAAM9W,SACUV,IAAnB0X,EAAYhX,GAAmBuV,WAAWyB,EAAYhX,IAAM,EAEpE,OAAO+W,IAGXE,EAAe,SAAUC,GACzB,IAAIT,EAAMS,EAAGT,IAAKU,EAAQD,EAAGC,MAAOC,EAAOF,EAAGE,KAAMC,EAAKH,EAAGzB,MAAOA,OAAe,IAAP4B,EAAgB,EAAIA,EAC/F,MAAO,QAAUZ,EAAM,KAAOU,EAAQ,KAAOC,EAAO,KAAO3B,EAAQ,KAEnE6B,EAAe,SAAUJ,GACzB,IAAIP,EAAMO,EAAGP,IAAKY,EAAaL,EAAGK,WAAYC,EAAYN,EAAGM,UAAWH,EAAKH,EAAGzB,MAAOA,OAAe,IAAP4B,EAAgB,EAAIA,EACnH,MAAO,QAAUV,EAAM,KAAOY,EAAa,KAAOC,EAAY,KAAO/B,EAAQ,KAE7EgC,EAAUxD,EAASA,EAAS,GAAIzO,GAAS,CAAEgQ,UAAW,SAAUT,GAAK,OAAOxR,KAAKmU,MAAMnB,EAAaxB,OACxG,SAAS4C,EAAcC,EAAOC,GAC1B,OAAOD,EAAME,WAAWD,IAAcxC,EAAiBrQ,KAAK4S,GAEhE,IAAIG,EAAO,CACP/S,KAAM,SAAU+P,GAAK,MAAqB,kBAANA,EAAiB4C,EAAc5C,EAAG,OAASyB,EAAOzB,IACtFO,MAAOuB,EAAiB,CAAC,MAAO,QAAS,OAAQ,UACjDrB,UAAW,SAAU0B,GACjB,IAAIT,EAAMS,EAAGT,IAAKU,EAAQD,EAAGC,MAAOC,EAAOF,EAAGE,KAAMC,EAAKH,EAAGzB,MAAOuC,OAAiB,IAAPX,EAAgB,EAAIA,EACjG,OAAOJ,EAAa,CAChBR,IAAKgB,EAAQjC,UAAUiB,GACvBU,MAAOM,EAAQjC,UAAU2B,GACzBC,KAAMK,EAAQjC,UAAU4B,GACxB3B,MAAOT,EAASS,EAAMD,UAAUwC,QAIxCC,EAAO,CACPjT,KAAM,SAAU+P,GAAK,MAAqB,kBAANA,EAAiB4C,EAAc5C,EAAG,OAAS2B,EAAO3B,IACtFO,MAAOuB,EAAiB,CAAC,MAAO,aAAc,YAAa,UAC3DrB,UAAW,SAAU0B,GACjB,IAAIP,EAAMO,EAAGP,IAAKY,EAAaL,EAAGK,WAAYC,EAAYN,EAAGM,UAAWH,EAAKH,EAAGzB,MAAOuC,OAAiB,IAAPX,EAAgB,EAAIA,EACrH,OAAOC,EAAa,CAChBX,IAAKpT,KAAKmU,MAAMf,GAChBY,WAAYxB,EAAQP,UAAUR,EAASuC,IACvCC,UAAWzB,EAAQP,UAAUR,EAASwC,IACtC/B,MAAOT,EAASS,EAAMD,UAAUwC,QAIxCE,EAAMjE,EAASA,EAAS,GAAI8D,GAAO,CAAE/S,KAAM,SAAU+P,GAAK,MAAoB,kBAANA,GAAkB4C,EAAc5C,EAAG,MAASO,MAAO,SAAUP,GACjI,IAAIN,EAAI,GACJ0D,EAAI,GACJ5E,EAAI,GAcR,OAbIwB,EAAE7U,OAAS,GACXuU,EAAIM,EAAEqD,OAAO,EAAG,GAChBD,EAAIpD,EAAEqD,OAAO,EAAG,GAChB7E,EAAIwB,EAAEqD,OAAO,EAAG,KAGhB3D,EAAIM,EAAEqD,OAAO,EAAG,GAChBD,EAAIpD,EAAEqD,OAAO,EAAG,GAChB7E,EAAIwB,EAAEqD,OAAO,EAAG,GAChB3D,GAAKA,EACL0D,GAAKA,EACL5E,GAAKA,GAEF,CACHkD,IAAK7Q,SAAS6O,EAAG,IACjB0C,MAAOvR,SAASuS,EAAG,IACnBf,KAAMxR,SAAS2N,EAAG,IAClBkC,MAAO,MAGfmC,EAAQ,CACR5S,KAAM,SAAU+P,GACZ,MAAqB,kBAANA,GAAkBM,EAAiBrQ,KAAK+P,IACnDyB,EAAOzB,IACP2B,EAAO3B,IAEfO,MAAO,SAAUP,GACb,OAAIgD,EAAK/S,KAAK+P,GACHgD,EAAKzC,MAAMP,GAEbkD,EAAKjT,KAAK+P,GACRkD,EAAK3C,MAAMP,GAEbmD,EAAIlT,KAAK+P,GACPmD,EAAI5C,MAAMP,GAEdA,GAEXS,UAAW,SAAUT,GACjB,OAAIyB,EAAOzB,GACAgD,EAAKvC,UAAUT,GAEjB2B,EAAO3B,GACLkD,EAAKzC,UAAUT,GAEnBA,IAIXsD,EAAc,OACdC,EAAe,OACfC,EAAuB,SAAUxD,GACjC,MAAoB,kBAANA,EAAiB,EAAIA,GAEnCyD,EAAU,CACVxT,KAAM,SAAU+P,GACZ,GAAiB,kBAANA,IAAmB0D,MAAM1D,GAChC,OAAO,EACX,IAAI2D,EAAY,EACZC,EAAe5D,EAAE6D,MAAMzD,GACvB0D,EAAc9D,EAAE6D,MAAMxD,GAK1B,OAJIuD,IACAD,GAAaC,EAAazY,QAC1B2Y,IACAH,GAAaG,EAAY3Y,QACtBwY,EAAY,GAEvBpD,MAAO,SAAUP,GACb,IAAItQ,EAAQsQ,EACR+D,EAAS,GACTD,EAAcpU,EAAMmU,MAAMxD,GAC1ByD,IACApU,EAAQA,EAAMsG,QAAQqK,EAAYiD,GAClCS,EAAOxX,KAAKsM,MAAMkL,EAAQD,EAAYE,IAAInB,EAAMtC,SAEpD,IAAIqD,EAAelU,EAAMmU,MAAMzD,GAI/B,OAHIwD,GACAG,EAAOxX,KAAKsM,MAAMkL,EAAQH,EAAaI,IAAIvT,EAAO8P,QAE/CwD,GAEXE,kBAAmB,SAAUC,GACzB,IAAIC,EAAWD,EACXE,EAAQ,EACRN,EAAcI,EAAKL,MAAMxD,GACzBgE,EAAYP,EAAcA,EAAY3Y,OAAS,EACnD,GAAI2Y,EACA,IAAK,IAAI7Y,EAAI,EAAGA,EAAIoZ,EAAWpZ,IAC3BkZ,EAAWA,EAASnO,QAAQ8N,EAAY7Y,GAAIqY,GAC5Cc,IAGR,IAAIR,EAAeO,EAASN,MAAMzD,GAC9BkE,EAAaV,EAAeA,EAAazY,OAAS,EACtD,GAAIyY,EACA,IAAS3Y,EAAI,EAAGA,EAAIqZ,EAAYrZ,IAC5BkZ,EAAWA,EAASnO,QAAQ4N,EAAa3Y,GAAIsY,GAC7Ca,IAGR,OAAO,SAAUpE,GAEb,IADA,IAAI1T,EAAS6X,EACJlZ,EAAI,EAAGA,EAAImZ,EAAOnZ,IACvBqB,EAASA,EAAO0J,QAAQ/K,EAAIoZ,EAAYf,EAAcC,EAActY,EAAIoZ,EAAYxB,EAAMpC,UAAUT,EAAE/U,IAAMgV,EAASD,EAAE/U,KAE3H,OAAOqB,IAGfiY,kBAAmB,SAAUC,GACzB,IAAIC,EAAehB,EAAQlD,MAAMiE,GAC7BE,EAAoBjB,EAAQQ,kBAAkBO,GAClD,OAAOE,EAAkBD,EAAaT,IAAIR,MChN9CmB,EAAY,aCChB,IAAIC,EAAW,EACXC,EAAgC,qBAAXC,aAA2Dva,IAAjCua,OAAOC,sBAAsC,SAAUC,GACtG,OAAOF,OAAOC,sBAAsBC,IACpC,SAAUA,GACV,IAAIC,EAAYC,KAAKC,MACjBC,EAAa5W,KAAKuR,IAAI,EAAG,MAAQkF,EAAYL,IACjDA,EAAWK,EAAYG,EACvBC,YAAW,WACP,OAAOL,EAASJ,KACjBQ,IAGHE,EAAa,SAAUC,GACvB,IAAIC,EAAe,GACfC,EAAwB,GACxBC,EAAe,EACfC,GAAe,EACf1a,EAAI,EACJ2a,EAAY,IAAIC,QAChBC,EAAc,IAAID,QAClBE,EAAa,CACbC,OAAQ,SAAUC,GACd,IAAIC,EAAkBT,EAAsBha,QAAQwa,GACpDL,EAAUO,IAAIF,IACW,IAArBC,GACAT,EAAsBW,OAAOF,EAAiB,IAGtDD,QAAS,SAAUI,GACf,IAAIlE,EAMImE,EADR,GAJAX,GAAe,EACfxD,EAAK,CAACsD,EAAuBD,GAAeA,EAAerD,EAAG,GAAIsD,EAAwBtD,EAAG,GAC7FsD,EAAsBta,OAAS,EAC/Bua,EAAeF,EAAara,OACxBua,EAEA,IAAKza,EAAI,EAAGA,EAAIya,EAAcza,IAC1Bqb,EAAYd,EAAava,GACzBqb,EAAUD,IACyB,IAA/BP,EAAYvY,IAAI+Y,IAAwBV,EAAUrY,IAAI+Y,KACtDP,EAAWQ,SAASD,GACpBf,GAAgB,IAI5BI,GAAe,GAEnBY,SAAU,SAAUN,EAASO,EAAWC,QAClB,IAAdD,IACAA,GAAY,QAEE,IAAdC,IACAA,GAAY,GAEhB9B,EAA6B,oBAAZsB,EAAwB,+BACzC,IAAIS,EAAqBD,GAAad,EAClClQ,EAASiR,EAAqBlB,EAAeC,EACjDG,EAAUe,OAAOV,GACbO,GAAWV,EAAYK,IAAIF,IACE,IAA7BxQ,EAAOhK,QAAQwa,KACfxQ,EAAOlJ,KAAK0Z,GACRS,IAAoBhB,EAAeF,EAAara,WAIhE,OAAO4a,GAGPa,EAAa,GACbC,EAAiB,EAAI,GAAK,IAC1BC,GAAoB,EACpBC,GAAmB,EACnB,GAAe,EACf,EAAQ,CACR3M,MAAO,EACP6K,UAAW,GAEX+B,GAAa,CAAC,OAAQ,SAAU,YAAa,SAAU,cACvDC,GAAsB,SAAUC,GAChC,OAAOH,EAAmBG,GAE1BC,GAAqBH,GAAWI,QAAO,SAAUC,EAAKxd,GAEtD,OADAwd,EAAIxd,GAAOyb,EAAW2B,IACfI,IACR,IACCC,GAAoBN,GAAWI,QAAO,SAAUC,EAAKxd,GACrD,IAAI+S,EAAOuK,GAAMtd,GAYjB,OAXAwd,EAAIxd,GAAO,SAAUoc,EAASO,EAAWC,GASrC,YARkB,IAAdD,IACAA,GAAY,QAEE,IAAdC,IACAA,GAAY,GAEXM,GAAkBQ,KACvB3K,EAAK2J,SAASN,EAASO,EAAWC,GAC3BR,GAEJoB,IACR,IACCG,GAA0BR,GAAWI,QAAO,SAAUC,EAAKxd,GAE3D,OADAwd,EAAIxd,GAAOsd,GAAMtd,GAAKmc,OACfqB,IACR,IACCI,GAAc,SAAUC,GACxB,OAAOP,GAAMO,GAAQzB,QAAQ,IAE7B0B,GAAe,SAAU1C,GACzB8B,GAAmB,EACnB,EAAM3M,MAAQ0M,EAAoBD,EAAiBrY,KAAKuR,IAAIvR,KAAKsR,IAAImF,EAAY,EAAMA,UAAW2B,GAAa,GAC1GE,IAAmBD,EAAiB,EAAMzM,OAC/C,EAAM6K,UAAYA,EAClB,GAAe,EACf+B,GAAWrd,QAAQ8d,IACnB,GAAe,EACXV,IACAD,GAAoB,EACpBjC,EAAY8C,MAGhBJ,GAAY,WACZR,GAAmB,EACnBD,GAAoB,EACf,GAAcjC,EAAY8C,KAE/BC,GAAe,WACf,OAAO,GAGI,MCnIXC,GAA6B,MAC7BC,GAAW,SAAUC,GACrB,OAAO,SAAUnJ,GACb,OAAO,EAAImJ,EAAO,EAAInJ,KAG1BoJ,GAAW,SAAUD,GACrB,OAAO,SAAUnJ,GACb,OAAOA,GAAK,GAAMmJ,EAAO,EAAInJ,GAAK,GAAK,EAAImJ,EAAO,GAAK,EAAInJ,KAAO,IAGtEqJ,GAAuBH,GAEvBI,GAAe,SAAUC,GACzB,OAAO,SAAUvJ,GACb,OAAOpQ,KAAKC,IAAImQ,EAAGuJ,KAGvBC,GAAe,SAAUD,GACzB,OAAO,SAAUvJ,GACb,OAAOA,EAAIA,IAAMuJ,EAAQ,GAAKvJ,EAAIuJ,KAGtCE,GAAyB,SAAUF,GACnC,IAAIG,EAAaF,GAAaD,GAC9B,OAAO,SAAUvJ,GACb,OAAQA,GAAK,GAAK,EAAI,GAAM0J,EAAW1J,GAAK,IAAO,EAAIpQ,KAAKC,IAAI,GAAI,IAAMmQ,EAAI,OAGlF2J,GAAS,SAAU3J,GACnB,OAAOA,GAEP4J,GAAsBN,GAAa,GACnCO,GAAuBX,GAASU,IAChCE,GAAyBV,GAASQ,IAClCG,GAAS,SAAU/J,GACnB,OAAO,EAAIpQ,KAAKoa,IAAIpa,KAAKqa,KAAKjK,KAE9BkK,GAAuBhB,GAASa,IAChCI,GAAyBf,GAASc,IAClCE,GAAsBZ,GAAaP,IACnCoB,GAAuBnB,GAASkB,IAChCE,GAAyBlB,GAASgB,IAClCG,GAA0Bd,GAAuBR,IAiBjDuB,GAAoB,EACpBC,GAAmB,KACnBC,GAAwB,KACxBC,GAA6B,GAC7BC,GAAsB,GACtBC,GAAqB,GAAOD,GAAsB,GAClDE,GAA6C,qBAAjBC,aAC5B,GAAI,SAAUC,EAAIC,GAClB,OAAO,EAAM,EAAMA,EAAK,EAAMD,GAE9B,GAAI,SAAUA,EAAIC,GAClB,OAAO,EAAMA,EAAK,EAAMD,GAExBE,GAAI,SAAUF,GACd,OAAO,EAAMA,GAEbG,GAAW,SAAU5O,EAAGyO,EAAIC,GAC5B,OAAO,EAAM,GAAED,EAAIC,GAAM1O,EAAIA,EAAI,EAAM,GAAEyO,EAAIC,GAAM1O,EAAI2O,GAAEF,IAEzDI,GAAa,SAAU7O,EAAGyO,EAAIC,GAC9B,QAAS,GAAED,EAAIC,GAAM1O,EAAI,GAAEyO,EAAIC,IAAO1O,EAAI2O,GAAEF,IAAOzO,GAEvD,SAAS8O,GAAYC,EAAKC,EAAKC,EAAKC,GAChC,IAAIC,EAAeZ,GAAqB,IAAIC,aAAaH,IAAuB,IAAIze,MAAMye,IACtFe,EAAkB,SAAUC,EAAIC,EAAIC,GACpC,IACIC,EACAC,EAFA3f,EAAI,EAGR,GACI2f,EAAWH,GAAMC,EAAKD,GAAM,EAC5BE,EAAWX,GAAWY,EAAUV,EAAKE,GAAOI,EACxCG,EAAW,EACXD,EAAKE,EAELH,EAAKG,QAEJpc,KAAKqc,IAAIF,GAAYrB,MAA2Bre,EAAIse,IAC7D,OAAOqB,GAEPE,EAAuB,SAAUN,EAAIO,GAIrC,IAHA,IAEIJ,EAFA1f,EAAI,EACJ+f,EAAe,EAEZ/f,EAAIme,KAAqBne,EAAG,CAE/B,GADA+f,EAAejB,GAASgB,EAASb,EAAKE,GACjB,IAAjBY,EACA,OAAOD,EAEXJ,EAAWX,GAAWe,EAASb,EAAKE,GAAOI,EAC3CO,GAAWJ,EAAWK,EAE1B,OAAOD,GAEPE,EAAmB,WACnB,IAAK,IAAIhgB,EAAI,EAAGA,EAAIue,KAAuBve,EACvCqf,EAAarf,GAAK+e,GAAW/e,EAAIwe,GAAoBS,EAAKE,IAG9Dc,EAAW,SAAUV,GAOrB,IANA,IAAIW,EAAgB,EAChBC,EAAgB,EAChBC,EAAa7B,GAAsB,EACnC8B,EAAO,EACPC,EAAY,EACZC,EAAe,EACZJ,IAAkBC,GAAcf,EAAac,IAAkBZ,IAAMY,EACxED,GAAiB1B,GAMrB,QAJE2B,EACFE,GAAQd,EAAKF,EAAac,KAAmBd,EAAac,EAAgB,GAAKd,EAAac,IAC5FG,EAAYJ,EAAgBG,EAAO7B,GACnC+B,EAAezB,GAASwB,EAAWrB,EAAKE,GACpCoB,GAAgBnC,GACTyB,EAAqBN,EAAIe,GACR,IAAjBC,EACAD,EAEAhB,EAAgBC,EAAIW,EAAeA,EAAgB1B,KAGlEwB,IACA,IAAIQ,EAAW,SAAUjB,GACrB,IAAIkB,EAUJ,OARIA,EADAxB,IAAQC,GAAOC,IAAQC,EACTG,EACA,IAAPA,EACO,EACA,IAAPA,EACO,EAEAR,GAAWkB,EAASV,GAAKL,EAAKE,GAEzCqB,GAEX,OAAOD,ECpJX,IAAIE,GAAY,CACZC,EAAG,EACHC,EAAG,EACHC,EAAG,GAEHC,GAAQ,SAAU/L,GAAK,MAAoB,kBAANA,GAErCgM,GAAmB,SAAWC,GAAW,OAAkB,IAAVA,EAAiBzd,KAAK0d,IAEvEC,GAAQ,SAAWxM,EAAGnB,GAEtB,YADU,IAANA,IAAgBA,EAAImN,IACjBK,GAAiBxd,KAAK4d,MAAM5N,EAAEqN,EAAIlM,EAAEkM,EAAGrN,EAAEoN,EAAIjM,EAAEiM,KAGtDS,GAAc,SAAWC,EAAMC,GAC/B,IAAIC,GAAkB,EAKtB,YAJWjiB,IAAPgiB,IACAA,EAAKD,EACLE,GAAkB,GAEf,SAAUxM,GACb,OAAIwM,EACOxM,EAAIsM,EAAOC,GAGlBD,EAAOtM,EACPwM,GAAkB,EACXD,KAKfE,GAAa,SAAWC,GAAQ,OAAO,SAAU5M,EAAKC,EAAKC,GAAK,YAAczV,IAANyV,EAAkB0M,EAAK5M,EAAKC,EAAKC,GAAK,SAAU2M,GAAM,OAAOD,EAAK5M,EAAKC,EAAK4M,MAEpJ,GAAQ,SAAU7M,EAAKC,EAAKC,GAC5B,OAAOxR,KAAKsR,IAAItR,KAAKuR,IAAIC,EAAGF,GAAMC,IAElC6M,GAAUH,GAAW,IAErBI,GAAc,SAAWC,EAAOjU,GAAS,OAAO,SAAUmH,GAC1D,OAAO8M,EAAM9M,GAAKnH,EAAMmH,GAAKA,IAK7B+M,GAAU,SAAWC,GACrB,OAAOA,EAAMnO,eAAe,MAAQmO,EAAMnO,eAAe,MAGzDoO,GAAY,SAAWD,GACvB,OAAOD,GAAQC,IAAUA,EAAMnO,eAAe,MAG9CqO,GAAa,SAAUvN,EAAGnB,GAAK,OAAOhQ,KAAKqc,IAAIlL,EAAInB,IACnD2O,GAAW,SAAWxN,EAAGnB,GAEzB,QADU,IAANA,IAAgBA,EAAImN,IACpBI,GAAMpM,IAAMoM,GAAMvN,GAClB,OAAO0O,GAAWvN,EAAGnB,GAEpB,GAAIuO,GAAQpN,IAAMoN,GAAQvO,GAAI,CAC/B,IAAI4O,EAASF,GAAWvN,EAAEiM,EAAGpN,EAAEoN,GAC3ByB,EAASH,GAAWvN,EAAEkM,EAAGrN,EAAEqN,GAC3ByB,EAASL,GAAUtN,IAAMsN,GAAUzO,GAAK0O,GAAWvN,EAAEmM,EAAGtN,EAAEsN,GAAK,EACnE,OAAOtd,KAAK+e,KAAK/e,KAAKC,IAAI2e,EAAQ,GAAK5e,KAAKC,IAAI4e,EAAQ,GAAK7e,KAAKC,IAAI6e,EAAQ,IAElF,OAAO,GAGP,GAAW,SAAWhB,EAAMC,EAAI3iB,GAChC,IAAI4jB,EAAmBjB,EAAKD,EAC5B,OAA4B,IAArBkB,EAAyB,GAAK5jB,EAAQ0iB,GAAQkB,GAGrDC,GAAM,SAAWnB,EAAMC,EAAImB,GAC3B,OAAQA,EAAWpB,EAAOoB,EAAWnB,EAAKD,GAkB1C,GAAW,WAQX,OAPA,GAAW7N,OAAOjR,QAAU,SAAkB2N,GAC1C,IAAK,IAAIgE,EAAGlU,EAAI,EAAG0P,EAAInE,UAAUrL,OAAQF,EAAI0P,EAAG1P,IAE5C,IAAK,IAAI2T,KADTO,EAAI3I,UAAUvL,GACAkU,EAAOV,OAAOxG,UAAU4G,eAAe7H,KAAKmI,EAAGP,KAAIzD,EAAEyD,GAAKO,EAAEP,IAE9E,OAAOzD,GAEJ,GAAStC,MAAMtC,KAAMC,YAG5BmX,GAAiB,SAAUrB,EAAMC,EAAIvM,GACrC,IAAI4N,EAAWtB,EAAOA,EAClBuB,EAAStB,EAAKA,EAClB,OAAO/d,KAAK+e,KAAK/e,KAAKuR,IAAI,EAAGC,GAAK6N,EAASD,GAAYA,KAEvDE,GAAa,CAAC3K,EAAKH,EAAME,GACzB6K,GAAe,SAAU/N,GACzB,OAAO8N,GAAWE,MAAK,SAAUtX,GAAQ,OAAOA,EAAKzG,KAAK+P,OAE1DiO,GAAgB,SAAUC,GAC1B,MAAO,IAAMA,EAAW,wEAExBC,GAAW,SAAW7B,EAAMC,GAC5B,IAAI6B,EAAgBL,GAAazB,GAC7B+B,EAAcN,GAAaxB,GAC/B5H,IAAYyJ,EAAeH,GAAc3B,IACzC3H,IAAY0J,EAAaJ,GAAc1B,IACvC5H,EAAUyJ,EAAc3N,YAAc4N,EAAY5N,UAAW,uDAC7D,IAAI6N,EAAYF,EAAc7N,MAAM+L,GAChCiC,EAAUF,EAAY9N,MAAMgM,GAC5BiC,EAAU,GAAS,GAAIF,GACvBG,EAAUL,IAAkBlL,EAAOuK,GAAME,GAC7C,OAAO,SAAU3N,GACb,IAAK,IAAInW,KAAO2kB,EACA,UAAR3kB,IACA2kB,EAAQ3kB,GAAO4kB,EAAQH,EAAUzkB,GAAM0kB,EAAQ1kB,GAAMmW,IAI7D,OADAwO,EAAQ9N,MAAQ+M,GAAIa,EAAU5N,MAAO6N,EAAQ7N,MAAOV,GAC7CoO,EAAc3N,UAAU+N,KAInCE,GAAmB,SAAU/O,EAAGnB,GAAK,OAAO,SAAUwB,GAAK,OAAOxB,EAAEmB,EAAEK,MACtE2O,GAAO,WAEP,IADA,IAAIC,EAAe,GACVC,EAAK,EAAGA,EAAKrY,UAAUrL,OAAQ0jB,IACpCD,EAAaC,GAAMrY,UAAUqY,GAEjC,OAAOD,EAAaxH,OAAOsH,KAG/B,SAASI,GAAS7X,EAAQuN,GACtB,OAAIuH,GAAM9U,GACC,SAAU+I,GAAK,OAAOyN,GAAIxW,EAAQuN,EAAQxE,IAE5C6C,EAAM5S,KAAKgH,GACTkX,GAASlX,EAAQuN,GAGjBuK,GAAW9X,EAAQuN,GAGlC,IAAIwK,GAAW,SAAU1C,EAAMC,GAC3B,IAAIjgB,EAASggB,EAAKvc,QACd4T,EAAYrX,EAAOnB,OACnB8jB,EAAa3C,EAAKtI,KAAI,SAAUkL,EAAUjkB,GAAK,OAAO6jB,GAASI,EAAU3C,EAAGthB,OAChF,OAAO,SAAU+U,GACb,IAAK,IAAI/U,EAAI,EAAGA,EAAI0Y,EAAW1Y,IAC3BqB,EAAOrB,GAAKgkB,EAAWhkB,GAAG+U,GAE9B,OAAO1T,IAGX6iB,GAAY,SAAUlY,EAAQuN,GAC9B,IAAIlY,EAAS,GAAS,GAAI2K,EAAQuN,GAC9ByK,EAAa,GACjB,IAAK,IAAIplB,KAAOyC,OACQ/B,IAAhB0M,EAAOpN,SAAsCU,IAAhBia,EAAO3a,KACpColB,EAAWplB,GAAOilB,GAAS7X,EAAOpN,GAAM2a,EAAO3a,KAGvD,OAAO,SAAUmW,GACb,IAAK,IAAInW,KAAOolB,EACZ3iB,EAAOzC,GAAOolB,EAAWplB,GAAKmW,GAElC,OAAO1T,IAGf,SAAS8iB,GAAQxlB,GAMb,IALA,IAAIma,EAASN,EAAQlD,MAAM3W,GACvB+Z,EAAYI,EAAO5Y,OACnBmZ,EAAa,EACb+K,EAAS,EACTC,EAAS,EACJrkB,EAAI,EAAGA,EAAI0Y,EAAW1Y,IACvBqZ,GAAmC,kBAAdP,EAAO9Y,GAC5BqZ,SAGsB/Z,IAAlBwZ,EAAO9Y,GAAG2W,IACV0N,IAGAD,IAIZ,MAAO,CAAEtL,OAAQA,EAAQO,WAAYA,EAAY+K,OAAQA,EAAQC,OAAQA,GAE7E,IAAIP,GAAa,SAAU9X,EAAQuN,GAC/B,IAAIL,EAAWV,EAAQQ,kBAAkBO,GACrC+K,EAAcH,GAAQnY,GACtBuY,EAAcJ,GAAQ5K,GAI1B,OAHAG,EAAU4K,EAAYD,SAAWE,EAAYF,QACzCC,EAAYF,SAAWG,EAAYH,QACnCE,EAAYjL,YAAckL,EAAYlL,WAAY,mBAAqBrN,EAAS,UAAYuN,EAAS,mEAClGmK,GAAKK,GAASO,EAAYxL,OAAQyL,EAAYzL,QAASI,IAG9DsL,GAAY,SAAUnD,EAAMC,GAAM,OAAO,SAAU3N,GAAK,OAAO6O,GAAInB,EAAMC,EAAI3N,KACjF,SAAS8Q,GAAmB1P,GACxB,MAAiB,kBAANA,EACAyP,GAEW,kBAANzP,EACR6C,EAAM5S,KAAK+P,GACJmO,GAGAY,GAGNhkB,MAAM4kB,QAAQ3P,GACZgP,GAEW,kBAANhP,EACLmP,QADN,EAIT,SAASS,GAAatjB,EAAQujB,EAAMC,GAIhC,IAHA,IAAIC,EAAS,GACTC,EAAeF,GAAeJ,GAAmBpjB,EAAO,IACxD2jB,EAAY3jB,EAAOnB,OAAS,EACvBF,EAAI,EAAGA,EAAIglB,EAAWhlB,IAAK,CAChC,IAAIilB,EAAQF,EAAa1jB,EAAOrB,GAAIqB,EAAOrB,EAAI,IAC/C,GAAI4kB,EAAM,CACN,IAAIM,EAAiBplB,MAAM4kB,QAAQE,GAAQA,EAAK5kB,GAAK4kB,EACrDK,EAAQvB,GAAKwB,EAAgBD,GAEjCH,EAAOxjB,KAAK2jB,GAEhB,OAAOH,EAEX,SAASK,GAAgBjO,EAAIG,GACzB,IAAIgK,EAAOnK,EAAG,GAAIoK,EAAKpK,EAAG,GACtB+N,EAAQ5N,EAAG,GACf,OAAO,SAAUtC,GAAK,OAAOkQ,EAAM,GAAS5D,EAAMC,EAAIvM,KAE1D,SAASqQ,GAAgB3gB,EAAOqgB,GAC5B,IAAIrV,EAAchL,EAAMvE,OACpBmlB,EAAiB5V,EAAc,EACnC,OAAO,SAAUsF,GACb,IAAIuQ,EAAa,EACbC,GAAkB,EAQtB,GAPIxQ,GAAKtQ,EAAM,GACX8gB,GAAkB,EAEbxQ,GAAKtQ,EAAM4gB,KAChBC,EAAaD,EAAiB,EAC9BE,GAAkB,IAEjBA,EAAiB,CAElB,IADA,IAAIvlB,EAAI,EACDA,EAAIyP,EAAazP,IACpB,GAAIyE,EAAMzE,GAAK+U,GAAK/U,IAAMqlB,EACtB,MAGRC,EAAatlB,EAAI,EAErB,IAAIwlB,EAAkB,GAAS/gB,EAAM6gB,GAAa7gB,EAAM6gB,EAAa,GAAIvQ,GACzE,OAAO+P,EAAOQ,GAAYE,IAGlC,SAASC,GAAYhhB,EAAOpD,EAAQ6V,GAChC,IAAIG,OAAY,IAAPH,EAAgB,GAAKA,EAAItG,EAAKyG,EAAGqO,MAAOA,OAAe,IAAP9U,GAAuBA,EAAIgU,EAAOvN,EAAGuN,KAAMK,EAAQ5N,EAAG4N,MAC3GxV,EAAchL,EAAMvE,OACxBwZ,EAAUjK,IAAgBpO,EAAOnB,OAAQ,wDACzCwZ,GAAWkL,IAAS9kB,MAAM4kB,QAAQE,IAASA,EAAK1kB,SAAWuP,EAAc,EAAG,oIACxEhL,EAAM,GAAKA,EAAMgL,EAAc,KAC/BhL,EAAQ,GAAGkhB,OAAOlhB,GAClBpD,EAAS,GAAGskB,OAAOtkB,GACnBoD,EAAMmhB,UACNvkB,EAAOukB,WAEX,IAAId,EAASH,GAAatjB,EAAQujB,EAAMK,GACpCY,EAA+B,IAAhBpW,EACb0V,GAAgB1gB,EAAOqgB,GACvBM,GAAgB3gB,EAAOqgB,GAC7B,OAAOY,EACDhC,GAAK/B,GAAQld,EAAM,GAAIA,EAAMgL,EAAc,IAAKoW,GAChDA,EAGV,IChOIC,GDwOAC,GAAY,SAAW/kB,EAAKglB,GAG5B,YAFkB,IAAdA,IAAwBA,EAAY,GACxCA,EAAYziB,KAAKC,IAAI,GAAIwiB,GAClBziB,KAAKmU,MAAM1W,EAAMglB,GAAaA,GAGrCC,GAAc,SAAWC,EAAWC,EAAWC,EAAUC,GAEzD,YADkB,IAAdA,IAAwBA,EAAY,GACjCN,GAAUG,EACZE,GAAYD,EAAYD,GAAc3iB,KAAKuR,IAAIuR,EAAWD,KAG/DE,GAAS,SAAWC,QACH,IAAbA,IAAuBA,EAAW,IACtC,IAAIC,EAAgB,EAChBC,EAAc,EAClB,OAAO,SAAU1R,GACb,IAAI2R,EAAoB/J,KAAe3C,UACnC2M,EAAYD,IAAsBD,EAAcC,EAAoBD,EAAc,EAClFG,EAAWD,EACTV,GAAYO,EAAezR,EAAG4R,EAAWJ,GACzCC,EAGN,OAFAC,EAAcC,EACdF,EAAgBI,EACTA,IAIXC,GAAO,SAAWC,GAClB,GAAsB,kBAAXA,EACP,OAAO,SAAU/R,GAAK,OAAOxR,KAAKmU,MAAM3C,EAAI+R,GAAUA,GAGtD,IAAIC,EAAM,EACNC,EAAcF,EAAO5mB,OACzB,OAAO,SAAU6U,GACb,IAAIkS,EAAe1jB,KAAKqc,IAAIkH,EAAO,GAAK/R,GACxC,IAAKgS,EAAM,EAAGA,EAAMC,EAAaD,IAAO,CACpC,IAAIhF,EAAQ+E,EAAOC,GACf7E,EAAW3e,KAAKqc,IAAImC,EAAQhN,GAChC,GAAiB,IAAbmN,EACA,OAAOH,EACX,GAAIG,EAAW+E,EACX,OAAOH,EAAOC,EAAM,GACxB,GAAIA,IAAQC,EAAc,EACtB,OAAOjF,EACXkF,EAAe/E,KAM3BgF,GAAW,SAAUnS,GAAK,OAAOA,GACjCoS,GAAc,SAAUC,GAExB,YAD0B,IAAtBA,IAAgCA,EAAoBF,IACjD1F,IAAW,SAAU6F,EAAUrb,EAAQ+I,GAC1C,IAAIuS,EAAetb,EAAS+I,EACxBwS,IAA+B,EAAIF,EAAW,IAAM,EAAID,EAAkB7jB,KAAKqc,IAAI0H,KACvF,OAAOA,GAAgB,EACjBtb,EAASub,EACTvb,EAASub,MAGnBC,GAAoBL,KACpBM,GAAkBN,GAAY5jB,KAAK+e,MAEnCoF,GAAmB,SAAWC,EAAKC,GACnC,OAAO9G,GAAM6G,GAAOA,GAAO,IAAOC,GAAiB,GAGnDC,GAAoB,SAAWC,EAAUF,GACzC,OAAOA,EAAgBE,GAAY,IAAOF,GAAiB,GAG3DG,GAAO,SAAUlT,EAAKC,EAAKC,GAC3B,IAAIiT,EAAYlT,EAAMD,EACtB,QAAWE,EAAIF,GAAOmT,EAAaA,GAAaA,EAAanT,GAE7DoT,GAASzG,GAAWuG,ICjYpBG,IDmYgBvG,GAAQ,EAAG,GCnYZ,SAAUzK,GACzB,IAAIiR,EAASjR,EAAGiR,OACZC,EAAWlR,EAAGkR,SACd/Q,EAAKH,EAAGmR,eACRA,OAAwB,IAAPhR,EAAgB,IAAIiR,IAAQjR,EAC7CzG,EAAKsG,EAAGqR,SACRA,OAAkB,IAAP3X,GAAuBA,EACtC,OAAO,SAAUsG,QACF,IAAPA,IACAA,EAAK,IAET,IAAIjF,EAAQkC,EAAO+C,EAAI,IACnB3M,EAAQ,GACRie,EAAgB,GAChBC,GAAa,EACjB,SAASC,EAAS9pB,EAAKD,GACfC,EAAIkZ,WAAW,QACf7F,EAAM0W,gBAAiB,GAE3B,IAAInZ,EAAejF,EAAM3L,GACzB2L,EAAM3L,GAAOD,EACT4L,EAAM3L,KAAS4Q,KACiB,IAAhCgZ,EAAchoB,QAAQ5B,IACtB4pB,EAAclnB,KAAK1C,GAElB6pB,IACDA,GAAa,EACb,GAAKjY,OAAOoY,EAAOpY,UAG3B,IAAIoY,EAAS,CACT5pB,IAAK,SAAUJ,EAAKiqB,QACE,IAAdA,IACAA,GAAY,GAEhB,IAAIC,GAAaD,GAAaN,IAAaF,EAAe/lB,IAAI1D,SAAuBU,IAAfiL,EAAM3L,GAC5E,OAAOkqB,EAAYve,EAAM3L,GAAOupB,EAAOvpB,EAAKqT,IAEhD9O,IAAK,SAAU4T,EAAQpY,GACnB,GAAsB,kBAAXoY,EACP2R,EAAS3R,EAAQpY,QAEjB,IAAK,IAAIC,KAAOmY,EACZ2R,EAAS9pB,EAAKmY,EAAOnY,IAG7B,OAAO0M,MAEXkF,OAAQ,SAAUuY,GASd,YARoB,IAAhBA,IACAA,GAAc,IAEdN,IAA8B,IAAhBM,KACdX,EAAS7d,EAAO0H,EAAOuW,GACvBC,GAAa,EACbD,EAActoB,OAAS,GAEpBoL,OAGf,OAAOsd,KAIXI,GAAqB,kBACrBC,GAAmB,QACnBC,GAAc,SAAUC,GACxB,OAAOA,EAAIpe,QAAQie,GAAoBC,IAAkBtgB,eAGzDygB,GAA0B,IAAIC,IAC9BC,GAAyB,IAAID,IAC7BE,GAAW,CAAC,SAAU,MAAO,IAAK,KAAM,IACxCC,GAAcD,GAASrpB,OACvBupB,GAAgC,qBAAbC,SAEnBC,GAAgB,SAAU/qB,EAAKgrB,GAC/B,OAAON,GAAUnmB,IAAIvE,EAAKsqB,GAAYU,KAEtCC,GAAa,SAAUjrB,GACvBknB,GAAcA,IAAe4D,SAASI,cAAc,OACpD,IAAK,IAAI9pB,EAAI,EAAGA,EAAIwpB,GAAaxpB,IAAK,CAClC,IAAI+pB,EAASR,GAASvpB,GAClBgqB,EAAsB,KAAXD,EACXE,EAAuBD,EAAWprB,EAAMmrB,EAASnrB,EAAIgG,OAAO,GAAGslB,cAAgBtrB,EAAIkG,MAAM,GAC7F,GAAImlB,KAAwBnE,GAAYpT,OAASsX,EAAU,CACvD,GAAIA,GAAoB,aAARprB,GAAsB0qB,GAAUhnB,IAAI1D,GAChD,OAEJwqB,GAAWjmB,IAAIvE,EAAKqrB,GACpBN,GAAc/qB,GAAWorB,EAAW,GAAK,KAAOd,GAAYe,OAIpEE,GAAoB,SAAUvrB,GAC9B,OAAO+qB,GAAc/qB,EAAKA,IAE1BwrB,GAAW,SAAUxrB,EAAKyrB,QACP,IAAfA,IACAA,GAAa,GAEjB,IAAIC,EAAQD,EAAaf,GAAYF,GAIrC,OAHKkB,EAAMhoB,IAAI1D,KACX6qB,GAAYI,GAAWjrB,GAAOurB,GAAkBvrB,IAE7C0rB,EAAMtrB,IAAIJ,IAAQA,GAGzB2rB,GAAO,CAAC,GAAI,IAAK,IAAK,KACtBC,GAAQ,CAAC,YAAa,QAAS,SAAU,OAAQ,wBACjDC,GAA8BD,GAAMrO,QAAO,SAAUC,EAAKxd,GAC1D,OAAO2rB,GAAKpO,QAAO,SAAUuO,EAASC,GAElC,OADAD,EAAQppB,KAAK1C,EAAM+rB,GACZD,IACRtO,KACJ,CAAC,IAAK,IAAK,MACVwO,GAAuCH,GAAetO,QAAO,SAAU0O,EAAMjsB,GAE7E,OADAisB,EAAKjsB,IAAO,EACLisB,IACR,IACH,SAASC,GAAgBlsB,GACrB,OAAwC,IAAjCgsB,GAAwBhsB,GAEnC,SAASmsB,GAAmBrW,EAAGnB,GAC3B,OAAOkX,GAAejqB,QAAQkU,GAAK+V,GAAejqB,QAAQ+S,GAE9D,IAAIyX,GAAoC,IAAI1C,IAAI,CAAC,UAAW,UAAW,YACvE,SAAS2C,GAAsBrsB,GAC3B,OAAOosB,GAAqB1oB,IAAI1D,GAGpC,IAAI,GAAmBqV,EAAuBA,EAAS,GAAIzO,GAAS,CAAEgQ,UAAWjS,KAAKmU,QAClFwT,GAAa,CACbtT,MAAOA,EACPuT,gBAAiBvT,EACjBwT,aAAcxT,EACdyT,KAAMzT,EACN0T,OAAQ1T,EACR2T,YAAa3T,EACb4T,eAAgB5T,EAChB6T,iBAAkB7T,EAClB8T,kBAAmB9T,EACnB+T,gBAAiB/T,EACjBgU,YAAa5V,EACb6V,eAAgB7V,EAChB8V,iBAAkB9V,EAClB+V,kBAAmB/V,EACnBgW,gBAAiBhW,EACjBiW,aAAcjW,EACdkW,OAAQlW,EACRmW,oBAAqBnW,EACrBoW,qBAAsBpW,EACtBqW,wBAAyBrW,EACzBsW,uBAAwBtW,EACxBrD,MAAOqD,EACPuW,SAAUvW,EACVnD,OAAQmD,EACRwW,UAAWxW,EACXyW,KAAMzW,EACN0W,IAAK1W,EACL2W,MAAO3W,EACP4W,OAAQ5W,EACR6W,KAAM7W,EACN8W,QAAS9W,EACT+W,WAAY/W,EACZgX,aAAchX,EACdiX,cAAejX,EACfkX,YAAalX,EACbmX,OAAQnX,EACRoX,UAAWpX,EACXqX,YAAarX,EACbsX,aAActX,EACduX,WAAYvX,EACZwX,OAAQ1X,EACR2X,QAAS3X,EACT4X,QAAS5X,EACT6X,QAAS7X,EACT8X,MAAO,EACPC,OAAQ,EACRC,OAAQ,EACRC,OAAQ,EACR7f,KAAM4H,EACNkY,MAAOlY,EACPmY,MAAOnY,EACPoM,SAAUlM,EACVkY,WAAYlY,EACZmY,WAAYnY,EACZoY,WAAYpY,EACZ2K,EAAG3K,EACH4K,EAAG5K,EACH6K,EAAG7K,EACHqY,YAAarY,EACbsY,QAAS7Y,EACT8Y,QAASpY,EACTqY,QAASrY,EACTsY,QAASzY,EACT0Y,OAAQ,GACRC,YAAalZ,EACbmZ,cAAenZ,EACfoZ,WAAY,IAEZC,GAAe,SAAUlwB,GACzB,OAAOssB,GAAWtsB,IAElBmwB,GAAiB,SAAUpwB,EAAO8M,GAClC,OAAOA,GAAyB,kBAAV9M,EAAqB8M,EAAK+J,UAAU7W,GAASA,GAGnEqwB,GAAc,aACdC,GAAa,YACbC,GAA0B,IAAI5G,IAAI,CAAC0G,GAAaC,KAEhDE,GAAyB,IAAI7G,IAAI,CAAC0G,GAAaC,GAAY,cAC3DG,GAAiB,CACjBzO,EAAG,aACHC,EAAG,aACHC,EAAG,cAEP,SAASwO,GAAiBta,GACtB,MAAoB,oBAANA,EAElB,SAASua,GAAe/kB,EAAOiL,EAAW+Z,EAAeC,EAAoBC,EAA4BC,QAC1E,IAAvBA,IACAA,GAAqB,GAEzB,IAAIC,EAAkB,GAClBC,GAAgB,EACpBL,EAAczwB,KAAKisB,IAEnB,IADA,IAAI8E,EAAmBN,EAAcrvB,OAC5BF,EAAI,EAAGA,EAAI6vB,EAAkB7vB,IAAK,CACvC,IAAIpB,EAAM2wB,EAAcvvB,GACxB2vB,IAAoBP,GAAexwB,IAAQA,GAAO,IAAM4W,EAAU5W,GAAO,KACzEgxB,EAAwB,MAARhxB,GAAqBgxB,EAYzC,OAVKA,GAAiBH,EAClBE,GAAmB,gBAEnBA,EAAkBA,EAAgBG,OAElCT,GAAiB9kB,EAAMiL,WACvBma,EAAkBplB,EAAMiL,UAAUA,EAAWga,EAAqB,GAAKG,GAChED,GAAsBF,IAC7BG,EAAkB,QAEfA,EAEX,SAASI,GAAmBxlB,EAAOklB,EAA4BO,EAAQxa,EAAWya,EAAiBV,EAAeW,EAAYR,QACvF,IAA/BD,IACAA,GAA6B,QAElB,IAAXO,IACAA,EAAS,SAEK,IAAdxa,IACAA,EAAY,SAEQ,IAApBya,IACAA,EAAkB,SAEA,IAAlBV,IACAA,EAAgB,SAED,IAAfW,IACAA,GAAa,QAEU,IAAvBR,IACAA,GAAqB,GAEzB,IAAIF,GAAqB,EACrBW,GAAe,EACfC,GAAqB,EACzB,IAAK,IAAIxxB,KAAO2L,EAAO,CACnB,IAAI5L,EAAQ4L,EAAM3L,GACdyxB,EAAYvB,GAAalwB,GACzB0xB,EAAcvB,GAAepwB,EAAO0xB,GACpCvF,GAAgBlsB,IAChBuxB,GAAe,EACf3a,EAAU5W,GAAO0xB,EACjBf,EAAcjuB,KAAK1C,GACf4wB,IACIa,EAAU3a,SAAW/W,IAAU0xB,EAAU3a,UAAY2a,EAAU3a,SAAqB,IAAV/W,KAC1E6wB,GAAqB,IAGtBvE,GAAsBrsB,IAC7BqxB,EAAgBrxB,GAAO0xB,EACvBF,GAAqB,GACbjB,GAAU7sB,IAAI1D,IAASywB,GAAiBiB,KAChDN,EAAO5F,GAASxrB,EAAKsxB,IAAeI,GAS5C,OANIH,GAA2C,oBAApB5lB,EAAMiL,aAC7Bwa,EAAOxa,UAAY8Z,GAAe/kB,EAAOiL,EAAW+Z,EAAeC,EAAoBC,EAA4BC,IAEnHU,IACAJ,EAAOC,iBAAmBA,EAAgB1B,SAAW,OAAS,KAAO0B,EAAgBzB,SAAW,OAAS,KAAOyB,EAAgBxB,SAAW,IAExIuB,EAEX,SAASO,GAAmBrZ,GACxB,IAAIG,OAAY,IAAPH,EAAgB,GAAKA,EAC1BtG,EAAKyG,EAAGoY,2BACRA,OAAoC,IAAP7e,GAAuBA,EACpD4f,EAAKnZ,EAAG6Y,WACRA,OAAoB,IAAPM,GAAuBA,EACpCnf,EAAKgG,EAAGqY,mBACRA,OAA4B,IAAPre,GAAuBA,EAC5C2e,EAAS,GACTxa,EAAY,GACZya,EAAkB,GAClBV,EAAgB,GACpB,OAAO,SAAUhlB,GAGb,OAFAglB,EAAcrvB,OAAS,EACvB6vB,GAAmBxlB,EAAOklB,EAA4BO,EAAQxa,EAAWya,EAAiBV,EAAeW,EAAYR,GAC9GM,GAIf,SAAS,GAAOpxB,EAAK6xB,GACjB,IAAIC,EAAUD,EAAQC,QAClBC,EAAiBF,EAAQE,eACzBC,EAAmB9B,GAAalwB,GACpC,GAAIksB,GAAgBlsB,GAChB,OAAOgyB,GAAmBA,EAAiBlb,SAAe,EACvD,GAAIwZ,GAAW5sB,IAAI1D,GACtB,OAAO8xB,EAAQ9xB,GAEf,IAAIiyB,EAAWhX,OAAOiX,iBAAiBJ,EAAS,MAAMK,iBAAiB3G,GAASxrB,GAAK,KAAU,EAC/F,OAAO+xB,GAAkBC,GAAoBA,EAAiB5rB,KAAK6rB,IAAaD,EAAiBtb,MAAQsb,EAAiBtb,MAAMub,GAAYA,EAGpJ,SAAS,GAAStmB,EAAO2M,EAAIsR,GACzB,IAAIkI,EAAUxZ,EAAGwZ,QACbM,EAAc9Z,EAAG8Z,YACjBrI,EAAiBzR,EAAGyR,eAExB,GADAnV,OAAOjR,OAAOmuB,EAAQhe,MAAOse,EAAYzmB,IACrCoe,EAEA,IADA,IAAIsI,EAAmBzI,EAActoB,OAC5BF,EAAI,EAAGA,EAAIixB,EAAkBjxB,IAAK,CACvC,IAAIpB,EAAM4pB,EAAcxoB,GACpBpB,EAAIkZ,WAAW,OACf4Y,EAAQhe,MAAMwe,YAAYtyB,EAAK2L,EAAM3L,KAIL,IAAxC4pB,EAAchoB,QAAQwuB,MACtB0B,EAAQ1B,IAAezkB,EAAMykB,MAEU,IAAvCxG,EAAchoB,QAAQyuB,MACtByB,EAAQzB,IAAc1kB,EAAM0kB,KAGpC,IAAIkC,GAAyBjJ,GAAa,CACtCC,OAAQ,GACRC,SAAU,GACVC,eAAgB6G,KAEpB,SAASkC,GAAgBV,EAASxZ,QACnB,IAAPA,IACAA,EAAK,IAET,IAAIuY,EAA6BvY,EAAGuY,2BAChCC,EAAqBxY,EAAGwY,mBACxBzd,EAAQkC,EAAO+C,EAAI,CAAC,6BAA8B,uBACtD,OAAOia,GAAUld,EAAS,CAAEyc,QAASA,EAASM,YAAaT,GAAmB,CACtEd,2BAA4BA,EAC5BC,mBAAoBA,IACpBiB,gBAAgB,GAAQ1e,IAGpC,IAAIof,GAAmC,IAAI/I,IAAI,CAAC,gBAAiB,kBAAmB,eAAgB,mBAAoB,aAAc,WAAY,oBAAqB,eAAgB,cAAe,aAAc,UAAW,UAAW,eAAgB,mBAAoB,mBAAoB,eAAgB,gBAE9SgJ,GAAgB,GAChBC,GAAmB,WACnB,MAAO,CACH7e,MAAO,KAGX8e,GAAmB,SAAU/O,EAAUviB,GACvC,OAAO8V,EAAGR,UAAUiN,EAAWviB,IAE/BuxB,GAAa,CAAE9Q,EAAG,EAAGC,EAAG,EAAGjO,MAAO,EAAGE,OAAQ,GACjD,SAAS6e,GAAW1lB,EAAQ2lB,EAAQlF,GAChC,MAAyB,kBAAXzgB,EAAsBA,EAASgK,EAAGR,UAAUmc,EAASlF,EAAOzgB,GAE9E,SAAS4lB,GAA4BC,EAAYtD,EAASC,GACtD,OAAOkD,GAAWnD,EAASsD,EAAWlR,EAAGkR,EAAWlf,OAAS,IAAM+e,GAAWlD,EAASqD,EAAWjR,EAAGiR,EAAWhf,QAEpH,IAAIif,GAAiB,CACjBrC,4BAA4B,EAC5BS,YAAY,GAEhB,SAAS6B,GAAc7a,EAAI2a,EAAYG,EAAiBC,EAAY/e,EAAOgd,QACpD,IAAf2B,IACAA,EAAaJ,SAEE,IAAfQ,IACAA,EAAa1B,GAAmBuB,UAEtB,IAAV5e,IACAA,EAAQqe,WAEO,IAAfrB,IACAA,GAAa,GAEjB,IAAIgC,EAAQhb,EAAGgb,MACXC,EAAQjb,EAAGib,MACX5D,EAAUrX,EAAGqX,QACbC,EAAUtX,EAAGsX,QACb4D,EAAalb,EAAGkb,WAChB/a,EAAKH,EAAGmb,YACRA,OAAqB,IAAPhb,EAAgB,EAAIA,EAClCzG,EAAKsG,EAAGob,WACRA,OAAoB,IAAP1hB,EAAgB,EAAIA,EACjCrG,EAAQ4J,EAAO+C,EAAI,CAAC,QAAS,QAAS,UAAW,UAAW,aAAc,cAAe,eACzFxE,EAAQuf,EAAW1nB,GACvB,IAAK,IAAI3L,KAAO8T,EACZ,GAAY,cAAR9T,EACAsU,EAAMR,MAAM8C,UAAY9C,EAAM9T,OAC3B,CACH,IAAI2zB,EAAUrC,IAAemB,GAAoB/uB,IAAI1D,GAAOsqB,GAAYtqB,GAAOA,EAC/EsU,EAAMqf,GAAW7f,EAAM9T,GAY/B,YATgBU,IAAZivB,QAAqCjvB,IAAZkvB,GAAyB9b,EAAM8C,aACxDtC,EAAMR,MAAMud,gBAAkB2B,GAA4BC,OAAwBvyB,IAAZivB,EAAwBA,EAAU+C,QAA2BhyB,IAAZkvB,EAAwBA,EAAU8C,UAE/IhyB,IAAV4yB,IAAqBhf,EAAMyN,EAAIuR,QACrB5yB,IAAV6yB,IAAqBjf,EAAM0N,EAAIuR,QACX7yB,IAApB0yB,QAAgD1yB,IAAf8yB,IACjClf,EAAMgd,EAAa,oBAAsB,oBAAsBsB,IAAkBc,EAAYN,GAC7F9e,EAAMgd,EAAa,mBAAqB,mBAAqBsB,GAAiBY,EAAYJ,GAAmB,IAAMR,GAAiBa,EAAaL,IAE9I9e,EAEX,SAASsf,GAAkBX,EAAYG,EAAiB9B,QACjC,IAAfA,IACAA,GAAa,GAEjB,IAAIhd,EAAQqe,KACRU,EAAa1B,GAAmBuB,IACpC,OAAO,SAAUvnB,GACb,OAAOwnB,GAAcxnB,EAAOsnB,EAAYG,EAAiBC,EAAY/e,EAAOgd,IAIpF,IAAIuC,GAAgB,SAAU/B,GAC1B,MAAkC,oBAApBA,EAAQgC,QAAyBhC,EAAQgC,UAAYhC,EAAQiC,yBAE3EC,GAA0B,SAAUlC,GACpC,IACI,OAAO+B,GAAc/B,GACvB,MAAOtc,GACL,MAAO,CAAEuM,EAAG,EAAGC,EAAG,EAAGjO,MAAO,EAAGE,OAAQ,KAI3CggB,GAAS,SAAUnC,GACnB,MAA2B,SAApBA,EAAQoC,SAEfC,GAAyB7K,GAAa,CACtCC,OAAQ,SAAUvpB,EAAKsY,GACnB,IAAIwZ,EAAUxZ,EAAGwZ,QAEjB,GADA9xB,EAAOyyB,GAAoB/uB,IAAI1D,GAA0BA,EAAnBsqB,GAAYtqB,GAC7CksB,GAAgBlsB,GAEd,CACH,IAAIyxB,EAAYvB,GAAalwB,GAC7B,OAAOyxB,GAAYA,EAAU3a,SAAe,EAH5C,OAAOgb,EAAQsC,aAAap0B,IAMpCwpB,SAAU,SAAU7d,EAAO2M,GACvB,IAAIwZ,EAAUxZ,EAAGwZ,QACbuC,EAAa/b,EAAG+b,WAChB/f,EAAQ+f,EAAW1oB,GACvB,IAAK,IAAI3L,KAAOsU,EACA,UAARtU,EACA4U,OAAOjR,OAAOmuB,EAAQhe,MAAOQ,EAAMR,OAEnCge,EAAQwC,aAAat0B,EAAKsU,EAAMtU,OAK5Cu0B,GAAM,SAAUzC,GAChB,IAAImB,EAAae,GAAwBlC,GACrC0B,EAAaS,GAAOnC,IAAYA,EAAQ0C,eAAiB1C,EAAQ0C,sBAAmB9zB,EACxF,OAAOyzB,GAAU,CACbrC,QAASA,EACTuC,WAAYT,GAAkBX,EAAYO,MAI9CiB,GAAwBnL,GAAa,CACrCK,UAAU,EACVJ,OAAQ,SAAUvpB,GACd,MAAe,cAARA,EAAsBib,OAAOyZ,YAAczZ,OAAO0Z,aAE7DnL,SAAU,SAAUlR,GAChB,IAAIG,EAAKH,EAAGsc,UACRA,OAAmB,IAAPnc,EAAgB,EAAIA,EAChCzG,EAAKsG,EAAGuc,WACRA,OAAoB,IAAP7iB,EAAgB,EAAIA,EACrC,OAAOiJ,OAAO6Z,SAASD,EAAYD,MAIvClJ,GAAqB,IAAIqJ,QACzBC,GAAgB,SAAUC,GAC1B,OAAOA,aAAgBC,aAAqC,oBAAfD,EAAKE,OAElDC,GAAe,SAAUH,GACzB,OAAOA,aAAgBI,YAAc,oBAAqBJ,GAE1DK,GAAkB,SAAUL,EAAM5hB,GAClC,IAAI2W,EAUJ,OATIiL,IAASha,OACT+O,EAASyK,GAASQ,GACXD,GAAcC,GACrBjL,EAASwI,GAAgByC,EAAM5hB,GACxB+hB,GAAaH,KACpBjL,EAASuK,GAAIU,IAEjBna,OAAqBpa,IAAXspB,EAAsB,2EAChC0B,GAAMnnB,IAAI0wB,EAAMjL,GACTA,GAEPuL,GAAY,SAAUN,EAAM5hB,GAC5B,OAAOqY,GAAMhoB,IAAIuxB,GAAQvJ,GAAMtrB,IAAI60B,GAAQK,GAAgBL,EAAM5hB,IAErE,SAAStN,GAAMyvB,EAAgBniB,GAC3B,IAAI4hB,EAAiC,kBAAnBO,EAA8B1K,SAAS2K,cAAcD,GAAkBA,EACzF,OAAOD,GAAUN,EAAM5hB,GAGZ,UC/gBX,GAAyB,WACzB,SAASqiB,EAAUriB,QACD,IAAVA,IACAA,EAAQ,IAEZ3G,KAAK2G,MAAQA,EA+BjB,OA7BAqiB,EAAUtnB,UAAUunB,gBAAkB,SAAUC,GAC5C,OAAOlpB,KAAK0I,OAAOC,EAASA,EAAS,GAAI3I,KAAK2G,OAAQ,CAAEuiB,WAAYlpB,KAAK2G,MAAMuiB,WAAajgB,EAAe,CAACigB,GAAalpB,KAAK2G,MAAMuiB,YAAc,CAACA,OAEvJF,EAAUtnB,UAAU0W,KAAO,WAEvB,IADA,IAAI+Q,EAAQ,GACH7Q,EAAK,EAAGA,EAAKrY,UAAUrL,OAAQ0jB,IACpC6Q,EAAM7Q,GAAMrY,UAAUqY,GAE1B,IAAI8Q,EAA+B,IAAjBD,EAAMv0B,OAAeu0B,EAAM,GAAK/Q,GAAK9V,WAAM,EAAQ6mB,GACrE,OAAOnpB,KAAKipB,iBAAgB,SAAUI,GAClC,OAAO,SAAU5f,GACb,OAAO4f,EAAOD,EAAY3f,SAItCuf,EAAUtnB,UAAU4nB,MAAQ,SAAUC,GAClC,OAAOvpB,KAAKipB,iBAAgB,SAAUI,EAAQG,GAC1C,OAAO,SAAU/f,GACb,OAAO8f,EAAU9f,GAAK4f,EAAO5f,GAAK+f,SAI9CR,EAAUtnB,UAAU+nB,OAAS,SAAUF,GACnC,OAAOvpB,KAAKipB,iBAAgB,SAAUI,GAClC,OAAO,SAAU5f,GACb,OAAO8f,EAAU9f,IAAM4f,EAAO5f,QAInCuf,EApCkB,GAuCzBU,GAAwB,WACxB,SAASA,EAAS9d,EAAI+d,GAClB,IAAIC,EAAQ5pB,KACRkpB,EAAatd,EAAGsd,WAChBW,EAAaje,EAAGie,WACpB7pB,KAAK8pB,UAAW,EAChB9pB,KAAKqpB,OAAS,SAAU5f,GAChBmgB,EAAMD,SAASN,QAAQO,EAAMG,eAAetgB,IAEpDzJ,KAAKwpB,SAAW,WACRI,EAAMD,SAASH,UAAYI,EAAME,UAAUF,EAAMD,SAASH,WAC1DI,EAAMC,YAAYD,EAAMC,aAC5BD,EAAME,UAAW,GAErB9pB,KAAK2B,MAAQ,SAAUqoB,GACfJ,EAAMD,SAAShoB,OAASioB,EAAME,UAAUF,EAAMD,SAAShoB,MAAMqoB,GACjEJ,EAAME,UAAW,GAErB9pB,KAAK2pB,SAAWA,EAChB3pB,KAAK+pB,eAAiB,SAAUtgB,GAC5B,OAAOkgB,EAASN,OAAO5f,IAE3BzJ,KAAK6pB,WAAaA,EACdF,EAASN,QAAUH,GAAcA,EAAWt0B,QAC5Cs0B,EAAW91B,SAAQ,SAAUoR,GACzB,OAAOolB,EAAMG,eAAiBvlB,EAAEolB,EAAMG,eAAgBH,EAAMJ,aAIxE,OAAOE,EA7BiB,GA+BxBO,GAAiB,SAAUC,EAAmBte,EAAIie,GAClD,IAAIX,EAAatd,EAAGsd,WACpB,OACW,IAAIQ,GAAS,CAAER,WAAYA,EAAYW,WAAYA,GAD7B,oBAAtBK,EACiE,CAAEb,OAAQa,GAEVA,IAI5E,GAAsB,SAAUC,GAEhC,SAASC,IACL,OAAkB,OAAXD,GAAmBA,EAAO7nB,MAAMtC,KAAMC,YAAcD,KA8B/D,OAhCAuI,EAAU6hB,EAAQD,GAIlBC,EAAO1oB,UAAUgH,OAAS,SAAU/B,GAChC,OAAO,IAAIyjB,EAAOzjB,IAEtByjB,EAAO1oB,UAAU7L,MAAQ,SAAUq0B,QACL,IAAtBA,IACAA,EAAoB,IAExB,IAAIG,GAAa,EACbC,EAAe,CACfC,KAAM,cAIN3e,EAAK5L,KAAK2G,MACV6jB,EAAO5e,EAAG4e,KACVC,EAAgB5hB,EAAO+C,EAAI,CAAC,SAC5B+d,EAAWM,GAAeC,EAAmBO,GAAe,WAC5DJ,GAAa,EACbC,EAAaC,UAEbG,EAAMF,EAAKb,GAMf,OALAW,EAAeI,EAAM/hB,EAASA,EAAS,GAAI2hB,GAAeI,GAAOJ,EAC7DJ,EAAkBS,gBAClBT,EAAkBS,eAAeL,GAEjCD,GAAYC,EAAaC,OACtBD,GAEJF,EAjCe,CAkCxB,IACE,GAAS,SAAUI,GACnB,OAAO,IAAI,GAAO,CAAEA,KAAMA,KAG1B,GAA6B,SAAUL,GAEvC,SAASS,IACL,IAAIhB,EAAmB,OAAXO,GAAmBA,EAAO7nB,MAAMtC,KAAMC,YAAcD,KAEhE,OADA4pB,EAAMiB,YAAc,GACbjB,EAoCX,OAxCArhB,EAAUqiB,EAAeT,GAMzBS,EAAclpB,UAAU8nB,SAAW,WAC/BxpB,KAAK6qB,YAAYz3B,SAAQ,SAAU03B,GAC/B,OAAOA,EAAWtB,eAG1BoB,EAAclpB,UAAUC,MAAQ,SAAUqoB,GACtChqB,KAAK6qB,YAAYz3B,SAAQ,SAAU03B,GAC/B,OAAOA,EAAWnpB,MAAMqoB,OAGhCY,EAAclpB,UAAU2nB,OAAS,SAAU5f,GACvC,IAAK,IAAI/U,EAAI,EAAGA,EAAIsL,KAAK6qB,YAAYj2B,OAAQF,IACzCsL,KAAK6qB,YAAYn2B,GAAG20B,OAAO5f,IAGnCmhB,EAAclpB,UAAUqpB,UAAY,SAAUb,GAC1C,IAAIN,EAAQ5pB,KACR2pB,EAAWM,GAAeC,EAAmBlqB,KAAK2G,OACtD3G,KAAK6qB,YAAY70B,KAAK2zB,GACtB,IAAIW,EAAe,CACfU,YAAa,WACT,IAAI3xB,EAAQuwB,EAAMiB,YAAY31B,QAAQy0B,IACvB,IAAXtwB,GAAcuwB,EAAMiB,YAAYhb,OAAOxW,EAAO,KAG1D,OAAOixB,GAEXM,EAAclpB,UAAU6oB,KAAO,WACvBvqB,KAAKirB,QAAQjrB,KAAKirB,OAAOV,QAEjCK,EAAclpB,UAAUipB,eAAiB,SAAUL,GAC/CtqB,KAAKuqB,OACLvqB,KAAKirB,OAASX,GAEXM,EAzCsB,CA0C/B,IAgBEM,GAAe,SAAUta,EAAOuG,GAChC,IAAI/Z,EAAU,GAAKwT,EAAQ,GACvBua,EAAa,GAAK,GAAKva,EAAQ,IAC/Bwa,EAA0BnzB,KAAKsR,IAAI4N,EAAU,GAC7CkU,EAA6BD,EAA0BD,EACvDG,EAA0BrzB,KAAKD,OAAOqzB,EAA6B,GAAK,GAC5E,OAAOC,EAA0BluB,GAqBjCmuB,GAAc,SAAU9hB,GACxB,OAAOjV,MAAM4kB,QAAQ3P,IAErB+hB,GAAgB,SAAU/hB,GAC1B,IAAIgiB,SAAiBhiB,EACrB,MAAmB,WAAZgiB,GAAoC,WAAZA,GAE/B,GAA6B,SAAUtB,GAEvC,SAASuB,EAAc/kB,GACnB,IAAIijB,EAAQO,EAAO1pB,KAAKT,KAAM2G,IAAU3G,KAuCxC,OAtCA4pB,EAAM+B,sBAAwB,WAC1B,OAAO,GAAKC,WAAWhC,EAAMiC,gBAEjCjC,EAAMiC,cAAgB,SAAUjgB,GAC5B,IAAI8C,EAAY9C,EAAG8C,UACfA,IAAckb,EAAMzO,cACpByO,EAAMkC,KAAOlC,EAAMmC,UAG3BnC,EAAMkC,KAAOlC,EAAMmC,QAAUplB,EAAMtT,OAAS,EACxCm4B,GAAc5B,EAAMmC,UACpBnC,EAAMoC,cAAgB,SAAUviB,GAC5B,OAAOmgB,EAAMmC,QAAUtiB,GAE3BmgB,EAAMqC,qBAAuB,WACzB,OAAOrC,EAAMsC,kBAAkBtC,EAAMmC,QAASnC,EAAMkC,QAEjDP,GAAY3B,EAAMmC,UACzBnC,EAAMoC,cAAgB,SAAUviB,GAC5B,OAAOmgB,EAAMmC,QAAU9iB,EAAeQ,IAE1CmgB,EAAMqC,qBAAuB,WACzB,OAAOrC,EAAMuC,qBAGjBvC,EAAMoC,cAAgB,SAAUviB,GAE5B,IAAK,IAAInW,KADTs2B,EAAMmC,QAAU,GACAtiB,EACRA,EAAEnB,eAAehV,KACjBs2B,EAAMmC,QAAQz4B,GAAOmW,EAAEnW,KAInCs2B,EAAMqC,qBAAuB,WACzB,OAAOrC,EAAMwC,mBAGjBzlB,EAAM0lB,qBAAqBzC,EAAMmB,UAAUpkB,EAAM0lB,qBAC9CzC,EA6CX,OAtFArhB,EAAUmjB,EAAevB,GA2CzBuB,EAAchqB,UAAUgH,OAAS,SAAU/B,GACvC,OAAO,IAAI+kB,EAAc/kB,IAE7B+kB,EAAchqB,UAAUhO,IAAM,WAC1B,OAAOsM,KAAK+rB,SAEhBL,EAAchqB,UAAU4qB,YAAc,WAClC,OAAOtsB,KAAKisB,wBAEhBP,EAAchqB,UAAU2nB,OAAS,SAAU5f,GACvC0gB,EAAOzoB,UAAU2nB,OAAO5oB,KAAKT,KAAMyJ,GACnCzJ,KAAK8rB,KAAO9rB,KAAK+rB,QACjB/rB,KAAKgsB,cAAcviB,GACnB,IAAImC,EAAKyF,KACLxN,EAAQ+H,EAAG/H,MACX6K,EAAY9C,EAAG8C,UACnB1O,KAAKqb,UAAYxX,EACjB7D,KAAKmb,YAAczM,EACnB,GAAKkd,WAAW5rB,KAAK2rB,wBAEzBD,EAAchqB,UAAUqpB,UAAY,SAAUb,GAC1C,IAAIqC,EAAMpC,EAAOzoB,UAAUqpB,UAAUtqB,KAAKT,KAAMkqB,GAEhD,OADAlqB,KAAK6qB,YAAY7qB,KAAK6qB,YAAYj2B,OAAS,GAAGy0B,OAAOrpB,KAAK+rB,SACnDQ,GAEXb,EAAchqB,UAAUwqB,kBAAoB,SAAUH,EAASD,GAC3D,MAA0B,kBAAZC,GAAwC,kBAATD,EAAoBvP,GAAkBwP,EAAUD,EAAM9rB,KAAKqb,WAAakB,GAAkBtS,WAAW8hB,GAAW9hB,WAAW6hB,GAAO9rB,KAAKqb,YAAc,GAEtMqQ,EAAchqB,UAAUyqB,gBAAkB,WACtC,IAAIvC,EAAQ5pB,KACZ,OAAOA,KAAK+rB,QAAQte,KAAI,SAAU8F,EAAG7e,GACjC,OAAOk1B,EAAMsC,kBAAkB3Y,EAAGqW,EAAMkC,KAAKp3B,QAGrDg3B,EAAchqB,UAAU0qB,eAAiB,WACrC,IAAI5P,EAAW,GACf,IAAK,IAAIlpB,KAAO0M,KAAK+rB,QACb/rB,KAAK+rB,QAAQzjB,eAAehV,KAC5BkpB,EAASlpB,GAAO0M,KAAKksB,kBAAkBlsB,KAAK+rB,QAAQz4B,GAAM0M,KAAK8rB,KAAKx4B,KAG5E,OAAOkpB,GAEJkP,EAvFsB,CAwF/B,IACE,GAAQ,SAAUr4B,EAAOg5B,GACzB,OAAO,IAAI,GAAc,CAAEh5B,MAAOA,EAAOg5B,oBAAqBA,KAG9DG,GAAQ,SAAU5gB,GAClB,IAAI6gB,EAAW7gB,EAAG6gB,SACdC,EAAW9gB,EAAG8gB,SACdC,EAAY/gB,EAAG+gB,UACfC,EAAShhB,EAAGghB,OACZC,EAAUjhB,EAAGihB,QACbC,EAAelhB,EAAGkhB,aACtB,OAAO,SAAUC,GACb,OAAO,IAAO,SAAUnhB,GACpB,IAAIyd,EAASzd,EAAGyd,OACZG,EAAW5d,EAAG4d,SACd7nB,EAAQiK,EAAGjK,MACXqrB,EAAaP,EAASM,GACtBh3B,EAAS42B,IACTM,EAAe,WACf,OAAO5D,EAAOtzB,IAEdm3B,EAAsB,EACtBC,EAAOL,EAAaC,GAAS,SAAU3jB,EAAGnC,GAC1C,IAAImmB,GAAe,EACnB,OAAOhkB,EAAEvT,MAAM,CACX2zB,SAAU,WACD4D,IACDA,GAAe,EACfF,IACIA,IAAwBF,GAAY,GAAK3D,OAAOG,KAG5D7nB,MAAOA,EACP0nB,OAAQ,SAAU5f,GACdojB,EAAQ92B,EAAQkR,EAAMwC,GACtB,GAAK4f,OAAO4D,GAAc,GAAO,SAI7C,OAAO/kB,OAAOmlB,KAAKX,EAASS,IAAOtc,QAAO,SAAU6Z,EAAK4C,GAErD,OADA5C,EAAI4C,GAAcV,EAAOO,EAAMG,GACxB5C,IACR,SAKX6C,GAAyBf,GAAM,CAC/BG,UAAW,WACP,MAAO,IAEXF,SAAU,SAAUU,GAChB,OAAOjlB,OAAOmlB,KAAKF,GAAMv4B,QAE7B83B,SAAU,SAAUS,GAChB,OAAOA,EAAKjlB,OAAOmlB,KAAKF,GAAM,KAElCP,OAAQ,SAAUO,EAAMG,GACpB,OAAO,WAEH,IADA,IAAIE,EAAO,GACFlV,EAAK,EAAGA,EAAKrY,UAAUrL,OAAQ0jB,IACpCkV,EAAKlV,GAAMrY,UAAUqY,GAEzB,OAAOpQ,OAAOmlB,KAAKF,GAAMtc,QAAO,SAAU9a,EAAQ03B,GAC9C,IAAI7hB,EAIJ,OAHIuhB,EAAKM,GAASH,KACdE,EAAK,SAA2Bx5B,IAArBw5B,EAAK,GAAGC,GAAyB13B,EAAO03B,GAAWN,EAAKM,GAASH,GAAYE,EAAK,GAAGC,IAAY13B,EAAO03B,IAAY7hB,EAAKuhB,EAAKM,IAAUH,GAAYhrB,MAAMsJ,EAAI4hB,IAEtKz3B,IACR,MAGX82B,QAAS,SAAU92B,EAAQkR,EAAMwC,GAC7B,OAAO1T,EAAOkR,GAAQwC,GAE1BqjB,aAAc,SAAUC,EAASW,GAC7B,OAAOxlB,OAAOmlB,KAAKN,GAASlc,QAAO,SAAUsc,EAAM75B,GAE/C,OADA65B,EAAK75B,GAAOo6B,EAAQX,EAAQz5B,GAAMA,GAC3B65B,IACR,OAIPQ,GAAwBnB,GAAM,CAC9BG,UAAW,WACP,MAAO,IAEXF,SAAU,SAAUU,GAChB,OAAOA,EAAKv4B,QAEhB83B,SAAU,SAAUS,GAChB,OAAOA,EAAK,IAEhBP,OAAQ,SAAUO,EAAMG,GACpB,OAAO,WAEH,IADA,IAAIE,EAAO,GACFlV,EAAK,EAAGA,EAAKrY,UAAUrL,OAAQ0jB,IACpCkV,EAAKlV,GAAMrY,UAAUqY,GAEzB,OAAO6U,EAAK1f,KAAI,SAAU8e,EAAK73B,GAC3B,GAAI63B,EAAIe,GACJ,OAAO94B,MAAM4kB,QAAQoU,EAAK,IAAMjB,EAAIe,GAAYE,EAAK,GAAG94B,IAAM63B,EAAIe,GAAYhrB,MAAMiqB,EAAKiB,QAKzGX,QAAS,SAAU92B,EAAQkR,EAAMwC,GAC7B,OAAO1T,EAAOkR,GAAQwC,GAE1BqjB,aAAc,SAAUC,EAASW,GAC7B,OAAOX,EAAQtf,KAAI,SAAUmgB,EAAQl5B,GACjC,OAAOg5B,EAAQE,EAAQl5B,SAI/Bm5B,GAAa,WAEb,IADA,IAAId,EAAU,GACLzU,EAAK,EAAGA,EAAKrY,UAAUrL,OAAQ0jB,IACpCyU,EAAQzU,GAAMrY,UAAUqY,GAE5B,OAAOqV,GAASZ,IAGhBe,GAAoB,SAAUC,GAC9B,IAAIC,EAAY9lB,OAAOmlB,KAAKU,GACxBE,EAAe,SAAUtgB,EAAMra,GAC/B,YAAgBU,IAAT2Z,IAAuBogB,EAAUz6B,GAAKqa,IAE7CugB,EAAgB,SAAUvnB,GAC1B,OAAOqnB,EAAUnd,QAAO,SAAUsd,EAAY76B,GAE1C,OADI26B,EAAatnB,EAAMrT,GAAMA,IAAM66B,EAAWn4B,KAAK1C,GAC5C66B,IACR,KAEHC,EAAkB,SAAUznB,GAC5B,OAAOA,GAASqnB,EAAUK,MAAK,SAAU/6B,GACrC,OAAO26B,EAAatnB,EAAMrT,GAAMA,OAGxC,MAAO,CAAE46B,cAAeA,EAAeE,gBAAiBA,IAExDE,GAAY,CAAC5jB,EAAID,EAASD,EAASG,EAAIC,GACvC2jB,GAAe,SAAU5gB,GACzB,OAAO2gB,GAAU7W,MAAK,SAAUtX,GAC5B,OAAOA,EAAKzG,KAAKiU,OAGrB6gB,GAAa,SAAU7gB,GACvB,OAAO8gB,QAAQF,GAAa5gB,KAE5B+gB,GAAe,SAAUd,EAAQjnB,GACjC,OAAOinB,EAAOjnB,IAEdgoB,GAAmB,SAAUj6B,GAC7B,OAAO,SAAUiS,EAAOrT,GAEpB,OADAqT,EAAMrT,GAAOqT,EAAMrT,GAAKoB,GACjBiS,IAGXioB,GAAoB,SAAUhB,EAAQjnB,EAAOwnB,GAC7C,IAAIU,EAAiBV,EAAW,GAC5BW,EAAanoB,EAAMkoB,GAAgBphB,KAAI,SAAUhE,EAAG/U,GACpD,IAAIq6B,EAAmBZ,EAAWtd,OAAO8d,GAAiBj6B,GAAIiU,EAAS,GAAIhC,IAC3E,OAAOqoB,GAAiBvlB,EAAjBulB,CAAoBpB,EAAQmB,MAEvC,OAAOlB,GAAWvrB,WAAM,EAAQwsB,IAEhCG,GAAoB,SAAU37B,GAC9B,OAAO,SAAUqT,EAAO8mB,GAEpB,OADA9mB,EAAM8mB,GAAW9mB,EAAM8mB,GAASn6B,GACzBqT,IAGXuoB,GAAqB,SAAUtB,EAAQjnB,EAAOwnB,GAC9C,IAAIU,EAAiBV,EAAW,GAC5BgB,EAAYjnB,OAAOmlB,KAAK1mB,EAAMkoB,IAAiBhe,QAAO,SAAUpD,EAAKna,GACrE,IAAIy7B,EAAmBZ,EAAWtd,OAAOoe,GAAkB37B,GAAMqV,EAAS,GAAIhC,IAE9E,OADA8G,EAAIna,GAAO07B,GAAiBroB,EAAMkoB,GAAgBv7B,GAAvC07B,CAA6CpB,EAAQmB,GACzDthB,IACR,IACH,OAAO8f,GAAU4B,IAEjBC,GAAmB,SAAUxB,EAAQhiB,GACrC,IAAImK,EAAOnK,EAAGmK,KACVC,EAAKpK,EAAGoK,GACRrP,EAAQkC,EAAO+C,EAAI,CAAC,OAAQ,OAC5ByjB,EAAWd,GAAaxY,IAASwY,GAAavY,GAC9C9L,EAAYmlB,EAASnlB,UACrBF,EAAQqlB,EAASrlB,MACrB,OAAO4jB,EAAOjlB,EAASA,EAAS,GAAIhC,GAAQ,CAAEoP,KAAsB,kBAATA,EAAoB/L,EAAM+L,GAAQA,EAAMC,GAAkB,kBAAPA,EAAkBhM,EAAMgM,GAAMA,KAAOoC,KAAKlO,IAExJolB,GAAoB,SAAU3V,GAC9B,OAAO,SAAUiU,EAAQhiB,GACrB,IAAImK,EAAOnK,EAAGmK,KACVC,EAAKpK,EAAGoK,GACRrP,EAAQkC,EAAO+C,EAAI,CAAC,OAAQ,OAChC,OAAOgiB,EAAOjlB,EAASA,EAAS,GAAIhC,GAAQ,CAAEoP,KAAM,EAAGC,GAAI,KAAMoC,KAAKuB,EAAM5D,EAAMC,MAGtFuZ,GAAiCD,GAAkB1X,IACnD4X,GAAmCF,GAAkB9W,IACrDiX,GAAqB,SAAU7B,EAAQG,GACvC,IAAIniB,EAAKkiB,GAAkBC,GACvBK,EAAkBxiB,EAAGwiB,gBACrBF,EAAgBtiB,EAAGsiB,cACnBwB,EAAe,SAAU/oB,GACzB,IAAIgpB,EAAWvB,EAAgBznB,GAC/B,IAAKgpB,EAAU,OAAO/B,EAAOjnB,GAC7B,IAAIwnB,EAAaD,EAAcvnB,GAC3BipB,EAAUzB,EAAW,GACrB0B,EAAWlpB,EAAMipB,GACrB,OAAOZ,GAAiBa,EAAjBb,CAA2BpB,EAAQjnB,EAAOwnB,IAErD,OAAOuB,GAEPV,GAAmB,SAAUrhB,GAC7B,MAAoB,kBAATA,EACA+gB,GACAl6B,MAAM4kB,QAAQzL,GACdihB,GACAJ,GAAW7gB,GACXyhB,GACA9iB,EAAM5S,KAAKiU,GACX4hB,GACAriB,EAAQxT,KAAKiU,GACb6hB,GACgB,kBAAT7hB,EACPuhB,GAEAR,IAIXoB,GAAQ,SAAUnpB,GAIlB,YAHc,IAAVA,IACAA,EAAQ,IAEL,IAAO,SAAUiF,GACpB,IAAI4d,EAAW5d,EAAG4d,SACdH,EAASzd,EAAGyd,OACZtd,EAAKpF,EAAM6V,SACXA,OAAkB,IAAPzQ,EAAgB,EAAIA,EAC/BzG,EAAKqB,EAAMoP,KACXA,OAAc,IAAPzQ,EAAgB,EAAIA,EAC3B4f,EAAKve,EAAMiL,MACXA,OAAe,IAAPsT,EAAgB,GAAMA,EAC9Bnf,EAAKY,EAAMopB,aACXA,OAAsB,IAAPhqB,EAAgB,IAAMA,EACrCiqB,EAAKrpB,EAAMspB,UACXA,OAAmB,IAAPD,EAAgB,GAAMA,EAClCE,EAAevpB,EAAMupB,aACrBC,EAAU,EACVC,EAAYxe,EAAQ4K,EACpB6T,EAActa,EAAOqa,EACrBniB,EAAiC,qBAAjBiiB,EAA+BG,EAAcH,EAAaG,GAC1EpiB,IAAWoiB,IAAaD,EAAYniB,EAAS8H,GACjD,IAAIrG,EAAU,GAAK2Z,QAAO,SAAUzd,GAChC,IAAI0kB,EAAa1kB,EAAG/H,MACpBssB,GAAWG,EACX,IAAIzsB,GAASusB,EAAYn4B,KAAKs4B,KAAKJ,EAAUJ,GACzCS,EAAW3sB,EAAQosB,GAAapsB,GAASosB,EACzClE,EAAUyE,EAAWviB,EAASpK,EAAQoK,EAC1Cob,EAAO0C,GACFyE,IACDvf,GAAWoY,OAAO3Z,GAClB8Z,QAEL,GACH,MAAO,CACHe,KAAM,WACF,OAAOtZ,GAAWoY,OAAO3Z,SAKrC+gB,GAA2BhB,GAAmBK,GAAO,CACrD/Z,KAAM7b,EAAOR,KACbw2B,aAAc,SAAU/Z,GACpB,MAAuB,oBAATA,GAElBqG,SAAUtiB,EAAOR,OAGjBg3B,GAAS,SAAU/pB,GAInB,YAHc,IAAVA,IACAA,EAAQ,IAEL,IAAO,SAAUiF,GACpB,IAAIyd,EAASzd,EAAGyd,OACZG,EAAW5d,EAAG4d,SACdzd,EAAKpF,EAAM6V,SACXA,OAAkB,IAAPzQ,EAAgB,EAAMA,EACjCzG,EAAKqB,EAAMoP,KACXA,OAAc,IAAPzQ,EAAgB,EAAMA,EAC7B4f,EAAKve,EAAMqP,GACXA,OAAY,IAAPkP,EAAgB,EAAMA,EAC3Bnf,EAAKY,EAAMgqB,UACXA,OAAmB,IAAP5qB,EAAgB,IAAMA,EAClCiqB,EAAKrpB,EAAMiqB,QACXA,OAAiB,IAAPZ,EAAgB,GAAKA,EAC/Ba,EAAKlqB,EAAMmqB,KACXA,OAAc,IAAPD,EAAgB,EAAMA,EAC7BzrB,EAAKuB,EAAMoqB,UACXA,OAAmB,IAAP3rB,EAAgB,IAAOA,EACnC4rB,EAAKrqB,EAAMspB,UACXA,OAAmB,IAAPe,EAAgB,IAAOA,EACnCC,EAAkBzU,GAAaA,EAAW,IAAQ,EAClD5X,EAAI,EACJf,EAAQmS,EAAKD,EACbmb,EAAWnb,EACXob,EAAeD,EACfxhB,EAAU,GAAK2Z,QAAO,SAAUzd,GAChC,IAAIyP,EAAYzP,EAAG/H,MACnBe,GAAKyW,EACL,IAAI+V,EAAeR,GAAW,EAAI34B,KAAK+e,KAAK2Z,EAAYG,IACpDO,EAAcp5B,KAAK+e,KAAK2Z,EAAYG,GAAQ,IAEhD,GADAK,EAAeD,EACXE,EAAe,EAAG,CAClB,IAAIE,EAAWr5B,KAAKs4B,KAAKa,EAAeC,EAAczsB,GAClD2sB,EAAYF,EAAcp5B,KAAK+e,KAAK,EAAMoa,EAAeA,GAC7DF,EAAWlb,EAAKsb,IAAaL,EAAkBG,EAAeC,EAAcxtB,GAAS0tB,EAAYt5B,KAAKoa,IAAIkf,EAAY3sB,GAAKf,EAAQ5L,KAAKu5B,IAAID,EAAY3sB,QACrJ,CACC0sB,EAAWr5B,KAAKs4B,KAAKc,EAAczsB,GACvCssB,EAAWlb,EAAKsb,GAAYztB,GAASotB,EAAkBI,EAAcxtB,GAASe,GAElF4X,EAAWD,GAAkB2U,EAAWC,EAAc9V,GACtD,IAAIoW,EAA2Bx5B,KAAKqc,IAAIkI,IAAauU,EACjDW,EAA+Bz5B,KAAKqc,IAAI0B,EAAKkb,IAAajB,EAC1DwB,GAA4BC,GAC5BR,EAAWlb,EACXqT,EAAO6H,GACPjgB,GAAWoY,OAAO3Z,GAClB8Z,KAEAH,EAAO6H,MAEZ,GACH,MAAO,CACH3G,KAAM,WACF,OAAOtZ,GAAWoY,OAAO3Z,SAKrCiiB,GAA4BlC,GAAmBiB,GAAQ,CACvD3a,KAAM7b,EAAOR,KACbsc,GAAI9b,EAAOR,KACXi3B,UAAWz2B,EAAOR,KAClBk3B,QAAS12B,EAAOR,KAChBo3B,KAAM52B,EAAOR,KACb8iB,SAAUtiB,EAAOR,OAGjBk4B,GAAU,SAAUhmB,GACpB,IAAIG,EAAKH,EAAGmK,KACRA,OAAc,IAAPhK,EAAgB,EAAIA,EAC3BzG,EAAKsG,EAAG4Q,SACRA,OAAkB,IAAPlX,EAAgB,EAAIA,EAC/BiE,EAAMqC,EAAGrC,IACTC,EAAMoC,EAAGpC,IACT0b,EAAKtZ,EAAGgG,MACRA,OAAe,IAAPsT,EAAgB,GAAMA,EAC9Bnf,EAAK6F,EAAGmkB,aACRA,OAAsB,IAAPhqB,EAAgB,IAAMA,EACrCiqB,EAAKpkB,EAAGimB,gBACRA,OAAyB,IAAP7B,EAAgB,IAAMA,EACxCa,EAAKjlB,EAAGkmB,cACRA,OAAuB,IAAPjB,EAAgB,GAAKA,EACrCzrB,EAAKwG,EAAGqkB,UACRA,OAAmB,IAAP7qB,EAAgB,EAAIA,EAChC8qB,EAAetkB,EAAGskB,aACtB,OAAO,IAAO,SAAUtkB,GACpB,IAIImmB,EAJA1I,EAASzd,EAAGyd,OACZG,EAAW5d,EAAG4d,SACdsC,EAAO/V,EACPgW,EAAUhW,EAEVic,EAAgB,SAAUvoB,GAC1B,YAAezV,IAARuV,GAAqBE,EAAIF,QAAevV,IAARwV,GAAqBC,EAAID,GAEhEyoB,EAAkB,SAAUxoB,GAC5B,OAAOxR,KAAKqc,IAAI/K,EAAME,GAAKxR,KAAKqc,IAAI9K,EAAMC,GAAKF,EAAMC,GAErD0oB,EAAiB,SAAUC,EAAWC,GACtCL,GAAmBA,EAAgBxH,OACnCwH,EAAkBI,EAAUt8B,MAAM,CAC9BwzB,OAAQA,EACRG,SAAU,WACF4I,EACAA,IAGJ5I,QAIR6I,EAAc,SAAU1rB,GACxBurB,EAAexB,GAAO/nB,EAASA,EAAS,GAAIhC,GAAQ,CAAEgqB,UAAWkB,EAAiBjB,QAASkB,EAAe7B,UAAWA,OAEzH,GAAI+B,EAAcjc,GACdsc,EAAY,CAAEtc,KAAMA,EAAMyG,SAAUA,EAAUxG,GAAIic,EAAgBlc,SAC/D,CACH,IAAIC,EAAKpE,EAAQ4K,EAAWzG,EACA,qBAAjBma,IACPla,EAAKka,EAAala,GAClBka,OAAe,EACf1T,GAAYxG,EAAKD,GAAQnE,GAE7B,IAAIugB,EAAYrC,GAAM,CAClB/Z,KAAMA,EACNyG,SAAUA,EACVuT,aAAcA,EACdne,MAAOA,EACPqe,UAAWA,EACXC,aAAcA,IAEdkC,OAAO,EACX,GAAIJ,EAAchc,GAAK,CACnB,IAAIsc,EAAaL,EAAgBjc,GAC7Buc,EAAYD,GAAc/oB,GAAO,EAAI,EACzC4oB,EAAYA,EAAU7I,OAAM,SAAU7f,GAIlC,OAHAqiB,EAAOC,EACPvP,EAAWD,GAAkB9S,EAAIqiB,EAAMza,KAAexN,OACtDkoB,EAAUtiB,EACH6oB,EAAa7oB,EAAI8oB,EAAY,KAExCH,EAAO,WACH,OAAOC,EAAY,CAAEtc,KAAMgW,EAAS/V,GAAIsc,EAAY9V,SAAUA,KAGtE0V,EAAeC,EAAWC,GAE9B,MAAO,CACH7H,KAAM,WACF,OAAOwH,GAAmBA,EAAgBxH,aAkCtDiI,IA5BMt4B,EAAOR,KACHQ,EAAOR,KACZQ,EAAOR,KACPQ,EAAOR,KACHQ,EAAOR,KACLQ,EAAOR,KAuBP,SAAUkS,GACrB,IAAIG,EAAKH,EAAGmK,KACRA,OAAc,IAAPhK,EAAgB,EAAIA,EAC3BzG,EAAKsG,EAAGoK,GACRA,OAAY,IAAP1Q,EAAgB,EAAIA,EACzB4f,EAAKtZ,EAAG0N,KACRA,OAAc,IAAP4L,EAAgBlT,GAASkT,EAChCnf,EAAK6F,EAAG6mB,YACRA,OAAqB,IAAP1sB,GAAwBA,EAI1C,OAHI0sB,IACAnZ,EAAO5H,GAAqB4H,IAEzB,IAAO,SAAU1N,GACpB,IAAIyd,EAASzd,EAAGyd,OAChB,MAAO,CACHqJ,KAAM,SAAUvb,GACZ,OAAOkS,EAAOlS,QAGvBiB,KAAKkB,GAAM,SAAU7P,GACpB,OAAOyN,GAAInB,EAAMC,EAAIvM,QAGzBkpB,GAA8BlD,GAAmB+C,GAAU,CAC3DlZ,KAAM,SAAUnD,GACZ,MAAuB,oBAATA,GAElBJ,KAAM7b,EAAOR,KACbsc,GAAI9b,EAAOR,OAGX,GAA6B,GAAM,EAAG,GACtCk5B,GAAQ,SAAUjsB,GAIlB,YAHc,IAAVA,IACAA,EAAQ,IAEL,IAAO,SAAUiF,GACpB,IA4BI8D,EA5BA2Z,EAASzd,EAAGyd,OACZG,EAAW5d,EAAG4d,SACdzd,EAAKpF,EAAMmU,SACXA,OAAkB,IAAP/O,EAAgB,IAAMA,EACjCzG,EAAKqB,EAAM2S,KACXA,OAAc,IAAPhU,EAAgB4M,GAAU5M,EACjC4f,EAAKve,EAAMksB,KACXA,OAAc,IAAP3N,EAAgB,EAAIA,EAC3Bnf,EAAKY,EAAMmsB,KACXA,OAAc,IAAP/sB,EAAgB,EAAIA,EAC3BiqB,EAAKrpB,EAAMosB,KACXA,OAAc,IAAP/C,EAAgB,EAAIA,EAC3Ba,EAAKlqB,EAAMqsB,YACXA,OAAqB,IAAPnC,EAAgB,EAAIA,EAClCzrB,EAAKuB,EAAMoP,KACXA,OAAc,IAAP3Q,EAAgB,EAAIA,EAC3B4rB,EAAKrqB,EAAMqP,GACXA,OAAY,IAAPgb,EAAgB,EAAIA,EACzBiC,EAAKtsB,EAAMwpB,QACXA,OAAiB,IAAP8C,EAAgB,EAAIA,EAC9B7sB,EAAKO,EAAMusB,UACXA,OAAmB,IAAP9sB,EAAgB,EAAIA,EAChC+sB,EAAKxsB,EAAMysB,UACXA,OAAmB,IAAPD,EAAgB,EAAIA,EAChCE,EAAK1sB,EAAM2sB,UACXA,OAAmB,IAAPD,EAAgB,EAAIA,EAChCE,EAAWZ,GAAe,CAAE5c,KAAMA,EAAMC,GAAIA,EAAIsD,KAAMA,IAAQzjB,MAAMwzB,GACpEmK,EAAkB,EAElB1J,GAAW,EACX2J,EAAmB,SAAUhB,GAC7B,IAAI7mB,OACgB,IAAhB6mB,IACAA,GAAc,GAElB7mB,EAAK,CAACoK,EAAID,GAAOA,EAAOnK,EAAG,GAAIoK,EAAKpK,EAAG,GACvC2nB,EAAWZ,GAAe,CAAE5c,KAAMA,EAAMC,GAAIA,EAAIsD,KAAMA,EAAMmZ,YAAaA,IAAe58B,MAAMwzB,IAE9FqK,EAAkB,WAClB,IAAIrJ,EAAaP,GAAYqG,EAAUrV,EAAWkY,EAClD,QAAK3I,OACDA,GAAeyI,GAASD,GAASE,KACrC5C,EAAUrV,GAAYqV,EAAU6C,GAC5BF,GAAQQ,EAAYR,GACpBQ,KACO,GACAT,GAAQK,EAAYL,GAC3BK,IACAO,KACO,KACAV,GAAQK,EAAYL,KAC3BK,IACAK,EAAiBL,EAAY,IAAM,IAC5B,MAIXO,EAAc,WACdH,EAAkB,GAAc,GAAS,EAAG1Y,EAAUqV,IACtDoD,EAASb,KAAKc,IAEdI,EAAa,WACb9J,GAAW,EACXpa,EAAU,GAAK2Z,QAAO,SAAUzd,GAC5B,IAAI/H,EAAQ+H,EAAG/H,MACfssB,GAAWtsB,EACX8vB,IACID,MACAziB,GAAWoY,OAAO3Z,GAClB8Z,GAAY,GAAKH,OAAOG,GAAU,GAAO,OAE9C,IAEHqK,EAAY,WACZ/J,GAAW,EACPpa,GAASuB,GAAWoY,OAAO3Z,IAGnC,OADAkkB,IACO,CACH9J,SAAU,WACN,OAAOA,GAEXgK,WAAY,WACR,OAAO,GAAM,EAAGhZ,EAAUqV,IAE9B4D,YAAa,WACT,OAAOP,GAEXjJ,KAAM,WACFsJ,KAEJG,MAAO,WAEH,OADAH,IACO7zB,MAEXi0B,OAAQ,WAEJ,OADKnK,GAAU8J,IACR5zB,MAEX0yB,KAAM,SAAUwB,GAGZ,OAFA/D,EAAUjZ,GAAI,EAAG4D,EAAUoZ,GAC3B,GAAK7K,OAAOsK,GAAa,GAAO,GACzB3zB,MAEXsa,QAAS,WAEL,OADAmZ,IACOzzB,WAMnBm0B,GAA+B,GAAM,EAAG,GACxCC,GAAiB,SAAU3oB,EAAQ+F,GACnC,OAAO/F,EAAOgC,KAAI,WACd,OAAO+D,GAAUU,MAClBrC,OAAO,EAAGpE,EAAO7W,OAAS,IAE7By/B,GAAiB,SAAU5oB,GAC3B,IAAI2B,EAAY3B,EAAO7W,OACvB,OAAO6W,EAAOgC,KAAI,SAAUpa,EAAOqB,GAC/B,OAAa,IAANA,EAAUA,GAAK0Y,EAAY,GAAK,MAG3CknB,GAAuB,SAAUn7B,EAAOo7B,EAAWlL,GACnD,IAAImL,EAAcr7B,EAAMvE,OACpB6/B,EAAkBD,EAAc,EAChCE,EAAqBD,EAAkB,EACvCtH,EAAOoH,EAAU9mB,KAAI,SAAUknB,GAC/B,OAAOA,EAAM9+B,MAAMwzB,MAEvB,OAAO,SAAU5f,GACTA,GAAKtQ,EAAM,IACXg0B,EAAK,GAAGuF,KAAK,GAEbjpB,GAAKtQ,EAAMs7B,IACXtH,EAAKuH,GAAoBhC,KAAK,GAGlC,IADA,IAAIh+B,EAAI,EACDA,EAAI8/B,EAAa9/B,IACpB,GAAIyE,EAAMzE,GAAK+U,GAAK/U,IAAM+/B,EAAiB,MAE/C,IAAIva,EAAkB,GAAS/gB,EAAMzE,EAAI,GAAIyE,EAAMzE,GAAI+U,GACvD0jB,EAAKz4B,EAAI,GAAGg+B,KAAKyB,GAAgBja,MAGrC0a,GAAY,SAAUhpB,GACtB,IAAIipB,EAAUjpB,EAAGipB,QACb9oB,EAAKH,EAAG0N,KACRA,OAAc,IAAPvN,EAAgBiG,GAASjG,EAChC+oB,EAAQlpB,EAAGkpB,MACXrpB,EAASG,EAAGH,OACZspB,EAAalsB,EAAO+C,EAAI,CAAC,UAAW,OAAQ,QAAS,WACzDipB,EAAUrgC,MAAM4kB,QAAQyb,GAAWA,EAAUT,GAAe3oB,EAAQopB,GACpEC,EAAQA,GAAST,GAAe5oB,GAChC,IAAI8oB,EAAYM,EAAQpnB,KAAI,SAAU+D,EAAQ9c,GAC1C,OAAOi+B,GAAe,CAClB5c,KAAMtK,EAAO/W,GACbshB,GAAIvK,EAAO/W,EAAI,GACf4kB,KAAM9H,OAGd,OAAOohB,GAAMjqB,EAASA,EAAS,GAAIosB,GAAa,CAAEzb,KAAMA,KAAS2P,iBAAgB,SAAUI,GACvF,OAAOiL,GAAqBQ,EAAOP,EAAWlL,OAIlD2L,GAAU,SAAUruB,GAIpB,YAHc,IAAVA,IACAA,EAAQ,IAEL,IAAO,SAAUiF,GACpB,IAAI4d,EAAW5d,EAAG4d,SACdH,EAASzd,EAAGyd,OACZtd,EAAKpF,EAAMsuB,aACXA,OAAsB,IAAPlpB,EAAgB,EAAIA,EACnCzG,EAAKqB,EAAMuuB,SACXA,OAAkB,IAAP5vB,EAAgB,EAAIA,EAC/B4f,EAAKve,EAAM6V,SACXA,OAAkB,IAAP0I,EAAgB,EAAIA,EAC/BiQ,EAAiBxuB,EAAMwuB,eACvBnf,EAAKrP,EAAMqP,GACXjQ,EAAKY,EAAMoqB,UACXA,OAAmB,IAAPhrB,EAAgB,KAAQA,EACpCiqB,EAAKrpB,EAAMoP,KACXA,OAAc,IAAPia,EAAgB,EAAIA,EAC3BjE,EAAUhW,EACVrG,EAAU,GAAK2Z,QAAO,SAAUzd,GAChC,IAAI/H,EAAQ+H,EAAG/H,MACXssB,EAAUl4B,KAAKuR,IAAI3F,EAAO,IAG9B,GAFIoxB,IAAczY,GAAYJ,GAAiB6Y,EAAc9E,IACzD+E,IAAU1Y,GAAYvkB,KAAKC,IAAI,EAAIg9B,EAAU/E,EAAU,WACpCn8B,IAAnBmhC,QAAuCnhC,IAAPgiB,EAAkB,CAClD,IAAIof,EAAmBpf,EAAK+V,EAC5BvP,GAAY4Y,EAAmBhZ,GAAiB+Y,EAAgBhF,GAEpEpE,GAAW3P,GAAiBI,EAAU2T,GACtC9G,EAAO0C,GACP,IAAI1B,GAA2B,IAAd0G,KAAyBvU,GAAYvkB,KAAKqc,IAAIkI,IAAauU,GACxE1G,IACApZ,GAAWoY,OAAO3Z,GAClB8Z,QAEL,GACH,MAAO,CACH3xB,IAAK,SAAU4R,GAEX,OADAsiB,EAAUtiB,EACHzJ,MAEXq1B,gBAAiB,SAAU5rB,GAEvB,OADAwrB,EAAexrB,EACRzJ,MAEXs1B,YAAa,SAAU7rB,GAEnB,OADAyrB,EAAWzrB,EACJzJ,MAEXu1B,kBAAmB,SAAU9rB,GAEzB,OADA0rB,EAAiB1rB,EACVzJ,MAEXw1B,gBAAiB,SAAU/rB,GAEvB,OADAuM,EAAKvM,EACEzJ,MAEXy1B,YAAa,SAAUhsB,GAEnB,OADA+S,EAAW/S,EACJzJ,MAEXuqB,KAAM,WACF,OAAOtZ,GAAWoY,OAAO3Z,SAKrCgmB,GAA6BjG,GAAmBuF,GAAS,CACzDC,aAAc/6B,EAAOR,KACrBw7B,SAAUh7B,EAAOR,KACjB8iB,SAAUtiB,EAAOR,KACjBqc,KAAM7b,EAAOR,KACbsc,GAAI9b,EAAOR,KACXy7B,eAAgBj7B,EAAOR,OAmHvBi8B,GAAS,SAAUvQ,EAASwQ,EAAQzQ,GACpC,OAAO,IAAO,SAAUvZ,GACpB,IAAIyd,EAASzd,EAAGyd,OACZwM,EAAaD,EAAOx7B,MAAM,KAAKqT,KAAI,SAAUqoB,GAE7C,OADA1Q,EAAQ2Q,iBAAiBD,EAAWzM,EAAQlE,GACrC2Q,KAEX,MAAO,CACHvL,KAAM,WACF,OAAOsL,EAAWziC,SAAQ,SAAU0iC,GAChC,OAAO1Q,EAAQ4Q,oBAAoBF,EAAWzM,EAAQlE,YAOtE8Q,GAAoB,WACpB,MAAO,CACHC,QAAS,EACTC,QAAS,EACTC,MAAO,EACPC,MAAO,EACPhhB,EAAG,EACHC,EAAG,IAGPghB,GAAe,SAAUxtB,EAAG2N,GAQ5B,YAPc,IAAVA,IACAA,EAAQwf,MAEZxf,EAAMyf,QAAUzf,EAAMpB,EAAIvM,EAAEotB,QAC5Bzf,EAAM0f,QAAU1f,EAAMnB,EAAIxM,EAAEqtB,QAC5B1f,EAAM2f,MAAQttB,EAAEstB,MAChB3f,EAAM4f,MAAQvtB,EAAEutB,MACT5f,GAGP+E,GAAS,CAAcya,MACvBM,IAAgB,EACpB,GAAwB,qBAAbnY,SAA0B,CACjC,IAAIoY,GAAuB,SAAU5qB,GACjC,IAAI6qB,EAAU7qB,EAAG6qB,QACjBF,IAAgB,EAChB,IAAIG,EAAaD,EAAQ7hC,OACzB4mB,GAAO5mB,OAAS,EAChB,IAAK,IAAIF,EAAI,EAAGA,EAAIgiC,EAAYhiC,IAAK,CACjC,IAAIiiC,EAAYF,EAAQ/hC,GACxB8mB,GAAOxlB,KAAKsgC,GAAaK,MAGjChB,GAAOvX,SAAU,uBAAwB,CACrCwY,SAAS,EACTC,SAAS,IACVhhC,MAAM2gC,IAEb,IAAIM,GAAa,SAAUlrB,GACvB,IAAIG,OAAY,IAAPH,EAAgB,GAAKA,EAC1BtG,EAAKyG,EAAGgrB,eACRA,OAAwB,IAAPzxB,GAAuBA,EACxC4f,EAAKnZ,EAAGuW,MACRA,OAAe,IAAP4C,EAAgB,EAAMA,EAC9Bnf,EAAKgG,EAAGmW,OACRA,OAAgB,IAAPnc,EAAgB,EAAMA,EACnC,OAAO,IAAO,SAAU6F,GACpB,IAAIyd,EAASzd,EAAGyd,OACZtzB,EAAS,CACT0gC,QAASjb,GACT8G,MAAOA,EACPJ,OAAQA,GAER8U,EAAkB,EAClBC,EAAkB,EAClBC,EAAY1b,GAAO5mB,OAAS,EAChC,GAAIsiC,EAAW,CACX,IAAIC,EAAa3b,GAAO,GACpB4b,EAAc5b,GAAO,GACzBwb,EAAkBpgB,GAASugB,EAAYC,GACvCH,EAAkBrhB,GAAMuhB,EAAYC,GAExC,IAAIC,EAAc,WACd,GAAIH,EAAW,CACX,IAAIC,EAAa3b,GAAO,GACpB4b,EAAc5b,GAAO,GACrB8b,EAAc1gB,GAASugB,EAAYC,GACnCG,EAAc3hB,GAAMuhB,EAAYC,GACpCrhC,EAAOusB,MAAQA,GAASgV,EAAcN,GACtCjhC,EAAOmsB,OAASA,GAAUqV,EAAcN,GAE5C5N,EAAOtzB,IAEPyhC,EAAS,SAAU1uB,IACfiuB,GAAkBjuB,EAAE2tB,QAAQ7hC,OAAS,IAAGkU,EAAEiuB,iBAC9C,GAAK1N,OAAOgO,IAEZI,EAAe9B,GAAOvX,SAAU,YAAa,CAC7CwY,SAAUG,IACXlhC,MAAM2hC,GAET,OADIjB,IAAe,GAAKlN,OAAOgO,GACxB,CACH9M,KAAM,WACFtZ,GAAWoY,OAAOgO,GAClBI,EAAalN,aAKzBmN,GAAmB,WACnB,OAAOnB,IAGP9f,GAAqBwf,KACrB0B,IAAgB,EACpB,GAAwB,qBAAbvZ,SAA0B,CACjC,IAAIwZ,GAAsB,SAAU9uB,GAChC6uB,IAAgB,EAChBrB,GAAaxtB,EAAG2N,KAEpBkf,GAAOvX,SAAU,uBAAuB,GAAMvoB,MAAM+hC,IAExD,ICpuCIC,GDouCAC,GAAQ,SAAUlsB,GAClB,IAAIG,QAAa,IAAPH,EAAgB,GAAKA,GAAImrB,eAC/BA,OAAwB,IAAPhrB,GAAuBA,EAC5C,OAAO,IAAO,SAAUH,GACpB,IAAIyd,EAASzd,EAAGyd,OACZgO,EAAc,WACd,OAAOhO,EAAO5S,KAEd+gB,EAAS,SAAU1uB,GACfiuB,GAAgBjuB,EAAEiuB,iBACtB,GAAK1N,OAAOgO,IAEZI,EAAe9B,GAAOvX,SAAU,aAAavoB,MAAM2hC,GAEvD,OADIG,IAAe,GAAKtO,OAAOgO,GACxB,CACH9M,KAAM,WACFtZ,GAAWoY,OAAOgO,GAClBI,EAAalN,aAMzBwN,GAAgB,SAAUnsB,GAC1B,IAAIurB,EAAavrB,EAAG,GACpB,OAAOurB,GAEPr8B,GAAU,SAAU6L,GAIpB,YAHc,IAAVA,IACAA,EAAQ,IAEL+wB,KAAqBZ,GAAWnwB,GAAOyR,MAAK,SAAUxM,GACzD,IAAI6qB,EAAU7qB,EAAG6qB,QACjB,OAAOA,IACRsB,IAAiBD,GAAMnxB,IAE1BqxB,GAAU,SAAUpsB,QACT,IAAPA,IACAA,EAAK,IAET,IAAIyJ,EAAIzJ,EAAGyJ,EACPC,EAAI1J,EAAG0J,EACP3O,EAAQkC,EAAO+C,EAAI,CAAC,IAAK,MAC7B,QAAU5X,IAANqhB,QAAyBrhB,IAANshB,EAAiB,CACpC,IAAI2iB,EAAiBniB,GAAYT,GAAK,GAClC6iB,EAAiBpiB,GAAYR,GAAK,GAClC6iB,EAAU,CAAE9iB,EAAG,EAAGC,EAAG,GACzB,OAAOxa,GAAQ6L,GAAOyR,MAAK,SAAU3B,GAGjC,OAFA0hB,EAAQ9iB,EAAI4iB,EAAexhB,EAAMpB,GACjC8iB,EAAQ7iB,EAAI4iB,EAAezhB,EAAMnB,GAC1B6iB,KAGX,OAAOr9B,GAAQ6L,IAInByxB,GAAQ,WAER,IADA,IAAIrL,EAAU,GACLzU,EAAK,EAAGA,EAAKrY,UAAUrL,OAAQ0jB,IACpCyU,EAAQzU,GAAMrY,UAAUqY,GAE5B,OAAO,IAAO,SAAU1M,GACpB,IAGImgB,EAHA1C,EAASzd,EAAGyd,OACZG,EAAW5d,EAAG4d,SACd90B,EAAI,EAEJ2jC,EAAc,WACdtM,EAAUgB,EAAQr4B,GAAGmB,MAAM,CACvB2zB,SAAU,WACN90B,IACAA,GAAKq4B,EAAQn4B,OAAS40B,IAAa6O,KAEvChP,OAAQA,KAIhB,OADAgP,IACO,CACH9N,KAAM,WACF,OAAOwB,GAAWA,EAAQxB,aAyBtC,GAAQ,SAAU+N,GAClB,OAAO,IAAO,SAAU1sB,GACpB,IAAI4d,EAAW5d,EAAG4d,SACd+O,EAAUzpB,WAAW0a,EAAU8O,GACnC,MAAO,CACH/N,KAAM,WACF,OAAOiO,aAAaD,SA4DhCE,GAAa,SAAUnuB,GACvB,OAAO,SAAUb,GACb,MAAO,GAAKA,EAAIa,IAGpB,GAAQ,SAAUouB,EAAInvB,EAAKC,GAO3B,YANY,IAARD,IACAA,EAAM,QAEE,IAARC,IACAA,EAAM,GAEH,SAAUC,GACb,IAAIsiB,EAAU,GAASxiB,EAAKC,EAAKC,GACjC,OAAOyN,GAAI3N,EAAKC,EAAK0hB,GAAawN,EAAI3M,MAG1C4M,GAAe,SAAUC,GACzB,OAAO,SAAUnvB,GACb,IAAI1T,EAAS4S,EAAS,GAAIc,GAC1B,IAAK,IAAInW,KAAOslC,EACZ,GAAIA,EAAkBtwB,eAAehV,GAAM,CACvC,IAAIulC,EAAmBD,EAAkBtlC,GACzCyC,EAAOzC,GAAOulC,EAAiBpvB,EAAEnW,IAGzC,OAAOyC,IAIXsiB,GAA4BnQ,OAAO4wB,OAAO,CAC1C1wB,UAAW,KACX0N,YAAaA,GACbsE,MAAO,GACP9D,YAAaA,GACb6D,YAAaA,GACb4e,WAAYtgB,GACZugB,WAAYphB,GACZQ,KAAMA,GACN4C,OAAQA,GACRO,KAAMA,GACN0d,qBAAsBpd,GACtBqd,gBAAiB/c,GACjBgd,aAAcjd,GACdO,KAAM,GACNgc,WAAYA,GACZ7nB,MAAO,GACP+nB,aAAcA,KEn+CdS,GAAgB,SAAUxtB,GACTA,EAAGytB,WACTztB,EAAGinB,KACFjnB,EAAG0tB,MACK1tB,EAAG2tB,cACD3tB,EAAG4tB,gBACF5tB,EAAG6tB,iBACN7tB,EAAG8tB,cACF9tB,EAAG+tB,eACJ/tB,EAAGguB,cACJhuB,EAAGiuB,aACLjuB,EAAGkuB,WAVpB,IAWInzB,EAAQkC,EAAO+C,EAAI,CAAC,aAAc,OAAQ,QAAS,gBAAiB,kBAAmB,mBAAoB,gBAAiB,iBAAkB,gBAAiB,eAAgB,eACnL,OAAOjF,GAEPozB,GAAc,SAAUnuB,GACZA,EAAG7G,MACH6G,EAAGjF,MACFiF,EAAGH,OACGG,EAAGouB,aACDpuB,EAAGquB,eACTruB,EAAGsuB,SACJtuB,EAAGgrB,QACChrB,EAAGuuB,YAPrB,IAQIC,EAAQvxB,EAAO+C,EAAI,CAAC,QAAS,QAAS,SAAU,eAAgB,iBAAkB,WAAY,UAAW,gBAC7G,OAAOwuB,GAEPC,GAAkB,SAAU5uB,EAAQ6uB,GACpC,IAAIC,EAAY,GAIhB,OAHA9uB,EAAOrY,SAAQ,SAAUC,EAAOC,GAC5B,OAAOinC,EAAUjnC,GAAOgnC,EAAYjnC,MAEjCknC,GAGPC,GAAc,SAAUvsB,EAAQtH,GAChC,MAAyB,oBAAXsH,EAAwBA,EAAOtH,GAASsH,GAEtDwsB,GAAc,SAAU5yB,EAAM8F,EAAM+sB,EAAcC,GAClD,OAAO9yB,QAAuB7T,IAAf6T,EAAK8F,GAAsB6sB,GAAY3yB,EAAK8F,GAAOgtB,GAAgBD,GAElFE,GAAuB,SAAUC,EAAUzI,EAAMvqB,EAAMlB,GACvD,IAAIm0B,EAAa,GACbxB,EAAQmB,GAAY5yB,EAAM,gBAAiB,EAAGlB,GAC9Co0B,EAAUN,GAAY5yB,EAAM,kBAAmB,EAAGlB,GAClD8yB,EAAmBgB,GAAY5yB,EAAM,mBAAoB,EAAGlB,GAC5Dq0B,GAAsBH,EAAS1Z,KAAO,GAAK4Z,EAC3CE,EAA+C,IAArBxB,EAAyB,SAAU/kC,GAC7D,OAAOA,EAAIqmC,GACX,SAAUrmC,GACV,OAAOsmC,EAAqBtmC,EAAIqmC,GAOpC,OALAvmC,MAAMuhB,KAAK8kB,GAAUznC,SAAQ,SAAU8nC,EAAOxmC,GAC1ComC,EAAW9kC,KAAKklC,EAAMrjC,IAAIu6B,EAAM,CAC5BkH,MAAOA,EAAQ2B,EAAwBvmC,SAGxComC,GAEPK,GAAoB,SAAU9B,EAAY/lC,EAAKD,EAAOsT,EAAOy0B,EAA6BC,GAC1F,IAAIC,EACJ,GAA0B,oBAAfjC,EAA2B,CAClC,IAAIkC,EAAwBlC,EAAW1yB,GACvC20B,EAAqBH,GAAkBI,EAAuBjoC,EAAKD,EAAOsT,EAAOy0B,EAA6BC,QAC3G,GAAIhC,EAAW/lC,IAAQ+lC,EAAWjvB,QAAS,CAC9C,IAAIoxB,EAAgBnC,EAAW/lC,IAAQ+lC,EAAWjvB,QAE9CkxB,EADyB,oBAAlBE,EACcA,EAAc70B,GAEd60B,OAGzBF,EAAqBjC,EAEzB,OAA8B,IAAvBiC,EAA+BD,EAAqBhoC,EAAOsT,GAASy0B,EAA4B/nC,EAAOioC,EAAoB30B,IAElI80B,GAAqB,SAAUC,EAAUC,EAAcC,GAEvD,IADA,IAAIC,EAAiB,EACZnnC,EAAIknC,EAAgB,EAAGlnC,GAAK,EAAGA,IAAK,CACzC,IAAIonC,EAA2BJ,EAASxmC,QAAQymC,EAAajnC,IAC7D,IAAkC,IAA9BonC,EAAiC,CACjCD,EAAiBC,EAA2B,EAC5C,OAGR,OAAOD,GAEPE,GAAc,SAAUC,EAASvwB,EAAQ9E,EAAOyW,EAAU6e,GAE1D,OADA7tB,EAA6B,kBAAZ4tB,EAAsB,sDAChC9zB,OAAOmlB,KAAK2O,GAAS5oC,SAAQ,SAAUE,GAC1C,IAAI4oC,EAAa1B,GAAYwB,EAAQ1oC,GAAMqT,GAC3C8E,EAAOzU,IAAI1D,GAAO8pB,EAAS3R,EAAO/X,IAAIJ,GAAM4oC,GAAcD,EAAe3oC,EAAK4oC,EAAYv1B,OAG9Fw1B,GAAmB,SAAUC,GAC7B,IAAIn9B,EAAQm9B,EAAYn9B,MACpBm7B,EAAQgC,EAAYhC,MACpBiC,EAAcD,EAAYC,YAC1BC,EAAaF,EAAYE,WACzBjB,EAAuBe,EAAYf,qBACnCkB,EAAiBH,EAAYG,eAC7BC,EAAqBJ,EAAYI,mBACjCC,EAAgBL,EAAYK,cAC5BC,EAAgBN,EAAYM,cAC5BC,EAAeP,EAAYO,aAC3BvB,EAA8BgB,EAAYhB,4BAC1Che,EAAWgf,EAAYhf,SACvB6e,EAAiBG,EAAYH,eAC7Bxe,EAAc2e,EAAY3e,YAC9B,OAAO,SAAU2U,EAAMwK,EAAWC,QACZ,IAAdD,IACAA,EAAY,SAEE,IAAdC,IACAA,GAAY,GAEhB,IAAIhC,EAAW57B,EAAM47B,SACjBpvB,EAASxM,EAAMwM,OACf9E,EAAQ1H,EAAM0H,MACdm2B,EAAgB79B,EAAM69B,cACtBC,EAAc99B,EAAM89B,YACpBnxB,EAAKgxB,EAAUtD,MACfA,OAAe,IAAP1tB,EAAgB,EAAIA,EAC5BoxB,EAAcnC,EAAS1Z,KACvB8b,EAAsBt0B,EAASA,EAAS,GAAIhC,GAAQi2B,GACpDM,EAAW9C,EAAMhI,GACjB+K,EAAqB,WACrB,OAAOH,GAAeH,EAAYjC,GAAqBC,EAAUzI,EAAM8K,EAAUD,GAAuB,IAExGG,EAAsB,WACtB,IAAKF,EAAU,MAAO,GACtB,IAAIrD,EAAeqD,EAASrD,aACxBA,IACAkC,GAAYlC,EAAcpuB,EAAQwxB,EAAqB7f,EAAU6e,GAC7Dxe,GAAaA,EAAYwf,IAE7BP,IAAeQ,EAAWR,EAAcQ,EAAU9K,EAAMnzB,IAC5D,IAAI26B,EAAgBsD,EAAStD,cACzByD,EAAgBH,EAAS7D,WACzBS,EAAaoD,EAASpD,WACtBF,GAAeA,EAAcqD,GACjC,IAAInC,EAAa5yB,OAAOmlB,KAAK+L,GAAc8D,IAAWzvB,KAAI,SAAUna,GAChE,IAAIgqC,GAAaP,EAAY/lC,IAAI1D,IAA+BypC,EAAYllC,IAAIvE,EAAK,IAA7CypC,EAAYrpC,IAAIJ,IACpDiqC,EAAgBD,EAAWpoC,QAAQk9B,IAChB,IAAnBmL,GAAsBD,EAAWztB,OAAO0tB,EAAe,GAC3D,IAAIC,EAAWb,EAAeA,EAAaznC,QAAQk9B,GAAQ,EACvDyJ,EAAiB2B,GAAY,EAAI,EAAI/B,GAAmB6B,EAAYX,EAAca,GAEtF,OADAF,EAAWztB,OAAOgsB,EAAgB,EAAGzJ,GACX,IAAnByJ,EAAuB,IAAI4B,SAAQ,SAAUjU,GAChD,IAAIn2B,EAAQoY,EAAO/X,IAAIJ,GACnBoqC,EAAkB/0B,EAASA,EAAS,GAAIs0B,GAAsB,CAAE3pC,IAAKA,EACrED,MAAOA,IACP4a,EAASwuB,EAAcppC,EAAOmnC,GAAY0C,EAAS5pC,GAAMoqC,IACzDZ,EAAc9lC,IAAI1D,IAAMgpC,EAAWQ,EAAcppC,IAAIJ,IACzD,IAAIqqC,EAAyBh1B,EAASA,EAAS,CAAEqN,GAAI/H,GAAUyvB,GAAkBlB,EAAmBnpC,EAAO4a,EAAQyvB,IAC/GrE,EAAa8B,GAAkBkC,EAAe/pC,EAAKD,EAAOsqC,EAAwBvC,EAA6BC,GAC/GuC,EAAYtE,GAASkB,GAAY0C,EAAS5D,MAAOoE,GACjDE,IACAvE,EAAakD,EAAeqB,EAAWvE,IAE3CyD,EAAcjlC,IAAIvE,EAAK+oC,EAAYhpC,EAAOgmC,EAAY7P,OACrDiU,QAAQI,aAEjB,OAAO/D,EAAa,CAAC2D,QAAQK,IAAIhD,GAAYiD,MAAK,WAC9ChC,GAAYjC,EAAYruB,EAAQwxB,EAAqB7f,EAAU6e,OAC7DnB,GAEV,GAAIoC,GAAYF,EAAa,CACzB,GAAIxC,GAAY0C,EAASvD,eAAgBsD,GACrC,OAAOQ,QAAQK,IAAIV,KAAuBW,MAAK,WAC3C,OAAON,QAAQK,IAAIX,QAEpB,GAAI3C,GAAY0C,EAASxD,cAAeuD,GAC3C,OAAOQ,QAAQK,IAAIX,KAAsBY,MAAK,WAC1C,OAAON,QAAQK,IAAIV,QAI/B,OAAOK,QAAQK,IAAI70B,EAAem0B,IAAuBD,QAI7Da,GAAuB,OACvBC,GAAU,SAAU3qC,GACpB,OAAOA,EAAI4qC,SAAS,UAEpBC,GAA6B,SAAU7qC,GACvC,OAAO2qC,GAAQ3qC,GAAO,EAAI,GAE1B8qC,GAAoB,SAAUv2B,EAAMvU,EAAKqT,GACzC,IAAI03B,EAAiBx2B,EAAKiyB,iBAAuC9lC,IAAzB6T,EAAKiyB,WAAWxmC,GAAqBuU,EAAKiyB,WAAWxmC,QAAqBU,IAAd6T,EAAKvU,GAAqBuU,EAAKvU,GAAOuU,EAAKgyB,mBAA2C7lC,IAA3B6T,EAAKgyB,aAAavmC,GAAqBuU,EAAKgyB,aAAavmC,GAAO,EAC/N,OAAOknC,GAAY6D,EAAgB13B,IAEnC23B,GAAmB,SAAUz2B,GAC7B,IAAI02B,EAAgB/pC,MAAM4kB,QAAQvR,GAAQA,EAAO,CAACA,GAElD,OADA02B,EAAcvoC,KAAKgoC,IACZO,GAEPC,GAAkB,SAAUpE,EAAO9mC,EAAK6mC,EAAaxzB,EAAO83B,EAAqB1B,QACrD,IAAxB0B,IACAA,EAAsBN,IAE1B,IAAII,EAAgBD,GAAiBnE,GACjCtyB,EAAO02B,EAAc9U,OAAOgF,SAAShX,MAAK,SAAUxQ,GACpD,IAAIy3B,EAAWtE,EAAMnzB,GACrB,OAAOy3B,SAA+B1qC,IAAlB0qC,EAASprC,IAAsBorC,EAAS7E,mBAA+C7lC,IAA/B0qC,EAAS7E,aAAavmC,IAAsBorC,EAAS5E,iBAA2C9lC,IAA7B0qC,EAAS5E,WAAWxmC,OAGvK,OADAypC,EAAYllC,IAAIvE,EAAK,CAACuU,GAAQm2B,KACvBn2B,EAAOu2B,GAAkBhE,EAAMvyB,GAAOvU,EAAKqT,GAAS83B,EAAoBnrC,EAAKqT,IAEpFg4B,GAAe,SAAUlzB,EAAQG,GACjC,IAAIgzB,EAAgBhzB,EAAGgzB,cACnBC,EAAcjzB,EAAGizB,YACjBC,EAAelzB,EAAGkzB,aAClBL,EAAsB7yB,EAAG6yB,oBACzBtE,EAAcvuB,EAAGuuB,YACjBC,EAAQxuB,EAAGwuB,MACX2C,EAAcnxB,EAAGmxB,YACjBp2B,EAAQiF,EAAGjF,MACf,OAAO,SAAUrT,GACb,IAAImY,EAAOzU,IAAI1D,GAAf,CACA,IAAID,EACJ,GAAIurC,QAAwC5qC,IAAvB4qC,EAActrC,GAC/BD,EAAQyrC,EAAaF,EAActrC,GAAMA,EAAKqT,OAC3C,CACH,IAAIo4B,EAAYP,GAAgBpE,EAAO9mC,EAAK6mC,EAAaxzB,EAAO83B,EAAqB1B,GACrF1pC,EAAQwrC,EAAYE,EAAWzrC,EAAKqT,GAExC8E,EAAO5T,IAAIvE,EAAKD,MAGpB2rC,GAAuB,SAAUvzB,EAAQ9E,GACzC,OAAO,SAAUrT,GACb,IAAIuU,EAAOlB,EAAMyzB,MAAM9mC,GACvB4U,OAAOmlB,KAAK+L,GAAcvxB,IAAOzU,QAAQurC,GAAalzB,EAAQ9E,MAGlEs4B,GAAmB,SAAU3rC,EAAK4rC,EAAYC,GAC9C,IAAmB,IAAfD,EACA,OAAOC,EAAU,IAAMA,EAAU,GAAG1zB,OAAO/X,IAAIJ,GAE/C,IAAI8rC,EAAgBD,EAAU1nB,MAAK,SAAU7L,GACzC,IAAI7G,EAAQ6G,EAAG7G,MACf,OAAOA,IAAUm6B,KAErB,OAAOE,GAAiBA,EAAc3zB,OAAO/X,IAAIJ,IAGrD+rC,GAAoB,SAAU5zB,EAAQG,GACtC,IAAIgrB,EAAUhrB,EAAGgrB,QACbqD,EAAiBruB,EAAGquB,eACpB4E,EAAcjzB,EAAGizB,YACjBS,EAAY1zB,EAAG0zB,UACf34B,EAAQiF,EAAGjF,MACf,OAAO,SAAUrT,GACb,IAAIsY,EAAKgrB,EAAQtjC,GACbisC,EAAW3zB,EAAG,GACd4zB,EAAe5zB,EAAG,GAClBszB,EAAatzB,EAAG,GAChB6zB,EAAcP,GAAcjF,EAAerlC,OAASqqC,GAAiBM,EAAUL,EAAYjF,KAAkBxuB,EAAOzU,IAAIuoC,IAAY9zB,EAAO/X,IAAI6rC,GACnJ,GAAKE,EAAL,CACA,IAAInkB,EAAWujB,EAAYS,EAAUG,GAAcnsC,EAAKqT,EAAO,CAC3D+4B,iBAAkBH,EAClBI,cAAeF,EACfD,aAAcA,IAElB/zB,EAAO5T,IAAIvE,EAAKgoB,MAGpBskB,GAAkB,SAAUh0B,GAC5B,IAAIqwB,EAAiBrwB,EAAGqwB,eACpB9B,EAAcvuB,EAAGuuB,YACjBxzB,EAAQiF,EAAGjF,MACXyzB,EAAQxuB,EAAGwuB,MACXyF,EAAgB,IAAI7iB,IACpB8iB,EAAY,SAAUj4B,EAAM4lB,GAC5B,GAAI5lB,EAAK4lB,GACL,IAAK,IAAIn6B,KAAOuU,EAAK4lB,GACZoS,EAAc7oC,IAAI1D,KACnBusC,EAAcjwB,IAAItc,GAClB2oC,EAAe3oC,EAAKknC,GAAY3yB,EAAK4lB,GAASn6B,GAAMqT,GAAQA,KAK5E23B,GAAiBnE,GAAa/mC,SAAQ,SAAU2sC,GAC5C,IAAIl4B,EAAOuyB,EAAM2F,GACbl4B,IACAi4B,EAAUj4B,EAAM,cAChBi4B,EAAUj4B,EAAM,qBAIxBm4B,GAAiB,SAAUr5B,GAC3B,IAAIyzB,EAAQzzB,EAAMyzB,MACdxD,EAAUjwB,EAAMiwB,QAChBnrB,EAAS,IAAIsS,IAIjB,OAHA7V,OAAOmlB,KAAK+M,GAAOhnC,QAAQ4rC,GAAqBvzB,EAAQ9E,IACxDi5B,GAAgBj5B,GACZiwB,GAAS1uB,OAAOmlB,KAAKuJ,GAASxjC,QAAQisC,GAAkB5zB,EAAQ9E,IAC7D8E,GAGPw0B,GAAyB,SAAUp4B,EAAMvU,EAAK4sC,GAC9C,OAAOv3B,EAASA,EAAS,GAAId,GAAO,CAAEwxB,WAAY6G,EAAmBlpC,IAAI1D,GAAO4sC,EAAmBxsC,IAAIJ,GAAO4sC,EAAmBxsC,IAAI,cAErIysC,GAAsB,SAAU/F,EAAO8F,GAMvC,OALAh4B,OAAOmlB,KAAK+M,GAAOhnC,SAAQ,SAAUE,GACjC,IAAIuU,EAAOuyB,EAAM9mC,GACjB8a,EAA0B,kBAATvG,EAAmB,SAAWvU,EAAM,sDACrD8mC,EAAM9mC,QAA2BU,IAApB6T,EAAKwxB,WAA2BxxB,EAAOo4B,GAAuBp4B,EAAMvU,EAAK4sC,MAEnF9F,GAGPgG,GAAwB,SAAUC,GAClC,OAAO,SAAUj3B,EAAGnB,GAChB,IAAIq4B,EAAKD,EAAcnrC,QAAQkU,GAC3Bm3B,EAAKF,EAAcnrC,QAAQ+S,GAC/B,OAAY,IAARq4B,IAAqB,IAARC,GAAmB,GACxB,IAARD,IAAqB,IAARC,EAAkB,EAC5BD,EAAKC,IAIhBC,GAAc,SAAU50B,GACxB,IAAI60B,EAAkB70B,EAAG60B,gBACrBP,EAAqBt0B,EAAGs0B,mBACxBQ,EAAe90B,EAAG80B,aAClBrE,EAAczwB,EAAGywB,YACjBC,EAAa1wB,EAAG0wB,WAChBgD,EAAY1zB,EAAG0zB,UACfb,EAAsB7yB,EAAG6yB,oBACzBhC,EAAgB7wB,EAAG6wB,cACnBrf,EAAWxR,EAAGwR,SACd6e,EAAiBrwB,EAAGqwB,eACpB4C,EAAcjzB,EAAGizB,YACjBC,EAAelzB,EAAGkzB,aAClBzD,EAAuBzvB,EAAGyvB,qBAC1BmB,EAAqB5wB,EAAG4wB,mBACxBD,EAAiB3wB,EAAG2wB,eACpBoE,EAAoB/0B,EAAG+0B,kBACvBvF,EAA8BxvB,EAAGwvB,4BACjCsB,EAAgB9wB,EAAG8wB,cACnBC,EAAe/wB,EAAG+wB,aAClBlf,EAAc7R,EAAG6R,YACjBmjB,EAAYh1B,EAAGg1B,UACnB,OAAO,SAAUC,GACb,IAAI7G,EAAe6G,EAAO7G,aACtBpuB,EAAKi1B,EAAO5G,eACZA,OAAwB,IAAPruB,EAAgB,GAAKA,EACtCouB,GAAcC,EAAez+B,QAAQ,CAAEiQ,OAAQuuB,IACnD,IAAI8C,EAAgB,IAAI/e,IACpBgf,EAAc,IAAIhf,IAClB8c,EAAW,IAAI7d,IACfod,EAAQ+F,GAAoBpG,GAAY8G,GAASX,GACjDn0B,EAAK80B,EAAOl6B,MACZA,OAAe,IAAPoF,EAAgB,GAAKA,EAC7B00B,IAAiB95B,EAAQgC,EAASA,EAAS,GAAI83B,EAAgBI,IAAUl6B,IAC7E,IAAIiwB,EAAUiK,EAAOjK,QACjBgI,EAAgBiC,EAAOp1B,OACvBnG,EAAKu7B,EAAO1G,YACZA,OAAqB,IAAP70B,EAAgB04B,GAAuB14B,EACrDmG,EAASu0B,GAAe,CACxB5F,MAAOA,EACPxD,QAASA,EACTqD,eAAgBA,EAChBqF,UAAWA,EACXrD,eAAgBA,EAChB4C,YAAaA,EACbC,aAAcA,EACdL,oBAAqBA,EACrBG,cAAeA,EACfzE,YAAaA,EACb4C,YAAaA,EACbp2B,MAAOA,IAEP1H,EAAQ,CACR69B,cAAeA,EACfC,YAAaA,EACblC,SAAUA,EACVl0B,MAAOA,EACP8E,OAAQA,GAERyuB,EAAW2G,EAAO3G,SAClBA,GAAUhyB,OAAOmlB,KAAK6M,GAAU9mC,QAAQstC,EAAaj1B,EAAQyuB,IACjE,IAAIriC,EAAMskC,GAAiB,CACvBl9B,MAAOA,EACPm7B,MAAOA,EACPiB,qBAAsBA,EACtBmB,mBAAoBA,EACpBpB,4BAA6BA,EAC7Bhe,SAAUA,EACV6e,eAAgBA,EAChBI,YAAaA,EACbC,WAAYA,EACZG,cAAeA,EACfF,eAAgBA,EAChBG,cAAeA,EACfC,aAAcA,EACdlf,YAAaA,IAEbzmB,EAAM,SAAU8pC,GAChB,QAAS1G,EAAM0G,IAEfpW,EAAM,CACN7yB,IAAKA,EACLkpC,MAAO,SAAUD,EAAUE,GACvB,IAAIC,EAAa,GACjBlE,EAAY3pC,SAAQ,SAAUkqC,GAC1B,IAAI4D,EAAY5D,EAAWpoC,QAAQ4rC,GACnC,IAAmB,IAAfI,EAAJ,CACA,IAAIC,EAAc7D,EAAW,GAC7BA,EAAWztB,OAAOqxB,EAAW,GAC7B,IAAIhE,EAAWI,EAAW,GACtBJ,IAAaiE,IACqB,IAAlCF,EAAW/rC,QAAQgoC,IACnB+D,EAAWjrC,KAAKknC,OAGxB,IAAIkE,EAAsBH,EAAWztC,KAAK4sC,GAAsBzD,IAAelvB,KAAI,SAAU4zB,GACzF,OAAOxpC,EAAIwpC,EAAWL,GAAW,MAKrC,OAHAnG,EAASznC,SAAQ,SAAU8nC,GACvB,OAAOkG,EAAoBprC,KAAKklC,EAAM6F,MAAMD,OAEzCrD,QAAQK,IAAIsD,IAEvB1tC,IAAK,SAAU4tC,GACX,OAAOA,EAAYX,EAAkBl1B,EAAO/X,IAAI4tC,IAAcjH,GAAgB5uB,EAAQk1B,IAE1F3pC,IAAKA,EACLuqC,SAAU,SAAUC,GAChB,OAAOviC,EAAM0H,MAAQgC,EAASA,EAAS,GAAI1J,EAAM0H,OAAQ66B,IAE7DC,UAAW,SAAUC,EAAaC,GAC9B,IAAIzG,EAAQyG,EAAQh5B,EAASA,EAAS,CAAEwxB,YAAaA,GAAeuH,GAAc,CAAEzH,eAAgBhxB,EAAe,CAAC,CAAElE,MAAO87B,EAAO97B,MAAO0G,OAAQA,IAAWwuB,MAE9J,OADAY,EAASjrB,IAAIsrB,GACNA,GAEX0G,YAAa,SAAU1G,GACnB,OAAOL,EAASzqB,OAAO8qB,IAE3B2G,cAAe,WACXhH,EAASznC,SAAQ,SAAU8nC,GACvB,OAAOA,EAAM4G,aAEjBjH,EAASkH,SAEbD,QAAS,WACLhF,EAAc1pC,QAAQkpC,GACtBzB,EAASznC,SAAQ,SAAU8nC,GACvB,OAAOA,EAAM4G,eAIzB,OAAOlB,EAAUlW,EAAKzrB,EAAO4hC,KAItB,MD1bX,GAAW,WAQX,OAPA,GAAW34B,OAAOjR,QAAU,SAAkB2N,GAC1C,IAAK,IAAIgE,EAAGlU,EAAI,EAAG0P,EAAInE,UAAUrL,OAAQF,EAAI0P,EAAG1P,IAE5C,IAAK,IAAI2T,KADTO,EAAI3I,UAAUvL,GACAkU,EAAOV,OAAOxG,UAAU4G,eAAe7H,KAAKmI,EAAGP,KAAIzD,EAAEyD,GAAKO,EAAEP,IAE9E,OAAOzD,GAEJ,GAAStC,MAAMtC,KAAMC,YAGhC,SAAS,GAAO2I,EAAGE,GACf,IAAIlE,EAAI,GACR,IAAK,IAAIyD,KAAKO,EAAOV,OAAOxG,UAAU4G,eAAe7H,KAAKmI,EAAGP,IAAMS,EAAE5T,QAAQmT,GAAK,IAAGzD,EAAEyD,GAAKO,EAAEP,IAC9F,GAAS,MAALO,GAAqD,oBAAjCV,OAAOa,sBAA2C,KAAIrU,EAAI,EAAb,IAAgB2T,EAAIH,OAAOa,sBAAsBH,GAAIlU,EAAI2T,EAAEzT,OAAQF,IAChIoU,EAAE5T,QAAQmT,EAAE3T,IAAM,GAAKwT,OAAOxG,UAAUsH,qBAAqBvI,KAAKmI,EAAGP,EAAE3T,MAAKkQ,EAAEyD,EAAE3T,IAAMkU,EAAEP,EAAE3T,KAElG,OAAOkQ,GAIX,SAAWizB,GACPA,EAAqB,SAAW,QAChCA,EAAqB,UAAY,SACjCA,EAAqB,QAAU,OAC/BA,EAAqB,SAAW,QAChCA,EAAqB,OAAS,MAC9BA,EAAqB,UAAY,UANrC,CAOGA,KAAyBA,GAAuB,KAEnD,IAAImK,GAA0B,SAAU5c,GACpC,IAAI6c,EAAe7c,EAAQhe,MAAM8C,UACjCkb,EAAQhe,MAAM8C,UAAY,GAC1B,IAAIg4B,EAAO9c,EAAQiC,wBAEnB,OADAjC,EAAQhe,MAAM8C,UAAY+3B,EACnBC,GAEP,GAAc,SAAUj0B,EAAQtH,GAChC,MAAyB,oBAAXsH,EAAwBA,EAAOtH,GAASsH,GAGtD,GAAc,GAAUkM,YACxBgoB,GAAoB,SAAUC,GAC9B,OAAO,SAAUrsB,GACb,IAAInK,EACJ,OAAO,IAASA,EAAK,GAAIA,EAAGw2B,GAAwB,kBAATrsB,EAAoB9L,WAAW8L,GAAQA,EAAMnK,IAAKwM,MAAK,SAAU3O,GACxG,OAAOA,EAAE24B,QAIjBC,GAAwBF,GAAkB,KAC1CG,GAAwBH,GAAkB,KAC1CI,GAAgB,SAAUC,EAAoBj5B,EAAKC,EAAKi5B,GACxD,OAAO,SAAU/E,GACb,IAAI3nB,EAAO2nB,EAAgB3nB,KACvB5V,EAAOu9B,EAAgBv9B,KACvBomB,EAAamX,EAAgBnX,WAC7Bmc,EAAahF,EAAgBgF,WAC7BC,EAAcH,EAAmBjc,EAAWqc,oBAAoBH,EAAa1sB,EAAM5V,IACnF0iC,EAAiB,GACrB,GAAIH,EAAY,CACZ,IAAII,EAAuB,GAAYJ,EAAYhF,QACjB1pC,IAA9B8uC,EAAqBv5B,IACrBs5B,EAAe7sC,MAAK,SAAUyT,GAC1B,OAAOxR,KAAKuR,IAAIC,EAAG8c,EAAWqc,oBAAoBH,EAAaK,EAAqBv5B,GAAMpJ,YAGhEnM,IAA9B8uC,EAAqBt5B,IACrBq5B,EAAe7sC,MAAK,SAAUyT,GAC1B,OAAOxR,KAAKsR,IAAIE,EAAG8c,EAAWqc,oBAAoBH,EAAaK,EAAqBt5B,GAAMrJ,OAStG,OALIA,IAASsK,GACTo4B,EAAe7sC,KAAK,GAAY,CAAC,EAAGuwB,EAAW7yB,IAAI+uC,IAAe,CAAC,EAAG,KAAM,CAAEroB,OAAO,KAAU,SAAU3Q,GACrG,OAAOA,EAAI,OAGZo5B,EAAejuC,OAAS+tC,EAAYvqB,KAAK9V,MAAMqgC,EAAaE,GAAkBF,IAGzFI,GAAO,SAAUhtB,GACjB,OAAO,IAAO,SAAUnK,GACpB,IAAIyd,EAASzd,EAAGyd,OACZG,EAAW5d,EAAG4d,SAClBH,EAAOtT,GACPyT,QAGJwZ,GAAoB,SAAUp3B,GAC9B,IAAImK,EAAOnK,EAAGmK,KACVyG,EAAW5Q,EAAG4Q,SACdxG,EAAKpK,EAAGoK,GACZ,OAAO,GAAO,CACVD,KAAMA,EACNC,GAAIA,EACJwG,SAAUA,EACVmU,UAAW,IACXC,QAAS,GACTX,UAAW,GACXc,UAAW,MAGfkS,GAAmB,SAAUr3B,GAC7B,IAAImK,EAAOnK,EAAGmK,KACVyG,EAAW5Q,EAAG4Q,SACdxG,EAAKpK,EAAGoK,GACZ,OAAO,GAAO,CAAED,KAAMA,EAAMC,GAAIA,EAAIwG,SAAUA,EAAUmU,UAAW,IAAKC,QAAgB,IAAP5a,EAAW,IAAM,MAElGktB,GAAc,SAAUt3B,GACxB,IAAImK,EAAOnK,EAAGmK,KACVC,EAAKpK,EAAGoK,GACZ,OAAO4c,GAAM,CAAE7c,KAAMA,EAAMC,GAAIA,EAAIsD,KAAMtH,MAEzCmxB,GAAwB,CACxB9tB,EAAG2tB,GACH1tB,EAAG0tB,GACHztB,EAAGytB,GACH9gB,OAAQ8gB,GACR7gB,QAAS6gB,GACT5gB,QAAS4gB,GACT3gB,QAAS2gB,GACTzgB,OAAQ0gB,GACRzgB,OAAQygB,GACR3gB,MAAO2gB,GACPjgB,QAASkgB,GACT94B,QAASwoB,IAETwQ,GAA0B,GAAuB,GAAS,GAAID,IAAwB,CAAE9tB,EAAgBktB,GAAcF,GAAU,OAAQ,QAASxK,GAAqBxwB,OAAQiO,EAAgBitB,GAAcD,GAAU,MAAO,SAAUzK,GAAqBtwB,UAC5P87B,GAAW,SAAUz3B,GACrB,IAAImK,EAAOnK,EAAGmK,KACd,OAAOgtB,GAAKhtB,IAEZutB,GAAkC,GAAuB,GAAS,GAAIH,IAAwB,CAAE9tB,EAAGguB,GAAU/tB,EAAG+tB,KAChH,GAAkC,IAAItlB,IAAI,CAAC,CAAC,UAAWolB,IAAwB,CAAC,OAAQC,IAAa,CAAC,UAAWE,MAEjHC,GAAkB,CAClB3Q,MAAOA,GACPlC,OAAQ,GACRZ,MAAO,GACP8E,UAAWA,GACXI,QAAS,IAETwO,GAAe,CACfxxB,OAAQA,GACRC,OAAQA,GACRC,QAASA,GACTC,UAAWA,GACXC,OAAQA,GACRG,QAASA,GACTC,UAAWA,GACXC,OAAQA,GACRC,QAASA,GACTC,UAAWA,GACXC,WAAYA,IAGZ6wB,GAAO,CACP/pC,KAAM,SAAU+P,GACZ,MAAa,SAANA,GAEXO,MAAO,SAAUP,GACb,OAAOA,IAGXi6B,GAAiB,CAACxpC,EAAQsQ,EAASC,EAASC,EAAIE,EAAID,EAAI84B,IACxDE,GAAgB,SAAUl6B,GAC1B,OAAO,SAAUtJ,GACb,OAAOA,EAAKzG,KAAK+P,KAGrB,GAAe,SAAUA,GACzB,OAAOi6B,GAAejsB,KAAKksB,GAAcl6B,KAGzCm6B,GAAqB,SAAUpZ,EAAMS,EAAQgX,GAC7C,IAAI4B,EAAM,GAAM5B,EAAazX,IAI7B,OAHAS,EAAO4Y,IAAI9Y,WAAU,SAAUthB,GAC3B,OAAOo6B,EAAIxa,OAAO4Y,EAAax4B,OAE5B,CAAEo6B,IAAKA,IAEd,GAAc,SAAUrZ,GACxB,IAAIrqB,EAAO,GAAaqqB,GACpBqZ,EAAM,GAAMrZ,GAChB,MAAO,CAAEqZ,IAAKA,EAAK1jC,KAAMA,IAEzB,GAAiB,SAAU2jC,EAAUzK,GAIrC,YAHiB,IAAbyK,IACAA,EAAW,GAER1L,GAAM,GAAM0L,GAAWzK,IAE9B0K,GAAoB,SAAUvW,GAC9B,MAA0B,kBAAZA,EAAK,IAEnBwW,GAAY,SAAUv6B,EAAGmC,EAAIG,GAC7B,IAQIuN,EARAvD,EAAOhK,EAAGgK,KACVC,EAAKjK,EAAGiK,GACRwG,EAAWzQ,EAAGyQ,SACdlX,EAAKsG,EAAGzL,KACRA,OAAc,IAAPmF,EAAgB,QAAUA,EACjC2+B,EAAcr4B,EAAG0N,KACjB4qB,EAAM,GAAOt4B,EAAI,CAAC,OAAQ,SAG9B,GAFAwC,OAAoCpa,IAA1BuvC,GAAgBpjC,GAAqB,4BAA8BA,EAAO,+EAEvE,UAATA,GAC2B,oBAAhB8jC,EACP,GAA2B,kBAAhBA,EACP71B,OAAwCpa,IAA9BwvC,GAAaS,GAA4B,wBAA0BA,EAAc,mCAC3F3qB,EAAOkqB,GAAaS,QACjB,GAAIzvC,MAAM4kB,QAAQ6qB,IAAgBF,GAAkBE,GAAc,CACrE71B,EAAiC,IAAvB61B,EAAYrvC,OAAc,2DACpC,IAAIuvC,EAAKF,EAAY,GACjBG,EAAKH,EAAY,GACjBI,EAAKJ,EAAY,GACjBK,EAAKL,EAAY,GACrB3qB,EAAO5F,GAAYywB,EAAIC,EAAIC,EAAIC,GAI3ChrB,EAAOA,GAAQ2qB,EACf,IAAIM,EAAqB,cAATpkC,EAAuB,CACnC4V,KAAMA,EACNC,GAAIA,EACJwG,SAAUA,EACVlD,KAAMA,GACN,CAAEA,KAAMA,GACZ,OAAOiqB,GAAgBpjC,GAAM,GAAS,GAAS,GAAIokC,GAAYL,KAE/DM,GAAW,SAAUC,GACrB,MAAkC,qBAApBA,EAAU5uC,OAExB,GAAO,SAAU+V,GACjB,IAAI8wB,EAAgB9wB,EAAG8wB,cACnBgI,EAAqB94B,EAAG84B,mBACxB9D,EAAYh1B,EAAGg1B,UACfnC,EAAsB7yB,EAAG6yB,oBACzB9B,EAAe/wB,EAAG+wB,aAClBV,EAAiBrwB,EAAGqwB,eACxB,OAAO,GAAY,CACfyE,aAAc,SAAUj1B,EAAQyuB,GAC5B,OAAO,SAAU5mC,GACb,GAAKmY,EAAOzU,IAAI1D,GAAhB,CACA,IAAIuwC,EAAMp4B,EAAO/X,IAAIJ,GAAKuwC,IAC1BA,EAAI9Y,UAAUmP,EAAS5mC,OAG/BgsC,UAAW,SAAU1zB,GACjB,IAAIi4B,EAAMj4B,EAAGi4B,IACb,OAAOA,EAAInwC,OAEf0pB,SAAU,SAAUxR,EAAIoK,GACpB,IAAI6tB,EAAMj4B,EAAGi4B,IACb,OAAOA,EAAIxa,OAAOrT,IAEtB6oB,YAAa,SAAUrU,EAAMl3B,EAAKsY,EAAIG,GAClC,IAAI44B,EAAgB/4B,EAAG+4B,cACnBr/B,OAAY,IAAPyG,EAAgB,GAAKA,EAC1B4zB,EAAgBr6B,EAAGq6B,cACnBH,EAAel6B,EAAGk6B,aAClBoF,EAAMjF,EAAgBiE,GAAmBpZ,EAAMmV,EAAeH,GAAgB,GAAYhV,GAE9F,OADAoa,EAAIf,IAAI9Y,UAAU2Z,EAAmBpxC,EAAKqxC,IACnCC,GAEX9F,aAAc,SAAU+E,EAAKvwC,EAAKsY,GAC9B,IAAI+4B,EAAgB/4B,EAAG+4B,cAEvB,OADAd,EAAI9Y,UAAU2Z,EAAmBpxC,EAAKqxC,IAC/B,CACHd,IAAKA,EACL1jC,KAAM,GAAa0jC,EAAInwC,SAG/B8oC,mBAAoB,SAAU5wB,EAAIoK,GAC9B,IAAI6tB,EAAMj4B,EAAGi4B,IACT1jC,EAAOyL,EAAGzL,KACd,MAAO,CACH4V,KAAM8tB,EAAInwC,MACV8oB,SAAUqnB,EAAIvX,cACdtW,GAAIA,EACJ7V,KAAMA,IAGds8B,cAAe,SAAUoI,EAAG7uB,GACxB,OAAOA,GAEX2qB,kBAAmB,SAAU/0B,GACzB,IAAIi4B,EAAMj4B,EAAGi4B,IACb,OAAOA,GAEXxH,YAAa,SAAUzwB,EAAI64B,EAAWjb,GAClC,IAAIqa,EAAMj4B,EAAGi4B,IACTiB,EAAW,CACXzb,OAAQ,SAAU5f,GACd,OAAOo6B,EAAIxa,OAAO5f,IAEtB+f,SAAUA,GAEd,OAAOib,EAAU5uC,MAAMivC,IAE3BxI,WAAY,SAAUmI,GAClB,OAAOA,EAAUla,QAErB8Q,qBAAsB,SAAUwJ,EAAGj5B,GAC/B,IAAIoK,EAAKpK,EAAGoK,GACZ,OAAO+sB,GAAK/sB,IAEhBolB,4BAA6B,SAAUwJ,EAAKV,EAAKv9B,GAC7C,GAAI69B,GAASN,GAAM,OAAOA,EAC1B,IAAIJ,EAAWI,EAAI5K,MACf/vB,EAAM26B,EAAI36B,IACVC,EAAM06B,EAAI16B,IACV4C,EAAQ83B,EAAI93B,MACZ24B,EAAe,GAAOb,EAAK,CAAC,QAAS,MAAO,MAAO,UACnDO,EAAYT,GAAUY,EAAKG,EAAcp+B,GACzCq+B,EAAa,GASjB,OARIlB,IAAUW,EAAY,GAAeX,EAAUW,SACvCzwC,IAARuV,GAAmBy7B,EAAWhvC,MAAK,SAAUyT,GAC7C,OAAOxR,KAAKuR,IAAIC,EAAGF,WAEXvV,IAARwV,GAAmBw7B,EAAWhvC,MAAK,SAAUyT,GAC7C,OAAOxR,KAAKsR,IAAIE,EAAGD,MAEnB4C,GAAO44B,EAAWhvC,KAAKiC,KAAKmU,OACzB44B,EAAWpwC,OAAS6vC,EAAUrsB,KAAK9V,MAAMmiC,EAAWO,GAAcP,GAE7ExI,eAAgBA,EAChBM,eAAgB,GAChB2D,mBAAoB,GACpBxD,cAAeA,EACf+B,oBAAqBA,EACrB9B,aAAcA,EACdiE,UAAWA,KAIfqE,GAAmB,SAAU7f,GAC7B,IAAI8f,GAAc,EACdnZ,EAAU,CACV1kB,MAAO,EACPE,OAAQ,EACR6Z,IAAK,EACLG,KAAM,EACND,OAAQ,EACRD,MAAO,GAEX,MAAO,CACH3tB,IAAK,SAAU+uC,GACX,OAAOA,EAAc1W,EAAQ0W,GAAe1W,GAEhDoZ,QAAS,WAGL,OAFApZ,EAAU3G,EAAQiC,wBAClB6d,GAAc,EACPnZ,GAEX6W,oBAAqB,SAAUH,EAAa2C,EAAUjlC,GAClD,OAAOA,IAASsK,GAA+B,kBAAb26B,EAAwBn7B,WAAWm7B,GAAYA,GAAY,IAAMrZ,EAAQ0W,GAAe2C,GAE9HpuC,IAAK,WACD,OAAOkuC,KAKfG,GAAwB,SAAUz5B,GAClC,IAAI05B,EAAc15B,EAAG05B,YACjBC,EAAY35B,EAAG25B,UACfC,EAAY55B,EAAG45B,UACfC,EAAU75B,EAAG65B,QACbC,EAAgB95B,EAAG85B,cACnBC,EAAc/5B,EAAG+5B,YACjBC,EAAmBh6B,EAAGg6B,iBACtBC,EAAgBj6B,EAAGi6B,cACvB,OAAO,SAAUzgB,EAAS0X,EAAegJ,EAAOjF,GAC5C,IAAIkF,EAAgBP,EAAY,QAC5BQ,EAAcR,EAAY,MAC1BS,EAAeT,EAAY,OAC/B,GAAIK,EAAe,CACf,IAAIK,EAAoBvQ,GAAOvQ,EAAS,YAAa,CACjDwR,SAAS,IACV/gC,OAAM,SAAUiT,GACfA,EAAEiuB,oBAEN+F,EAAcjlC,IAAIouC,EAAcC,GAEpC,IAAIC,EAAqBxQ,GAAOvQ,EAASkgB,GAAazvC,OAAM,SAAUuwC,GAClEN,EAAM/E,MAAM0E,GACZK,EAAMjuC,IAAI2tC,GACNE,GAAiB7E,EAAO6E,IAAgB7E,EAAO6E,GAAeU,GAClE,IAAIC,EAAmB1Q,GAAOiQ,EAAmBxnB,SAASkoB,gBAAkBlhB,EAASmgB,GAAaK,EAAmB,cAAgB,KAAK/vC,OAAM,SAAU0wC,GAClJX,GAAsC,eAAlBW,EAASpmC,MAA8C,IAArBomC,EAASC,UAGnE1J,EAAcppC,IAAIsyC,GAAazb,OAC/Bub,EAAM/E,MAAMyE,GACZM,EAAMjuC,IAAI4tC,GACNE,GAAe9E,EAAO8E,IAAc9E,EAAO8E,GAAaY,OAEhEzJ,EAAcjlC,IAAImuC,EAAaK,MAEnCvJ,EAAcjlC,IAAIkuC,EAAeI,KAGrCvQ,GAAS,CACT6Q,UAAwBpB,GAAsB,CAC1CC,YAAa,uBACbC,UAAW,mBACXC,UAAW,OACXC,QAAS,UACTC,cAAe,cACfC,YAAa,YACbC,kBAAkB,EAClBC,eAAe,IAEnBa,UAAwBrB,GAAsB,CAC1CC,YAAa,aACbC,UAAW,aACXC,UAAW,QACXC,QAAS,aAEbkB,UAAwBtB,GAAsB,CAC1CC,YAAa,QACbC,UAAW,OACXC,UAAW,QACXC,QAAS,SAEbmB,UAAwBvB,GAAsB,CAC1CC,YAAa,uBACbC,UAAW,mBACXC,UAAW,QACXC,QAAS,WACTC,cAAe,eACfC,YAAa,aACbC,kBAAkB,KAGtBiB,GAAyB3+B,OAAOmlB,KAAKuI,IACrCkR,GAAuB,SAAU1hB,EAAS0X,EAAegJ,EAAOl6B,GAChE,IAAIjF,EAAQiF,EAAGjF,MACf,OAAOkgC,GAAUzzC,SAAQ,SAAUE,GAC3BqT,EAAMrT,IAAMsiC,GAAOtiC,GAAK8xB,EAAS0X,EAAegJ,EAAOn/B,OAI/DogC,GAAe,EACfC,GAAgB,MAChBC,GAAa,OACbC,GAAa,SAAUt7B,GACvB,IAAIwV,EAAMxV,EAAGwV,IACTC,EAAQzV,EAAGyV,MACXC,EAAS1V,EAAG0V,OACZC,EAAO3V,EAAG2V,KACd,MAAO,CACHlM,GAAIkM,EAAOF,GAAS,EACpB/L,GAAI8L,EAAME,GAAU,IAGxB6lB,GAAkB,CAAC,QAAS,SAAU,MAAO,OAAQ,SAAU,SAC/DC,GAAmC,IAAIpqB,IAAImqB,IAC3CE,GAAsB,SAAU/zC,GAChC,OAAO8zC,GAAoBpwC,IAAI1D,IAE/Bg0C,GAAqB,SAAUz/B,GAC/B,OAAOK,OAAOmlB,KAAKxlB,GAAMwmB,KAAKgZ,KAE9BE,GAAa,SAAU1U,EAAMv/B,EAAK2L,GAClC,OAAOA,EAAM0H,MAAMye,mBAAmBoD,eAAyB,IAATqK,GAAyB,SAARv/B,IAEvE,GAAW,SAAUsY,EAAItY,EAAK0iB,GAC9B,IAAIvK,EAASG,EAAGH,OACZ9E,EAAQiF,EAAGjF,MACf,GAAI8E,EAAOzU,IAAI1D,GAAM,CACjB,IAAIuwC,EAAMp4B,EAAO/X,IAAIJ,GAAKuwC,IAC1BA,EAAIxa,OAAOrT,GACX6tB,EAAIxa,OAAOrT,QAEXvK,EAAO5T,IAAIvE,EAAK,CACZuwC,IAAK,GAAM7tB,GAAI,SAAUvM,GACrB,OAAO9C,EAAMg+B,cAAc9sC,IAAIvE,EAAKmW,SAKhD+9B,GAAqB,SAAUvoC,EAAOi+B,GACtC,IAAItxB,EAAK3M,EAAM0H,MACX4f,EAAa3a,EAAG2a,WAChBoe,EAAgB/4B,EAAG+4B,cACvBpe,EAAW4e,UACCjI,EAAS71B,MACR61B,EAAS31B,OACZ21B,EAAS9b,IACR8b,EAAS3b,KACP2b,EAAS5b,OACV4b,EAAS7b,MACN6b,EAAShM,SANxB,IAOIuW,EAAgB,GAAOvK,EAAU,CAAC,QAAS,SAAU,MAAO,OAAQ,SAAU,QAAS,aACvFwK,EAAaP,GAAgB9sB,OAAO,YAAYxJ,QAAO,SAAUC,EAAKxd,GAItE,YAHsBU,IAAlBkpC,EAAS5pC,KACTwd,EAAIxd,GAAO,GAAY4pC,EAAS5pC,GAAM2L,EAAM0H,QAEzCmK,IACR,IAEH,OADA6zB,EAAc9sC,IAAI6vC,GAAYxiC,SACvByiC,GAAmB1oC,EAAOwoC,IAEjCE,GAAqB,SAAU1oC,EAAOi+B,GACtC,IAAItxB,EAAK3M,EAAM0H,MACX4f,EAAa3a,EAAG2a,WAChBnB,EAAUxZ,EAAGwZ,QACbuf,EAAgB/4B,EAAG+4B,cACvB,IAAKpe,EAAWvvB,MAAO,MAAO,GAC9B,IAAI80B,EAAOvF,EAAW7yB,MAClB0+B,EAAO4P,GAAwB5c,GAC/BnC,EAAU6I,EAAKvK,OAAS6Q,EAAK7Q,KAAOwlB,GAAejb,EAAKzK,QAAU+Q,EAAK/Q,MAAQ4lB,GAAaD,GAC5F9jB,EAAU4I,EAAK1K,MAAQgR,EAAKhR,IAAM2lB,GAAejb,EAAKxK,SAAW8Q,EAAK9Q,OAAS2lB,GAAaD,GAChGrC,EAAc9sC,IAAI,CAAEorB,QAASA,EAASC,QAASA,IAC3C4I,EAAKzkB,QAAU+qB,EAAK/qB,QACpB,GAASpI,EAAO,SAAU6sB,EAAKzkB,MAAQ+qB,EAAK/qB,OAC5C61B,EAAS3a,OAAS,GAElBuJ,EAAKvkB,SAAW6qB,EAAK7qB,SACrB,GAAStI,EAAO,SAAU6sB,EAAKvkB,OAAS6qB,EAAK7qB,QAC7C21B,EAAS1a,OAAS,GAEtB,IAAIolB,EAAaV,GAAWpb,GACxB+b,EAAaX,GAAW9U,GAU5B,OATInP,IAAY+jB,KACZ,GAAS/nC,EAAO,IAAK2oC,EAAWvyB,EAAIwyB,EAAWxyB,GAC/C6nB,EAAS7nB,EAAI,GAEb6N,IAAY8jB,KACZ,GAAS/nC,EAAO,IAAK2oC,EAAWtyB,EAAIuyB,EAAWvyB,GAC/C4nB,EAAS5nB,EAAI,GAEjBqvB,EAAcz/B,SACPg4B,GAEP4K,GAAW,SAAUnhC,EAAOu2B,GAC5B,OAAOoK,GAAmBpK,GAAYsK,GAAmB7gC,EAAOu2B,GAAYyK,GAAmBhhC,EAAOu2B,IAGtG6K,GAAmB,SAAUC,EAAQC,GACrC,OAAOh+B,WAAW+9B,EAAO5tC,MAAM,MAAM6tC,KAErCC,GAAyB,SAAUC,EAAMC,GACzC,OAAO,SAAUhjB,EAAS8c,EAAMt2B,GAC5B,IAAIq2B,EAAer2B,EAAG1B,UACtB,IAAK+3B,GAAiC,SAAjBA,EAAyB,OAAO,EACrD,IAAIoG,EAAWpG,EAAa30B,MAAM,sBAClC,OAAI+6B,EAAiBN,GAAiBM,EAAS,GAAID,GAC5CL,GAAiB9F,EAAa30B,MAAM,oBAAoB,GAAI66B,KAGvEG,GAAmB,CACnBjhC,MAAO,SAAU+d,EAASxZ,GACtB,IAAIvE,EAAQuE,EAAGvE,MACf,OAAOA,GAEXE,OAAQ,SAAU6d,EAASxZ,GACvB,IAAIrE,EAASqE,EAAGrE,OAChB,OAAOA,GAEX6Z,IAAK,SAAUgE,EAAS8c,EAAMt2B,GAC1B,IAAIwV,EAAMxV,EAAGwV,IACb,OAAOnX,WAAWmX,IAEtBG,KAAM,SAAU6D,EAAS8c,EAAMt2B,GAC3B,IAAI2V,EAAO3V,EAAG2V,KACd,OAAOtX,WAAWsX,IAEtBD,OAAQ,SAAU8D,EAASxZ,EAAIG,GAC3B,IAAIxE,EAASqE,EAAGrE,OACZ6Z,EAAMrV,EAAGqV,IACb,OAAOnX,WAAWmX,GAAO7Z,GAE7B8Z,MAAO,SAAU+D,EAASxZ,EAAIG,GAC1B,IAAI1E,EAAQuE,EAAGvE,MACXka,EAAOxV,EAAGwV,KACd,OAAOtX,WAAWsX,GAAQla,GAE9BgO,EAAgB6yB,GAAuB,EAAG,IAC1C5yB,EAAgB4yB,GAAuB,EAAG,KAE1CK,GAAkB,SAAU9+B,GAC5B,YAA+BzV,IAAxBs0C,GAAiB7+B,IAExB++B,GAAe,SAAU3gC,GACzB,OAAOK,OAAOmlB,KAAKxlB,GAAMwmB,KAAKka,KAE9BE,GAAyB,SAAUxpC,EAAOi+B,GAC1C,IAAIzxB,EAASxM,EAAMwM,OACf9E,EAAQ1H,EAAM0H,MACdye,EAAUze,EAAMye,QAChBuf,EAAgBh+B,EAAMg+B,cACtB+D,EAAqBxgC,OAAOmlB,KAAK6P,GAAUzT,OAAO8e,IAClDI,EAAwB,GACxBC,EAAuBpjB,iBAAiBJ,GACxCyjB,GAA0B,EAgB9B,GAfAH,EAAmBt1C,SAAQ,SAAUE,GACjC,IAAI8xC,EAAW35B,EAAO/X,IAAIJ,GACtBw1C,EAAgB,GAAa1D,EAASvB,IAAInwC,OAC1CsiB,EAAK,GAAYknB,EAAS5pC,GAAMqT,GAChCoiC,EAAc,GAAa/yB,GAC3B8yB,IAAkBC,IAClBJ,EAAsB3yC,KAAK1C,GACtBu1C,IACDA,GAA0B,EAC1B3L,EAASpD,WAAaoD,EAASpD,WAAa,GAAS,GAAIoD,EAASpD,YAAc,IAEpFoD,EAASpD,WAAWxmC,GAAO4pC,EAASpD,WAAWxmC,IAAQ4pC,EAAS5pC,GAChE,GAAS2L,EAAO3L,EAAK0iB,QAGxB2yB,EAAsB/zC,OAAQ,OAAOsoC,EAC1C,IAAI8L,EAAa5jB,EAAQiC,wBACrBjG,EAAMwnB,EAAqBxnB,IAC3BG,EAAOqnB,EAAqBrnB,KAC5BD,EAASsnB,EAAqBtnB,OAC9BD,EAAQunB,EAAqBvnB,MAC7B4gB,EAAe2G,EAAqB1+B,UACpC++B,EAAsB,CAAE7nB,IAAKA,EAAKG,KAAMA,EAAMD,OAAQA,EAAQD,MAAOA,EAAOnX,UAAW+3B,GAC3F0C,EAAcz/B,SACd,IAAIgkC,EAAa9jB,EAAQiC,wBAMzB,OALAshB,EAAsBv1C,SAAQ,SAAUE,GACpC,GAAS2L,EAAO3L,EAAKg1C,GAAiBh1C,GAAK8xB,EAAS4jB,EAAYC,IAChE/L,EAAS5pC,GAAOg1C,GAAiBh1C,GAAK8xB,EAAS8jB,EAAYN,MAE/DjE,EAAcz/B,SACPg4B,GAGPiM,GAAa,SAAUx7B,GACvB,OAAO,SAAU/B,GACb,IAAI+4B,EAAgB/4B,EAAG+4B,cACvB,OAAOA,EAAcjxC,IAAIia,KAG7By7B,GAAY,SAAU3C,GACtB,IAAI4C,EAAO,CACPzP,cAAe,SAAUhuB,GACrB,IAAI2a,EAAa3a,EAAG2a,WACpB,OAAOA,EAAW4e,YAGtBmE,EAAU,GAOd,OANkB,IAAd7C,GAAoC,MAAdA,IACtB4C,EAAKh0B,EAAIi0B,EAAQj0B,EAAI8zB,GAAW,OAElB,IAAd1C,GAAoC,MAAdA,IACtB4C,EAAK/zB,EAAIg0B,EAAQh0B,EAAI6zB,GAAW,MAE7B,CAAEE,KAAMA,EAAMC,QAASA,IAE9BC,GAAmB,SAAUnkB,EAASxZ,GACtC,IAAI49B,EAAc59B,EAAG49B,YACjBC,EAAY79B,EAAG69B,UACfC,EAAe99B,EAAG89B,aAClBC,EAAa/9B,EAAG+9B,WAChBlD,EAAY76B,EAAG66B,UACfC,EAAY96B,EAAG86B,UACfC,EAAY/6B,EAAG+6B,UACfC,EAAYh7B,EAAGg7B,UACflE,EAAa92B,EAAG82B,WAChB7B,EAAS,GAAOj1B,EAAI,CAAC,cAAe,YAAa,eAAgB,aAAc,YAAa,YAAa,YAAa,YAAa,eACnIg+B,EAAa,GAAS,GAAS,CAAE/W,KAAM,IAAMgO,GAAS,CAAEl6B,MAAO,GAAS,GAAS,GAAIk6B,EAAOl6B,OAAQ,CAAE6iC,YAAaA,EAC/GC,UAAWA,EACXC,aAAcA,EACdC,WAAYA,EACZjH,WAAYA,EACZ+D,UAAWA,EACXC,UAAWA,EACXC,UAAWA,EACXC,UAAWA,EACXxhB,QAASA,EAASuf,cAAe,GAAOvf,EAAS,CAAEC,gBAAgB,IAAUkB,WAAY0e,GAAiB7f,OAClH,GAAIqhB,EAAW,CACX,IAAI16B,EAAKq9B,GAAU3C,GACf4C,EAAOt9B,EAAGs9B,KACVC,EAAUv9B,EAAGu9B,QACjBM,EAAWP,KAAO,GAAS,GAAS,GAAIA,GAAOO,EAAWP,MAC1DO,EAAWN,QAAU,GAAS,GAAS,GAAIA,GAAUM,EAAWN,SAEpE,OAAOM,GAEPC,GAAuB,GAAK,CAC5BlN,aAAc,CAAC,OAAQ,QAAS,QAAS,SACzCD,cAAe,SAAU9wB,EAAI3E,EAAMhI,GAC/B,IAAI4zB,EAAOjnB,EAAGinB,KACViX,EAAU,GAAOl+B,EAAI,CAAC,SAC1B,OAAI27B,GAAW1U,EAAM5rB,EAAMhI,GAChB6oC,GAAS7oC,EAAO6qC,GAChBtB,GAAasB,GACbrB,GAAuBxpC,EAAO6qC,GAElCA,GAEXrsB,YAAa,SAAU7R,GACnB,IAAI+4B,EAAgB/4B,EAAG+4B,cACvBA,EAAcz/B,UAElBw/B,mBAAoB,SAAUpxC,EAAKqxC,GAC/B,OAAO,SAAUl7B,GACb,OAAOk7B,EAAc9sC,IAAIvE,EAAKmW,KAGtCg1B,oBAAqB,SAAUnrC,EAAKsY,GAChC,IAAI+4B,EAAgB/4B,EAAG+4B,cACnBjC,EAAa92B,EAAG82B,WAChB0C,EAAWT,EAAcjxC,IAAIJ,GACjC,GAAIovC,IAAuB,MAARpvC,GAAuB,MAARA,GAAc,CAC5C,IAAIy2C,EAAgB,MAARz2C,EAAcovC,EAAWnhB,MAAQmhB,EAAWrhB,MAAQqhB,EAAWthB,KAAOshB,EAAWphB,OAC7F,GAAIyoB,EAAO,CACP,IAAIC,EAAY,GAAaD,GAC7B3E,EAAW4E,EAAU9/B,UAAUk7B,IAGvC,OAAOj4B,MAAMi4B,GAAYA,EAAWn7B,WAAWm7B,IAEnDnJ,eAAgB,SAAU3oC,EAAK0iB,EAAIpK,GAC/B,IAAI+4B,EAAgB/4B,EAAG+4B,cACvB,OAAOA,EAAc9sC,IAAIvE,EAAK0iB,IAElC4qB,UAAW,SAAUlW,EAAK9e,EAAIi1B,GAC1B,IAAIl6B,EAAQiF,EAAGjF,MACXm2B,EAAgBlxB,EAAGkxB,cACnBqI,EAAUx+B,EAAM4f,WAAW4e,QAC3B8E,EAAW,GAAS,GAAS,GAAIvf,GAAM,CAAEwf,SAAU,SAAU9kB,EAASsc,GAClE,OAAOhX,EAAI+W,UAAU8H,GAAiBnkB,EAASsc,GAAcmI,KAC9D1E,QAASA,EAAStS,KAAM,SAAUsX,GAKjC,OAJIA,IACAhF,IACAgF,KAEGzf,EAAI7yB,IAAI,WAIvB,OAFA8O,EAAMg+B,cAAcz/B,SACpB4hC,GAAqBngC,EAAMye,QAAS0X,EAAemN,EAAUpJ,GACtDoJ,KAGXG,GAAY,SAAUhlB,EAASyb,GAC/B,OAAOgJ,GAAQN,GAAiBnkB,EAASyb,KAG9B,MEvvBXwJ,GAAoB,CACpB,IACA,UACA,QACA,QACA,IACA,aACA,OACA,KACA,SACA,SACA,UACA,OACA,OACA,MACA,WACA,OACA,WACA,SACA,MACA,KACA,QACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,IACA,SACA,MACA,QACA,QACA,SACA,KACA,MACA,SACA,KACA,SACA,IACA,QACA,UACA,MACA,WACA,IACA,UACA,SACA,OACA,SACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,QACA,KACA,KACA,QACA,SACA,WACA,OACA,UACA,IACA,QACA,OACA,iBACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,MACA,OACA,SAGAC,GAAW,IAAIjiB,QAEf,GAAQ,CACRxgB,KAAM,CACF1H,KAAMxM,OACNyW,QAAS,QAEbmgC,aAAc,CACVpqC,KAAMxM,OACNyW,aAASpW,GAEb+rC,QAAS,CACL5/B,KAAM,CAACxM,OAAQgW,QACfS,aAASpW,GAEbw2C,cAAe,CACXrqC,KAAM+H,OACNkC,aAASpW,GAEby2C,eAAgB,CACZtqC,KAAMuqC,SACNtgC,aAASpW,GAEb22C,WAAY,CACRxqC,KAAMsuB,QACNrkB,SAAS,IAGbwgC,GAAQ,CACRC,OAAQ,SAAUC,GACd9qC,KAAK8lC,MAAMvE,SAASuJ,IAExBjjC,KAAM,SAAUkjC,EAASC,GACjBD,IAAYC,GACZhrC,KAAKirC,QAAQF,IAErBhL,QAAS,SAAUmL,EAAYC,GACvBD,IAAeC,GACfnrC,KAAKirC,QAAQjrC,KAAK6H,QAG9B,SAASujC,KACAprC,KAAK8lC,OAAU9lC,KAAKqrC,wBAErBrrC,KAAKsrC,qBACLtrC,KAAKsrC,oBAAoBtrC,KAAK8lC,OAClCwE,GAASl6B,OAAOpQ,KAAKurC,KACrBvrC,KAAK8lC,MAAMhE,WAEf,IAAIh7B,GAAU,CACV0kC,eAAgB,WACZ,IAAI5/B,EAAK5L,KAAKyrC,OAAQlB,EAAe3+B,EAAG2+B,aAAc1iC,EAAO+D,EAAG/D,KAChE,OAAO7H,KAAK0rC,8BACN1rC,KAAK0rC,gCACLnB,GAAgB1iC,GAE1B8jC,kBAAmB,WACf,IAAI//B,EAAK5L,KAAKyrC,OAAQlB,EAAe3+B,EAAG2+B,aAAc1iC,EAAO+D,EAAG/D,KAChE,QAAO0iC,GAAe1iC,GAE1B+jC,UAAW,SAAU9F,GACjB9lC,KAAK8lC,MAAQA,EACb9lC,KAAK6rC,gBACLvB,GAASzyC,IAAImI,KAAKurC,IAAKzF,GACvB,IAAIgG,EAAY9rC,KAAK2rC,oBACjBG,GACA9rC,KAAKirC,QAAQa,IAErBb,QAAS,SAAUpjC,GACf,IAAI+hB,EAAQ5pB,KACZA,KAAK8lC,MAAMjuC,IAAIgQ,GAAMk2B,MAAK,WAAc,OAAOnU,EAAM7iB,MAAM,eAAgBc,OAE/EgkC,cAAe,WACX,IAAIjiB,EAAQ5pB,KACPA,KAAK66B,WAEV76B,KAAK66B,SAASznC,SAAQ,SAAUwY,GAC5B,IAAIwZ,EAAUxZ,EAAGwZ,QAASyb,EAASj1B,EAAGi1B,OAAQkL,EAAengC,EAAGmgC,aAChEA,EAAaniB,EAAMkc,MAAMoE,SAAS9kB,EAASzc,EAAS,GAAIk4B,EAAQ,CAAE1G,YAAavQ,EAAM4hB,wBAEzFxrC,KAAK66B,SAASkH,UAElBiK,cAAe,WACX,OAAOrjC,EAAS,GAAI3I,KAAK6qC,UAGjC,SAASoB,KACL,IAAIhhB,EAASjrB,KACb,MAAO,CACHksC,mBAAoB,SAAUhR,GAC1BjQ,EAAO4P,SAAW5P,EAAO4P,UAAY,IAAI7d,IACzCiO,EAAO4P,SAASjrB,IAAIsrB,GAChBjQ,EAAO6a,OACP7a,EAAO4gB,iBAEfP,oBAAqB,SAAUxF,GAC3B7a,EAAO6a,MAAMlE,YAAYkE,KAIrC,IAAIqG,GAAS,CACTD,mBAAoB,CAAE9hC,SAAS,GAC/BkhC,oBAAqB,CAAElhC,SAAS,GAChCshC,8BAA+B,CAAEthC,SAAS,GAC1CihC,sBAAuB,CAAEjhC,SAAS,IAElCgiC,GAA8B,SAAUC,GAAM,OAAO,SAAUxL,GAE/D,YADe,IAAXA,IAAqBA,EAAS,IAC3B,OAAIyL,OAAO,CACd3lC,MAAO,GACPslC,QAASA,GACTE,OAAQA,GACRI,QAAS,WACL,IAAI3iB,EAAQ5pB,KACZoO,EAA8B,qBAAbpO,KAAKurC,IAAqB,yBAC3C,IAAIiB,EAAc7jC,EAAS,GAAIk4B,EAAQ,CAAE1G,YAAan6B,KAAKwrC,iBAAkBhC,YAAaxpC,KAAKysC,WAAW,cAChG,SAAU3jC,GAAK,OAAO8gB,EAAM7iB,MAAM,aAAc+B,SAChD9U,EAAWy1C,UAAWzpC,KAAKysC,WAAW,YACtC,SAAU3jC,GAAK,OAAO8gB,EAAM7iB,MAAM,WAAY+B,SAC9C9U,EAAW01C,aAAc1pC,KAAKysC,WAAW,eACzC,SAAU3jC,GAAK,OAAO8gB,EAAM7iB,MAAM,cAAe+B,SACjD9U,EAAW21C,WAAY3pC,KAAKysC,WAAW,aACvC,SAAU3jC,GAAK,OAAO8gB,EAAM7iB,MAAM,YAAa+B,SAC/C9U,EAAWkmC,SAAUl6B,KAAKyrC,OAAOjB,cAAe7jC,MAAO3G,KAAKgsC,kBACjEhsC,KAAKyrC,OAAOd,YAAe3qC,KAAKksC,mBAIjClsC,KAAKksC,mBAAmB,CACpB9mB,QAASplB,KAAKurC,IACd1K,OAAQ2L,EACRT,aAAc,SAAUjG,GAAS,OAAOlc,EAAMgiB,UAAU9F,MAN5D9lC,KAAK4rC,UAAU,GAAY5rC,KAAKurC,IAAKiB,KAU7C5B,MAAOA,GACP9jC,QAASA,GACTskC,UAAWA,GACXlmC,OAAQ,SAAUsZ,GACd,OAAOA,EAAc6tB,EAAI,GAAI,CAACrsC,KAAK0sC,OAAOtiC,eAIlDuiC,GAAQtC,GAAkBx5B,QAAO,SAAUC,EAAKu7B,GAEhD,OADAv7B,EAAIu7B,GAAMD,GAA4BC,GAC/Bv7B,IACR,IAEC87B,GAAa,SAAUC,EAAUC,EAAQC,EAAehtC,GAAQ,OAAO,SAAUssC,EAAIW,GAChF1C,GAAStzC,IAAIq1C,IACd/B,GAASzyC,IAAIw0C,EAAI,GAAYA,EAAI1jC,EAAS,GAAIokC,EAAe,CAAE5S,YAAa0S,MAEhFvC,GAAS52C,IAAI24C,GACRx0C,IAAIi1C,GACJ/O,MAAK,WACNh+B,EAAKgH,MAAM,eAAgB+lC,GAC3BE,SAGJpB,GAAY,SAAUqB,EAAY9S,GAAe,OAAO,WAAc,OAAO8S,EAAW9S,KAkD7E,IAjDM,OAAImS,OAAO,CAC5B3lC,MAAO,CACHumC,UAAW,CACP/sC,KAAMxM,OACNyW,QAAS,SAEb+iC,SAAU,CACNhtC,KAAMxM,OACNyW,QAAS,SAGjB6hC,QAAS,WACL,IAAIhhB,EAASjrB,KACb,MAAO,CACH0rC,8BAA+B,WAC3B,OAAOzgB,EAAOmiB,SAElB/B,uBAAuB,IAG/BgC,QAAS,WACL,IACIzhC,EADAge,EAAQ5pB,KAER+L,EAAK/L,KAAKyrC,OAAQyB,EAAYnhC,EAAGmhC,UAAWC,EAAWphC,EAAGohC,SAC1DG,EAASttC,KAAK6qC,OAAOyC,OACrBP,GAAiBnhC,EAAK,GACtBA,EAAGshC,GAAa,CAAElqB,QAAS,GAC3BpX,EAAGuhC,GAAY,CAAEnqB,QAAS,GAC1BpX,GACAqhC,EAAa,SAAUplC,GAAQ,OAAQ+hB,EAAMwjB,QAAUvlC,GAC3D7H,KAAK0F,GAAK,CACN6nC,YAAa3B,GAAUqB,EAAYE,GACnCK,YAAa5B,GAAUqB,EAAYC,GACnCO,MAAOb,GAAWO,EAAUD,EAAWH,EAAe/sC,MACtD0tC,MAAOd,GAAWM,EAAWC,EAAUJ,EAAe/sC,YAE3ChM,IAAXs5C,IACAttC,KAAK0F,GAAG4nC,OAASV,GAAWO,EAAUD,EAAWH,EAAe/sC,MAChEA,KAAK0F,GAAGioC,aAAe/B,GAAUqB,EAAYE,KAGrDjoC,OAAQ,SAAUsZ,GACd,OAAOA,EAAc,aAAc,CAC/B7X,MAAOgC,EAAS,CAAEilC,KAAK,GAAS5tC,KAAK6qC,QACrCnlC,GAAI1F,KAAK0F,IACV,CAAC1F,KAAK0sC,OAAOtiC,aAIT,ICnSf,IACE0Q,SAAU,IACVxB,KAAM,CAAC,IAAM,IAAM,GAAK,MAG1B,IACE3S,MAAO,CAAC,aAAc,cAAe,OACrCknC,KAAM,WAAR,qBACEjnC,SAAU,CACRiB,KADJ,WAEM,OAAO7H,KAAK8tC,SAAW,WAAa,aAEtCpmC,WAJJ,WAKM,OAAO1H,KAAK8tC,SAAW9tC,KAAK+tC,QAAU/tC,KAAKguC,SAG/ClnC,QAAS,CACPknC,OADJ,WAGMhuC,KAAK8tC,UAAW,GAElBC,QALJ,WAOM/tC,KAAK8tC,UAAW,IAGpBG,WAAY,CACVC,MAAO,GAAX,KACMC,UAAW,CACTtU,aAAc,CAAtB,gBACQ7W,QAAS,GAEXorB,SAAU,CACRvU,aAAc,CAAtB,iBACQ7W,QAAS,KAGbqrB,UAAW,GAAf,KACMF,UAAW,CACTjd,SAAU,SACV7pB,MAAO,OACPE,OAAQ,OACR8xB,WAAR,GACQxG,MAAM,GAERub,SAAU,CACRld,SAAU,QACV9P,IAAK,EACLG,KAAM,EACNF,MAAO,EACPC,OAAQ,EACR+X,WAAR,GACQxG,MAAM,EACNtrB,OAAQ,YCnE6U,M,yBCQzVJ,GAAY,gBACd,GACAjC,EACAwB,GACA,EACA,KACA,WACA,MAIa,OAAAS,G,4OC0gBf,QACEF,KAAM,aACNgnC,WAAY,CACVK,YAAJ,OACIC,WAAJ,QAEE5nC,MAAO,CAGL6nC,UAAW/f,QACXggB,cAAe,CACbtuC,KAAM+H,OACNwmC,UAAU,GAKZC,0BAA2Bn6C,MAC3Bo6C,4BAA6Bp6C,MAC7B8R,oBAAqB9R,OAEvBq5C,KArBF,WAsBI,MAAO,CACLgB,UAAU,EACVhB,KAAM,KACNiB,SAAS,EACTntC,OAAO,IAGXiF,SAAU,OAAZ,OAAY,CAAZ,CACImoC,gBADJ,WAEM,OAAO/uC,KAAK6uC,SAClB,+BACA,8BAEI7oC,MANJ,WAOM,OAAOhG,KAAK6G,QAAQb,OAEtBC,QATJ,WAUM,OAAOjG,KAAK6G,QAAQZ,SAEtBT,YAZJ,WAaM,OAAOxF,KAAK6G,QAAQrB,aAEtBwpC,GAfJ,WAgBM,OAAOhvC,KAAKivC,iBAAiBD,IAE/BE,MAlBJ,WAmBM,OAAOlvC,KAAKivC,iBAAiBC,QAEnC,gBACI,QAAJ,0BACI,iBAAJ,sBAGE7B,QAvDF,WAwDSrtC,KAAKgvC,GAIRhvC,KAAKmvC,sBAFLnvC,KAAKgH,QAAQhR,KAAK,CAAxB,eAKE8Q,QAAS,CACPsoC,mBADJ,WAIMpvC,KAAKgH,QAAQhR,KAAK,CAChBiR,KAAM,WACNC,OAAQ,CACNmoC,OAAQ,KACRb,UAAWxuC,KAAKwuC,UAChBc,mBAAoBtvC,KAAK6uC,SACnC,+CACA,SAIIU,YAfJ,WAgBM,IAAN,uCACA,YAAQ,OAAR,YACA,gCACMvvC,KAAK+G,MAAM,yBAA0B,CACnCyoC,SAAUxvC,KAAK6tC,KACf4B,WAAYA,KAGhBN,oBAxBJ,WAwBA,WACMnvC,KAAK8uC,SAAU,EACf,IAAN,+CACA,GACQY,OAAQC,EAAKX,GACbY,WAAY5vC,KAAKgvC,GACjBa,YAAa7vC,KAAKkvC,MAClBY,UAAW,EACXC,GAAI,MAEY,wCAAd/vC,KAAKkvC,QACPhoC,EAAO2oC,YAAc,MAGvB,EAAN,KACA,uBACA,kBACQ,EAAR,YACQ,EAAR,cAEA,mBACQ,QAAR,OACQ,EAAR,WACQ,EAAR,aAIIG,SAnDJ,WAmDA,WAEA,GADA,UACA,8CAEA,GACQN,OAAQC,EAAKX,GACbiB,mBAAoBjwC,KAAKkvC,OAG3B,EAAN,yCAEwB,WAAZgB,EAAIrC,KACN,EAAV,mBACA,oBACU,EAAV,wBAKIpnC,SAtEJ,SAsEA,GACM,IAAN,gBACA,KACA,KACM,GAAI0pC,EACFC,EACR,4CACQC,EAAoCrwC,KAAKsG,oBAAoB9M,MACrE,EACA,OAEA,CACQ,IAAR,EACA,wCACQ82C,EAAiCl9C,SAAQ,SAAjD,GACUg9C,EAAkCp6C,KAAKovB,EAAQ3f,OAKnDzF,KAAKgH,QAAQhR,KAAK,CAChBiR,KAAM,WACNC,OAAQ,CACNkpC,kCAAV,EACUC,kCAAV,MAQIE,YAtGJ,WAsGA,WACA,+CACA,GACQb,OAAQC,EAAKX,GACbY,WAAY5vC,KAAKgvC,GACjBa,YAAa7vC,KAAKkvC,MAClBY,UAAW,EACXC,GAAI,MAEY,wCAAd/vC,KAAKkvC,QACPhoC,EAAO2oC,YAAc,MAGvB,EAAN,KACA,0BACA,kBACQ,IAAR,kCAEA,6BACA,gCAEA,8BACQ,EAAR,OACQ,IAAR,WACA,aACA,kBACA,EACA,yBACA,IACA,2CACA,OACQ,EAAR,2BACQ,SAAR,oBACQ,EAAR,QACQ,EAAR,cAEA,mBACQ,QAAR,OACQ,EAAR,WACQ,EAAR,cA0BEjF,MAAO,CASLsE,MATJ,SASA,KACMlvC,KAAK8uC,SAAU,EACf9uC,KAAK6uC,UAAW,EAEhB7uC,KAAKmvC,2B;;AC/wBXr8C,EAAQ09C,KAAO,SAAUtxC,EAAQmnB,EAAQoqB,EAAMC,EAAMC,GACnD,IAAI7nC,EAAGtE,EACHosC,EAAiB,EAATD,EAAcD,EAAO,EAC7BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBE,GAAS,EACTr8C,EAAI+7C,EAAQE,EAAS,EAAK,EAC1B3oC,EAAIyoC,GAAQ,EAAI,EAChB7nC,EAAI1J,EAAOmnB,EAAS3xB,GAOxB,IALAA,GAAKsT,EAELc,EAAIF,GAAM,IAAOmoC,GAAU,EAC3BnoC,KAAQmoC,EACRA,GAASH,EACFG,EAAQ,EAAGjoC,EAAS,IAAJA,EAAW5J,EAAOmnB,EAAS3xB,GAAIA,GAAKsT,EAAG+oC,GAAS,GAKvE,IAHAvsC,EAAIsE,GAAM,IAAOioC,GAAU,EAC3BjoC,KAAQioC,EACRA,GAASL,EACFK,EAAQ,EAAGvsC,EAAS,IAAJA,EAAWtF,EAAOmnB,EAAS3xB,GAAIA,GAAKsT,EAAG+oC,GAAS,GAEvE,GAAU,IAANjoC,EACFA,EAAI,EAAIgoC,MACH,IAAIhoC,IAAM+nC,EACf,OAAOrsC,EAAIwsC,IAAsBC,KAAdroC,GAAK,EAAI,GAE5BpE,GAAQvM,KAAKC,IAAI,EAAGw4C,GACpB5nC,GAAQgoC,EAEV,OAAQloC,GAAK,EAAI,GAAKpE,EAAIvM,KAAKC,IAAI,EAAG4Q,EAAI4nC,IAG5C59C,EAAQo+C,MAAQ,SAAUhyC,EAAQ7L,EAAOgzB,EAAQoqB,EAAMC,EAAMC,GAC3D,IAAI7nC,EAAGtE,EAAG+O,EACNq9B,EAAiB,EAATD,EAAcD,EAAO,EAC7BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBM,EAAe,KAATT,EAAcz4C,KAAKC,IAAI,GAAI,IAAMD,KAAKC,IAAI,GAAI,IAAM,EAC1DxD,EAAI+7C,EAAO,EAAKE,EAAS,EACzB3oC,EAAIyoC,EAAO,GAAK,EAChB7nC,EAAIvV,EAAQ,GAAgB,IAAVA,GAAe,EAAIA,EAAQ,EAAK,EAAI,EAmC1D,IAjCAA,EAAQ4E,KAAKqc,IAAIjhB,GAEb8Z,MAAM9Z,IAAUA,IAAU49C,KAC5BzsC,EAAI2I,MAAM9Z,GAAS,EAAI,EACvByV,EAAI+nC,IAEJ/nC,EAAI7Q,KAAKD,MAAMC,KAAKm5C,IAAI/9C,GAAS4E,KAAKo5C,KAClCh+C,GAASkgB,EAAItb,KAAKC,IAAI,GAAI4Q,IAAM,IAClCA,IACAyK,GAAK,GAGLlgB,GADEyV,EAAIgoC,GAAS,EACNK,EAAK59B,EAEL49B,EAAKl5C,KAAKC,IAAI,EAAG,EAAI44C,GAE5Bz9C,EAAQkgB,GAAK,IACfzK,IACAyK,GAAK,GAGHzK,EAAIgoC,GAASD,GACfrsC,EAAI,EACJsE,EAAI+nC,GACK/nC,EAAIgoC,GAAS,GACtBtsC,GAAMnR,EAAQkgB,EAAK,GAAKtb,KAAKC,IAAI,EAAGw4C,GACpC5nC,GAAQgoC,IAERtsC,EAAInR,EAAQ4E,KAAKC,IAAI,EAAG44C,EAAQ,GAAK74C,KAAKC,IAAI,EAAGw4C,GACjD5nC,EAAI,IAID4nC,GAAQ,EAAGxxC,EAAOmnB,EAAS3xB,GAAS,IAAJ8P,EAAU9P,GAAKsT,EAAGxD,GAAK,IAAKksC,GAAQ,GAI3E,IAFA5nC,EAAKA,GAAK4nC,EAAQlsC,EAClBosC,GAAQF,EACDE,EAAO,EAAG1xC,EAAOmnB,EAAS3xB,GAAS,IAAJoU,EAAUpU,GAAKsT,EAAGc,GAAK,IAAK8nC,GAAQ,GAE1E1xC,EAAOmnB,EAAS3xB,EAAIsT,IAAU,IAAJY,I,oCCnF5B,W,kCCEA,EAAQ,QACR,IAAInS,EAAI,EAAQ,QACZ66C,EAAa,EAAQ,QACrB36C,EAAiB,EAAQ,QACzBG,EAAW,EAAQ,QACnBy6C,EAAc,EAAQ,QACtBj6C,EAAiB,EAAQ,QACzBk6C,EAA4B,EAAQ,QACpCh6C,EAAsB,EAAQ,QAC9BT,EAAa,EAAQ,QACrB06C,EAAS,EAAQ,QACjBC,EAAO,EAAQ,QACfC,EAAU,EAAQ,QAClBC,EAAW,EAAQ,QACnBC,EAAW,EAAQ,QACnBx6C,EAAY,EAAQ,QACpBqR,EAAS,EAAQ,QACjBopC,EAA2B,EAAQ,QACnCC,EAAc,EAAQ,QACtBC,EAAoB,EAAQ,QAC5Bt/C,EAAkB,EAAQ,QAE1Bu/C,EAAcX,EAAW,SACzBY,EAAgBZ,EAAW,WAC3Ba,EAAmBD,GAAiBA,EAAcxwC,UAClD0wC,EAAUd,EAAW,WACrB1+C,EAAWF,EAAgB,YAC3B2/C,EAAoB,kBACpBC,EAA6BD,EAAoB,WACjDz6C,EAAmBJ,EAAoBK,IACvC06C,EAAyB/6C,EAAoBO,UAAUs6C,GACvDG,EAA2Bh7C,EAAoBO,UAAUu6C,GAEzDG,EAAO,MACPC,EAAYl+C,MAAM,GAElBm+C,EAAkB,SAAUC,GAC9B,OAAOF,EAAUE,EAAQ,KAAOF,EAAUE,EAAQ,GAAKC,OAAO,qBAAuBD,EAAQ,KAAM,QAGjGE,EAAgB,SAAUC,GAC5B,IACE,OAAOC,mBAAmBD,GAC1B,MAAOpxC,GACP,OAAOoxC,IAIPE,EAAc,SAAUC,GAC1B,IAAIhgD,EAASggD,EAAGzzC,QAAQgzC,EAAM,KAC1BG,EAAQ,EACZ,IACE,OAAOI,mBAAmB9/C,GAC1B,MAAOyO,GACP,MAAOixC,EACL1/C,EAASA,EAAOuM,QAAQkzC,EAAgBC,KAAUE,GAEpD,OAAO5/C,IAIPukB,EAAO,eAEPhY,EAAU,CACZ,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,MAAO,KAGL0zC,EAAW,SAAU7lC,GACvB,OAAO7N,EAAQ6N,IAGb8lC,EAAY,SAAUF,GACxB,OAAOr3C,mBAAmBq3C,GAAIzzC,QAAQgY,EAAM07B,IAG1CE,EAAoB,SAAUngD,EAAQqM,GACxC,GAAIA,EAAO,CACT,IAEI+zC,EAAWC,EAFXC,EAAaj0C,EAAMnF,MAAM,KACzBf,EAAQ,EAEZ,MAAOA,EAAQm6C,EAAW5+C,OACxB0+C,EAAYE,EAAWn6C,KACnBi6C,EAAU1+C,SACZ2+C,EAAQD,EAAUl5C,MAAM,KACxBlH,EAAO8C,KAAK,CACV1C,IAAK2/C,EAAYM,EAAM3zC,SACvBvM,MAAO4/C,EAAYM,EAAMt9C,KAAK,WAOpCqK,EAAqB,SAAUf,GACjCS,KAAKyzC,QAAQ7+C,OAAS,EACtBy+C,EAAkBrzC,KAAKyzC,QAASl0C,IAG9Bm0C,EAA0B,SAAUC,EAAQjF,GAC9C,GAAIiF,EAASjF,EAAU,MAAMtuC,UAAU,yBAGrCwzC,EAA0BpC,GAA0B,SAAkBtqC,EAAQ2sC,GAChFj8C,EAAiBoI,KAAM,CACrBG,KAAMmyC,EACNwB,SAAU/B,EAAYQ,EAAuBrrC,GAAQusC,SACrDI,KAAMA,MAEP,YAAY,WACb,IAAI50C,EAAQuzC,EAAyBxyC,MACjC6zC,EAAO50C,EAAM40C,KACbxtC,EAAOpH,EAAM60C,SAAS1hB,OACtBmhB,EAAQltC,EAAKhT,MAGf,OAFGgT,EAAK2mC,OACR3mC,EAAKhT,MAAiB,SAATwgD,EAAkBN,EAAMjgD,IAAe,WAATugD,EAAoBN,EAAMlgD,MAAQ,CAACkgD,EAAMjgD,IAAKigD,EAAMlgD,QACxFgT,KAKP0tC,EAA6B,WAC/Bh9C,EAAWiJ,KAAM+zC,EAA4B1B,GAC7C,IAGI2B,EAAgBF,EAAU1hB,EAAM/rB,EAAM4tC,EAAeC,EAAWC,EAAOt3C,EAAQvJ,EAH/Ek3B,EAAOvqB,UAAUrL,OAAS,EAAIqL,UAAU,QAAKjM,EAC7C+L,EAAOC,KACPyzC,EAAU,GAUd,GAPA77C,EAAiBmI,EAAM,CACrBI,KAAMkyC,EACNoB,QAASA,EACTlzC,UAAW,aACXD,mBAAoBA,SAGTtM,IAATw2B,EACF,GAAIqnB,EAASrnB,GAEX,GADAwpB,EAAiBhC,EAAkBxnB,GACL,oBAAnBwpB,EAA+B,CACxCF,EAAW/B,EAAYvnB,EAAMwpB,GAC7B5hB,EAAO0hB,EAAS1hB,KAChB,QAAS/rB,EAAO+rB,EAAK3xB,KAAKqzC,IAAW9G,KAAM,CAGzC,GAFAiH,EAAgBlC,EAAYH,EAASvrC,EAAKhT,QAC1C6gD,EAAYD,EAAc7hB,MAEvB+hB,EAAQD,EAAUzzC,KAAKwzC,IAAgBjH,OACvCnwC,EAASq3C,EAAUzzC,KAAKwzC,IAAgBjH,OACxCkH,EAAUzzC,KAAKwzC,GAAejH,KAC/B,MAAM5sC,UAAU,mCAClBqzC,EAAQz9C,KAAK,CAAE1C,IAAK+D,EAAU88C,EAAM9gD,OAAQA,MAAOgE,EAAUwF,EAAOxJ,eAEjE,IAAKC,KAAOk3B,EAAUinB,EAAOjnB,EAAMl3B,IAAMmgD,EAAQz9C,KAAK,CAAE1C,IAAKA,EAAKD,MAAOgE,EAAUmzB,EAAKl3B,WAE/F+/C,EACEI,EACgB,kBAATjpB,EAAuC,MAAnBA,EAAKlxB,OAAO,GAAakxB,EAAKhxB,MAAM,GAAKgxB,EAAOnzB,EAAUmzB,KAMzF4pB,EAA2BL,EAA2BryC,UA2J1D,GAzJA6vC,EAAY6C,EAA0B,CAGpCC,OAAQ,SAAgBptC,EAAM5T,GAC5BqgD,EAAwBzzC,UAAUrL,OAAQ,GAC1C,IAAIqK,EAAQszC,EAAuBvyC,MACnCf,EAAMw0C,QAAQz9C,KAAK,CAAE1C,IAAK+D,EAAU4P,GAAO5T,MAAOgE,EAAUhE,KAC5D4L,EAAMsB,aAIR,OAAU,SAAU0G,GAClBysC,EAAwBzzC,UAAUrL,OAAQ,GAC1C,IAAIqK,EAAQszC,EAAuBvyC,MAC/ByzC,EAAUx0C,EAAMw0C,QAChBngD,EAAM+D,EAAU4P,GAChB5N,EAAQ,EACZ,MAAOA,EAAQo6C,EAAQ7+C,OACjB6+C,EAAQp6C,GAAO/F,MAAQA,EAAKmgD,EAAQ5jC,OAAOxW,EAAO,GACjDA,IAEP4F,EAAMsB,aAIR7M,IAAK,SAAauT,GAChBysC,EAAwBzzC,UAAUrL,OAAQ,GAI1C,IAHA,IAAI6+C,EAAUlB,EAAuBvyC,MAAMyzC,QACvCngD,EAAM+D,EAAU4P,GAChB5N,EAAQ,EACLA,EAAQo6C,EAAQ7+C,OAAQyE,IAC7B,GAAIo6C,EAAQp6C,GAAO/F,MAAQA,EAAK,OAAOmgD,EAAQp6C,GAAOhG,MAExD,OAAO,MAITihD,OAAQ,SAAgBrtC,GACtBysC,EAAwBzzC,UAAUrL,OAAQ,GAK1C,IAJA,IAAI6+C,EAAUlB,EAAuBvyC,MAAMyzC,QACvCngD,EAAM+D,EAAU4P,GAChB/T,EAAS,GACTmG,EAAQ,EACLA,EAAQo6C,EAAQ7+C,OAAQyE,IACzBo6C,EAAQp6C,GAAO/F,MAAQA,GAAKJ,EAAO8C,KAAKy9C,EAAQp6C,GAAOhG,OAE7D,OAAOH,GAIT8D,IAAK,SAAaiQ,GAChBysC,EAAwBzzC,UAAUrL,OAAQ,GAC1C,IAAI6+C,EAAUlB,EAAuBvyC,MAAMyzC,QACvCngD,EAAM+D,EAAU4P,GAChB5N,EAAQ,EACZ,MAAOA,EAAQo6C,EAAQ7+C,OACrB,GAAI6+C,EAAQp6C,KAAS/F,MAAQA,EAAK,OAAO,EAE3C,OAAO,GAITuE,IAAK,SAAaoP,EAAM5T,GACtBqgD,EAAwBzzC,UAAUrL,OAAQ,GAQ1C,IAPA,IAMI2+C,EANAt0C,EAAQszC,EAAuBvyC,MAC/ByzC,EAAUx0C,EAAMw0C,QAChBc,GAAQ,EACRjhD,EAAM+D,EAAU4P,GAChB29B,EAAMvtC,EAAUhE,GAChBgG,EAAQ,EAELA,EAAQo6C,EAAQ7+C,OAAQyE,IAC7Bk6C,EAAQE,EAAQp6C,GACZk6C,EAAMjgD,MAAQA,IACZihD,EAAOd,EAAQ5jC,OAAOxW,IAAS,IAEjCk7C,GAAQ,EACRhB,EAAMlgD,MAAQuxC,IAIf2P,GAAOd,EAAQz9C,KAAK,CAAE1C,IAAKA,EAAKD,MAAOuxC,IAC5C3lC,EAAMsB,aAIR/M,KAAM,WACJ,IAII+/C,EAAOiB,EAAcC,EAJrBx1C,EAAQszC,EAAuBvyC,MAC/ByzC,EAAUx0C,EAAMw0C,QAEhBj6C,EAAQi6C,EAAQj6C,QAGpB,IADAi6C,EAAQ7+C,OAAS,EACZ6/C,EAAa,EAAGA,EAAaj7C,EAAM5E,OAAQ6/C,IAAc,CAE5D,IADAlB,EAAQ/5C,EAAMi7C,GACTD,EAAe,EAAGA,EAAeC,EAAYD,IAChD,GAAIf,EAAQe,GAAclhD,IAAMigD,EAAMjgD,IAAK,CACzCmgD,EAAQ5jC,OAAO2kC,EAAc,EAAGjB,GAChC,MAGAiB,IAAiBC,GAAYhB,EAAQz9C,KAAKu9C,GAEhDt0C,EAAMsB,aAGRnN,QAAS,SAAiBqb,GACxB,IAGI8kC,EAHAE,EAAUlB,EAAuBvyC,MAAMyzC,QACvCiB,EAAgBhD,EAAKjjC,EAAUxO,UAAUrL,OAAS,EAAIqL,UAAU,QAAKjM,EAAW,GAChFqF,EAAQ,EAEZ,MAAOA,EAAQo6C,EAAQ7+C,OACrB2+C,EAAQE,EAAQp6C,KAChBq7C,EAAcnB,EAAMlgD,MAAOkgD,EAAMjgD,IAAK0M,OAI1CqtB,KAAM,WACJ,OAAO,IAAIumB,EAAwB5zC,KAAM,SAG3CyL,OAAQ,WACN,OAAO,IAAImoC,EAAwB5zC,KAAM,WAG3CyzC,QAAS,WACP,OAAO,IAAIG,EAAwB5zC,KAAM,aAE1C,CAAEgC,YAAY,IAGjBlL,EAASs9C,EAA0BxhD,EAAUwhD,EAAyBX,SAItE38C,EAASs9C,EAA0B,YAAY,WAC7C,IAGIb,EAHAE,EAAUlB,EAAuBvyC,MAAMyzC,QACvCvgD,EAAS,GACTmG,EAAQ,EAEZ,MAAOA,EAAQo6C,EAAQ7+C,OACrB2+C,EAAQE,EAAQp6C,KAChBnG,EAAO8C,KAAKo9C,EAAUG,EAAMjgD,KAAO,IAAM8/C,EAAUG,EAAMlgD,QACzD,OAAOH,EAAO+C,KAAK,OACpB,CAAE+L,YAAY,IAEjB1K,EAAey8C,EAA4B1B,GAE3C57C,EAAE,CAAEG,QAAQ,EAAM2L,QAAS5L,GAAkB,CAC3C/C,gBAAiBmgD,KAIdp9C,GAAoC,mBAAXy7C,EAAuB,CACnD,IAAIuC,EAAqB,SAAUnqB,GACjC,GAAIqnB,EAASrnB,GAAO,CAClB,IACIoqB,EADAC,EAAOrqB,EAAKqqB,KAEhB,GAAIlD,EAAQkD,KAAUxC,EAKpB,OAJAuC,EAAUpqB,EAAKoqB,QAAU,IAAIxC,EAAQ5nB,EAAKoqB,SAAW,IAAIxC,EACpDwC,EAAQ59C,IAAI,iBACf49C,EAAQ/8C,IAAI,eAAgB,mDAEvB6Q,EAAO8hB,EAAM,CAClBqqB,KAAM/C,EAAyB,EAAGn+C,OAAOkhD,IACzCD,QAAS9C,EAAyB,EAAG8C,KAGzC,OAAOpqB,GAWX,GAR0B,mBAAfynB,GACTx7C,EAAE,CAAEG,QAAQ,EAAMoL,YAAY,EAAMO,QAAQ,GAAQ,CAClDuyC,MAAO,SAAe37C,GACpB,OAAO84C,EAAY94C,EAAO8G,UAAUrL,OAAS,EAAI+/C,EAAmB10C,UAAU,IAAM,OAK9D,mBAAjBiyC,EAA6B,CACtC,IAAI6C,EAAqB,SAAiB57C,GAExC,OADApC,EAAWiJ,KAAM+0C,EAAoB,WAC9B,IAAI7C,EAAc/4C,EAAO8G,UAAUrL,OAAS,EAAI+/C,EAAmB10C,UAAU,IAAM,KAG5FkyC,EAAiB1pC,YAAcssC,EAC/BA,EAAmBrzC,UAAYywC,EAE/B17C,EAAE,CAAEG,QAAQ,EAAM2L,QAAQ,GAAQ,CAChCyyC,QAASD,KAKfliD,EAAOC,QAAU,CACfc,gBAAiBmgD,EACjBp8C,SAAU46C,I,0HCrWG,0CAAyB,CACtCtrC,KADsC,cAEtCguC,YAFsC,EAGtCtuC,MAAO,CACLqoC,GADK,OAELkG,IAAK,CACH/0C,KADG,OAEHiK,QAAS,OAEX+qC,MAAO,CACLh1C,KADK,QAELiK,SAAS,IAGblF,OAdsC,SAchC,EAdgC,GAcF,IAClC,EADS,EAAyB,EAAzB,QAAyB,EAAzB,KAAe21B,EAAU,EAAVA,SAEhBjzB,EAAR,EAAQA,MA2BR,OA1BA,IAEEimC,EAAA,SACAuH,EAAUltC,OAAA,gBAA0B,SAAA5U,GAGlC,YAAIA,EAAgB,OAAO,EAE3B,IAAMD,EAAQuU,EAL0B,GASxC,OAAItU,EAAA,WAAJ,UACEu6C,EAAA,YACA,GAGKx6C,GAAP,kBAAuBA,MAIvBsT,EAAJ,KACEknC,EAAA,SAAgBA,EAAA,UAAhB,GACAA,EAAA,YAAmBlnC,EAAnB,IAGK0uC,EACL1uC,EADM,IAEN,eAAUknC,EAAM,CACdlmC,YADc,YAEd2tC,MAAO9gD,MAAW,CAChB,mBAAoBmS,EAAMwuC,QADrB,OAEGC,GAFH,MAJX,O,mCCnDJ;;;;;;;AAUA,IAAIG,EAAS,EAAQ,QACjBC,EAAU,EAAQ,QAClBp8B,EAAU,EAAQ,QAuCtB,SAASq8B,IACP,IACE,IAAIlgD,EAAM,IAAIhB,WAAW,GAEzB,OADAgB,EAAI6S,UAAY,CAACA,UAAW7T,WAAWmN,UAAWg0C,IAAK,WAAc,OAAO,KACvD,KAAdngD,EAAImgD,OACiB,oBAAjBngD,EAAIogD,UACuB,IAAlCpgD,EAAIogD,SAAS,EAAG,GAAG1hD,WACvB,MAAO6U,GACP,OAAO,GAIX,SAAS8sC,IACP,OAAOC,EAAOC,oBACV,WACA,WAGN,SAASC,EAAch2C,EAAMnL,GAC3B,GAAIghD,IAAehhD,EACjB,MAAM,IAAI8P,WAAW,8BAcvB,OAZImxC,EAAOC,qBAET/1C,EAAO,IAAIxL,WAAWK,GACtBmL,EAAKqI,UAAYytC,EAAOn0C,YAGX,OAAT3B,IACFA,EAAO,IAAI81C,EAAOjhD,IAEpBmL,EAAKnL,OAASA,GAGTmL,EAaT,SAAS81C,EAAQG,EAAKC,EAAkBrhD,GACtC,IAAKihD,EAAOC,uBAAyB91C,gBAAgB61C,GACnD,OAAO,IAAIA,EAAOG,EAAKC,EAAkBrhD,GAI3C,GAAmB,kBAARohD,EAAkB,CAC3B,GAAgC,kBAArBC,EACT,MAAM,IAAIjhD,MACR,qEAGJ,OAAOkhD,EAAYl2C,KAAMg2C,GAE3B,OAAOjgC,EAAK/V,KAAMg2C,EAAKC,EAAkBrhD,GAW3C,SAASmhB,EAAMhW,EAAM1M,EAAO4iD,EAAkBrhD,GAC5C,GAAqB,kBAAVvB,EACT,MAAM,IAAI+M,UAAU,yCAGtB,MAA2B,qBAAhB+1C,aAA+B9iD,aAAiB8iD,YAClDC,EAAgBr2C,EAAM1M,EAAO4iD,EAAkBrhD,GAGnC,kBAAVvB,EACFgjD,EAAWt2C,EAAM1M,EAAO4iD,GAG1BK,EAAWv2C,EAAM1M,GA4B1B,SAASkjD,EAAYp1B,GACnB,GAAoB,kBAATA,EACT,MAAM,IAAI/gB,UAAU,oCACf,GAAI+gB,EAAO,EAChB,MAAM,IAAIzc,WAAW,wCAIzB,SAAS8xC,EAAOz2C,EAAMohB,EAAMpB,EAAM02B,GAEhC,OADAF,EAAWp1B,GACPA,GAAQ,EACH40B,EAAah2C,EAAMohB,QAEfntB,IAAT+rB,EAIyB,kBAAb02B,EACVV,EAAah2C,EAAMohB,GAAMpB,KAAKA,EAAM02B,GACpCV,EAAah2C,EAAMohB,GAAMpB,KAAKA,GAE7Bg2B,EAAah2C,EAAMohB,GAW5B,SAAS+0B,EAAan2C,EAAMohB,GAG1B,GAFAo1B,EAAWp1B,GACXphB,EAAOg2C,EAAah2C,EAAMohB,EAAO,EAAI,EAAoB,EAAhBu1B,EAAQv1B,KAC5C00B,EAAOC,oBACV,IAAK,IAAIphD,EAAI,EAAGA,EAAIysB,IAAQzsB,EAC1BqL,EAAKrL,GAAK,EAGd,OAAOqL,EAgBT,SAASs2C,EAAYt2C,EAAMpD,EAAQ85C,GAKjC,GAJwB,kBAAbA,GAAsC,KAAbA,IAClCA,EAAW,SAGRZ,EAAOc,WAAWF,GACrB,MAAM,IAAIr2C,UAAU,8CAGtB,IAAIxL,EAAwC,EAA/BX,EAAW0I,EAAQ85C,GAChC12C,EAAOg2C,EAAah2C,EAAMnL,GAE1B,IAAIgiD,EAAS72C,EAAKmxC,MAAMv0C,EAAQ85C,GAShC,OAPIG,IAAWhiD,IAIbmL,EAAOA,EAAKvG,MAAM,EAAGo9C,IAGhB72C,EAGT,SAAS82C,EAAe92C,EAAM+2C,GAC5B,IAAIliD,EAASkiD,EAAMliD,OAAS,EAAI,EAA4B,EAAxB8hD,EAAQI,EAAMliD,QAClDmL,EAAOg2C,EAAah2C,EAAMnL,GAC1B,IAAK,IAAIF,EAAI,EAAGA,EAAIE,EAAQF,GAAK,EAC/BqL,EAAKrL,GAAgB,IAAXoiD,EAAMpiD,GAElB,OAAOqL,EAGT,SAASq2C,EAAiBr2C,EAAM+2C,EAAOC,EAAYniD,GAGjD,GAFAkiD,EAAM7iD,WAEF8iD,EAAa,GAAKD,EAAM7iD,WAAa8iD,EACvC,MAAM,IAAIryC,WAAW,6BAGvB,GAAIoyC,EAAM7iD,WAAa8iD,GAAcniD,GAAU,GAC7C,MAAM,IAAI8P,WAAW,6BAmBvB,OAfEoyC,OADiB9iD,IAAf+iD,QAAuC/iD,IAAXY,EACtB,IAAIL,WAAWuiD,QACH9iD,IAAXY,EACD,IAAIL,WAAWuiD,EAAOC,GAEtB,IAAIxiD,WAAWuiD,EAAOC,EAAYniD,GAGxCihD,EAAOC,qBAET/1C,EAAO+2C,EACP/2C,EAAKqI,UAAYytC,EAAOn0C,WAGxB3B,EAAO82C,EAAc92C,EAAM+2C,GAEtB/2C,EAGT,SAASu2C,EAAYv2C,EAAMi3C,GACzB,GAAInB,EAAOoB,SAASD,GAAM,CACxB,IAAIriD,EAA4B,EAAtB+hD,EAAQM,EAAIpiD,QAGtB,OAFAmL,EAAOg2C,EAAah2C,EAAMpL,GAEN,IAAhBoL,EAAKnL,OACAmL,GAGTi3C,EAAIE,KAAKn3C,EAAM,EAAG,EAAGpL,GACdoL,GAGT,GAAIi3C,EAAK,CACP,GAA4B,qBAAhBb,aACRa,EAAI93C,kBAAkBi3C,aAAgB,WAAYa,EACpD,MAA0B,kBAAfA,EAAIpiD,QAAuBuiD,GAAMH,EAAIpiD,QACvCmhD,EAAah2C,EAAM,GAErB82C,EAAc92C,EAAMi3C,GAG7B,GAAiB,WAAbA,EAAI72C,MAAqBiZ,EAAQ49B,EAAInJ,MACvC,OAAOgJ,EAAc92C,EAAMi3C,EAAInJ,MAInC,MAAM,IAAIztC,UAAU,sFAGtB,SAASs2C,EAAS9hD,GAGhB,GAAIA,GAAUghD,IACZ,MAAM,IAAIlxC,WAAW,0DACakxC,IAAan6C,SAAS,IAAM,UAEhE,OAAgB,EAAT7G,EAGT,SAASwiD,EAAYxiD,GAInB,OAHKA,GAAUA,IACbA,EAAS,GAEJihD,EAAOW,OAAO5hD,GA+EvB,SAASX,EAAY0I,EAAQ85C,GAC3B,GAAIZ,EAAOoB,SAASt6C,GAClB,OAAOA,EAAO/H,OAEhB,GAA2B,qBAAhBuhD,aAA6D,oBAAvBA,YAAYkB,SACxDlB,YAAYkB,OAAO16C,IAAWA,aAAkBw5C,aACnD,OAAOx5C,EAAO1I,WAEM,kBAAX0I,IACTA,EAAS,GAAKA,GAGhB,IAAIhI,EAAMgI,EAAO/H,OACjB,GAAY,IAARD,EAAW,OAAO,EAItB,IADA,IAAI2iD,GAAc,IAEhB,OAAQb,GACN,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAO9hD,EACT,IAAK,OACL,IAAK,QACL,UAAKX,EACH,OAAOujD,EAAY56C,GAAQ/H,OAC7B,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAa,EAAND,EACT,IAAK,MACH,OAAOA,IAAQ,EACjB,IAAK,SACH,OAAO6iD,EAAc76C,GAAQ/H,OAC/B,QACE,GAAI0iD,EAAa,OAAOC,EAAY56C,GAAQ/H,OAC5C6hD,GAAY,GAAKA,GAAUp5C,cAC3Bi6C,GAAc,GAMtB,SAASG,EAAchB,EAAU5gD,EAAOC,GACtC,IAAIwhD,GAAc,EAclB,SALctjD,IAAV6B,GAAuBA,EAAQ,KACjCA,EAAQ,GAINA,EAAQmK,KAAKpL,OACf,MAAO,GAOT,SAJYZ,IAAR8B,GAAqBA,EAAMkK,KAAKpL,UAClCkB,EAAMkK,KAAKpL,QAGTkB,GAAO,EACT,MAAO,GAOT,GAHAA,KAAS,EACTD,KAAW,EAEPC,GAAOD,EACT,MAAO,GAGJ4gD,IAAUA,EAAW,QAE1B,MAAO,EACL,OAAQA,GACN,IAAK,MACH,OAAOiB,EAAS13C,KAAMnK,EAAOC,GAE/B,IAAK,OACL,IAAK,QACH,OAAO6hD,EAAU33C,KAAMnK,EAAOC,GAEhC,IAAK,QACH,OAAO8hD,EAAW53C,KAAMnK,EAAOC,GAEjC,IAAK,SACL,IAAK,SACH,OAAO+hD,EAAY73C,KAAMnK,EAAOC,GAElC,IAAK,SACH,OAAOgiD,EAAY93C,KAAMnK,EAAOC,GAElC,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOiiD,EAAa/3C,KAAMnK,EAAOC,GAEnC,QACE,GAAIwhD,EAAa,MAAM,IAAIl3C,UAAU,qBAAuBq2C,GAC5DA,GAAYA,EAAW,IAAIp5C,cAC3Bi6C,GAAc,GAStB,SAAS58C,EAAMuN,EAAG7D,EAAGI,GACnB,IAAI9P,EAAIuT,EAAE7D,GACV6D,EAAE7D,GAAK6D,EAAEzD,GACTyD,EAAEzD,GAAK9P,EAmIT,SAASsjD,EAAsB94C,EAAQ0lC,EAAKmS,EAAYN,EAAUwB,GAEhE,GAAsB,IAAlB/4C,EAAOtK,OAAc,OAAQ,EAmBjC,GAhB0B,kBAAfmiD,GACTN,EAAWM,EACXA,EAAa,GACJA,EAAa,WACtBA,EAAa,WACJA,GAAc,aACvBA,GAAc,YAEhBA,GAAcA,EACV5pC,MAAM4pC,KAERA,EAAakB,EAAM,EAAK/4C,EAAOtK,OAAS,GAItCmiD,EAAa,IAAGA,EAAa73C,EAAOtK,OAASmiD,GAC7CA,GAAc73C,EAAOtK,OAAQ,CAC/B,GAAIqjD,EAAK,OAAQ,EACZlB,EAAa73C,EAAOtK,OAAS,OAC7B,GAAImiD,EAAa,EAAG,CACzB,IAAIkB,EACC,OAAQ,EADJlB,EAAa,EAUxB,GALmB,kBAARnS,IACTA,EAAMiR,EAAO9/B,KAAK6uB,EAAK6R,IAIrBZ,EAAOoB,SAASrS,GAElB,OAAmB,IAAfA,EAAIhwC,QACE,EAEHsjD,EAAah5C,EAAQ0lC,EAAKmS,EAAYN,EAAUwB,GAClD,GAAmB,kBAARrT,EAEhB,OADAA,GAAY,IACRiR,EAAOC,qBACiC,oBAAjCvhD,WAAWmN,UAAUxM,QAC1B+iD,EACK1jD,WAAWmN,UAAUxM,QAAQuL,KAAKvB,EAAQ0lC,EAAKmS,GAE/CxiD,WAAWmN,UAAUsJ,YAAYvK,KAAKvB,EAAQ0lC,EAAKmS,GAGvDmB,EAAah5C,EAAQ,CAAE0lC,GAAOmS,EAAYN,EAAUwB,GAG7D,MAAM,IAAI73C,UAAU,wCAGtB,SAAS83C,EAAc3iD,EAAKqvC,EAAKmS,EAAYN,EAAUwB,GACrD,IA0BIvjD,EA1BAyjD,EAAY,EACZC,EAAY7iD,EAAIX,OAChByjD,EAAYzT,EAAIhwC,OAEpB,QAAiBZ,IAAbyiD,IACFA,EAAW9iD,OAAO8iD,GAAUp5C,cACX,SAAbo5C,GAAoC,UAAbA,GACV,YAAbA,GAAuC,aAAbA,GAAyB,CACrD,GAAIlhD,EAAIX,OAAS,GAAKgwC,EAAIhwC,OAAS,EACjC,OAAQ,EAEVujD,EAAY,EACZC,GAAa,EACbC,GAAa,EACbtB,GAAc,EAIlB,SAASvG,EAAM8H,EAAK5jD,GAClB,OAAkB,IAAdyjD,EACKG,EAAI5jD,GAEJ4jD,EAAIC,aAAa7jD,EAAIyjD,GAKhC,GAAIF,EAAK,CACP,IAAIO,GAAc,EAClB,IAAK9jD,EAAIqiD,EAAYriD,EAAI0jD,EAAW1jD,IAClC,GAAI87C,EAAKj7C,EAAKb,KAAO87C,EAAK5L,GAAqB,IAAhB4T,EAAoB,EAAI9jD,EAAI8jD,IAEzD,IADoB,IAAhBA,IAAmBA,EAAa9jD,GAChCA,EAAI8jD,EAAa,IAAMH,EAAW,OAAOG,EAAaL,OAEtC,IAAhBK,IAAmB9jD,GAAKA,EAAI8jD,GAChCA,GAAc,OAKlB,IADIzB,EAAasB,EAAYD,IAAWrB,EAAaqB,EAAYC,GAC5D3jD,EAAIqiD,EAAYriD,GAAK,EAAGA,IAAK,CAEhC,IADA,IAAI6/C,GAAQ,EACHlrC,EAAI,EAAGA,EAAIgvC,EAAWhvC,IAC7B,GAAImnC,EAAKj7C,EAAKb,EAAI2U,KAAOmnC,EAAK5L,EAAKv7B,GAAI,CACrCkrC,GAAQ,EACR,MAGJ,GAAIA,EAAO,OAAO7/C,EAItB,OAAQ,EAeV,SAAS+jD,EAAUH,EAAK37C,EAAQ0pB,EAAQzxB,GACtCyxB,EAAS1c,OAAO0c,IAAW,EAC3B,IAAIqyB,EAAYJ,EAAI1jD,OAASyxB,EACxBzxB,GAGHA,EAAS+U,OAAO/U,GACZA,EAAS8jD,IACX9jD,EAAS8jD,IAJX9jD,EAAS8jD,EASX,IAAIC,EAASh8C,EAAO/H,OACpB,GAAI+jD,EAAS,IAAM,EAAG,MAAM,IAAIv4C,UAAU,sBAEtCxL,EAAS+jD,EAAS,IACpB/jD,EAAS+jD,EAAS,GAEpB,IAAK,IAAIjkD,EAAI,EAAGA,EAAIE,IAAUF,EAAG,CAC/B,IAAI8Y,EAASlT,SAASqC,EAAOmQ,OAAW,EAAJpY,EAAO,GAAI,IAC/C,GAAIyY,MAAMK,GAAS,OAAO9Y,EAC1B4jD,EAAIjyB,EAAS3xB,GAAK8Y,EAEpB,OAAO9Y,EAGT,SAASkkD,EAAWN,EAAK37C,EAAQ0pB,EAAQzxB,GACvC,OAAOikD,GAAWtB,EAAY56C,EAAQ27C,EAAI1jD,OAASyxB,GAASiyB,EAAKjyB,EAAQzxB,GAG3E,SAASkkD,EAAYR,EAAK37C,EAAQ0pB,EAAQzxB,GACxC,OAAOikD,GAAWE,EAAap8C,GAAS27C,EAAKjyB,EAAQzxB,GAGvD,SAASokD,EAAaV,EAAK37C,EAAQ0pB,EAAQzxB,GACzC,OAAOkkD,EAAWR,EAAK37C,EAAQ0pB,EAAQzxB,GAGzC,SAASqkD,EAAaX,EAAK37C,EAAQ0pB,EAAQzxB,GACzC,OAAOikD,GAAWrB,EAAc76C,GAAS27C,EAAKjyB,EAAQzxB,GAGxD,SAASskD,EAAWZ,EAAK37C,EAAQ0pB,EAAQzxB,GACvC,OAAOikD,GAAWM,EAAex8C,EAAQ27C,EAAI1jD,OAASyxB,GAASiyB,EAAKjyB,EAAQzxB,GAkF9E,SAASkjD,EAAaQ,EAAKziD,EAAOC,GAChC,OAAc,IAAVD,GAAeC,IAAQwiD,EAAI1jD,OACtB2gD,EAAOphD,cAAcmkD,GAErB/C,EAAOphD,cAAcmkD,EAAI9+C,MAAM3D,EAAOC,IAIjD,SAAS6hD,EAAWW,EAAKziD,EAAOC,GAC9BA,EAAMmC,KAAKsR,IAAI+uC,EAAI1jD,OAAQkB,GAC3B,IAAIo6C,EAAM,GAENx7C,EAAImB,EACR,MAAOnB,EAAIoB,EAAK,CACd,IAQMsjD,EAAYC,EAAWC,EAAYC,EARrCC,EAAYlB,EAAI5jD,GAChBgL,EAAY,KACZ+5C,EAAoBD,EAAY,IAAQ,EACvCA,EAAY,IAAQ,EACpBA,EAAY,IAAQ,EACrB,EAEJ,GAAI9kD,EAAI+kD,GAAoB3jD,EAG1B,OAAQ2jD,GACN,KAAK,EACCD,EAAY,MACd95C,EAAY85C,GAEd,MACF,KAAK,EACHJ,EAAad,EAAI5jD,EAAI,GACO,OAAV,IAAb0kD,KACHG,GAA6B,GAAZC,IAAqB,EAAoB,GAAbJ,EACzCG,EAAgB,MAClB75C,EAAY65C,IAGhB,MACF,KAAK,EACHH,EAAad,EAAI5jD,EAAI,GACrB2kD,EAAYf,EAAI5jD,EAAI,GACQ,OAAV,IAAb0kD,IAAsD,OAAV,IAAZC,KACnCE,GAA6B,GAAZC,IAAoB,IAAoB,GAAbJ,IAAsB,EAAmB,GAAZC,EACrEE,EAAgB,OAAUA,EAAgB,OAAUA,EAAgB,SACtE75C,EAAY65C,IAGhB,MACF,KAAK,EACHH,EAAad,EAAI5jD,EAAI,GACrB2kD,EAAYf,EAAI5jD,EAAI,GACpB4kD,EAAahB,EAAI5jD,EAAI,GACO,OAAV,IAAb0kD,IAAsD,OAAV,IAAZC,IAAsD,OAAV,IAAbC,KAClEC,GAA6B,GAAZC,IAAoB,IAAqB,GAAbJ,IAAsB,IAAmB,GAAZC,IAAqB,EAAoB,GAAbC,EAClGC,EAAgB,OAAUA,EAAgB,UAC5C75C,EAAY65C,IAMJ,OAAd75C,GAGFA,EAAY,MACZ+5C,EAAmB,GACV/5C,EAAY,QAErBA,GAAa,MACbwwC,EAAIl6C,KAAK0J,IAAc,GAAK,KAAQ,OACpCA,EAAY,MAAqB,KAAZA,GAGvBwwC,EAAIl6C,KAAK0J,GACThL,GAAK+kD,EAGP,OAAOC,EAAsBxJ,GA98B/Bp9C,EAAQ+iD,OAASA,EACjB/iD,EAAQskD,WAAaA,EACrBtkD,EAAQ6mD,kBAAoB,GA0B5B9D,EAAOC,yBAAqD9hD,IAA/B4C,EAAOk/C,oBAChCl/C,EAAOk/C,oBACPL,IAKJ3iD,EAAQ8iD,WAAaA,IAkErBC,EAAO+D,SAAW,KAGlB/D,EAAOgE,SAAW,SAAUtkD,GAE1B,OADAA,EAAI6S,UAAYytC,EAAOn0C,UAChBnM,GA2BTsgD,EAAO9/B,KAAO,SAAU1iB,EAAO4iD,EAAkBrhD,GAC/C,OAAOmhB,EAAK,KAAM1iB,EAAO4iD,EAAkBrhD,IAGzCihD,EAAOC,sBACTD,EAAOn0C,UAAU0G,UAAY7T,WAAWmN,UACxCm0C,EAAOztC,UAAY7T,WACG,qBAAXulD,QAA0BA,OAAOC,SACxClE,EAAOiE,OAAOC,WAAalE,GAE7B3tC,OAAO8xC,eAAenE,EAAQiE,OAAOC,QAAS,CAC5C1mD,MAAO,KACP0O,cAAc,KAiCpB8zC,EAAOW,MAAQ,SAAUr1B,EAAMpB,EAAM02B,GACnC,OAAOD,EAAM,KAAMr1B,EAAMpB,EAAM02B,IAiBjCZ,EAAOK,YAAc,SAAU/0B,GAC7B,OAAO+0B,EAAY,KAAM/0B,IAK3B00B,EAAOoE,gBAAkB,SAAU94B,GACjC,OAAO+0B,EAAY,KAAM/0B,IAiH3B00B,EAAOoB,SAAW,SAAmBhvC,GACnC,QAAe,MAALA,IAAaA,EAAEiyC,YAG3BrE,EAAOsE,QAAU,SAAkB/wC,EAAGnB,GACpC,IAAK4tC,EAAOoB,SAAS7tC,KAAOysC,EAAOoB,SAAShvC,GAC1C,MAAM,IAAI7H,UAAU,6BAGtB,GAAIgJ,IAAMnB,EAAG,OAAO,EAKpB,IAHA,IAAIoN,EAAIjM,EAAExU,OACN0gB,EAAIrN,EAAErT,OAEDF,EAAI,EAAGC,EAAMsD,KAAKsR,IAAI8L,EAAGC,GAAI5gB,EAAIC,IAAOD,EAC/C,GAAI0U,EAAE1U,KAAOuT,EAAEvT,GAAI,CACjB2gB,EAAIjM,EAAE1U,GACN4gB,EAAIrN,EAAEvT,GACN,MAIJ,OAAI2gB,EAAIC,GAAW,EACfA,EAAID,EAAU,EACX,GAGTwgC,EAAOc,WAAa,SAAqBF,GACvC,OAAQ9iD,OAAO8iD,GAAUp5C,eACvB,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO,EACT,QACE,OAAO,IAIbw4C,EAAOx7B,OAAS,SAAiB+/B,EAAMxlD,GACrC,IAAKwkB,EAAQghC,GACX,MAAM,IAAIh6C,UAAU,+CAGtB,GAAoB,IAAhBg6C,EAAKxlD,OACP,OAAOihD,EAAOW,MAAM,GAGtB,IAAI9hD,EACJ,QAAeV,IAAXY,EAEF,IADAA,EAAS,EACJF,EAAI,EAAGA,EAAI0lD,EAAKxlD,SAAUF,EAC7BE,GAAUwlD,EAAK1lD,GAAGE,OAItB,IAAIsK,EAAS22C,EAAOK,YAAYthD,GAC5BqzC,EAAM,EACV,IAAKvzC,EAAI,EAAGA,EAAI0lD,EAAKxlD,SAAUF,EAAG,CAChC,IAAI4jD,EAAM8B,EAAK1lD,GACf,IAAKmhD,EAAOoB,SAASqB,GACnB,MAAM,IAAIl4C,UAAU,+CAEtBk4C,EAAIpB,KAAKh4C,EAAQ+oC,GACjBA,GAAOqQ,EAAI1jD,OAEb,OAAOsK,GA8CT22C,EAAO5hD,WAAaA,EA0EpB4hD,EAAOn0C,UAAUw4C,WAAY,EAQ7BrE,EAAOn0C,UAAU24C,OAAS,WACxB,IAAI1lD,EAAMqL,KAAKpL,OACf,GAAID,EAAM,IAAM,EACd,MAAM,IAAI+P,WAAW,6CAEvB,IAAK,IAAIhQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAC5BgG,EAAKsF,KAAMtL,EAAGA,EAAI,GAEpB,OAAOsL,MAGT61C,EAAOn0C,UAAU44C,OAAS,WACxB,IAAI3lD,EAAMqL,KAAKpL,OACf,GAAID,EAAM,IAAM,EACd,MAAM,IAAI+P,WAAW,6CAEvB,IAAK,IAAIhQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAC5BgG,EAAKsF,KAAMtL,EAAGA,EAAI,GAClBgG,EAAKsF,KAAMtL,EAAI,EAAGA,EAAI,GAExB,OAAOsL,MAGT61C,EAAOn0C,UAAU64C,OAAS,WACxB,IAAI5lD,EAAMqL,KAAKpL,OACf,GAAID,EAAM,IAAM,EACd,MAAM,IAAI+P,WAAW,6CAEvB,IAAK,IAAIhQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAC5BgG,EAAKsF,KAAMtL,EAAGA,EAAI,GAClBgG,EAAKsF,KAAMtL,EAAI,EAAGA,EAAI,GACtBgG,EAAKsF,KAAMtL,EAAI,EAAGA,EAAI,GACtBgG,EAAKsF,KAAMtL,EAAI,EAAGA,EAAI,GAExB,OAAOsL,MAGT61C,EAAOn0C,UAAUjG,SAAW,WAC1B,IAAI7G,EAAuB,EAAdoL,KAAKpL,OAClB,OAAe,IAAXA,EAAqB,GACA,IAArBqL,UAAUrL,OAAqB+iD,EAAU33C,KAAM,EAAGpL,GAC/C6iD,EAAan1C,MAAMtC,KAAMC,YAGlC41C,EAAOn0C,UAAU84C,OAAS,SAAiBvyC,GACzC,IAAK4tC,EAAOoB,SAAShvC,GAAI,MAAM,IAAI7H,UAAU,6BAC7C,OAAIJ,OAASiI,GACsB,IAA5B4tC,EAAOsE,QAAQn6C,KAAMiI,IAG9B4tC,EAAOn0C,UAAU+4C,QAAU,WACzB,IAAI58B,EAAM,GACNrU,EAAM1W,EAAQ6mD,kBAKlB,OAJI35C,KAAKpL,OAAS,IAChBipB,EAAM7d,KAAKvE,SAAS,MAAO,EAAG+N,GAAK8D,MAAM,SAASrX,KAAK,KACnD+J,KAAKpL,OAAS4U,IAAKqU,GAAO,UAEzB,WAAaA,EAAM,KAG5Bg4B,EAAOn0C,UAAUy4C,QAAU,SAAkBlsC,EAAQpY,EAAOC,EAAK4kD,EAAWC,GAC1E,IAAK9E,EAAOoB,SAAShpC,GACnB,MAAM,IAAI7N,UAAU,6BAgBtB,QAbcpM,IAAV6B,IACFA,EAAQ,QAEE7B,IAAR8B,IACFA,EAAMmY,EAASA,EAAOrZ,OAAS,QAEfZ,IAAd0mD,IACFA,EAAY,QAEE1mD,IAAZ2mD,IACFA,EAAU36C,KAAKpL,QAGbiB,EAAQ,GAAKC,EAAMmY,EAAOrZ,QAAU8lD,EAAY,GAAKC,EAAU36C,KAAKpL,OACtE,MAAM,IAAI8P,WAAW,sBAGvB,GAAIg2C,GAAaC,GAAW9kD,GAASC,EACnC,OAAO,EAET,GAAI4kD,GAAaC,EACf,OAAQ,EAEV,GAAI9kD,GAASC,EACX,OAAO,EAQT,GALAD,KAAW,EACXC,KAAS,EACT4kD,KAAe,EACfC,KAAa,EAET36C,OAASiO,EAAQ,OAAO,EAS5B,IAPA,IAAIoH,EAAIslC,EAAUD,EACdplC,EAAIxf,EAAMD,EACVlB,EAAMsD,KAAKsR,IAAI8L,EAAGC,GAElBslC,EAAW56C,KAAKxG,MAAMkhD,EAAWC,GACjCE,EAAa5sC,EAAOzU,MAAM3D,EAAOC,GAE5BpB,EAAI,EAAGA,EAAIC,IAAOD,EACzB,GAAIkmD,EAASlmD,KAAOmmD,EAAWnmD,GAAI,CACjC2gB,EAAIulC,EAASlmD,GACb4gB,EAAIulC,EAAWnmD,GACf,MAIJ,OAAI2gB,EAAIC,GAAW,EACfA,EAAID,EAAU,EACX,GA6HTwgC,EAAOn0C,UAAUw8B,SAAW,SAAmB0G,EAAKmS,EAAYN,GAC9D,OAAoD,IAA7Cz2C,KAAK9K,QAAQ0vC,EAAKmS,EAAYN,IAGvCZ,EAAOn0C,UAAUxM,QAAU,SAAkB0vC,EAAKmS,EAAYN,GAC5D,OAAOuB,EAAqBh4C,KAAM4kC,EAAKmS,EAAYN,GAAU,IAG/DZ,EAAOn0C,UAAUsJ,YAAc,SAAsB45B,EAAKmS,EAAYN,GACpE,OAAOuB,EAAqBh4C,KAAM4kC,EAAKmS,EAAYN,GAAU,IAkD/DZ,EAAOn0C,UAAUwvC,MAAQ,SAAgBv0C,EAAQ0pB,EAAQzxB,EAAQ6hD,GAE/D,QAAeziD,IAAXqyB,EACFowB,EAAW,OACX7hD,EAASoL,KAAKpL,OACdyxB,EAAS,OAEJ,QAAeryB,IAAXY,GAA0C,kBAAXyxB,EACxCowB,EAAWpwB,EACXzxB,EAASoL,KAAKpL,OACdyxB,EAAS,MAEJ,KAAIy0B,SAASz0B,GAWlB,MAAM,IAAIrxB,MACR,2EAXFqxB,GAAkB,EACdy0B,SAASlmD,IACXA,GAAkB,OACDZ,IAAbyiD,IAAwBA,EAAW,UAEvCA,EAAW7hD,EACXA,OAASZ,GASb,IAAI0kD,EAAY14C,KAAKpL,OAASyxB,EAG9B,SAFeryB,IAAXY,GAAwBA,EAAS8jD,KAAW9jD,EAAS8jD,GAEpD/7C,EAAO/H,OAAS,IAAMA,EAAS,GAAKyxB,EAAS,IAAOA,EAASrmB,KAAKpL,OACrE,MAAM,IAAI8P,WAAW,0CAGlB+xC,IAAUA,EAAW,QAG1B,IADA,IAAIa,GAAc,IAEhB,OAAQb,GACN,IAAK,MACH,OAAOgC,EAASz4C,KAAMrD,EAAQ0pB,EAAQzxB,GAExC,IAAK,OACL,IAAK,QACH,OAAOgkD,EAAU54C,KAAMrD,EAAQ0pB,EAAQzxB,GAEzC,IAAK,QACH,OAAOkkD,EAAW94C,KAAMrD,EAAQ0pB,EAAQzxB,GAE1C,IAAK,SACL,IAAK,SACH,OAAOokD,EAAYh5C,KAAMrD,EAAQ0pB,EAAQzxB,GAE3C,IAAK,SAEH,OAAOqkD,EAAYj5C,KAAMrD,EAAQ0pB,EAAQzxB,GAE3C,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOskD,EAAUl5C,KAAMrD,EAAQ0pB,EAAQzxB,GAEzC,QACE,GAAI0iD,EAAa,MAAM,IAAIl3C,UAAU,qBAAuBq2C,GAC5DA,GAAY,GAAKA,GAAUp5C,cAC3Bi6C,GAAc,IAKtBzB,EAAOn0C,UAAUnO,OAAS,WACxB,MAAO,CACL4M,KAAM,SACN0tC,KAAMr5C,MAAMkN,UAAUlI,MAAMiH,KAAKT,KAAK+6C,MAAQ/6C,KAAM,KAwFxD,IAAIg7C,EAAuB,KAE3B,SAAStB,EAAuBtgD,GAC9B,IAAIzE,EAAMyE,EAAWxE,OACrB,GAAID,GAAOqmD,EACT,OAAOrnD,OAAO2P,aAAahB,MAAM3O,OAAQyF,GAI3C,IAAI82C,EAAM,GACNx7C,EAAI,EACR,MAAOA,EAAIC,EACTu7C,GAAOv8C,OAAO2P,aAAahB,MACzB3O,OACAyF,EAAWI,MAAM9E,EAAGA,GAAKsmD,IAG7B,OAAO9K,EAGT,SAAS0H,EAAYU,EAAKziD,EAAOC,GAC/B,IAAImlD,EAAM,GACVnlD,EAAMmC,KAAKsR,IAAI+uC,EAAI1jD,OAAQkB,GAE3B,IAAK,IAAIpB,EAAImB,EAAOnB,EAAIoB,IAAOpB,EAC7BumD,GAAOtnD,OAAO2P,aAAsB,IAATg1C,EAAI5jD,IAEjC,OAAOumD,EAGT,SAASpD,EAAaS,EAAKziD,EAAOC,GAChC,IAAImlD,EAAM,GACVnlD,EAAMmC,KAAKsR,IAAI+uC,EAAI1jD,OAAQkB,GAE3B,IAAK,IAAIpB,EAAImB,EAAOnB,EAAIoB,IAAOpB,EAC7BumD,GAAOtnD,OAAO2P,aAAag1C,EAAI5jD,IAEjC,OAAOumD,EAGT,SAASvD,EAAUY,EAAKziD,EAAOC,GAC7B,IAAInB,EAAM2jD,EAAI1jD,SAETiB,GAASA,EAAQ,KAAGA,EAAQ,KAC5BC,GAAOA,EAAM,GAAKA,EAAMnB,KAAKmB,EAAMnB,GAGxC,IADA,IAAIumD,EAAM,GACDxmD,EAAImB,EAAOnB,EAAIoB,IAAOpB,EAC7BwmD,GAAOC,EAAM7C,EAAI5jD,IAEnB,OAAOwmD,EAGT,SAASnD,EAAcO,EAAKziD,EAAOC,GAGjC,IAFA,IAAI88C,EAAQ0F,EAAI9+C,MAAM3D,EAAOC,GACzBo6C,EAAM,GACDx7C,EAAI,EAAGA,EAAIk+C,EAAMh+C,OAAQF,GAAK,EACrCw7C,GAAOv8C,OAAO2P,aAAasvC,EAAMl+C,GAAoB,IAAfk+C,EAAMl+C,EAAI,IAElD,OAAOw7C,EA0CT,SAASkL,EAAa/0B,EAAQg1B,EAAKzmD,GACjC,GAAKyxB,EAAS,IAAO,GAAKA,EAAS,EAAG,MAAM,IAAI3hB,WAAW,sBAC3D,GAAI2hB,EAASg1B,EAAMzmD,EAAQ,MAAM,IAAI8P,WAAW,yCA+JlD,SAAS42C,EAAUhD,EAAKjlD,EAAOgzB,EAAQg1B,EAAK7xC,EAAKD,GAC/C,IAAKssC,EAAOoB,SAASqB,GAAM,MAAM,IAAIl4C,UAAU,+CAC/C,GAAI/M,EAAQmW,GAAOnW,EAAQkW,EAAK,MAAM,IAAI7E,WAAW,qCACrD,GAAI2hB,EAASg1B,EAAM/C,EAAI1jD,OAAQ,MAAM,IAAI8P,WAAW,sBAkDtD,SAAS62C,EAAmBjD,EAAKjlD,EAAOgzB,EAAQm1B,GAC1CnoD,EAAQ,IAAGA,EAAQ,MAASA,EAAQ,GACxC,IAAK,IAAIqB,EAAI,EAAG2U,EAAIpR,KAAKsR,IAAI+uC,EAAI1jD,OAASyxB,EAAQ,GAAI3xB,EAAI2U,IAAK3U,EAC7D4jD,EAAIjyB,EAAS3xB,IAAMrB,EAAS,KAAS,GAAKmoD,EAAe9mD,EAAI,EAAIA,MAClC,GAA5B8mD,EAAe9mD,EAAI,EAAIA,GA8B9B,SAAS+mD,EAAmBnD,EAAKjlD,EAAOgzB,EAAQm1B,GAC1CnoD,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GAC5C,IAAK,IAAIqB,EAAI,EAAG2U,EAAIpR,KAAKsR,IAAI+uC,EAAI1jD,OAASyxB,EAAQ,GAAI3xB,EAAI2U,IAAK3U,EAC7D4jD,EAAIjyB,EAAS3xB,GAAMrB,IAAuC,GAA5BmoD,EAAe9mD,EAAI,EAAIA,GAAU,IAmJnE,SAASgnD,EAAcpD,EAAKjlD,EAAOgzB,EAAQg1B,EAAK7xC,EAAKD,GACnD,GAAI8c,EAASg1B,EAAM/C,EAAI1jD,OAAQ,MAAM,IAAI8P,WAAW,sBACpD,GAAI2hB,EAAS,EAAG,MAAM,IAAI3hB,WAAW,sBAGvC,SAASi3C,EAAYrD,EAAKjlD,EAAOgzB,EAAQm1B,EAAcI,GAKrD,OAJKA,GACHF,EAAapD,EAAKjlD,EAAOgzB,EAAQ,EAAG,sBAAyB,sBAE/DmvB,EAAQtE,MAAMoH,EAAKjlD,EAAOgzB,EAAQm1B,EAAc,GAAI,GAC7Cn1B,EAAS,EAWlB,SAASw1B,EAAavD,EAAKjlD,EAAOgzB,EAAQm1B,EAAcI,GAKtD,OAJKA,GACHF,EAAapD,EAAKjlD,EAAOgzB,EAAQ,EAAG,uBAA0B,uBAEhEmvB,EAAQtE,MAAMoH,EAAKjlD,EAAOgzB,EAAQm1B,EAAc,GAAI,GAC7Cn1B,EAAS,EA/clBwvB,EAAOn0C,UAAUlI,MAAQ,SAAgB3D,EAAOC,GAC9C,IAoBIgmD,EApBAnnD,EAAMqL,KAAKpL,OAqBf,GApBAiB,IAAUA,EACVC,OAAc9B,IAAR8B,EAAoBnB,IAAQmB,EAE9BD,EAAQ,GACVA,GAASlB,EACLkB,EAAQ,IAAGA,EAAQ,IACdA,EAAQlB,IACjBkB,EAAQlB,GAGNmB,EAAM,GACRA,GAAOnB,EACHmB,EAAM,IAAGA,EAAM,IACVA,EAAMnB,IACfmB,EAAMnB,GAGJmB,EAAMD,IAAOC,EAAMD,GAGnBggD,EAAOC,oBACTgG,EAAS97C,KAAK21C,SAAS9/C,EAAOC,GAC9BgmD,EAAO1zC,UAAYytC,EAAOn0C,cACrB,CACL,IAAIq6C,EAAWjmD,EAAMD,EACrBimD,EAAS,IAAIjG,EAAOkG,OAAU/nD,GAC9B,IAAK,IAAIU,EAAI,EAAGA,EAAIqnD,IAAYrnD,EAC9BonD,EAAOpnD,GAAKsL,KAAKtL,EAAImB,GAIzB,OAAOimD,GAWTjG,EAAOn0C,UAAUs6C,WAAa,SAAqB31B,EAAQpyB,EAAY2nD,GACrEv1B,GAAkB,EAClBpyB,GAA0B,EACrB2nD,GAAUR,EAAY/0B,EAAQpyB,EAAY+L,KAAKpL,QAEpD,IAAIgwC,EAAM5kC,KAAKqmB,GACX41B,EAAM,EACNvnD,EAAI,EACR,QAASA,EAAIT,IAAegoD,GAAO,KACjCrX,GAAO5kC,KAAKqmB,EAAS3xB,GAAKunD,EAG5B,OAAOrX,GAGTiR,EAAOn0C,UAAUw6C,WAAa,SAAqB71B,EAAQpyB,EAAY2nD,GACrEv1B,GAAkB,EAClBpyB,GAA0B,EACrB2nD,GACHR,EAAY/0B,EAAQpyB,EAAY+L,KAAKpL,QAGvC,IAAIgwC,EAAM5kC,KAAKqmB,IAAWpyB,GACtBgoD,EAAM,EACV,MAAOhoD,EAAa,IAAMgoD,GAAO,KAC/BrX,GAAO5kC,KAAKqmB,IAAWpyB,GAAcgoD,EAGvC,OAAOrX,GAGTiR,EAAOn0C,UAAUy6C,UAAY,SAAoB91B,EAAQu1B,GAEvD,OADKA,GAAUR,EAAY/0B,EAAQ,EAAGrmB,KAAKpL,QACpCoL,KAAKqmB,IAGdwvB,EAAOn0C,UAAU06C,aAAe,SAAuB/1B,EAAQu1B,GAE7D,OADKA,GAAUR,EAAY/0B,EAAQ,EAAGrmB,KAAKpL,QACpCoL,KAAKqmB,GAAWrmB,KAAKqmB,EAAS,IAAM,GAG7CwvB,EAAOn0C,UAAU62C,aAAe,SAAuBlyB,EAAQu1B,GAE7D,OADKA,GAAUR,EAAY/0B,EAAQ,EAAGrmB,KAAKpL,QACnCoL,KAAKqmB,IAAW,EAAKrmB,KAAKqmB,EAAS,IAG7CwvB,EAAOn0C,UAAU26C,aAAe,SAAuBh2B,EAAQu1B,GAG7D,OAFKA,GAAUR,EAAY/0B,EAAQ,EAAGrmB,KAAKpL,SAElCoL,KAAKqmB,GACTrmB,KAAKqmB,EAAS,IAAM,EACpBrmB,KAAKqmB,EAAS,IAAM,IACD,SAAnBrmB,KAAKqmB,EAAS,IAGrBwvB,EAAOn0C,UAAU46C,aAAe,SAAuBj2B,EAAQu1B,GAG7D,OAFKA,GAAUR,EAAY/0B,EAAQ,EAAGrmB,KAAKpL,QAEpB,SAAfoL,KAAKqmB,IACTrmB,KAAKqmB,EAAS,IAAM,GACrBrmB,KAAKqmB,EAAS,IAAM,EACrBrmB,KAAKqmB,EAAS,KAGlBwvB,EAAOn0C,UAAU66C,UAAY,SAAoBl2B,EAAQpyB,EAAY2nD,GACnEv1B,GAAkB,EAClBpyB,GAA0B,EACrB2nD,GAAUR,EAAY/0B,EAAQpyB,EAAY+L,KAAKpL,QAEpD,IAAIgwC,EAAM5kC,KAAKqmB,GACX41B,EAAM,EACNvnD,EAAI,EACR,QAASA,EAAIT,IAAegoD,GAAO,KACjCrX,GAAO5kC,KAAKqmB,EAAS3xB,GAAKunD,EAM5B,OAJAA,GAAO,IAEHrX,GAAOqX,IAAKrX,GAAO3sC,KAAKC,IAAI,EAAG,EAAIjE,IAEhC2wC,GAGTiR,EAAOn0C,UAAU86C,UAAY,SAAoBn2B,EAAQpyB,EAAY2nD,GACnEv1B,GAAkB,EAClBpyB,GAA0B,EACrB2nD,GAAUR,EAAY/0B,EAAQpyB,EAAY+L,KAAKpL,QAEpD,IAAIF,EAAIT,EACJgoD,EAAM,EACNrX,EAAM5kC,KAAKqmB,IAAW3xB,GAC1B,MAAOA,EAAI,IAAMunD,GAAO,KACtBrX,GAAO5kC,KAAKqmB,IAAW3xB,GAAKunD,EAM9B,OAJAA,GAAO,IAEHrX,GAAOqX,IAAKrX,GAAO3sC,KAAKC,IAAI,EAAG,EAAIjE,IAEhC2wC,GAGTiR,EAAOn0C,UAAU+6C,SAAW,SAAmBp2B,EAAQu1B,GAErD,OADKA,GAAUR,EAAY/0B,EAAQ,EAAGrmB,KAAKpL,QACtB,IAAfoL,KAAKqmB,IAC0B,GAA5B,IAAOrmB,KAAKqmB,GAAU,GADKrmB,KAAKqmB,IAI3CwvB,EAAOn0C,UAAUg7C,YAAc,SAAsBr2B,EAAQu1B,GACtDA,GAAUR,EAAY/0B,EAAQ,EAAGrmB,KAAKpL,QAC3C,IAAIgwC,EAAM5kC,KAAKqmB,GAAWrmB,KAAKqmB,EAAS,IAAM,EAC9C,OAAc,MAANue,EAAsB,WAANA,EAAmBA,GAG7CiR,EAAOn0C,UAAUi7C,YAAc,SAAsBt2B,EAAQu1B,GACtDA,GAAUR,EAAY/0B,EAAQ,EAAGrmB,KAAKpL,QAC3C,IAAIgwC,EAAM5kC,KAAKqmB,EAAS,GAAMrmB,KAAKqmB,IAAW,EAC9C,OAAc,MAANue,EAAsB,WAANA,EAAmBA,GAG7CiR,EAAOn0C,UAAUk7C,YAAc,SAAsBv2B,EAAQu1B,GAG3D,OAFKA,GAAUR,EAAY/0B,EAAQ,EAAGrmB,KAAKpL,QAEnCoL,KAAKqmB,GACVrmB,KAAKqmB,EAAS,IAAM,EACpBrmB,KAAKqmB,EAAS,IAAM,GACpBrmB,KAAKqmB,EAAS,IAAM,IAGzBwvB,EAAOn0C,UAAUm7C,YAAc,SAAsBx2B,EAAQu1B,GAG3D,OAFKA,GAAUR,EAAY/0B,EAAQ,EAAGrmB,KAAKpL,QAEnCoL,KAAKqmB,IAAW,GACrBrmB,KAAKqmB,EAAS,IAAM,GACpBrmB,KAAKqmB,EAAS,IAAM,EACpBrmB,KAAKqmB,EAAS,IAGnBwvB,EAAOn0C,UAAUo7C,YAAc,SAAsBz2B,EAAQu1B,GAE3D,OADKA,GAAUR,EAAY/0B,EAAQ,EAAGrmB,KAAKpL,QACpC4gD,EAAQhF,KAAKxwC,KAAMqmB,GAAQ,EAAM,GAAI,IAG9CwvB,EAAOn0C,UAAUq7C,YAAc,SAAsB12B,EAAQu1B,GAE3D,OADKA,GAAUR,EAAY/0B,EAAQ,EAAGrmB,KAAKpL,QACpC4gD,EAAQhF,KAAKxwC,KAAMqmB,GAAQ,EAAO,GAAI,IAG/CwvB,EAAOn0C,UAAUs7C,aAAe,SAAuB32B,EAAQu1B,GAE7D,OADKA,GAAUR,EAAY/0B,EAAQ,EAAGrmB,KAAKpL,QACpC4gD,EAAQhF,KAAKxwC,KAAMqmB,GAAQ,EAAM,GAAI,IAG9CwvB,EAAOn0C,UAAUu7C,aAAe,SAAuB52B,EAAQu1B,GAE7D,OADKA,GAAUR,EAAY/0B,EAAQ,EAAGrmB,KAAKpL,QACpC4gD,EAAQhF,KAAKxwC,KAAMqmB,GAAQ,EAAO,GAAI,IAS/CwvB,EAAOn0C,UAAUw7C,YAAc,SAAsB7pD,EAAOgzB,EAAQpyB,EAAY2nD,GAI9E,GAHAvoD,GAASA,EACTgzB,GAAkB,EAClBpyB,GAA0B,GACrB2nD,EAAU,CACb,IAAIuB,EAAWllD,KAAKC,IAAI,EAAG,EAAIjE,GAAc,EAC7CqnD,EAASt7C,KAAM3M,EAAOgzB,EAAQpyB,EAAYkpD,EAAU,GAGtD,IAAIlB,EAAM,EACNvnD,EAAI,EACRsL,KAAKqmB,GAAkB,IAARhzB,EACf,QAASqB,EAAIT,IAAegoD,GAAO,KACjCj8C,KAAKqmB,EAAS3xB,GAAMrB,EAAQ4oD,EAAO,IAGrC,OAAO51B,EAASpyB,GAGlB4hD,EAAOn0C,UAAU07C,YAAc,SAAsB/pD,EAAOgzB,EAAQpyB,EAAY2nD,GAI9E,GAHAvoD,GAASA,EACTgzB,GAAkB,EAClBpyB,GAA0B,GACrB2nD,EAAU,CACb,IAAIuB,EAAWllD,KAAKC,IAAI,EAAG,EAAIjE,GAAc,EAC7CqnD,EAASt7C,KAAM3M,EAAOgzB,EAAQpyB,EAAYkpD,EAAU,GAGtD,IAAIzoD,EAAIT,EAAa,EACjBgoD,EAAM,EACVj8C,KAAKqmB,EAAS3xB,GAAa,IAARrB,EACnB,QAASqB,GAAK,IAAMunD,GAAO,KACzBj8C,KAAKqmB,EAAS3xB,GAAMrB,EAAQ4oD,EAAO,IAGrC,OAAO51B,EAASpyB,GAGlB4hD,EAAOn0C,UAAU27C,WAAa,SAAqBhqD,EAAOgzB,EAAQu1B,GAMhE,OALAvoD,GAASA,EACTgzB,GAAkB,EACbu1B,GAAUN,EAASt7C,KAAM3M,EAAOgzB,EAAQ,EAAG,IAAM,GACjDwvB,EAAOC,sBAAqBziD,EAAQ4E,KAAKD,MAAM3E,IACpD2M,KAAKqmB,GAAmB,IAARhzB,EACTgzB,EAAS,GAWlBwvB,EAAOn0C,UAAU47C,cAAgB,SAAwBjqD,EAAOgzB,EAAQu1B,GAUtE,OATAvoD,GAASA,EACTgzB,GAAkB,EACbu1B,GAAUN,EAASt7C,KAAM3M,EAAOgzB,EAAQ,EAAG,MAAQ,GACpDwvB,EAAOC,qBACT91C,KAAKqmB,GAAmB,IAARhzB,EAChB2M,KAAKqmB,EAAS,GAAMhzB,IAAU,GAE9BkoD,EAAkBv7C,KAAM3M,EAAOgzB,GAAQ,GAElCA,EAAS,GAGlBwvB,EAAOn0C,UAAU67C,cAAgB,SAAwBlqD,EAAOgzB,EAAQu1B,GAUtE,OATAvoD,GAASA,EACTgzB,GAAkB,EACbu1B,GAAUN,EAASt7C,KAAM3M,EAAOgzB,EAAQ,EAAG,MAAQ,GACpDwvB,EAAOC,qBACT91C,KAAKqmB,GAAWhzB,IAAU,EAC1B2M,KAAKqmB,EAAS,GAAc,IAARhzB,GAEpBkoD,EAAkBv7C,KAAM3M,EAAOgzB,GAAQ,GAElCA,EAAS,GAUlBwvB,EAAOn0C,UAAU87C,cAAgB,SAAwBnqD,EAAOgzB,EAAQu1B,GAYtE,OAXAvoD,GAASA,EACTgzB,GAAkB,EACbu1B,GAAUN,EAASt7C,KAAM3M,EAAOgzB,EAAQ,EAAG,WAAY,GACxDwvB,EAAOC,qBACT91C,KAAKqmB,EAAS,GAAMhzB,IAAU,GAC9B2M,KAAKqmB,EAAS,GAAMhzB,IAAU,GAC9B2M,KAAKqmB,EAAS,GAAMhzB,IAAU,EAC9B2M,KAAKqmB,GAAmB,IAARhzB,GAEhBooD,EAAkBz7C,KAAM3M,EAAOgzB,GAAQ,GAElCA,EAAS,GAGlBwvB,EAAOn0C,UAAU+7C,cAAgB,SAAwBpqD,EAAOgzB,EAAQu1B,GAYtE,OAXAvoD,GAASA,EACTgzB,GAAkB,EACbu1B,GAAUN,EAASt7C,KAAM3M,EAAOgzB,EAAQ,EAAG,WAAY,GACxDwvB,EAAOC,qBACT91C,KAAKqmB,GAAWhzB,IAAU,GAC1B2M,KAAKqmB,EAAS,GAAMhzB,IAAU,GAC9B2M,KAAKqmB,EAAS,GAAMhzB,IAAU,EAC9B2M,KAAKqmB,EAAS,GAAc,IAARhzB,GAEpBooD,EAAkBz7C,KAAM3M,EAAOgzB,GAAQ,GAElCA,EAAS,GAGlBwvB,EAAOn0C,UAAUg8C,WAAa,SAAqBrqD,EAAOgzB,EAAQpyB,EAAY2nD,GAG5E,GAFAvoD,GAASA,EACTgzB,GAAkB,GACbu1B,EAAU,CACb,IAAI+B,EAAQ1lD,KAAKC,IAAI,EAAG,EAAIjE,EAAa,GAEzCqnD,EAASt7C,KAAM3M,EAAOgzB,EAAQpyB,EAAY0pD,EAAQ,GAAIA,GAGxD,IAAIjpD,EAAI,EACJunD,EAAM,EACN1vB,EAAM,EACVvsB,KAAKqmB,GAAkB,IAARhzB,EACf,QAASqB,EAAIT,IAAegoD,GAAO,KAC7B5oD,EAAQ,GAAa,IAARk5B,GAAsC,IAAzBvsB,KAAKqmB,EAAS3xB,EAAI,KAC9C63B,EAAM,GAERvsB,KAAKqmB,EAAS3xB,IAAOrB,EAAQ4oD,GAAQ,GAAK1vB,EAAM,IAGlD,OAAOlG,EAASpyB,GAGlB4hD,EAAOn0C,UAAUk8C,WAAa,SAAqBvqD,EAAOgzB,EAAQpyB,EAAY2nD,GAG5E,GAFAvoD,GAASA,EACTgzB,GAAkB,GACbu1B,EAAU,CACb,IAAI+B,EAAQ1lD,KAAKC,IAAI,EAAG,EAAIjE,EAAa,GAEzCqnD,EAASt7C,KAAM3M,EAAOgzB,EAAQpyB,EAAY0pD,EAAQ,GAAIA,GAGxD,IAAIjpD,EAAIT,EAAa,EACjBgoD,EAAM,EACN1vB,EAAM,EACVvsB,KAAKqmB,EAAS3xB,GAAa,IAARrB,EACnB,QAASqB,GAAK,IAAMunD,GAAO,KACrB5oD,EAAQ,GAAa,IAARk5B,GAAsC,IAAzBvsB,KAAKqmB,EAAS3xB,EAAI,KAC9C63B,EAAM,GAERvsB,KAAKqmB,EAAS3xB,IAAOrB,EAAQ4oD,GAAQ,GAAK1vB,EAAM,IAGlD,OAAOlG,EAASpyB,GAGlB4hD,EAAOn0C,UAAUm8C,UAAY,SAAoBxqD,EAAOgzB,EAAQu1B,GAO9D,OANAvoD,GAASA,EACTgzB,GAAkB,EACbu1B,GAAUN,EAASt7C,KAAM3M,EAAOgzB,EAAQ,EAAG,KAAO,KAClDwvB,EAAOC,sBAAqBziD,EAAQ4E,KAAKD,MAAM3E,IAChDA,EAAQ,IAAGA,EAAQ,IAAOA,EAAQ,GACtC2M,KAAKqmB,GAAmB,IAARhzB,EACTgzB,EAAS,GAGlBwvB,EAAOn0C,UAAUo8C,aAAe,SAAuBzqD,EAAOgzB,EAAQu1B,GAUpE,OATAvoD,GAASA,EACTgzB,GAAkB,EACbu1B,GAAUN,EAASt7C,KAAM3M,EAAOgzB,EAAQ,EAAG,OAAS,OACrDwvB,EAAOC,qBACT91C,KAAKqmB,GAAmB,IAARhzB,EAChB2M,KAAKqmB,EAAS,GAAMhzB,IAAU,GAE9BkoD,EAAkBv7C,KAAM3M,EAAOgzB,GAAQ,GAElCA,EAAS,GAGlBwvB,EAAOn0C,UAAUq8C,aAAe,SAAuB1qD,EAAOgzB,EAAQu1B,GAUpE,OATAvoD,GAASA,EACTgzB,GAAkB,EACbu1B,GAAUN,EAASt7C,KAAM3M,EAAOgzB,EAAQ,EAAG,OAAS,OACrDwvB,EAAOC,qBACT91C,KAAKqmB,GAAWhzB,IAAU,EAC1B2M,KAAKqmB,EAAS,GAAc,IAARhzB,GAEpBkoD,EAAkBv7C,KAAM3M,EAAOgzB,GAAQ,GAElCA,EAAS,GAGlBwvB,EAAOn0C,UAAUs8C,aAAe,SAAuB3qD,EAAOgzB,EAAQu1B,GAYpE,OAXAvoD,GAASA,EACTgzB,GAAkB,EACbu1B,GAAUN,EAASt7C,KAAM3M,EAAOgzB,EAAQ,EAAG,YAAa,YACzDwvB,EAAOC,qBACT91C,KAAKqmB,GAAmB,IAARhzB,EAChB2M,KAAKqmB,EAAS,GAAMhzB,IAAU,EAC9B2M,KAAKqmB,EAAS,GAAMhzB,IAAU,GAC9B2M,KAAKqmB,EAAS,GAAMhzB,IAAU,IAE9BooD,EAAkBz7C,KAAM3M,EAAOgzB,GAAQ,GAElCA,EAAS,GAGlBwvB,EAAOn0C,UAAUu8C,aAAe,SAAuB5qD,EAAOgzB,EAAQu1B,GAapE,OAZAvoD,GAASA,EACTgzB,GAAkB,EACbu1B,GAAUN,EAASt7C,KAAM3M,EAAOgzB,EAAQ,EAAG,YAAa,YACzDhzB,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GACxCwiD,EAAOC,qBACT91C,KAAKqmB,GAAWhzB,IAAU,GAC1B2M,KAAKqmB,EAAS,GAAMhzB,IAAU,GAC9B2M,KAAKqmB,EAAS,GAAMhzB,IAAU,EAC9B2M,KAAKqmB,EAAS,GAAc,IAARhzB,GAEpBooD,EAAkBz7C,KAAM3M,EAAOgzB,GAAQ,GAElCA,EAAS,GAgBlBwvB,EAAOn0C,UAAUw8C,aAAe,SAAuB7qD,EAAOgzB,EAAQu1B,GACpE,OAAOD,EAAW37C,KAAM3M,EAAOgzB,GAAQ,EAAMu1B,IAG/C/F,EAAOn0C,UAAUy8C,aAAe,SAAuB9qD,EAAOgzB,EAAQu1B,GACpE,OAAOD,EAAW37C,KAAM3M,EAAOgzB,GAAQ,EAAOu1B,IAWhD/F,EAAOn0C,UAAU08C,cAAgB,SAAwB/qD,EAAOgzB,EAAQu1B,GACtE,OAAOC,EAAY77C,KAAM3M,EAAOgzB,GAAQ,EAAMu1B,IAGhD/F,EAAOn0C,UAAU28C,cAAgB,SAAwBhrD,EAAOgzB,EAAQu1B,GACtE,OAAOC,EAAY77C,KAAM3M,EAAOgzB,GAAQ,EAAOu1B,IAIjD/F,EAAOn0C,UAAUw1C,KAAO,SAAejpC,EAAQqwC,EAAazoD,EAAOC,GAQjE,GAPKD,IAAOA,EAAQ,GACfC,GAAe,IAARA,IAAWA,EAAMkK,KAAKpL,QAC9B0pD,GAAerwC,EAAOrZ,SAAQ0pD,EAAcrwC,EAAOrZ,QAClD0pD,IAAaA,EAAc,GAC5BxoD,EAAM,GAAKA,EAAMD,IAAOC,EAAMD,GAG9BC,IAAQD,EAAO,OAAO,EAC1B,GAAsB,IAAlBoY,EAAOrZ,QAAgC,IAAhBoL,KAAKpL,OAAc,OAAO,EAGrD,GAAI0pD,EAAc,EAChB,MAAM,IAAI55C,WAAW,6BAEvB,GAAI7O,EAAQ,GAAKA,GAASmK,KAAKpL,OAAQ,MAAM,IAAI8P,WAAW,6BAC5D,GAAI5O,EAAM,EAAG,MAAM,IAAI4O,WAAW,2BAG9B5O,EAAMkK,KAAKpL,SAAQkB,EAAMkK,KAAKpL,QAC9BqZ,EAAOrZ,OAAS0pD,EAAcxoD,EAAMD,IACtCC,EAAMmY,EAAOrZ,OAAS0pD,EAAczoD,GAGtC,IACInB,EADAC,EAAMmB,EAAMD,EAGhB,GAAImK,OAASiO,GAAUpY,EAAQyoD,GAAeA,EAAcxoD,EAE1D,IAAKpB,EAAIC,EAAM,EAAGD,GAAK,IAAKA,EAC1BuZ,EAAOvZ,EAAI4pD,GAAet+C,KAAKtL,EAAImB,QAEhC,GAAIlB,EAAM,MAASkhD,EAAOC,oBAE/B,IAAKphD,EAAI,EAAGA,EAAIC,IAAOD,EACrBuZ,EAAOvZ,EAAI4pD,GAAet+C,KAAKtL,EAAImB,QAGrCtB,WAAWmN,UAAU7J,IAAI4I,KACvBwN,EACAjO,KAAK21C,SAAS9/C,EAAOA,EAAQlB,GAC7B2pD,GAIJ,OAAO3pD,GAOTkhD,EAAOn0C,UAAUqe,KAAO,SAAe6kB,EAAK/uC,EAAOC,EAAK2gD,GAEtD,GAAmB,kBAAR7R,EAAkB,CAS3B,GARqB,kBAAV/uC,GACT4gD,EAAW5gD,EACXA,EAAQ,EACRC,EAAMkK,KAAKpL,QACa,kBAARkB,IAChB2gD,EAAW3gD,EACXA,EAAMkK,KAAKpL,QAEM,IAAfgwC,EAAIhwC,OAAc,CACpB,IAAIH,EAAOmwC,EAAI/vC,WAAW,GACtBJ,EAAO,MACTmwC,EAAMnwC,GAGV,QAAiBT,IAAbyiD,GAA8C,kBAAbA,EACnC,MAAM,IAAIr2C,UAAU,6BAEtB,GAAwB,kBAAbq2C,IAA0BZ,EAAOc,WAAWF,GACrD,MAAM,IAAIr2C,UAAU,qBAAuBq2C,OAErB,kBAAR7R,IAChBA,GAAY,KAId,GAAI/uC,EAAQ,GAAKmK,KAAKpL,OAASiB,GAASmK,KAAKpL,OAASkB,EACpD,MAAM,IAAI4O,WAAW,sBAGvB,GAAI5O,GAAOD,EACT,OAAOmK,KAQT,IAAItL,EACJ,GANAmB,KAAkB,EAClBC,OAAc9B,IAAR8B,EAAoBkK,KAAKpL,OAASkB,IAAQ,EAE3C8uC,IAAKA,EAAM,GAGG,kBAARA,EACT,IAAKlwC,EAAImB,EAAOnB,EAAIoB,IAAOpB,EACzBsL,KAAKtL,GAAKkwC,MAEP,CACL,IAAIgO,EAAQiD,EAAOoB,SAASrS,GACxBA,EACA2S,EAAY,IAAI1B,EAAOjR,EAAK6R,GAAUh7C,YACtC9G,EAAMi+C,EAAMh+C,OAChB,IAAKF,EAAI,EAAGA,EAAIoB,EAAMD,IAASnB,EAC7BsL,KAAKtL,EAAImB,GAAS+8C,EAAMl+C,EAAIC,GAIhC,OAAOqL,MAMT,IAAIu+C,EAAoB,qBAExB,SAASC,EAAa3gC,GAIpB,GAFAA,EAAM4gC,EAAW5gC,GAAKpe,QAAQ8+C,EAAmB,IAE7C1gC,EAAIjpB,OAAS,EAAG,MAAO,GAE3B,MAAOipB,EAAIjpB,OAAS,IAAM,EACxBipB,GAAY,IAEd,OAAOA,EAGT,SAAS4gC,EAAY5gC,GACnB,OAAIA,EAAI2G,KAAa3G,EAAI2G,OAClB3G,EAAIpe,QAAQ,aAAc,IAGnC,SAAS07C,EAAO/2C,GACd,OAAIA,EAAI,GAAW,IAAMA,EAAE3I,SAAS,IAC7B2I,EAAE3I,SAAS,IAGpB,SAAS87C,EAAa56C,EAAQ+hD,GAE5B,IAAIh/C,EADJg/C,EAAQA,GAASzN,IAMjB,IAJA,IAAIr8C,EAAS+H,EAAO/H,OAChB+pD,EAAgB,KAChB/L,EAAQ,GAEHl+C,EAAI,EAAGA,EAAIE,IAAUF,EAAG,CAI/B,GAHAgL,EAAY/C,EAAO9H,WAAWH,GAG1BgL,EAAY,OAAUA,EAAY,MAAQ,CAE5C,IAAKi/C,EAAe,CAElB,GAAIj/C,EAAY,MAAQ,EAEjBg/C,GAAS,IAAM,GAAG9L,EAAM58C,KAAK,IAAM,IAAM,KAC9C,SACK,GAAItB,EAAI,IAAME,EAAQ,EAEtB8pD,GAAS,IAAM,GAAG9L,EAAM58C,KAAK,IAAM,IAAM,KAC9C,SAIF2oD,EAAgBj/C,EAEhB,SAIF,GAAIA,EAAY,MAAQ,EACjBg/C,GAAS,IAAM,GAAG9L,EAAM58C,KAAK,IAAM,IAAM,KAC9C2oD,EAAgBj/C,EAChB,SAIFA,EAAkE,OAArDi/C,EAAgB,OAAU,GAAKj/C,EAAY,YAC/Ci/C,IAEJD,GAAS,IAAM,GAAG9L,EAAM58C,KAAK,IAAM,IAAM,KAMhD,GAHA2oD,EAAgB,KAGZj/C,EAAY,IAAM,CACpB,IAAKg/C,GAAS,GAAK,EAAG,MACtB9L,EAAM58C,KAAK0J,QACN,GAAIA,EAAY,KAAO,CAC5B,IAAKg/C,GAAS,GAAK,EAAG,MACtB9L,EAAM58C,KACJ0J,GAAa,EAAM,IACP,GAAZA,EAAmB,UAEhB,GAAIA,EAAY,MAAS,CAC9B,IAAKg/C,GAAS,GAAK,EAAG,MACtB9L,EAAM58C,KACJ0J,GAAa,GAAM,IACnBA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,SAEhB,MAAIA,EAAY,SASrB,MAAM,IAAI1K,MAAM,sBARhB,IAAK0pD,GAAS,GAAK,EAAG,MACtB9L,EAAM58C,KACJ0J,GAAa,GAAO,IACpBA,GAAa,GAAM,GAAO,IAC1BA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,MAOzB,OAAOkzC,EAGT,SAASmG,EAAcl7B,GAErB,IADA,IAAI+gC,EAAY,GACPlqD,EAAI,EAAGA,EAAImpB,EAAIjpB,SAAUF,EAEhCkqD,EAAU5oD,KAAyB,IAApB6nB,EAAIhpB,WAAWH,IAEhC,OAAOkqD,EAGT,SAASzF,EAAgBt7B,EAAK6gC,GAG5B,IAFA,IAAInrC,EAAGsrC,EAAIC,EACPF,EAAY,GACPlqD,EAAI,EAAGA,EAAImpB,EAAIjpB,SAAUF,EAAG,CACnC,IAAKgqD,GAAS,GAAK,EAAG,MAEtBnrC,EAAIsK,EAAIhpB,WAAWH,GACnBmqD,EAAKtrC,GAAK,EACVurC,EAAKvrC,EAAI,IACTqrC,EAAU5oD,KAAK8oD,GACfF,EAAU5oD,KAAK6oD,GAGjB,OAAOD,EAGT,SAASpH,EAAe35B,GACtB,OAAO03B,EAAOrhD,YAAYsqD,EAAY3gC,IAGxC,SAASg7B,GAAY/wC,EAAKi3C,EAAK14B,EAAQzxB,GACrC,IAAK,IAAIF,EAAI,EAAGA,EAAIE,IAAUF,EAAG,CAC/B,GAAKA,EAAI2xB,GAAU04B,EAAInqD,QAAYF,GAAKoT,EAAIlT,OAAS,MACrDmqD,EAAIrqD,EAAI2xB,GAAUve,EAAIpT,GAExB,OAAOA,EAGT,SAASyiD,GAAOvS,GACd,OAAOA,IAAQA,K,sFC3vDjB,IAAI1/B,EAAS,WAAa,IAAIC,EAAInF,KAASoF,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACsC,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,OAAS,SAAS,CAAEzC,EAAQ,KAAE,CAACG,EAAG,YAAY,CAACqC,YAAY,0BAA0BC,MAAM,CAAC,KAAO,GAAG,MAAQ,KAAK,CAACtC,EAAG,kBAAkB,CAACH,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAK/nC,MAAM,IAAIX,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWr1C,OAAS,KAAOxE,EAAI0oC,KAAKmR,WAAWr1C,OAAS,IAAM,IAAI,OAAOrE,EAAG,YAAaH,EAAa,UAAEG,EAAG,QAAQ,CAACqC,YAAY,OAAOC,MAAM,CAAC,MAAQ,GAAG,UAAY,GAAG,SAAW,GAAG,MAAQ,aAAalC,GAAG,CAAC,MAAQ,SAASc,GAAQ,OAAOrB,EAAIoqC,iBAAiB,CAACpqC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,oBAAoB,OAAO95C,EAAIY,KAAKT,EAAG,QAAQ,CAACsC,MAAM,CAAC,SAAW,GAAG,MAAQ,GAAG,UAAY,IAAIlC,GAAG,CAAC,MAAQ,SAASc,GAAQ,OAAOrB,EAAI6qC,cAAc,CAAE7qC,EAAI0oC,KAAe,WAAEvoC,EAAG,SAAS,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACzC,EAAIS,GAAG,gBAAgBN,EAAG,SAAS,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACzC,EAAIS,GAAG,yBAAyB,GAAGN,EAAG,QAAQ,CAACsC,MAAM,CAAC,SAAW,GAAG,MAAQ,GAAG,UAAY,IAAIlC,GAAG,CAAC,MAAQ,SAASc,GAAQ,OAAOrB,EAAIorC,iBAAiB,CAACjrC,EAAG,SAAS,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACzC,EAAIS,GAAG,mBAAmB,GAAIT,EAAIspC,eAAiBtpC,EAAI0pC,SAAUvpC,EAAG,QAAQ,CAACsC,MAAM,CAAC,SAAW,GAAG,MAAQ,GAAG,UAAY,IAAIlC,GAAG,CAAC,MAAQP,EAAIiqC,qBAAqB,CAAC9pC,EAAG,SAAS,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACzC,EAAIS,GAAG,qBAAqB,GAAGT,EAAIY,MAAM,GAAIZ,EAAW,QAAEG,EAAG,oBAAoB,CAACsC,MAAM,CAAC,cAAgB,GAAG,MAAQ,mBAAmBzC,EAAIY,KAAKT,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACA,EAAG,aAAa,CAACsC,MAAM,CAAC,mBAAqBzC,EAAI4pC,gBAAgB,cAAe,EAAK,oBAAsB5pC,EAAI0pC,SAAW1pC,EAAImB,oBAAsB,MAAMZ,GAAG,CAAC,SAAWP,EAAIsB,aAAa,IAAI,GAAGnB,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACqC,YAAY,kBAAkBC,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACtC,EAAG,MAAM,CAAC,CAACA,EAAG,MAAM,CAACqC,YAAY,mCAAmC,CAACrC,EAAG,MAAM,CAACqC,YAAY,sCAAsC,CAAExC,EAAI0oC,KAAKmR,WAAwB,cAAE15C,EAAG,MAAM,CAACqC,YAAY,kBAAkB,CAACrC,EAAG,MAAM,CAACqC,YAAY,OAAO,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWE,gBAAgB,QAAQ55C,EAAG,MAAM,CAACqC,YAAY,OAAO,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWG,eAAe,SAASh6C,EAAIY,KAAKT,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,cAAc,YAAY35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWI,eAAe,QAAQ,IAAI,GACzyEj6C,EAAI0oC,KAAKmR,WAAWG,eACpBh6C,EAAI0oC,KAAKmR,WAAWI,cACpB95C,EAAG,aAAaH,EAAIY,KAAKT,EAAG,MAAM,CAACqC,YAAY,sCAAsC,CAAExC,EAAI0oC,KAAKmR,WAAwB,cAAE15C,EAAG,MAAM,CAACqC,YAAY,kBAAkB,CAACrC,EAAG,MAAM,CAACqC,YAAY,OAAO,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWK,gBAAgB,QAAQ/5C,EAAG,MAAM,CAACqC,YAAY,OAAO,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWM,eAAe,SAASn6C,EAAIY,KAAMZ,EAAI0oC,KAAKmR,WAAwB,cAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWO,gBAAgB,OAAOj6C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWQ,eAAe,QAAQ,GAAGr6C,EAAIY,KAAMZ,EAAI0oC,KAAKmR,WAAwB,cAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,aAAa,YAAY35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWS,eAAe,QAAQ,GAAGt6C,EAAIY,KAAMZ,EAAI0oC,KAAKmR,WAAoB,UAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,kBAAkB,YAAY35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWU,WAAW,QAAQ,GAAGv6C,EAAIY,KAAMZ,EAAI0oC,KAAKmR,WAAkB,QAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,YAAY,OAAO35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWW,SAAS,QAAQ,GAAGx6C,EAAIY,MAAM,GACv8CZ,EAAI0oC,KAAKmR,WAAWY,WACpBz6C,EAAI0oC,KAAKmR,WAAWa,WACpB16C,EAAI0oC,KAAKmR,WAAWc,WACpB36C,EAAI0oC,KAAKmR,WAAWU,WACpBv6C,EAAI0oC,KAAKmR,WAAWW,QACpBr6C,EAAG,aAAaH,EAAIY,KAAKT,EAAG,MAAM,CAACqC,YAAY,sCAAsC,CAAExC,EAAI0oC,KAAKmR,WAAwB,cAAE15C,EAAG,MAAM,CAACqC,YAAY,kBAAkB,CAACrC,EAAG,MAAM,CAACqC,YAAY,OAAO,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWe,gBAAgB,QAAQz6C,EAAG,MAAM,CAACqC,YAAY,OAAO,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWgB,eAAe,SAAS76C,EAAIY,KAAMZ,EAAI0oC,KAAKmR,WAAwB,cAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,UAAU,OAAO35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWiB,eAAe,QAAQ,GAAG96C,EAAIY,KAAMZ,EAAI0oC,KAAKmR,WAAuB,aAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,mBAAmB,OAAO35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWkB,cAAc,QAAQ,GAAG/6C,EAAIY,KAAMZ,EAAI0oC,KAAKmR,WAAyB,eAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,qBAAqB,YAAY35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWmB,gBAAgB,QAAQ,GAAGh7C,EAAIY,KAAMZ,EAAI0oC,KAAKmR,WAAwB,cAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,wBAAwB,YAAY35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWoB,eAAe,QAAQ,GAAGj7C,EAAIY,MAAM,GAC79CZ,EAAI0oC,KAAKmR,WAAWgB,eACpB76C,EAAI0oC,KAAKmR,WAAWiB,eACpB96C,EAAI0oC,KAAKmR,WAAWkB,cACpB/6C,EAAI0oC,KAAKmR,WAAWmB,gBACpBh7C,EAAI0oC,KAAKmR,WAAWoB,cACpB96C,EAAG,aAAaH,EAAIY,KAAKT,EAAG,MAAM,CAACqC,YAAY,sCAAsC,CAACrC,EAAG,MAAM,CAACqC,YAAY,kBAAkB,CAACrC,EAAG,MAAM,CAACqC,YAAY,OAAO,CAACxC,EAAIS,GAAGT,EAAIU,GAAGV,EAAI85C,GAAG,oBAAoB,OAAO35C,EAAG,MAAM,CAACqC,YAAY,OAAO,CAACxC,EAAIS,GAAGT,EAAIU,GAAGV,EAAI0oC,KAAK/nC,WAAYX,EAAI0oC,KAAKmR,WAA8B,oBAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,cAAc,OAAO35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWqB,qBAAqB,QAAQ,GAAGl7C,EAAIY,KAAMZ,EAAI0oC,KAAKmR,WAAwB,cAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWsB,gBAAgB,OAAOh7C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWuB,eAAe,QAAQ,GAAGp7C,EAAIY,KAAMZ,EAAI0oC,KAAKmR,WAAwB,cAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,cAAc,OAAO35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWwB,eAAe,QAAQ,GAAGr7C,EAAIY,KAAMZ,EAAI0oC,KAAKmR,WAAwB,cAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,UAAU,OAAO35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWyB,eAAe,QAAQ,GAAGt7C,EAAIY,KAAMZ,EAAI0oC,KAAKmR,WAAsB,YAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,eAAe,OAAO35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAW0B,aAAa,QAAQ,GAAGv7C,EAAIY,KAAMZ,EAAI0oC,KAAKmR,WAA0B,gBAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,eAAe,YAAY35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAW2B,iBAAiB,QAAQ,GAAGx7C,EAAIY,MAAM,GAAGT,EAAG,aAAaA,EAAG,MAAM,CAACqC,YAAY,sCAAsC,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,eAAe,MAAO95C,EAAI0oC,KAAKmR,WAA2B,iBAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,eAAe,IAAI95C,EAAIU,GAAGV,EAAI85C,GAAG,SAAS,YAAY35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAW4B,kBAAkB,QAAQ,GAAGz7C,EAAIY,KAAMZ,EAAI0oC,KAAKmR,WAA4B,kBAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,eAAe,IAAI95C,EAAIU,GAAGV,EAAI85C,GAAG,WAAW,YAAY35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAW6B,mBAAmB,QAAQ,GAAG17C,EAAIY,KAAMZ,EAAI0oC,KAAKmR,WAA+B,qBAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,eAAe,IAAI95C,EAAIU,GAAGV,EAAI85C,GAAG,aAAa,YAAY35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAW8B,sBAAsB,QAAQ,GAAG37C,EAAIY,KAAMZ,EAAI0oC,KAAKmR,WAAuB,aAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,gBAAgB,OAAO35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAW+B,cAAc,QAAQ,GAAG57C,EAAIY,MAAM,GACtxGZ,EAAI0oC,KAAKmR,WAAW4B,kBACpBz7C,EAAI0oC,KAAKmR,WAAW6B,mBACpB17C,EAAI0oC,KAAKmR,WAAW8B,sBACpB37C,EAAI0oC,KAAKmR,WAAW+B,aACpBz7C,EAAG,aAAaH,EAAIY,KAAKT,EAAG,MAAM,CAACqC,YAAY,sCAAsC,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,aAAa,MAAM35C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,aAAa,OAAO35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWgC,eAAe,QAAQ,GAAI77C,EAAI0oC,KAAKmR,WAAsB,YAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,UAAU,YAAY35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWiC,aAAa,QAAQ,GAAG97C,EAAIY,MAAM,GAChoBZ,EAAI0oC,KAAKmR,WAAWgC,eACpB77C,EAAI0oC,KAAKmR,WAAWiC,YACpB37C,EAAG,aAAaH,EAAIY,KAAKT,EAAG,MAAM,CAACqC,YAAY,sCAAsC,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,WAAW,MAAM35C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,aAAa,OAAO35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWkC,aAAa,QAAQ,GAAI/7C,EAAI0oC,KAAKmR,WAAwB,cAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAACtC,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,oBAAoB,YAAY35C,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWmC,eAAe,QAAQ,GAAGh8C,EAAIY,MAAM,GAC1oBZ,EAAI0oC,KAAKmR,WAAWkC,aACpB/7C,EAAI0oC,KAAKmR,WAAWmC,cACpB77C,EAAG,aAAaH,EAAIY,KAAMZ,EAAI0oC,KAAKuT,aAAej8C,EAAI0oC,KAAKmR,WAAWqC,qBAAsB/7C,EAAG,MAAM,CAACA,EAAG,MAAM,CAACqC,YAAY,sCAAsC,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,eAAe,QAAQ35C,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACA,EAAG,MAAM,CAACqC,YAAY,iBAAiB25C,SAAS,CAAC,UAAYn8C,EAAIU,GAAGV,EAAI0oC,KAAKuT,kBAAkB,IAAI,GAAGj8C,EAAIY,MAAM,GAAIZ,EAAI0oC,KAAe,WAAEvoC,EAAG,YAAY,CAACH,EAAIS,GAAG,OAAOT,EAAIY,OAAO,KAAKT,EAAG,QAAQ,CAACsC,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACtC,EAAG,MAAM,CAACqC,YAAY,sBAAsB,CAAExC,EAAI0oC,KAAK0T,QAAUp8C,EAAI0oC,KAAK0T,OAAO3sD,OAAS,EAAG,CAAC0Q,EAAG,cAAc,CAACsC,MAAM,CAAC,IAAMzC,EAAI0oC,KAAK0T,OAAO,OAAOp8C,EAAIY,MAAM,GAAGT,EAAG,aAAaA,EAAG,MAAM,CAACqC,YAAY,sCAAsC,CAACrC,EAAG,MAAM,CAACqC,YAAY,kBAAkB,CAACrC,EAAG,MAAM,CAACqC,YAAY,OAAO,CAACxC,EAAIS,GAAGT,EAAIU,GAAGV,EAAI85C,GAAG,SAAS,OAAO35C,EAAG,MAAM,CAACqC,YAAY,OAAO,CAACxC,EAAIS,GAAGT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWwC,WAAYr8C,EAAI0oC,KAAKmR,WAAuB,aAAE15C,EAAG,QAAQ,CAACsC,MAAM,CAAC,MAAQ,KAAK,CAAGzC,EAAI0oC,KAAKmR,WAAWqC,qBAA+Fl8C,EAAIY,KAA7ET,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,WAAqBT,EAAI0oC,KAAKmR,WAA+B,qBAAE15C,EAAG,QAAQ,CAACqC,YAAY,8BAA8B,CAACxC,EAAIS,GAAG,eAAeT,EAAIY,KAAKT,EAAG,QAAQ,CAACqC,YAAY,WAAW,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI0oC,KAAKmR,WAAWyC,cAAc,QAAQ,GAAGt8C,EAAIY,MAAM,GAAIZ,EAAI0oC,KAAK6T,YAAY9sD,OAAS,EAAG0Q,EAAG,aAAaH,EAAIY,KAAMZ,EAAI0oC,KAAK6T,YAAY9sD,OAAS,EAAG0Q,EAAG,MAAM,CAACqC,YAAY,2BAA2B,CAACrC,EAAG,MAAM,CAACqC,YAAY,sCAAsC,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,aAAa,QAAQ95C,EAAIiB,GAAIjB,EAAI0oC,KAAgB,aAAE,SAAS8T,EAAWjtD,GAAG,OAAO4Q,EAAG,IAAI,CAAChS,IAAIoB,EAAEiT,YAAY,oBAAoBC,MAAM,CAAC,OAAS,SAAS,KAAO+5C,EAAWC,OAAO,CAACz8C,EAAIS,GAAG,IAAIT,EAAIU,GAAG87C,EAAWE,UAAU,WAAU,GAAG18C,EAAIY,KAAMZ,EAAI0oC,KAAKiU,SAASltD,OAAS,EAAG0Q,EAAG,aAAaH,EAAIY,KAAMZ,EAAI0oC,KAAKiU,SAASltD,OAAS,EAAG0Q,EAAG,MAAM,CAACqC,YAAY,wBAAwB,CAACrC,EAAG,MAAM,CAACqC,YAAY,sCAAsC,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,aAAa,QAAQ35C,EAAG,MAAM,CAACqC,YAAY,oBAAoBxC,EAAIiB,GAAIjB,EAAI0oC,KAAa,UAAE,SAAS5nC,EAAQvR,GAAG,OAAO4Q,EAAG,MAAM,CAAChS,IAAI,KAAOoB,EAAEiT,YAAY,iBAAiB,CAACrC,EAAG,WAAW,CAACqC,YAAY,OAAOC,MAAM,CAAC,OAAS,KAAK,CAACtC,EAAG,IAAI,CAACsC,MAAM,CAAC,OAAS,SAAS,KAAO3B,EAAQ27C,OAAO,CAACt8C,EAAG,QAAQ,CAACsC,MAAM,CAAC,SAAW,kDAAkD,eAAe,IAAI,MAAQ,MAAM,IAAM3B,EAAQ87C,MAAM,KAAO,IAAIC,YAAY78C,EAAI88C,GAAG,CAAC,CAAC3uD,IAAI,cAAc4uD,GAAG,WAAW,MAAO,CAAC58C,EAAG,WAAW,CAACsC,MAAM,CAAC,cAAc,GAAG,eAAe,GAAG,iBAAiB,GAAG,OAAO,KAAK,CAACtC,EAAG,sBAAsB,CAACsC,MAAM,CAAC,cAAgB,GAAG,MAAQ,qBAAqB,KAAKu6C,OAAM,IAAO,MAAK,IAAO,CAAC78C,EAAG,iBAAiB,CAACqC,YAAY,gDAAgD,CAACrC,EAAG,OAAO,CAACqC,YAAY,+BAA+By6C,YAAY,CAAC,MAAQ,UAAU,CAACj9C,EAAIS,GAAG,IAAIT,EAAIU,GAAGI,EAAQH,MAAM,UAAU,IAAI,MAAM,MAAK,KAAKX,EAAIY,MAAM,IAAI,IAAI,IAAIT,EAAG,cAAc,CAACqC,YAAY,qBAAqB,CAAExC,EAAS,MAAEG,EAAG,MAAM,CAACqC,YAAY,2CAA2C,CAACxC,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI85C,GAAG,UAAU,OAAO,CAAC35C,EAAG,oBAAoB,CAACsC,MAAM,CAAC,KAAO,aAAatC,EAAG,oBAAoB,CAACsC,MAAM,CAAC,KAAO,WAAWtC,EAAG,oBAAoB,CAACsC,MAAM,CAAC,KAAO,0BAA0BtC,EAAG,oBAAoB,CAACsC,MAAM,CAAC,KAAO,4BAA4B,IAAI,IACzyGlB,EAAkB,G,YC3B0T,S,qKCIjU,iBAAf,U,oFCIIS,EAAY,eACd,EACAjC,EACAwB,GACA,EACA,KACA,WACA,MAIa,aAAAS,EAAiB,QAoBhC,IAAkBA,EAAW,CAACk7C,OAAA,KAAKC,QAAA,KAAMC,aAAA,OAAaC,OAAA,KAAKC,aAAA,KAAWC,WAAA,KAASC,QAAA,KAAMC,OAAA,KAAKC,UAAQC,oBAAA,KAAkBC,kBAAA,KAAgBC,OAAA,KAAKC,kBAAA,KAAgBC,UAAA,KAAQC,WAAA,KAAS7sD,cAAA,U,mBCvC1K,IAAImF,EAAW,GAAGA,SAElB5I,EAAOC,QAAU0B,MAAM4kB,SAAW,SAAU7jB,GAC1C,MAA6B,kBAAtBkG,EAASgF,KAAKlL,K,gJCAT,cAEZ,OAAO,cAAW,CAChB0R,KAAM,KAAF,OADY,GAGhBguC,YAHgB,EAKhBtuC,MAAO,CACLqoC,GADK,OAELkG,IAAK,CACH/0C,KADG,OAEHiK,QAAS,QAIblF,OAbgB,SAaV,EAbU,GAaoB,IAAzB,EAAyB,EAAzB,QAAyB,EAAzB,KAAe21B,EAAU,EAAVA,SACxBgT,EAAA,YAAoB,UAAG5mC,EAAH,YAAW4mC,EAAA,aAAZ,IAAnB,OAEA,IAAQjmC,EAAR,EAAQA,MACR,KAAW,CAETimC,EAAA,SACA,IAAMuH,EAAUltC,OAAA,gBAA0B,SAAA5U,GAGxC,YAAIA,EAAgB,OAAO,EAE3B,IAAMD,EAAQuU,EALgC,GAS9C,OAAItU,EAAA,WAAJ,UACEu6C,EAAA,YACA,GAGKx6C,GAAP,kBAAuBA,KAGrB+hD,EAAJ,SAAoBvH,EAAA,wBAAwBuH,EAAA,KAAxB,OAQtB,OALIzuC,EAAJ,KACEknC,EAAA,SAAgBA,EAAA,UAAhB,GACAA,EAAA,YAAmBlnC,EAAnB,IAGK0uC,EAAE1uC,EAAD,MAAR,Q","file":"js/detail.2b78024e.js","sourcesContent":["var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","// Components\nimport VToolbar from './VToolbar'\n\n// Utilities\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VToolbarTitle = createSimpleFunctional('v-toolbar__title')\nconst VToolbarItems = createSimpleFunctional('v-toolbar__items')\n\nexport {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n },\n}\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n/* eslint-disable no-control-regex -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+|[\\u0000-\\u0020]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable no-control-regex -- safe */\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var chr = function () {\n return input.charAt(pointer);\n };\n\n if (chr() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (chr()) {\n if (pieceIndex == 8) return;\n if (chr() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(chr())) {\n value = value * 16 + parseInt(chr(), 16);\n pointer++;\n length++;\n }\n if (chr() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (chr()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (chr() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(chr())) return;\n while (DIGIT.test(chr())) {\n number = parseInt(chr(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (chr() == ':') {\n pointer++;\n if (!chr()) return;\n } else if (chr()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (chr, set) {\n var code = codeAt(chr, 0);\n return code > 0x20 && code < 0x7F && !has(set, chr) ? chr : encodeURIComponent(chr);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, chr, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n chr = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (chr && ALPHA.test(chr)) {\n buffer += chr.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (chr && (ALPHANUMERIC.test(chr) || chr == '+' || chr == '-' || chr == '.')) {\n buffer += chr.toLowerCase();\n } else if (chr == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && chr != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && chr == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (chr == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (chr == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (chr == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (chr == '/' || (chr == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (chr == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (chr == '/' || chr == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (chr == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (chr != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (chr != '/' && chr != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (chr == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += chr;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (chr == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (chr == '[') seenBracket = true;\n else if (chr == ']') seenBracket = false;\n buffer += chr;\n } break;\n\n case PORT:\n if (DIGIT.test(chr)) {\n buffer += chr;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (chr == '/' || chr == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (chr == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (chr == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (chr == '/' || chr == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (chr == EOF || chr == '/' || chr == '\\\\' || chr == '?' || chr == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += chr;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (chr != '/' && chr != '\\\\') continue;\n } else if (!stateOverride && chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n state = PATH;\n if (chr != '/') continue;\n } break;\n\n case PATH:\n if (\n chr == EOF || chr == '/' ||\n (chr == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (chr == '?' || chr == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (chr != '/' && !(chr == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (chr != '/' && !(chr == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(chr, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n if (chr == \"'\" && isSpecial(url)) url.query += '%27';\n else if (chr == '#') url.query += '%23';\n else url.query += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = $toString(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, $toString(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = $toString(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, $toString(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom($toString(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom($toString(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, $toString(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, $toString(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = $toString(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, $toString(pathname), PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = $toString(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = $toString(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SolutionZoomPicture.vue?vue&type=style&index=0&id=f5e8d3b4&scoped=true&lang=css&\"","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements -- TODO\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[(_vm.productType && _vm.productType.Id)?[_c('a',{on:{\"click\":_vm.toProductTypeChoice}},[_vm._v(\" \"+_vm._s(_vm.productType.Name))]),_vm._v(\"   /   \")]:_vm._e(),(_vm.brand && _vm.brand.Id && _vm.product && _vm.product.Id)?[_c('a',{on:{\"click\":_vm.toBrandChoice}},[_vm._v(\" \"+_vm._s(_vm.brand.Name))]),_vm._v(\"   /   \"),_c('a',{on:{\"click\":_vm.toProductChoice}},[_vm._v(\" \"+_vm._s(_vm.product.Name))]),_vm._v(\"   /   \")]:_vm._e(),_vm._l((_vm.selectedTaxonomies),function(step,i){return [(step && step !== 'Niet van toepassing')?[_c('span',{key:i},[(_vm.selectedAutoSkipped && !_vm.selectedAutoSkipped[i])?_c('a',{on:{\"click\":function($event){return _vm.prevStep(i)}}},[_vm._v(\" \"+_vm._s(step.Name ? step.Name : step)+\" \")]):(!_vm.selectedAutoSkipped && _vm.isDetailView)?_c('a',{on:{\"click\":function($event){return _vm.prevStep(i)}}},[_vm._v(\" \"+_vm._s(step.Name ? step.Name : step)+\" \")]):_c('span',[_vm._v(_vm._s(step.Name ? step.Name : step))]),_vm._v(\"   /   \")])]:_vm._e()]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumb.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumb.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BreadCrumb.vue?vue&type=template&id=0b28e992&\"\nimport script from \"./BreadCrumb.vue?vue&type=script&lang=js&\"\nexport * from \"./BreadCrumb.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{style:({ width: _vm.imageWidth, height: _vm.imageHeight }),on:{\"click\":[function($event){$event.stopPropagation();},_vm.toggleZoom]}},[_c('Frame',{staticClass:\"frame\",attrs:{\"pose\":_vm.pose},on:{\"click\":function($event){$event.stopPropagation();}}}),_c('ZoomImage',{staticClass:\"zoomedImage\",attrs:{\"pose\":_vm.pose,\"src\":_vm.src}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { __assign } from 'tslib';\n\nvar clamp = function (min, max) { return function (v) {\r\n return Math.max(Math.min(v, max), min);\r\n}; };\r\nvar sanitize = function (v) { return (v % 1 ? Number(v.toFixed(5)) : v); };\r\nvar floatRegex = /(-)?(\\d[\\d\\.]*)/g;\r\nvar colorRegex = /(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\\((-?[\\d\\.]+%?[,\\s]+){2,3}\\s*\\/*\\s*[\\d\\.]+%?\\))/gi;\r\nvar singleColorRegex = /^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\\((-?[\\d\\.]+%?[,\\s]+){2,3}\\s*\\/*\\s*[\\d\\.]+%?\\))$/i;\n\nvar number = {\r\n test: function (v) { return typeof v === 'number'; },\r\n parse: parseFloat,\r\n transform: function (v) { return v; }\r\n};\r\nvar alpha = __assign(__assign({}, number), { transform: clamp(0, 1) });\r\nvar scale = __assign(__assign({}, number), { default: 1 });\n\nvar createUnitType = function (unit) { return ({\r\n test: function (v) {\r\n return typeof v === 'string' && v.endsWith(unit) && v.split(' ').length === 1;\r\n },\r\n parse: parseFloat,\r\n transform: function (v) { return \"\" + v + unit; }\r\n}); };\r\nvar degrees = createUnitType('deg');\r\nvar percent = createUnitType('%');\r\nvar px = createUnitType('px');\r\nvar vh = createUnitType('vh');\r\nvar vw = createUnitType('vw');\r\nvar progressPercentage = __assign(__assign({}, percent), { parse: function (v) { return percent.parse(v) / 100; }, transform: function (v) { return percent.transform(v * 100); } });\n\nvar getValueFromFunctionString = function (value) {\r\n return value.substring(value.indexOf('(') + 1, value.lastIndexOf(')'));\r\n};\r\nvar clampRgbUnit = clamp(0, 255);\r\nvar isRgba = function (v) { return v.red !== undefined; };\r\nvar isHsla = function (v) { return v.hue !== undefined; };\r\nfunction getValuesAsArray(value) {\r\n return getValueFromFunctionString(value)\r\n .replace(/(,|\\/)/g, ' ')\r\n .split(/ \\s*/);\r\n}\r\nvar splitColorValues = function (terms) {\r\n return function (v) {\r\n if (typeof v !== 'string')\r\n return v;\r\n var values = {};\r\n var valuesArray = getValuesAsArray(v);\r\n for (var i = 0; i < 4; i++) {\r\n values[terms[i]] =\r\n valuesArray[i] !== undefined ? parseFloat(valuesArray[i]) : 1;\r\n }\r\n return values;\r\n };\r\n};\r\nvar rgbaTemplate = function (_a) {\r\n var red = _a.red, green = _a.green, blue = _a.blue, _b = _a.alpha, alpha = _b === void 0 ? 1 : _b;\r\n return \"rgba(\" + red + \", \" + green + \", \" + blue + \", \" + alpha + \")\";\r\n};\r\nvar hslaTemplate = function (_a) {\r\n var hue = _a.hue, saturation = _a.saturation, lightness = _a.lightness, _b = _a.alpha, alpha = _b === void 0 ? 1 : _b;\r\n return \"hsla(\" + hue + \", \" + saturation + \", \" + lightness + \", \" + alpha + \")\";\r\n};\r\nvar rgbUnit = __assign(__assign({}, number), { transform: function (v) { return Math.round(clampRgbUnit(v)); } });\r\nfunction isColorString(color, colorType) {\r\n return color.startsWith(colorType) && singleColorRegex.test(color);\r\n}\r\nvar rgba = {\r\n test: function (v) { return (typeof v === 'string' ? isColorString(v, 'rgb') : isRgba(v)); },\r\n parse: splitColorValues(['red', 'green', 'blue', 'alpha']),\r\n transform: function (_a) {\r\n var red = _a.red, green = _a.green, blue = _a.blue, _b = _a.alpha, alpha$1 = _b === void 0 ? 1 : _b;\r\n return rgbaTemplate({\r\n red: rgbUnit.transform(red),\r\n green: rgbUnit.transform(green),\r\n blue: rgbUnit.transform(blue),\r\n alpha: sanitize(alpha.transform(alpha$1))\r\n });\r\n }\r\n};\r\nvar hsla = {\r\n test: function (v) { return (typeof v === 'string' ? isColorString(v, 'hsl') : isHsla(v)); },\r\n parse: splitColorValues(['hue', 'saturation', 'lightness', 'alpha']),\r\n transform: function (_a) {\r\n var hue = _a.hue, saturation = _a.saturation, lightness = _a.lightness, _b = _a.alpha, alpha$1 = _b === void 0 ? 1 : _b;\r\n return hslaTemplate({\r\n hue: Math.round(hue),\r\n saturation: percent.transform(sanitize(saturation)),\r\n lightness: percent.transform(sanitize(lightness)),\r\n alpha: sanitize(alpha.transform(alpha$1))\r\n });\r\n }\r\n};\r\nvar hex = __assign(__assign({}, rgba), { test: function (v) { return typeof v === 'string' && isColorString(v, '#'); }, parse: function (v) {\r\n var r = '';\r\n var g = '';\r\n var b = '';\r\n if (v.length > 4) {\r\n r = v.substr(1, 2);\r\n g = v.substr(3, 2);\r\n b = v.substr(5, 2);\r\n }\r\n else {\r\n r = v.substr(1, 1);\r\n g = v.substr(2, 1);\r\n b = v.substr(3, 1);\r\n r += r;\r\n g += g;\r\n b += b;\r\n }\r\n return {\r\n red: parseInt(r, 16),\r\n green: parseInt(g, 16),\r\n blue: parseInt(b, 16),\r\n alpha: 1\r\n };\r\n } });\r\nvar color = {\r\n test: function (v) {\r\n return (typeof v === 'string' && singleColorRegex.test(v)) ||\r\n isRgba(v) ||\r\n isHsla(v);\r\n },\r\n parse: function (v) {\r\n if (rgba.test(v)) {\r\n return rgba.parse(v);\r\n }\r\n else if (hsla.test(v)) {\r\n return hsla.parse(v);\r\n }\r\n else if (hex.test(v)) {\r\n return hex.parse(v);\r\n }\r\n return v;\r\n },\r\n transform: function (v) {\r\n if (isRgba(v)) {\r\n return rgba.transform(v);\r\n }\r\n else if (isHsla(v)) {\r\n return hsla.transform(v);\r\n }\r\n return v;\r\n }\r\n};\n\nvar COLOR_TOKEN = '${c}';\r\nvar NUMBER_TOKEN = '${n}';\r\nvar convertNumbersToZero = function (v) {\r\n return typeof v === 'number' ? 0 : v;\r\n};\r\nvar complex = {\r\n test: function (v) {\r\n if (typeof v !== 'string' || !isNaN(v))\r\n return false;\r\n var numValues = 0;\r\n var foundNumbers = v.match(floatRegex);\r\n var foundColors = v.match(colorRegex);\r\n if (foundNumbers)\r\n numValues += foundNumbers.length;\r\n if (foundColors)\r\n numValues += foundColors.length;\r\n return numValues > 0;\r\n },\r\n parse: function (v) {\r\n var input = v;\r\n var parsed = [];\r\n var foundColors = input.match(colorRegex);\r\n if (foundColors) {\r\n input = input.replace(colorRegex, COLOR_TOKEN);\r\n parsed.push.apply(parsed, foundColors.map(color.parse));\r\n }\r\n var foundNumbers = input.match(floatRegex);\r\n if (foundNumbers) {\r\n parsed.push.apply(parsed, foundNumbers.map(number.parse));\r\n }\r\n return parsed;\r\n },\r\n createTransformer: function (prop) {\r\n var template = prop;\r\n var token = 0;\r\n var foundColors = prop.match(colorRegex);\r\n var numColors = foundColors ? foundColors.length : 0;\r\n if (foundColors) {\r\n for (var i = 0; i < numColors; i++) {\r\n template = template.replace(foundColors[i], COLOR_TOKEN);\r\n token++;\r\n }\r\n }\r\n var foundNumbers = template.match(floatRegex);\r\n var numNumbers = foundNumbers ? foundNumbers.length : 0;\r\n if (foundNumbers) {\r\n for (var i = 0; i < numNumbers; i++) {\r\n template = template.replace(foundNumbers[i], NUMBER_TOKEN);\r\n token++;\r\n }\r\n }\r\n return function (v) {\r\n var output = template;\r\n for (var i = 0; i < token; i++) {\r\n output = output.replace(i < numColors ? COLOR_TOKEN : NUMBER_TOKEN, i < numColors ? color.transform(v[i]) : sanitize(v[i]));\r\n }\r\n return output;\r\n };\r\n },\r\n getAnimatableNone: function (target) {\r\n var parsedTarget = complex.parse(target);\r\n var targetTransformer = complex.createTransformer(target);\r\n return targetTransformer(parsedTarget.map(convertNumbersToZero));\r\n }\r\n};\n\nexport { alpha, color, complex, degrees, hex, hsla, number, percent, progressPercentage, px, rgbUnit, rgba, scale, vh, vw };\n","var warning = function () { };\r\nvar invariant = function () { };\r\nif (process.env.NODE_ENV !== 'production') {\r\n warning = function (check, message) {\r\n if (!check && typeof console !== 'undefined') {\r\n console.warn(message);\r\n }\r\n };\r\n invariant = function (check, message) {\r\n if (!check) {\r\n throw new Error(message);\r\n }\r\n };\r\n}\n\nexport { invariant, warning };\n","import { invariant } from 'hey-listen';\n\nvar prevTime = 0;\nvar onNextFrame = typeof window !== 'undefined' && window.requestAnimationFrame !== undefined ? function (callback) {\n return window.requestAnimationFrame(callback);\n} : function (callback) {\n var timestamp = Date.now();\n var timeToCall = Math.max(0, 16.7 - (timestamp - prevTime));\n prevTime = timestamp + timeToCall;\n setTimeout(function () {\n return callback(prevTime);\n }, timeToCall);\n};\n\nvar createStep = function (setRunNextFrame) {\n var processToRun = [];\n var processToRunNextFrame = [];\n var numThisFrame = 0;\n var isProcessing = false;\n var i = 0;\n var cancelled = new WeakSet();\n var toKeepAlive = new WeakSet();\n var renderStep = {\n cancel: function (process) {\n var indexOfCallback = processToRunNextFrame.indexOf(process);\n cancelled.add(process);\n if (indexOfCallback !== -1) {\n processToRunNextFrame.splice(indexOfCallback, 1);\n }\n },\n process: function (frame) {\n var _a;\n isProcessing = true;\n _a = [processToRunNextFrame, processToRun], processToRun = _a[0], processToRunNextFrame = _a[1];\n processToRunNextFrame.length = 0;\n numThisFrame = processToRun.length;\n if (numThisFrame) {\n var process_1;\n for (i = 0; i < numThisFrame; i++) {\n process_1 = processToRun[i];\n process_1(frame);\n if (toKeepAlive.has(process_1) === true && !cancelled.has(process_1)) {\n renderStep.schedule(process_1);\n setRunNextFrame(true);\n }\n }\n }\n isProcessing = false;\n },\n schedule: function (process, keepAlive, immediate) {\n if (keepAlive === void 0) {\n keepAlive = false;\n }\n if (immediate === void 0) {\n immediate = false;\n }\n invariant(typeof process === \"function\", \"Argument must be a function\");\n var addToCurrentBuffer = immediate && isProcessing;\n var buffer = addToCurrentBuffer ? processToRun : processToRunNextFrame;\n cancelled.delete(process);\n if (keepAlive) toKeepAlive.add(process);\n if (buffer.indexOf(process) === -1) {\n buffer.push(process);\n if (addToCurrentBuffer) numThisFrame = processToRun.length;\n }\n }\n };\n return renderStep;\n};\n\nvar maxElapsed = 40;\nvar defaultElapsed = 1 / 60 * 1000;\nvar useDefaultElapsed = true;\nvar willRunNextFrame = false;\nvar isProcessing = false;\nvar frame = {\n delta: 0,\n timestamp: 0\n};\nvar stepsOrder = [\"read\", \"update\", \"preRender\", \"render\", \"postRender\"];\nvar setWillRunNextFrame = function (willRun) {\n return willRunNextFrame = willRun;\n};\nvar steps = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n acc[key] = createStep(setWillRunNextFrame);\n return acc;\n}, {});\nvar sync = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n var step = steps[key];\n acc[key] = function (process, keepAlive, immediate) {\n if (keepAlive === void 0) {\n keepAlive = false;\n }\n if (immediate === void 0) {\n immediate = false;\n }\n if (!willRunNextFrame) startLoop();\n step.schedule(process, keepAlive, immediate);\n return process;\n };\n return acc;\n}, {});\nvar cancelSync = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n acc[key] = steps[key].cancel;\n return acc;\n}, {});\nvar processStep = function (stepId) {\n return steps[stepId].process(frame);\n};\nvar processFrame = function (timestamp) {\n willRunNextFrame = false;\n frame.delta = useDefaultElapsed ? defaultElapsed : Math.max(Math.min(timestamp - frame.timestamp, maxElapsed), 1);\n if (!useDefaultElapsed) defaultElapsed = frame.delta;\n frame.timestamp = timestamp;\n isProcessing = true;\n stepsOrder.forEach(processStep);\n isProcessing = false;\n if (willRunNextFrame) {\n useDefaultElapsed = false;\n onNextFrame(processFrame);\n }\n};\nvar startLoop = function () {\n willRunNextFrame = true;\n useDefaultElapsed = true;\n if (!isProcessing) onNextFrame(processFrame);\n};\nvar getFrameData = function () {\n return frame;\n};\n\nexport default sync;\nexport { cancelSync, getFrameData };\n","var DEFAULT_OVERSHOOT_STRENGTH = 1.525;\nvar reversed = function (easing) {\n return function (p) {\n return 1 - easing(1 - p);\n };\n};\nvar mirrored = function (easing) {\n return function (p) {\n return p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;\n };\n};\nvar createReversedEasing = reversed;\nvar createMirroredEasing = mirrored;\nvar createExpoIn = function (power) {\n return function (p) {\n return Math.pow(p, power);\n };\n};\nvar createBackIn = function (power) {\n return function (p) {\n return p * p * ((power + 1) * p - power);\n };\n};\nvar createAnticipateEasing = function (power) {\n var backEasing = createBackIn(power);\n return function (p) {\n return (p *= 2) < 1 ? 0.5 * backEasing(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));\n };\n};\nvar linear = function (p) {\n return p;\n};\nvar easeIn = /*#__PURE__*/createExpoIn(2);\nvar easeOut = /*#__PURE__*/reversed(easeIn);\nvar easeInOut = /*#__PURE__*/mirrored(easeIn);\nvar circIn = function (p) {\n return 1 - Math.sin(Math.acos(p));\n};\nvar circOut = /*#__PURE__*/reversed(circIn);\nvar circInOut = /*#__PURE__*/mirrored(circOut);\nvar backIn = /*#__PURE__*/createBackIn(DEFAULT_OVERSHOOT_STRENGTH);\nvar backOut = /*#__PURE__*/reversed(backIn);\nvar backInOut = /*#__PURE__*/mirrored(backIn);\nvar anticipate = /*#__PURE__*/createAnticipateEasing(DEFAULT_OVERSHOOT_STRENGTH);\nvar BOUNCE_FIRST_THRESHOLD = 4.0 / 11.0;\nvar BOUNCE_SECOND_THRESHOLD = 8.0 / 11.0;\nvar BOUNCE_THIRD_THRESHOLD = 9.0 / 10.0;\nvar ca = 4356.0 / 361.0;\nvar cb = 35442.0 / 1805.0;\nvar cc = 16061.0 / 1805.0;\nvar bounceOut = function (p) {\n var p2 = p * p;\n return p < BOUNCE_FIRST_THRESHOLD ? 7.5625 * p2 : p < BOUNCE_SECOND_THRESHOLD ? 9.075 * p2 - 9.9 * p + 3.4 : p < BOUNCE_THIRD_THRESHOLD ? ca * p2 - cb * p + cc : 10.8 * p * p - 20.52 * p + 10.72;\n};\nvar bounceIn = function (p) {\n return 1.0 - bounceOut(1.0 - p);\n};\nvar bounceInOut = function (p) {\n return p < 0.5 ? 0.5 * (1.0 - bounceOut(1.0 - p * 2.0)) : 0.5 * bounceOut(p * 2.0 - 1.0) + 0.5;\n};\nvar NEWTON_ITERATIONS = 8;\nvar NEWTON_MIN_SLOPE = 0.001;\nvar SUBDIVISION_PRECISION = 0.0000001;\nvar SUBDIVISION_MAX_ITERATIONS = 10;\nvar K_SPLINE_TABLE_SIZE = 11;\nvar K_SAMPLE_STEP_SIZE = 1.0 / (K_SPLINE_TABLE_SIZE - 1.0);\nvar FLOAT_32_SUPPORTED = typeof Float32Array !== 'undefined';\nvar a = function (a1, a2) {\n return 1.0 - 3.0 * a2 + 3.0 * a1;\n};\nvar b = function (a1, a2) {\n return 3.0 * a2 - 6.0 * a1;\n};\nvar c = function (a1) {\n return 3.0 * a1;\n};\nvar getSlope = function (t, a1, a2) {\n return 3.0 * a(a1, a2) * t * t + 2.0 * b(a1, a2) * t + c(a1);\n};\nvar calcBezier = function (t, a1, a2) {\n return ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;\n};\nfunction cubicBezier(mX1, mY1, mX2, mY2) {\n var sampleValues = FLOAT_32_SUPPORTED ? new Float32Array(K_SPLINE_TABLE_SIZE) : new Array(K_SPLINE_TABLE_SIZE);\n var binarySubdivide = function (aX, aA, aB) {\n var i = 0;\n var currentX;\n var currentT;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n return currentT;\n };\n var newtonRaphsonIterate = function (aX, aGuessT) {\n var i = 0;\n var currentSlope = 0;\n var currentX;\n for (; i < NEWTON_ITERATIONS; ++i) {\n currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n };\n var calcSampleValues = function () {\n for (var i = 0; i < K_SPLINE_TABLE_SIZE; ++i) {\n sampleValues[i] = calcBezier(i * K_SAMPLE_STEP_SIZE, mX1, mX2);\n }\n };\n var getTForX = function (aX) {\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = K_SPLINE_TABLE_SIZE - 1;\n var dist = 0.0;\n var guessForT = 0.0;\n var initialSlope = 0.0;\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += K_SAMPLE_STEP_SIZE;\n }\n --currentSample;\n dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n guessForT = intervalStart + dist * K_SAMPLE_STEP_SIZE;\n initialSlope = getSlope(guessForT, mX1, mX2);\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + K_SAMPLE_STEP_SIZE);\n }\n };\n calcSampleValues();\n var resolver = function (aX) {\n var returnValue;\n if (mX1 === mY1 && mX2 === mY2) {\n returnValue = aX;\n } else if (aX === 0) {\n returnValue = 0;\n } else if (aX === 1) {\n returnValue = 1;\n } else {\n returnValue = calcBezier(getTForX(aX), mY1, mY2);\n }\n return returnValue;\n };\n return resolver;\n}\n\nexport { reversed, mirrored, createReversedEasing, createMirroredEasing, createExpoIn, createBackIn, createAnticipateEasing, linear, easeIn, easeOut, easeInOut, circIn, circOut, circInOut, backIn, backOut, backInOut, anticipate, bounceOut, bounceIn, bounceInOut, cubicBezier };\n","import { hsla, rgba, hex, color, complex } from 'style-value-types';\nimport { invariant } from 'hey-listen';\nimport { getFrameData } from 'framesync';\nimport { createAnticipateEasing, createBackIn, createExpoIn, cubicBezier, linear, easeIn, easeOut, easeInOut, circIn, circOut, circInOut, backIn, backOut, backInOut, anticipate, reversed, mirrored } from '@popmotion/easing';\nexport { createAnticipateEasing, createBackIn, createExpoIn, cubicBezier, linear, easeIn, easeOut, easeInOut, circIn, circOut, circInOut, backIn, backOut, backInOut, anticipate, reversed, mirrored } from '@popmotion/easing';\n\nvar zeroPoint = {\r\n x: 0,\r\n y: 0,\r\n z: 0\r\n};\r\nvar isNum = function (v) { return typeof v === 'number'; };\n\nvar radiansToDegrees = (function (radians) { return (radians * 180) / Math.PI; });\n\nvar angle = (function (a, b) {\r\n if (b === void 0) { b = zeroPoint; }\r\n return radiansToDegrees(Math.atan2(b.y - a.y, b.x - a.x));\r\n});\n\nvar applyOffset = (function (from, to) {\r\n var hasReceivedFrom = true;\r\n if (to === undefined) {\r\n to = from;\r\n hasReceivedFrom = false;\r\n }\r\n return function (v) {\r\n if (hasReceivedFrom) {\r\n return v - from + to;\r\n }\r\n else {\r\n from = v;\r\n hasReceivedFrom = true;\r\n return to;\r\n }\r\n };\r\n});\n\nvar curryRange = (function (func) { return function (min, max, v) { return (v !== undefined ? func(min, max, v) : function (cv) { return func(min, max, cv); }); }; });\n\nvar clamp = function (min, max, v) {\r\n return Math.min(Math.max(v, min), max);\r\n};\r\nvar clamp$1 = curryRange(clamp);\n\nvar conditional = (function (check, apply) { return function (v) {\r\n return check(v) ? apply(v) : v;\r\n}; });\n\nvar degreesToRadians = (function (degrees) { return (degrees * Math.PI) / 180; });\n\nvar isPoint = (function (point) {\r\n return point.hasOwnProperty('x') && point.hasOwnProperty('y');\r\n});\n\nvar isPoint3D = (function (point) {\r\n return isPoint(point) && point.hasOwnProperty('z');\r\n});\n\nvar distance1D = function (a, b) { return Math.abs(a - b); };\r\nvar distance = (function (a, b) {\r\n if (b === void 0) { b = zeroPoint; }\r\n if (isNum(a) && isNum(b)) {\r\n return distance1D(a, b);\r\n }\r\n else if (isPoint(a) && isPoint(b)) {\r\n var xDelta = distance1D(a.x, b.x);\r\n var yDelta = distance1D(a.y, b.y);\r\n var zDelta = isPoint3D(a) && isPoint3D(b) ? distance1D(a.z, b.z) : 0;\r\n return Math.sqrt(Math.pow(xDelta, 2) + Math.pow(yDelta, 2) + Math.pow(zDelta, 2));\r\n }\r\n return 0;\r\n});\n\nvar progress = (function (from, to, value) {\r\n var toFromDifference = to - from;\r\n return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;\r\n});\n\nvar mix = (function (from, to, progress) {\r\n return -progress * from + progress * to + from;\r\n});\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\n\nvar mixLinearColor = function (from, to, v) {\r\n var fromExpo = from * from;\r\n var toExpo = to * to;\r\n return Math.sqrt(Math.max(0, v * (toExpo - fromExpo) + fromExpo));\r\n};\r\nvar colorTypes = [hex, rgba, hsla];\r\nvar getColorType = function (v) {\r\n return colorTypes.find(function (type) { return type.test(v); });\r\n};\r\nvar notAnimatable = function (color$$1) {\r\n return \"'\" + color$$1 + \"' is not an animatable color. Use the equivalent color code instead.\";\r\n};\r\nvar mixColor = (function (from, to) {\r\n var fromColorType = getColorType(from);\r\n var toColorType = getColorType(to);\r\n invariant(!!fromColorType, notAnimatable(from));\r\n invariant(!!toColorType, notAnimatable(to));\r\n invariant(fromColorType.transform === toColorType.transform, 'Both colors must be hex/RGBA, OR both must be HSLA.');\r\n var fromColor = fromColorType.parse(from);\r\n var toColor = toColorType.parse(to);\r\n var blended = __assign({}, fromColor);\r\n var mixFunc = fromColorType === hsla ? mix : mixLinearColor;\r\n return function (v) {\r\n for (var key in blended) {\r\n if (key !== 'alpha') {\r\n blended[key] = mixFunc(fromColor[key], toColor[key], v);\r\n }\r\n }\r\n blended.alpha = mix(fromColor.alpha, toColor.alpha, v);\r\n return fromColorType.transform(blended);\r\n };\r\n});\n\nvar combineFunctions = function (a, b) { return function (v) { return b(a(v)); }; };\r\nvar pipe = (function () {\r\n var transformers = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n transformers[_i] = arguments[_i];\r\n }\r\n return transformers.reduce(combineFunctions);\r\n});\n\nfunction getMixer(origin, target) {\r\n if (isNum(origin)) {\r\n return function (v) { return mix(origin, target, v); };\r\n }\r\n else if (color.test(origin)) {\r\n return mixColor(origin, target);\r\n }\r\n else {\r\n return mixComplex(origin, target);\r\n }\r\n}\r\nvar mixArray = function (from, to) {\r\n var output = from.slice();\r\n var numValues = output.length;\r\n var blendValue = from.map(function (fromThis, i) { return getMixer(fromThis, to[i]); });\r\n return function (v) {\r\n for (var i = 0; i < numValues; i++) {\r\n output[i] = blendValue[i](v);\r\n }\r\n return output;\r\n };\r\n};\r\nvar mixObject = function (origin, target) {\r\n var output = __assign({}, origin, target);\r\n var blendValue = {};\r\n for (var key in output) {\r\n if (origin[key] !== undefined && target[key] !== undefined) {\r\n blendValue[key] = getMixer(origin[key], target[key]);\r\n }\r\n }\r\n return function (v) {\r\n for (var key in blendValue) {\r\n output[key] = blendValue[key](v);\r\n }\r\n return output;\r\n };\r\n};\r\nfunction analyse(value) {\r\n var parsed = complex.parse(value);\r\n var numValues = parsed.length;\r\n var numNumbers = 0;\r\n var numRGB = 0;\r\n var numHSL = 0;\r\n for (var i = 0; i < numValues; i++) {\r\n if (numNumbers || typeof parsed[i] === 'number') {\r\n numNumbers++;\r\n }\r\n else {\r\n if (parsed[i].hue !== undefined) {\r\n numHSL++;\r\n }\r\n else {\r\n numRGB++;\r\n }\r\n }\r\n }\r\n return { parsed: parsed, numNumbers: numNumbers, numRGB: numRGB, numHSL: numHSL };\r\n}\r\nvar mixComplex = function (origin, target) {\r\n var template = complex.createTransformer(target);\r\n var originStats = analyse(origin);\r\n var targetStats = analyse(target);\r\n invariant(originStats.numHSL === targetStats.numHSL &&\r\n originStats.numRGB === targetStats.numRGB &&\r\n originStats.numNumbers >= targetStats.numNumbers, \"Complex values '\" + origin + \"' and '\" + target + \"' too different to mix. Ensure all colors are of the same type.\");\r\n return pipe(mixArray(originStats.parsed, targetStats.parsed), template);\r\n};\n\nvar mixNumber = function (from, to) { return function (p) { return mix(from, to, p); }; };\r\nfunction detectMixerFactory(v) {\r\n if (typeof v === 'number') {\r\n return mixNumber;\r\n }\r\n else if (typeof v === 'string') {\r\n if (color.test(v)) {\r\n return mixColor;\r\n }\r\n else {\r\n return mixComplex;\r\n }\r\n }\r\n else if (Array.isArray(v)) {\r\n return mixArray;\r\n }\r\n else if (typeof v === 'object') {\r\n return mixObject;\r\n }\r\n}\r\nfunction createMixers(output, ease, customMixer) {\r\n var mixers = [];\r\n var mixerFactory = customMixer || detectMixerFactory(output[0]);\r\n var numMixers = output.length - 1;\r\n for (var i = 0; i < numMixers; i++) {\r\n var mixer = mixerFactory(output[i], output[i + 1]);\r\n if (ease) {\r\n var easingFunction = Array.isArray(ease) ? ease[i] : ease;\r\n mixer = pipe(easingFunction, mixer);\r\n }\r\n mixers.push(mixer);\r\n }\r\n return mixers;\r\n}\r\nfunction fastInterpolate(_a, _b) {\r\n var from = _a[0], to = _a[1];\r\n var mixer = _b[0];\r\n return function (v) { return mixer(progress(from, to, v)); };\r\n}\r\nfunction slowInterpolate(input, mixers) {\r\n var inputLength = input.length;\r\n var lastInputIndex = inputLength - 1;\r\n return function (v) {\r\n var mixerIndex = 0;\r\n var foundMixerIndex = false;\r\n if (v <= input[0]) {\r\n foundMixerIndex = true;\r\n }\r\n else if (v >= input[lastInputIndex]) {\r\n mixerIndex = lastInputIndex - 1;\r\n foundMixerIndex = true;\r\n }\r\n if (!foundMixerIndex) {\r\n var i = 1;\r\n for (; i < inputLength; i++) {\r\n if (input[i] > v || i === lastInputIndex) {\r\n break;\r\n }\r\n }\r\n mixerIndex = i - 1;\r\n }\r\n var progressInRange = progress(input[mixerIndex], input[mixerIndex + 1], v);\r\n return mixers[mixerIndex](progressInRange);\r\n };\r\n}\r\nfunction interpolate(input, output, _a) {\r\n var _b = _a === void 0 ? {} : _a, _c = _b.clamp, clamp = _c === void 0 ? true : _c, ease = _b.ease, mixer = _b.mixer;\r\n var inputLength = input.length;\r\n invariant(inputLength === output.length, 'Both input and output ranges must be the same length');\r\n invariant(!ease || !Array.isArray(ease) || ease.length === inputLength - 1, 'Array of easing functions must be of length `input.length - 1`, as it applies to the transitions **between** the defined values.');\r\n if (input[0] > input[inputLength - 1]) {\r\n input = [].concat(input);\r\n output = [].concat(output);\r\n input.reverse();\r\n output.reverse();\r\n }\r\n var mixers = createMixers(output, ease, mixer);\r\n var interpolator = inputLength === 2\r\n ? fastInterpolate(input, mixers)\r\n : slowInterpolate(input, mixers);\r\n return clamp\r\n ? pipe(clamp$1(input[0], input[inputLength - 1]), interpolator)\r\n : interpolator;\r\n}\n\nvar pointFromVector = (function (origin, angle, distance) {\r\n angle = degreesToRadians(angle);\r\n return {\r\n x: distance * Math.cos(angle) + origin.x,\r\n y: distance * Math.sin(angle) + origin.y\r\n };\r\n});\n\nvar toDecimal = (function (num, precision) {\r\n if (precision === void 0) { precision = 2; }\r\n precision = Math.pow(10, precision);\r\n return Math.round(num * precision) / precision;\r\n});\n\nvar smoothFrame = (function (prevValue, nextValue, duration, smoothing) {\r\n if (smoothing === void 0) { smoothing = 0; }\r\n return toDecimal(prevValue +\r\n (duration * (nextValue - prevValue)) / Math.max(smoothing, duration));\r\n});\n\nvar smooth = (function (strength) {\r\n if (strength === void 0) { strength = 50; }\r\n var previousValue = 0;\r\n var lastUpdated = 0;\r\n return function (v) {\r\n var currentFramestamp = getFrameData().timestamp;\r\n var timeDelta = currentFramestamp !== lastUpdated ? currentFramestamp - lastUpdated : 0;\r\n var newValue = timeDelta\r\n ? smoothFrame(previousValue, v, timeDelta, strength)\r\n : previousValue;\r\n lastUpdated = currentFramestamp;\r\n previousValue = newValue;\r\n return newValue;\r\n };\r\n});\n\nvar snap = (function (points) {\r\n if (typeof points === 'number') {\r\n return function (v) { return Math.round(v / points) * points; };\r\n }\r\n else {\r\n var i_1 = 0;\r\n var numPoints_1 = points.length;\r\n return function (v) {\r\n var lastDistance = Math.abs(points[0] - v);\r\n for (i_1 = 1; i_1 < numPoints_1; i_1++) {\r\n var point = points[i_1];\r\n var distance = Math.abs(point - v);\r\n if (distance === 0)\r\n return point;\r\n if (distance > lastDistance)\r\n return points[i_1 - 1];\r\n if (i_1 === numPoints_1 - 1)\r\n return point;\r\n lastDistance = distance;\r\n }\r\n };\r\n }\r\n});\n\nvar identity = function (v) { return v; };\r\nvar springForce = function (alterDisplacement) {\r\n if (alterDisplacement === void 0) { alterDisplacement = identity; }\r\n return curryRange(function (constant, origin, v) {\r\n var displacement = origin - v;\r\n var springModifiedDisplacement = -(0 - constant + 1) * (0 - alterDisplacement(Math.abs(displacement)));\r\n return displacement <= 0\r\n ? origin + springModifiedDisplacement\r\n : origin - springModifiedDisplacement;\r\n });\r\n};\r\nvar springForceLinear = springForce();\r\nvar springForceExpo = springForce(Math.sqrt);\n\nvar velocityPerFrame = (function (xps, frameDuration) {\r\n return isNum(xps) ? xps / (1000 / frameDuration) : 0;\r\n});\n\nvar velocityPerSecond = (function (velocity, frameDuration) {\r\n return frameDuration ? velocity * (1000 / frameDuration) : 0;\r\n});\n\nvar wrap = function (min, max, v) {\r\n var rangeSize = max - min;\r\n return ((((v - min) % rangeSize) + rangeSize) % rangeSize) + min;\r\n};\r\nvar wrap$1 = curryRange(wrap);\n\nvar clampProgress = clamp$1(0, 1);\r\nvar steps = (function (steps, direction) {\r\n if (direction === void 0) { direction = 'end'; }\r\n return function (progress) {\r\n progress =\r\n direction === 'end' ? Math.min(progress, 0.999) : Math.max(progress, 0.001);\r\n var expanded = progress * steps;\r\n var rounded = direction === 'end' ? Math.floor(expanded) : Math.ceil(expanded);\r\n return clampProgress(rounded / steps);\r\n };\r\n});\n\nexport { angle, applyOffset, clamp$1 as clamp, conditional, degreesToRadians, distance, interpolate, isPoint, isPoint3D, mix, mixArray, mixColor, mixComplex, mixObject, pipe, pointFromVector, progress, radiansToDegrees, smooth, smoothFrame, snap, springForce, springForceExpo, springForceLinear, steps, toDecimal, velocityPerFrame, velocityPerSecond, wrap$1 as wrap };\n","import { __rest, __assign } from 'tslib';\nimport sync from 'framesync';\nimport { number, color, px, degrees, scale, alpha, progressPercentage } from 'style-value-types';\nimport { invariant } from 'hey-listen';\n\nvar createStyler = function (_a) {\n var onRead = _a.onRead,\n onRender = _a.onRender,\n _b = _a.uncachedValues,\n uncachedValues = _b === void 0 ? new Set() : _b,\n _c = _a.useCache,\n useCache = _c === void 0 ? true : _c;\n return function (_a) {\n if (_a === void 0) {\n _a = {};\n }\n var props = __rest(_a, []);\n var state = {};\n var changedValues = [];\n var hasChanged = false;\n function setValue(key, value) {\n if (key.startsWith('--')) {\n props.hasCSSVariable = true;\n }\n var currentValue = state[key];\n state[key] = value;\n if (state[key] === currentValue) return;\n if (changedValues.indexOf(key) === -1) {\n changedValues.push(key);\n }\n if (!hasChanged) {\n hasChanged = true;\n sync.render(styler.render);\n }\n }\n var styler = {\n get: function (key, forceRead) {\n if (forceRead === void 0) {\n forceRead = false;\n }\n var useCached = !forceRead && useCache && !uncachedValues.has(key) && state[key] !== undefined;\n return useCached ? state[key] : onRead(key, props);\n },\n set: function (values, value) {\n if (typeof values === 'string') {\n setValue(values, value);\n } else {\n for (var key in values) {\n setValue(key, values[key]);\n }\n }\n return this;\n },\n render: function (forceRender) {\n if (forceRender === void 0) {\n forceRender = false;\n }\n if (hasChanged || forceRender === true) {\n onRender(state, props, changedValues);\n hasChanged = false;\n changedValues.length = 0;\n }\n return this;\n }\n };\n return styler;\n };\n};\n\nvar CAMEL_CASE_PATTERN = /([a-z])([A-Z])/g;\nvar REPLACE_TEMPLATE = '$1-$2';\nvar camelToDash = function (str) {\n return str.replace(CAMEL_CASE_PATTERN, REPLACE_TEMPLATE).toLowerCase();\n};\n\nvar camelCache = /*#__PURE__*/new Map();\nvar dashCache = /*#__PURE__*/new Map();\nvar prefixes = ['Webkit', 'Moz', 'O', 'ms', ''];\nvar numPrefixes = prefixes.length;\nvar isBrowser = typeof document !== 'undefined';\nvar testElement;\nvar setDashPrefix = function (key, prefixed) {\n return dashCache.set(key, camelToDash(prefixed));\n};\nvar testPrefix = function (key) {\n testElement = testElement || document.createElement('div');\n for (var i = 0; i < numPrefixes; i++) {\n var prefix = prefixes[i];\n var noPrefix = prefix === '';\n var prefixedPropertyName = noPrefix ? key : prefix + key.charAt(0).toUpperCase() + key.slice(1);\n if (prefixedPropertyName in testElement.style || noPrefix) {\n if (noPrefix && key === 'clipPath' && dashCache.has(key)) {\n return;\n }\n camelCache.set(key, prefixedPropertyName);\n setDashPrefix(key, \"\" + (noPrefix ? '' : '-') + camelToDash(prefixedPropertyName));\n }\n }\n};\nvar setServerProperty = function (key) {\n return setDashPrefix(key, key);\n};\nvar prefixer = function (key, asDashCase) {\n if (asDashCase === void 0) {\n asDashCase = false;\n }\n var cache = asDashCase ? dashCache : camelCache;\n if (!cache.has(key)) {\n isBrowser ? testPrefix(key) : setServerProperty(key);\n }\n return cache.get(key) || key;\n};\n\nvar axes = ['', 'X', 'Y', 'Z'];\nvar order = ['translate', 'scale', 'rotate', 'skew', 'transformPerspective'];\nvar transformProps = /*#__PURE__*/order.reduce(function (acc, key) {\n return axes.reduce(function (axesAcc, axesKey) {\n axesAcc.push(key + axesKey);\n return axesAcc;\n }, acc);\n}, ['x', 'y', 'z']);\nvar transformPropDictionary = /*#__PURE__*/transformProps.reduce(function (dict, key) {\n dict[key] = true;\n return dict;\n}, {});\nfunction isTransformProp(key) {\n return transformPropDictionary[key] === true;\n}\nfunction sortTransformProps(a, b) {\n return transformProps.indexOf(a) - transformProps.indexOf(b);\n}\nvar transformOriginProps = /*#__PURE__*/new Set(['originX', 'originY', 'originZ']);\nfunction isTransformOriginProp(key) {\n return transformOriginProps.has(key);\n}\n\nvar int = /*#__PURE__*/__assign( /*#__PURE__*/__assign({}, number), { transform: Math.round });\nvar valueTypes = {\n color: color,\n backgroundColor: color,\n outlineColor: color,\n fill: color,\n stroke: color,\n borderColor: color,\n borderTopColor: color,\n borderRightColor: color,\n borderBottomColor: color,\n borderLeftColor: color,\n borderWidth: px,\n borderTopWidth: px,\n borderRightWidth: px,\n borderBottomWidth: px,\n borderLeftWidth: px,\n borderRadius: px,\n radius: px,\n borderTopLeftRadius: px,\n borderTopRightRadius: px,\n borderBottomRightRadius: px,\n borderBottomLeftRadius: px,\n width: px,\n maxWidth: px,\n height: px,\n maxHeight: px,\n size: px,\n top: px,\n right: px,\n bottom: px,\n left: px,\n padding: px,\n paddingTop: px,\n paddingRight: px,\n paddingBottom: px,\n paddingLeft: px,\n margin: px,\n marginTop: px,\n marginRight: px,\n marginBottom: px,\n marginLeft: px,\n rotate: degrees,\n rotateX: degrees,\n rotateY: degrees,\n rotateZ: degrees,\n scale: scale,\n scaleX: scale,\n scaleY: scale,\n scaleZ: scale,\n skew: degrees,\n skewX: degrees,\n skewY: degrees,\n distance: px,\n translateX: px,\n translateY: px,\n translateZ: px,\n x: px,\n y: px,\n z: px,\n perspective: px,\n opacity: alpha,\n originX: progressPercentage,\n originY: progressPercentage,\n originZ: px,\n zIndex: int,\n fillOpacity: alpha,\n strokeOpacity: alpha,\n numOctaves: int\n};\nvar getValueType = function (key) {\n return valueTypes[key];\n};\nvar getValueAsType = function (value, type) {\n return type && typeof value === 'number' ? type.transform(value) : value;\n};\n\nvar SCROLL_LEFT = 'scrollLeft';\nvar SCROLL_TOP = 'scrollTop';\nvar scrollKeys = /*#__PURE__*/new Set([SCROLL_LEFT, SCROLL_TOP]);\n\nvar blacklist = /*#__PURE__*/new Set([SCROLL_LEFT, SCROLL_TOP, 'transform']);\nvar translateAlias = {\n x: 'translateX',\n y: 'translateY',\n z: 'translateZ'\n};\nfunction isCustomTemplate(v) {\n return typeof v === 'function';\n}\nfunction buildTransform(state, transform, transformKeys, transformIsDefault, enableHardwareAcceleration, allowTransformNone) {\n if (allowTransformNone === void 0) {\n allowTransformNone = true;\n }\n var transformString = '';\n var transformHasZ = false;\n transformKeys.sort(sortTransformProps);\n var numTransformKeys = transformKeys.length;\n for (var i = 0; i < numTransformKeys; i++) {\n var key = transformKeys[i];\n transformString += (translateAlias[key] || key) + \"(\" + transform[key] + \") \";\n transformHasZ = key === 'z' ? true : transformHasZ;\n }\n if (!transformHasZ && enableHardwareAcceleration) {\n transformString += 'translateZ(0)';\n } else {\n transformString = transformString.trim();\n }\n if (isCustomTemplate(state.transform)) {\n transformString = state.transform(transform, transformIsDefault ? '' : transformString);\n } else if (allowTransformNone && transformIsDefault) {\n transformString = 'none';\n }\n return transformString;\n}\nfunction buildStyleProperty(state, enableHardwareAcceleration, styles, transform, transformOrigin, transformKeys, isDashCase, allowTransformNone) {\n if (enableHardwareAcceleration === void 0) {\n enableHardwareAcceleration = true;\n }\n if (styles === void 0) {\n styles = {};\n }\n if (transform === void 0) {\n transform = {};\n }\n if (transformOrigin === void 0) {\n transformOrigin = {};\n }\n if (transformKeys === void 0) {\n transformKeys = [];\n }\n if (isDashCase === void 0) {\n isDashCase = false;\n }\n if (allowTransformNone === void 0) {\n allowTransformNone = true;\n }\n var transformIsDefault = true;\n var hasTransform = false;\n var hasTransformOrigin = false;\n for (var key in state) {\n var value = state[key];\n var valueType = getValueType(key);\n var valueAsType = getValueAsType(value, valueType);\n if (isTransformProp(key)) {\n hasTransform = true;\n transform[key] = valueAsType;\n transformKeys.push(key);\n if (transformIsDefault) {\n if (valueType.default && value !== valueType.default || !valueType.default && value !== 0) {\n transformIsDefault = false;\n }\n }\n } else if (isTransformOriginProp(key)) {\n transformOrigin[key] = valueAsType;\n hasTransformOrigin = true;\n } else if (!blacklist.has(key) || !isCustomTemplate(valueAsType)) {\n styles[prefixer(key, isDashCase)] = valueAsType;\n }\n }\n if (hasTransform || typeof state.transform === 'function') {\n styles.transform = buildTransform(state, transform, transformKeys, transformIsDefault, enableHardwareAcceleration, allowTransformNone);\n }\n if (hasTransformOrigin) {\n styles.transformOrigin = (transformOrigin.originX || '50%') + \" \" + (transformOrigin.originY || '50%') + \" \" + (transformOrigin.originZ || 0);\n }\n return styles;\n}\nfunction createStyleBuilder(_a) {\n var _b = _a === void 0 ? {} : _a,\n _c = _b.enableHardwareAcceleration,\n enableHardwareAcceleration = _c === void 0 ? true : _c,\n _d = _b.isDashCase,\n isDashCase = _d === void 0 ? true : _d,\n _e = _b.allowTransformNone,\n allowTransformNone = _e === void 0 ? true : _e;\n var styles = {};\n var transform = {};\n var transformOrigin = {};\n var transformKeys = [];\n return function (state) {\n transformKeys.length = 0;\n buildStyleProperty(state, enableHardwareAcceleration, styles, transform, transformOrigin, transformKeys, isDashCase, allowTransformNone);\n return styles;\n };\n}\n\nfunction onRead(key, options) {\n var element = options.element,\n preparseOutput = options.preparseOutput;\n var defaultValueType = getValueType(key);\n if (isTransformProp(key)) {\n return defaultValueType ? defaultValueType.default || 0 : 0;\n } else if (scrollKeys.has(key)) {\n return element[key];\n } else {\n var domValue = window.getComputedStyle(element, null).getPropertyValue(prefixer(key, true)) || 0;\n return preparseOutput && defaultValueType && defaultValueType.test(domValue) && defaultValueType.parse ? defaultValueType.parse(domValue) : domValue;\n }\n}\nfunction onRender(state, _a, changedValues) {\n var element = _a.element,\n buildStyles = _a.buildStyles,\n hasCSSVariable = _a.hasCSSVariable;\n Object.assign(element.style, buildStyles(state));\n if (hasCSSVariable) {\n var numChangedValues = changedValues.length;\n for (var i = 0; i < numChangedValues; i++) {\n var key = changedValues[i];\n if (key.startsWith('--')) {\n element.style.setProperty(key, state[key]);\n }\n }\n }\n if (changedValues.indexOf(SCROLL_LEFT) !== -1) {\n element[SCROLL_LEFT] = state[SCROLL_LEFT];\n }\n if (changedValues.indexOf(SCROLL_TOP) !== -1) {\n element[SCROLL_TOP] = state[SCROLL_TOP];\n }\n}\nvar cssStyler = /*#__PURE__*/createStyler({\n onRead: onRead,\n onRender: onRender,\n uncachedValues: scrollKeys\n});\nfunction createCssStyler(element, _a) {\n if (_a === void 0) {\n _a = {};\n }\n var enableHardwareAcceleration = _a.enableHardwareAcceleration,\n allowTransformNone = _a.allowTransformNone,\n props = __rest(_a, [\"enableHardwareAcceleration\", \"allowTransformNone\"]);\n return cssStyler(__assign({ element: element, buildStyles: createStyleBuilder({\n enableHardwareAcceleration: enableHardwareAcceleration,\n allowTransformNone: allowTransformNone\n }), preparseOutput: true }, props));\n}\n\nvar camelCaseAttributes = /*#__PURE__*/new Set(['baseFrequency', 'diffuseConstant', 'kernelMatrix', 'kernelUnitLength', 'keySplines', 'keyTimes', 'limitingConeAngle', 'markerHeight', 'markerWidth', 'numOctaves', 'targetX', 'targetY', 'surfaceScale', 'specularConstant', 'specularExponent', 'stdDeviation', 'tableValues']);\n\nvar defaultOrigin = 0.5;\nvar svgAttrsTemplate = function () {\n return {\n style: {}\n };\n};\nvar progressToPixels = function (progress, length) {\n return px.transform(progress * length);\n};\nvar unmeasured = { x: 0, y: 0, width: 0, height: 0 };\nfunction calcOrigin(origin, offset, size) {\n return typeof origin === 'string' ? origin : px.transform(offset + size * origin);\n}\nfunction calculateSVGTransformOrigin(dimensions, originX, originY) {\n return calcOrigin(originX, dimensions.x, dimensions.width) + \" \" + calcOrigin(originY, dimensions.y, dimensions.height);\n}\nvar svgStyleConfig = {\n enableHardwareAcceleration: false,\n isDashCase: false\n};\nfunction buildSVGAttrs(_a, dimensions, totalPathLength, cssBuilder, attrs, isDashCase) {\n if (dimensions === void 0) {\n dimensions = unmeasured;\n }\n if (cssBuilder === void 0) {\n cssBuilder = createStyleBuilder(svgStyleConfig);\n }\n if (attrs === void 0) {\n attrs = svgAttrsTemplate();\n }\n if (isDashCase === void 0) {\n isDashCase = true;\n }\n var attrX = _a.attrX,\n attrY = _a.attrY,\n originX = _a.originX,\n originY = _a.originY,\n pathLength = _a.pathLength,\n _b = _a.pathSpacing,\n pathSpacing = _b === void 0 ? 1 : _b,\n _c = _a.pathOffset,\n pathOffset = _c === void 0 ? 0 : _c,\n state = __rest(_a, [\"attrX\", \"attrY\", \"originX\", \"originY\", \"pathLength\", \"pathSpacing\", \"pathOffset\"]);\n var style = cssBuilder(state);\n for (var key in style) {\n if (key === 'transform') {\n attrs.style.transform = style[key];\n } else {\n var attrKey = isDashCase && !camelCaseAttributes.has(key) ? camelToDash(key) : key;\n attrs[attrKey] = style[key];\n }\n }\n if (originX !== undefined || originY !== undefined || style.transform) {\n attrs.style.transformOrigin = calculateSVGTransformOrigin(dimensions, originX !== undefined ? originX : defaultOrigin, originY !== undefined ? originY : defaultOrigin);\n }\n if (attrX !== undefined) attrs.x = attrX;\n if (attrY !== undefined) attrs.y = attrY;\n if (totalPathLength !== undefined && pathLength !== undefined) {\n attrs[isDashCase ? 'stroke-dashoffset' : 'strokeDashoffset'] = progressToPixels(-pathOffset, totalPathLength);\n attrs[isDashCase ? 'stroke-dasharray' : 'strokeDasharray'] = progressToPixels(pathLength, totalPathLength) + \" \" + progressToPixels(pathSpacing, totalPathLength);\n }\n return attrs;\n}\nfunction createAttrBuilder(dimensions, totalPathLength, isDashCase) {\n if (isDashCase === void 0) {\n isDashCase = true;\n }\n var attrs = svgAttrsTemplate();\n var cssBuilder = createStyleBuilder(svgStyleConfig);\n return function (state) {\n return buildSVGAttrs(state, dimensions, totalPathLength, cssBuilder, attrs, isDashCase);\n };\n}\n\nvar getDimensions = function (element) {\n return typeof element.getBBox === 'function' ? element.getBBox() : element.getBoundingClientRect();\n};\nvar getSVGElementDimensions = function (element) {\n try {\n return getDimensions(element);\n } catch (e) {\n return { x: 0, y: 0, width: 0, height: 0 };\n }\n};\n\nvar isPath = function (element) {\n return element.tagName === 'path';\n};\nvar svgStyler = /*#__PURE__*/createStyler({\n onRead: function (key, _a) {\n var element = _a.element;\n key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;\n if (!isTransformProp(key)) {\n return element.getAttribute(key);\n } else {\n var valueType = getValueType(key);\n return valueType ? valueType.default || 0 : 0;\n }\n },\n onRender: function (state, _a) {\n var element = _a.element,\n buildAttrs = _a.buildAttrs;\n var attrs = buildAttrs(state);\n for (var key in attrs) {\n if (key === 'style') {\n Object.assign(element.style, attrs.style);\n } else {\n element.setAttribute(key, attrs[key]);\n }\n }\n }\n});\nvar svg = function (element) {\n var dimensions = getSVGElementDimensions(element);\n var pathLength = isPath(element) && element.getTotalLength ? element.getTotalLength() : undefined;\n return svgStyler({\n element: element,\n buildAttrs: createAttrBuilder(dimensions, pathLength)\n });\n};\n\nvar viewport = /*#__PURE__*/createStyler({\n useCache: false,\n onRead: function (key) {\n return key === 'scrollTop' ? window.pageYOffset : window.pageXOffset;\n },\n onRender: function (_a) {\n var _b = _a.scrollTop,\n scrollTop = _b === void 0 ? 0 : _b,\n _c = _a.scrollLeft,\n scrollLeft = _c === void 0 ? 0 : _c;\n return window.scrollTo(scrollLeft, scrollTop);\n }\n});\n\nvar cache = /*#__PURE__*/new WeakMap();\nvar isHTMLElement = function (node) {\n return node instanceof HTMLElement || typeof node.click === 'function';\n};\nvar isSVGElement = function (node) {\n return node instanceof SVGElement || 'ownerSVGElement' in node;\n};\nvar createDOMStyler = function (node, props) {\n var styler;\n if (node === window) {\n styler = viewport(node);\n } else if (isHTMLElement(node)) {\n styler = createCssStyler(node, props);\n } else if (isSVGElement(node)) {\n styler = svg(node);\n }\n invariant(styler !== undefined, 'No valid node provided. Node must be HTMLElement, SVGElement or window.');\n cache.set(node, styler);\n return styler;\n};\nvar getStyler = function (node, props) {\n return cache.has(node) ? cache.get(node) : createDOMStyler(node, props);\n};\nfunction index(nodeOrSelector, props) {\n var node = typeof nodeOrSelector === 'string' ? document.querySelector(nodeOrSelector) : nodeOrSelector;\n return getStyler(node, props);\n}\n\nexport default index;\nexport { buildSVGAttrs, buildStyleProperty, createStyler as createStylerFactory, isTransformProp, transformProps };\n","import { __assign, __spreadArrays, __extends, __rest } from 'tslib';\nimport { pipe, angle, degreesToRadians, distance, isPoint3D, isPoint, mix, pointFromVector, progress, radiansToDegrees, smoothFrame, velocityPerFrame, velocityPerSecond, mixComplex, mixColor, clamp, applyOffset, conditional, interpolate, mixArray, smooth, snap, springForce, springForceExpo, springForceLinear, wrap } from '@popmotion/popcorn';\nimport sync, { getFrameData, cancelSync } from 'framesync';\nimport { color, complex, px, percent, degrees, vh, vw, number } from 'style-value-types';\nimport * as styleValueTypes from 'style-value-types';\nexport { styleValueTypes as valueTypes };\nimport { createReversedEasing, linear, easeOut, easeInOut } from '@popmotion/easing';\nimport * as easing from '@popmotion/easing';\nexport { easing };\nimport styler from 'stylefire';\nexport { default as styler } from 'stylefire';\nimport { warning } from 'hey-listen';\n\nvar Chainable = /*#__PURE__*/function () {\n function Chainable(props) {\n if (props === void 0) {\n props = {};\n }\n this.props = props;\n }\n Chainable.prototype.applyMiddleware = function (middleware) {\n return this.create(__assign(__assign({}, this.props), { middleware: this.props.middleware ? __spreadArrays([middleware], this.props.middleware) : [middleware] }));\n };\n Chainable.prototype.pipe = function () {\n var funcs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n funcs[_i] = arguments[_i];\n }\n var pipedUpdate = funcs.length === 1 ? funcs[0] : pipe.apply(void 0, funcs);\n return this.applyMiddleware(function (update) {\n return function (v) {\n return update(pipedUpdate(v));\n };\n });\n };\n Chainable.prototype.while = function (predicate) {\n return this.applyMiddleware(function (update, complete) {\n return function (v) {\n return predicate(v) ? update(v) : complete();\n };\n });\n };\n Chainable.prototype.filter = function (predicate) {\n return this.applyMiddleware(function (update) {\n return function (v) {\n return predicate(v) && update(v);\n };\n });\n };\n return Chainable;\n}();\n\nvar Observer = /*#__PURE__*/function () {\n function Observer(_a, observer) {\n var _this = this;\n var middleware = _a.middleware,\n onComplete = _a.onComplete;\n this.isActive = true;\n this.update = function (v) {\n if (_this.observer.update) _this.updateObserver(v);\n };\n this.complete = function () {\n if (_this.observer.complete && _this.isActive) _this.observer.complete();\n if (_this.onComplete) _this.onComplete();\n _this.isActive = false;\n };\n this.error = function (err) {\n if (_this.observer.error && _this.isActive) _this.observer.error(err);\n _this.isActive = false;\n };\n this.observer = observer;\n this.updateObserver = function (v) {\n return observer.update(v);\n };\n this.onComplete = onComplete;\n if (observer.update && middleware && middleware.length) {\n middleware.forEach(function (m) {\n return _this.updateObserver = m(_this.updateObserver, _this.complete);\n });\n }\n }\n return Observer;\n}();\nvar createObserver = function (observerCandidate, _a, onComplete) {\n var middleware = _a.middleware;\n if (typeof observerCandidate === 'function') {\n return new Observer({ middleware: middleware, onComplete: onComplete }, { update: observerCandidate });\n } else {\n return new Observer({ middleware: middleware, onComplete: onComplete }, observerCandidate);\n }\n};\n\nvar Action = /*#__PURE__*/function (_super) {\n __extends(Action, _super);\n function Action() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Action.prototype.create = function (props) {\n return new Action(props);\n };\n Action.prototype.start = function (observerCandidate) {\n if (observerCandidate === void 0) {\n observerCandidate = {};\n }\n var isComplete = false;\n var subscription = {\n stop: function () {\n return undefined;\n }\n };\n var _a = this.props,\n init = _a.init,\n observerProps = __rest(_a, [\"init\"]);\n var observer = createObserver(observerCandidate, observerProps, function () {\n isComplete = true;\n subscription.stop();\n });\n var api = init(observer);\n subscription = api ? __assign(__assign({}, subscription), api) : subscription;\n if (observerCandidate.registerParent) {\n observerCandidate.registerParent(subscription);\n }\n if (isComplete) subscription.stop();\n return subscription;\n };\n return Action;\n}(Chainable);\nvar action = function (init) {\n return new Action({ init: init });\n};\n\nvar BaseMulticast = /*#__PURE__*/function (_super) {\n __extends(BaseMulticast, _super);\n function BaseMulticast() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.subscribers = [];\n return _this;\n }\n BaseMulticast.prototype.complete = function () {\n this.subscribers.forEach(function (subscriber) {\n return subscriber.complete();\n });\n };\n BaseMulticast.prototype.error = function (err) {\n this.subscribers.forEach(function (subscriber) {\n return subscriber.error(err);\n });\n };\n BaseMulticast.prototype.update = function (v) {\n for (var i = 0; i < this.subscribers.length; i++) {\n this.subscribers[i].update(v);\n }\n };\n BaseMulticast.prototype.subscribe = function (observerCandidate) {\n var _this = this;\n var observer = createObserver(observerCandidate, this.props);\n this.subscribers.push(observer);\n var subscription = {\n unsubscribe: function () {\n var index = _this.subscribers.indexOf(observer);\n if (index !== -1) _this.subscribers.splice(index, 1);\n }\n };\n return subscription;\n };\n BaseMulticast.prototype.stop = function () {\n if (this.parent) this.parent.stop();\n };\n BaseMulticast.prototype.registerParent = function (subscription) {\n this.stop();\n this.parent = subscription;\n };\n return BaseMulticast;\n}(Chainable);\n\nvar Multicast = /*#__PURE__*/function (_super) {\n __extends(Multicast, _super);\n function Multicast() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Multicast.prototype.create = function (props) {\n return new Multicast(props);\n };\n return Multicast;\n}(BaseMulticast);\nvar multicast = function () {\n return new Multicast();\n};\n\nvar stepProgress = function (steps, progress) {\n var segment = 1 / (steps - 1);\n var subsegment = 1 / (2 * (steps - 1));\n var percentProgressOfTarget = Math.min(progress, 1);\n var subsegmentProgressOfTarget = percentProgressOfTarget / subsegment;\n var segmentProgressOfTarget = Math.floor((subsegmentProgressOfTarget + 1) / 2);\n return segmentProgressOfTarget * segment;\n};\n\nvar calc = /*#__PURE__*/Object.freeze({\n __proto__: null,\n angle: angle,\n degreesToRadians: degreesToRadians,\n distance: distance,\n isPoint3D: isPoint3D,\n isPoint: isPoint,\n dilate: mix,\n getValueFromProgress: mix,\n pointFromAngleAndDistance: pointFromVector,\n getProgressFromValue: progress,\n radiansToDegrees: radiansToDegrees,\n smooth: smoothFrame,\n speedPerFrame: velocityPerFrame,\n speedPerSecond: velocityPerSecond,\n stepProgress: stepProgress\n});\n\nvar isValueList = function (v) {\n return Array.isArray(v);\n};\nvar isSingleValue = function (v) {\n var typeOfV = typeof v;\n return typeOfV === 'string' || typeOfV === 'number';\n};\nvar ValueReaction = /*#__PURE__*/function (_super) {\n __extends(ValueReaction, _super);\n function ValueReaction(props) {\n var _this = _super.call(this, props) || this;\n _this.scheduleVelocityCheck = function () {\n return sync.postRender(_this.velocityCheck);\n };\n _this.velocityCheck = function (_a) {\n var timestamp = _a.timestamp;\n if (timestamp !== _this.lastUpdated) {\n _this.prev = _this.current;\n }\n };\n _this.prev = _this.current = props.value || 0;\n if (isSingleValue(_this.current)) {\n _this.updateCurrent = function (v) {\n return _this.current = v;\n };\n _this.getVelocityOfCurrent = function () {\n return _this.getSingleVelocity(_this.current, _this.prev);\n };\n } else if (isValueList(_this.current)) {\n _this.updateCurrent = function (v) {\n return _this.current = __spreadArrays(v);\n };\n _this.getVelocityOfCurrent = function () {\n return _this.getListVelocity();\n };\n } else {\n _this.updateCurrent = function (v) {\n _this.current = {};\n for (var key in v) {\n if (v.hasOwnProperty(key)) {\n _this.current[key] = v[key];\n }\n }\n };\n _this.getVelocityOfCurrent = function () {\n return _this.getMapVelocity();\n };\n }\n if (props.initialSubscription) _this.subscribe(props.initialSubscription);\n return _this;\n }\n ValueReaction.prototype.create = function (props) {\n return new ValueReaction(props);\n };\n ValueReaction.prototype.get = function () {\n return this.current;\n };\n ValueReaction.prototype.getVelocity = function () {\n return this.getVelocityOfCurrent();\n };\n ValueReaction.prototype.update = function (v) {\n _super.prototype.update.call(this, v);\n this.prev = this.current;\n this.updateCurrent(v);\n var _a = getFrameData(),\n delta = _a.delta,\n timestamp = _a.timestamp;\n this.timeDelta = delta;\n this.lastUpdated = timestamp;\n sync.postRender(this.scheduleVelocityCheck);\n };\n ValueReaction.prototype.subscribe = function (observerCandidate) {\n var sub = _super.prototype.subscribe.call(this, observerCandidate);\n this.subscribers[this.subscribers.length - 1].update(this.current);\n return sub;\n };\n ValueReaction.prototype.getSingleVelocity = function (current, prev) {\n return typeof current === 'number' && typeof prev === 'number' ? velocityPerSecond(current - prev, this.timeDelta) : velocityPerSecond(parseFloat(current) - parseFloat(prev), this.timeDelta) || 0;\n };\n ValueReaction.prototype.getListVelocity = function () {\n var _this = this;\n return this.current.map(function (c, i) {\n return _this.getSingleVelocity(c, _this.prev[i]);\n });\n };\n ValueReaction.prototype.getMapVelocity = function () {\n var velocity = {};\n for (var key in this.current) {\n if (this.current.hasOwnProperty(key)) {\n velocity[key] = this.getSingleVelocity(this.current[key], this.prev[key]);\n }\n }\n return velocity;\n };\n return ValueReaction;\n}(BaseMulticast);\nvar value = function (value, initialSubscription) {\n return new ValueReaction({ value: value, initialSubscription: initialSubscription });\n};\n\nvar multi = function (_a) {\n var getCount = _a.getCount,\n getFirst = _a.getFirst,\n getOutput = _a.getOutput,\n mapApi = _a.mapApi,\n setProp = _a.setProp,\n startActions = _a.startActions;\n return function (actions) {\n return action(function (_a) {\n var update = _a.update,\n complete = _a.complete,\n error = _a.error;\n var numActions = getCount(actions);\n var output = getOutput();\n var updateOutput = function () {\n return update(output);\n };\n var numCompletedActions = 0;\n var subs = startActions(actions, function (a, name) {\n var hasCompleted = false;\n return a.start({\n complete: function () {\n if (!hasCompleted) {\n hasCompleted = true;\n numCompletedActions++;\n if (numCompletedActions === numActions) sync.update(complete);\n }\n },\n error: error,\n update: function (v) {\n setProp(output, name, v);\n sync.update(updateOutput, false, true);\n }\n });\n });\n return Object.keys(getFirst(subs)).reduce(function (api, methodName) {\n api[methodName] = mapApi(subs, methodName);\n return api;\n }, {});\n });\n };\n};\n\nvar composite = /*#__PURE__*/multi({\n getOutput: function () {\n return {};\n },\n getCount: function (subs) {\n return Object.keys(subs).length;\n },\n getFirst: function (subs) {\n return subs[Object.keys(subs)[0]];\n },\n mapApi: function (subs, methodName) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return Object.keys(subs).reduce(function (output, propKey) {\n var _a;\n if (subs[propKey][methodName]) {\n args[0] && args[0][propKey] !== undefined ? output[propKey] = subs[propKey][methodName](args[0][propKey]) : output[propKey] = (_a = subs[propKey])[methodName].apply(_a, args);\n }\n return output;\n }, {});\n };\n },\n setProp: function (output, name, v) {\n return output[name] = v;\n },\n startActions: function (actions, starter) {\n return Object.keys(actions).reduce(function (subs, key) {\n subs[key] = starter(actions[key], key);\n return subs;\n }, {});\n }\n});\n\nvar parallel = /*#__PURE__*/multi({\n getOutput: function () {\n return [];\n },\n getCount: function (subs) {\n return subs.length;\n },\n getFirst: function (subs) {\n return subs[0];\n },\n mapApi: function (subs, methodName) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return subs.map(function (sub, i) {\n if (sub[methodName]) {\n return Array.isArray(args[0]) ? sub[methodName](args[0][i]) : sub[methodName].apply(sub, args);\n }\n });\n };\n },\n setProp: function (output, name, v) {\n return output[name] = v;\n },\n startActions: function (actions, starter) {\n return actions.map(function (action, i) {\n return starter(action, i);\n });\n }\n});\nvar parallel$1 = function () {\n var actions = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n actions[_i] = arguments[_i];\n }\n return parallel(actions);\n};\n\nvar createVectorTests = function (typeTests) {\n var testNames = Object.keys(typeTests);\n var isVectorProp = function (prop, key) {\n return prop !== undefined && !typeTests[key](prop);\n };\n var getVectorKeys = function (props) {\n return testNames.reduce(function (vectorKeys, key) {\n if (isVectorProp(props[key], key)) vectorKeys.push(key);\n return vectorKeys;\n }, []);\n };\n var testVectorProps = function (props) {\n return props && testNames.some(function (key) {\n return isVectorProp(props[key], key);\n });\n };\n return { getVectorKeys: getVectorKeys, testVectorProps: testVectorProps };\n};\nvar unitTypes = [px, percent, degrees, vh, vw];\nvar findUnitType = function (prop) {\n return unitTypes.find(function (type) {\n return type.test(prop);\n });\n};\nvar isUnitProp = function (prop) {\n return Boolean(findUnitType(prop));\n};\nvar createAction = function (action, props) {\n return action(props);\n};\nvar reduceArrayValue = function (i) {\n return function (props, key) {\n props[key] = props[key][i];\n return props;\n };\n};\nvar createArrayAction = function (action, props, vectorKeys) {\n var firstVectorKey = vectorKeys[0];\n var actionList = props[firstVectorKey].map(function (v, i) {\n var childActionProps = vectorKeys.reduce(reduceArrayValue(i), __assign({}, props));\n return getActionCreator(v)(action, childActionProps);\n });\n return parallel$1.apply(void 0, actionList);\n};\nvar reduceObjectValue = function (key) {\n return function (props, propKey) {\n props[propKey] = props[propKey][key];\n return props;\n };\n};\nvar createObjectAction = function (action, props, vectorKeys) {\n var firstVectorKey = vectorKeys[0];\n var actionMap = Object.keys(props[firstVectorKey]).reduce(function (map, key) {\n var childActionProps = vectorKeys.reduce(reduceObjectValue(key), __assign({}, props));\n map[key] = getActionCreator(props[firstVectorKey][key])(action, childActionProps);\n return map;\n }, {});\n return composite(actionMap);\n};\nvar createUnitAction = function (action, _a) {\n var from = _a.from,\n to = _a.to,\n props = __rest(_a, [\"from\", \"to\"]);\n var unitType = findUnitType(from) || findUnitType(to);\n var transform = unitType.transform,\n parse = unitType.parse;\n return action(__assign(__assign({}, props), { from: typeof from === 'string' ? parse(from) : from, to: typeof to === 'string' ? parse(to) : to })).pipe(transform);\n};\nvar createMixerAction = function (mixer) {\n return function (action, _a) {\n var from = _a.from,\n to = _a.to,\n props = __rest(_a, [\"from\", \"to\"]);\n return action(__assign(__assign({}, props), { from: 0, to: 1 })).pipe(mixer(from, to));\n };\n};\nvar createColorAction = /*#__PURE__*/createMixerAction(mixColor);\nvar createComplexAction = /*#__PURE__*/createMixerAction(mixComplex);\nvar createVectorAction = function (action, typeTests) {\n var _a = createVectorTests(typeTests),\n testVectorProps = _a.testVectorProps,\n getVectorKeys = _a.getVectorKeys;\n var vectorAction = function (props) {\n var isVector = testVectorProps(props);\n if (!isVector) return action(props);\n var vectorKeys = getVectorKeys(props);\n var testKey = vectorKeys[0];\n var testProp = props[testKey];\n return getActionCreator(testProp)(action, props, vectorKeys);\n };\n return vectorAction;\n};\nvar getActionCreator = function (prop) {\n if (typeof prop === 'number') {\n return createAction;\n } else if (Array.isArray(prop)) {\n return createArrayAction;\n } else if (isUnitProp(prop)) {\n return createUnitAction;\n } else if (color.test(prop)) {\n return createColorAction;\n } else if (complex.test(prop)) {\n return createComplexAction;\n } else if (typeof prop === 'object') {\n return createObjectAction;\n } else {\n return createAction;\n }\n};\n\nvar decay = function (props) {\n if (props === void 0) {\n props = {};\n }\n return action(function (_a) {\n var complete = _a.complete,\n update = _a.update;\n var _b = props.velocity,\n velocity = _b === void 0 ? 0 : _b,\n _c = props.from,\n from = _c === void 0 ? 0 : _c,\n _d = props.power,\n power = _d === void 0 ? 0.8 : _d,\n _e = props.timeConstant,\n timeConstant = _e === void 0 ? 350 : _e,\n _f = props.restDelta,\n restDelta = _f === void 0 ? 0.5 : _f,\n modifyTarget = props.modifyTarget;\n var elapsed = 0;\n var amplitude = power * velocity;\n var idealTarget = from + amplitude;\n var target = typeof modifyTarget === 'undefined' ? idealTarget : modifyTarget(idealTarget);\n if (target !== idealTarget) amplitude = target - from;\n var process = sync.update(function (_a) {\n var frameDelta = _a.delta;\n elapsed += frameDelta;\n var delta = -amplitude * Math.exp(-elapsed / timeConstant);\n var isMoving = delta > restDelta || delta < -restDelta;\n var current = isMoving ? target + delta : target;\n update(current);\n if (!isMoving) {\n cancelSync.update(process);\n complete();\n }\n }, true);\n return {\n stop: function () {\n return cancelSync.update(process);\n }\n };\n });\n};\nvar vectorDecay = /*#__PURE__*/createVectorAction(decay, {\n from: number.test,\n modifyTarget: function (func) {\n return typeof func === 'function';\n },\n velocity: number.test\n});\n\nvar spring = function (props) {\n if (props === void 0) {\n props = {};\n }\n return action(function (_a) {\n var update = _a.update,\n complete = _a.complete;\n var _b = props.velocity,\n velocity = _b === void 0 ? 0.0 : _b;\n var _c = props.from,\n from = _c === void 0 ? 0.0 : _c,\n _d = props.to,\n to = _d === void 0 ? 0.0 : _d,\n _e = props.stiffness,\n stiffness = _e === void 0 ? 100 : _e,\n _f = props.damping,\n damping = _f === void 0 ? 10 : _f,\n _g = props.mass,\n mass = _g === void 0 ? 1.0 : _g,\n _h = props.restSpeed,\n restSpeed = _h === void 0 ? 0.01 : _h,\n _j = props.restDelta,\n restDelta = _j === void 0 ? 0.01 : _j;\n var initialVelocity = velocity ? -(velocity / 1000) : 0.0;\n var t = 0;\n var delta = to - from;\n var position = from;\n var prevPosition = position;\n var process = sync.update(function (_a) {\n var timeDelta = _a.delta;\n t += timeDelta;\n var dampingRatio = damping / (2 * Math.sqrt(stiffness * mass));\n var angularFreq = Math.sqrt(stiffness / mass) / 1000;\n prevPosition = position;\n if (dampingRatio < 1) {\n var envelope = Math.exp(-dampingRatio * angularFreq * t);\n var expoDecay = angularFreq * Math.sqrt(1.0 - dampingRatio * dampingRatio);\n position = to - envelope * ((initialVelocity + dampingRatio * angularFreq * delta) / expoDecay * Math.sin(expoDecay * t) + delta * Math.cos(expoDecay * t));\n } else {\n var envelope = Math.exp(-angularFreq * t);\n position = to - envelope * (delta + (initialVelocity + angularFreq * delta) * t);\n }\n velocity = velocityPerSecond(position - prevPosition, timeDelta);\n var isBelowVelocityThreshold = Math.abs(velocity) <= restSpeed;\n var isBelowDisplacementThreshold = Math.abs(to - position) <= restDelta;\n if (isBelowVelocityThreshold && isBelowDisplacementThreshold) {\n position = to;\n update(position);\n cancelSync.update(process);\n complete();\n } else {\n update(position);\n }\n }, true);\n return {\n stop: function () {\n return cancelSync.update(process);\n }\n };\n });\n};\nvar vectorSpring = /*#__PURE__*/createVectorAction(spring, {\n from: number.test,\n to: number.test,\n stiffness: number.test,\n damping: number.test,\n mass: number.test,\n velocity: number.test\n});\n\nvar inertia = function (_a) {\n var _b = _a.from,\n from = _b === void 0 ? 0 : _b,\n _c = _a.velocity,\n velocity = _c === void 0 ? 0 : _c,\n min = _a.min,\n max = _a.max,\n _d = _a.power,\n power = _d === void 0 ? 0.8 : _d,\n _e = _a.timeConstant,\n timeConstant = _e === void 0 ? 700 : _e,\n _f = _a.bounceStiffness,\n bounceStiffness = _f === void 0 ? 500 : _f,\n _g = _a.bounceDamping,\n bounceDamping = _g === void 0 ? 10 : _g,\n _h = _a.restDelta,\n restDelta = _h === void 0 ? 1 : _h,\n modifyTarget = _a.modifyTarget;\n return action(function (_a) {\n var update = _a.update,\n complete = _a.complete;\n var prev = from;\n var current = from;\n var activeAnimation;\n var isOutOfBounds = function (v) {\n return min !== undefined && v < min || max !== undefined && v > max;\n };\n var boundaryNearest = function (v) {\n return Math.abs(min - v) < Math.abs(max - v) ? min : max;\n };\n var startAnimation = function (animation, next) {\n activeAnimation && activeAnimation.stop();\n activeAnimation = animation.start({\n update: update,\n complete: function () {\n if (next) {\n next();\n return;\n }\n complete();\n }\n });\n };\n var startSpring = function (props) {\n startAnimation(spring(__assign(__assign({}, props), { stiffness: bounceStiffness, damping: bounceDamping, restDelta: restDelta })));\n };\n if (isOutOfBounds(from)) {\n startSpring({ from: from, velocity: velocity, to: boundaryNearest(from) });\n } else {\n var to = power * velocity + from;\n if (typeof modifyTarget !== 'undefined') {\n to = modifyTarget(to);\n modifyTarget = void 0;\n velocity = (to - from) / power;\n }\n var animation = decay({\n from: from,\n velocity: velocity,\n timeConstant: timeConstant,\n power: power,\n restDelta: restDelta,\n modifyTarget: modifyTarget\n });\n var next = void 0;\n if (isOutOfBounds(to)) {\n var boundary_1 = boundaryNearest(to);\n var heading_1 = boundary_1 == min ? -1 : 1;\n animation = animation.while(function (v) {\n prev = current;\n velocity = velocityPerSecond(v - prev, getFrameData().delta);\n current = v;\n return boundary_1 - v * heading_1 > 0;\n });\n next = function () {\n return startSpring({ from: current, to: boundary_1, velocity: velocity });\n };\n }\n startAnimation(animation, next);\n }\n return {\n stop: function () {\n return activeAnimation && activeAnimation.stop();\n }\n };\n });\n};\nvar index = /*#__PURE__*/createVectorAction(inertia, {\n from: number.test,\n velocity: number.test,\n min: number.test,\n max: number.test,\n damping: number.test,\n stiffness: number.test,\n modifyTarget: function (func) {\n return typeof func === 'function';\n }\n});\n\nvar frame = function () {\n return action(function (_a) {\n var update = _a.update;\n var initialTime = 0;\n var process = sync.update(function (_a) {\n var timestamp = _a.timestamp;\n if (!initialTime) initialTime = timestamp;\n update(timestamp - initialTime);\n }, true, true);\n return {\n stop: function () {\n return cancelSync.update(process);\n }\n };\n });\n};\n\nvar scrubber = function (_a) {\n var _b = _a.from,\n from = _b === void 0 ? 0 : _b,\n _c = _a.to,\n to = _c === void 0 ? 1 : _c,\n _d = _a.ease,\n ease = _d === void 0 ? linear : _d,\n _e = _a.reverseEase,\n reverseEase = _e === void 0 ? false : _e;\n if (reverseEase) {\n ease = createReversedEasing(ease);\n }\n return action(function (_a) {\n var update = _a.update;\n return {\n seek: function (progress) {\n return update(progress);\n }\n };\n }).pipe(ease, function (v) {\n return mix(from, to, v);\n });\n};\nvar vectorScrubber = /*#__PURE__*/createVectorAction(scrubber, {\n ease: function (func) {\n return typeof func === 'function';\n },\n from: number.test,\n to: number.test\n});\n\nvar clampProgress = /*#__PURE__*/clamp(0, 1);\nvar tween = function (props) {\n if (props === void 0) {\n props = {};\n }\n return action(function (_a) {\n var update = _a.update,\n complete = _a.complete;\n var _b = props.duration,\n duration = _b === void 0 ? 300 : _b,\n _c = props.ease,\n ease = _c === void 0 ? easeOut : _c,\n _d = props.flip,\n flip = _d === void 0 ? 0 : _d,\n _e = props.loop,\n loop = _e === void 0 ? 0 : _e,\n _f = props.yoyo,\n yoyo = _f === void 0 ? 0 : _f,\n _g = props.repeatDelay,\n repeatDelay = _g === void 0 ? 0 : _g;\n var _h = props.from,\n from = _h === void 0 ? 0 : _h,\n _j = props.to,\n to = _j === void 0 ? 1 : _j,\n _k = props.elapsed,\n elapsed = _k === void 0 ? 0 : _k,\n _l = props.flipCount,\n flipCount = _l === void 0 ? 0 : _l,\n _m = props.yoyoCount,\n yoyoCount = _m === void 0 ? 0 : _m,\n _o = props.loopCount,\n loopCount = _o === void 0 ? 0 : _o;\n var playhead = vectorScrubber({ from: from, to: to, ease: ease }).start(update);\n var currentProgress = 0;\n var process;\n var isActive = false;\n var reverseAnimation = function (reverseEase) {\n var _a;\n if (reverseEase === void 0) {\n reverseEase = false;\n }\n _a = [to, from], from = _a[0], to = _a[1];\n playhead = vectorScrubber({ from: from, to: to, ease: ease, reverseEase: reverseEase }).start(update);\n };\n var isTweenComplete = function () {\n var isComplete = isActive && elapsed > duration + repeatDelay;\n if (!isComplete) return false;\n if (isComplete && !loop && !flip && !yoyo) return true;\n elapsed = duration - (elapsed - repeatDelay);\n if (loop && loopCount < loop) {\n loopCount++;\n return false;\n } else if (flip && flipCount < flip) {\n flipCount++;\n reverseAnimation();\n return false;\n } else if (yoyo && yoyoCount < yoyo) {\n yoyoCount++;\n reverseAnimation(yoyoCount % 2 !== 0);\n return false;\n }\n return true;\n };\n var updateTween = function () {\n currentProgress = clampProgress(progress(0, duration, elapsed));\n playhead.seek(currentProgress);\n };\n var startTimer = function () {\n isActive = true;\n process = sync.update(function (_a) {\n var delta = _a.delta;\n elapsed += delta;\n updateTween();\n if (isTweenComplete()) {\n cancelSync.update(process);\n complete && sync.update(complete, false, true);\n }\n }, true);\n };\n var stopTimer = function () {\n isActive = false;\n if (process) cancelSync.update(process);\n };\n startTimer();\n return {\n isActive: function () {\n return isActive;\n },\n getElapsed: function () {\n return clamp(0, duration, elapsed);\n },\n getProgress: function () {\n return currentProgress;\n },\n stop: function () {\n stopTimer();\n },\n pause: function () {\n stopTimer();\n return this;\n },\n resume: function () {\n if (!isActive) startTimer();\n return this;\n },\n seek: function (newProgress) {\n elapsed = mix(0, duration, newProgress);\n sync.update(updateTween, false, true);\n return this;\n },\n reverse: function () {\n reverseAnimation();\n return this;\n }\n };\n });\n};\n\nvar clampProgress$1 = /*#__PURE__*/clamp(0, 1);\nvar defaultEasings = function (values, easing) {\n return values.map(function () {\n return easing || easeOut;\n }).splice(0, values.length - 1);\n};\nvar defaultTimings = function (values) {\n var numValues = values.length;\n return values.map(function (value, i) {\n return i !== 0 ? i / (numValues - 1) : 0;\n });\n};\nvar interpolateScrubbers = function (input, scrubbers, update) {\n var rangeLength = input.length;\n var finalInputIndex = rangeLength - 1;\n var finalScrubberIndex = finalInputIndex - 1;\n var subs = scrubbers.map(function (scrub) {\n return scrub.start(update);\n });\n return function (v) {\n if (v <= input[0]) {\n subs[0].seek(0);\n }\n if (v >= input[finalInputIndex]) {\n subs[finalScrubberIndex].seek(1);\n }\n var i = 1;\n for (; i < rangeLength; i++) {\n if (input[i] > v || i === finalInputIndex) break;\n }\n var progressInRange = progress(input[i - 1], input[i], v);\n subs[i - 1].seek(clampProgress$1(progressInRange));\n };\n};\nvar keyframes = function (_a) {\n var easings = _a.easings,\n _b = _a.ease,\n ease = _b === void 0 ? linear : _b,\n times = _a.times,\n values = _a.values,\n tweenProps = __rest(_a, [\"easings\", \"ease\", \"times\", \"values\"]);\n easings = Array.isArray(easings) ? easings : defaultEasings(values, easings);\n times = times || defaultTimings(values);\n var scrubbers = easings.map(function (easing, i) {\n return vectorScrubber({\n from: values[i],\n to: values[i + 1],\n ease: easing\n });\n });\n return tween(__assign(__assign({}, tweenProps), { ease: ease })).applyMiddleware(function (update) {\n return interpolateScrubbers(times, scrubbers, update);\n });\n};\n\nvar physics = function (props) {\n if (props === void 0) {\n props = {};\n }\n return action(function (_a) {\n var complete = _a.complete,\n update = _a.update;\n var _b = props.acceleration,\n acceleration = _b === void 0 ? 0 : _b,\n _c = props.friction,\n friction = _c === void 0 ? 0 : _c,\n _d = props.velocity,\n velocity = _d === void 0 ? 0 : _d,\n springStrength = props.springStrength,\n to = props.to;\n var _e = props.restSpeed,\n restSpeed = _e === void 0 ? 0.001 : _e,\n _f = props.from,\n from = _f === void 0 ? 0 : _f;\n var current = from;\n var process = sync.update(function (_a) {\n var delta = _a.delta;\n var elapsed = Math.max(delta, 16);\n if (acceleration) velocity += velocityPerFrame(acceleration, elapsed);\n if (friction) velocity *= Math.pow(1 - friction, elapsed / 100);\n if (springStrength !== undefined && to !== undefined) {\n var distanceToTarget = to - current;\n velocity += distanceToTarget * velocityPerFrame(springStrength, elapsed);\n }\n current += velocityPerFrame(velocity, elapsed);\n update(current);\n var isComplete = restSpeed !== false && (!velocity || Math.abs(velocity) <= restSpeed);\n if (isComplete) {\n cancelSync.update(process);\n complete();\n }\n }, true);\n return {\n set: function (v) {\n current = v;\n return this;\n },\n setAcceleration: function (v) {\n acceleration = v;\n return this;\n },\n setFriction: function (v) {\n friction = v;\n return this;\n },\n setSpringStrength: function (v) {\n springStrength = v;\n return this;\n },\n setSpringTarget: function (v) {\n to = v;\n return this;\n },\n setVelocity: function (v) {\n velocity = v;\n return this;\n },\n stop: function () {\n return cancelSync.update(process);\n }\n };\n });\n};\nvar vectorPhysics = /*#__PURE__*/createVectorAction(physics, {\n acceleration: number.test,\n friction: number.test,\n velocity: number.test,\n from: number.test,\n to: number.test,\n springStrength: number.test\n});\n\nvar DEFAULT_DURATION = 300;\nvar flattenTimings = function (instructions) {\n var flatInstructions = [];\n var lastArg = instructions[instructions.length - 1];\n var isStaggered = typeof lastArg === 'number';\n var staggerDelay = isStaggered ? lastArg : 0;\n var segments = isStaggered ? instructions.slice(0, -1) : instructions;\n var numSegments = segments.length;\n var offset = 0;\n segments.forEach(function (item, i) {\n flatInstructions.push(item);\n if (i !== numSegments - 1) {\n var duration = item.duration || DEFAULT_DURATION;\n offset = staggerDelay;\n flatInstructions.push(\"\" + (offset - duration));\n }\n });\n return flatInstructions;\n};\nvar flattenArrayInstructions = function (instructions, instruction) {\n Array.isArray(instruction) ? instructions.push.apply(instructions, flattenTimings(instruction)) : instructions.push(instruction);\n return instructions;\n};\nvar convertDefToProps = function (props, def, i) {\n var duration = props.duration,\n easings = props.easings,\n times = props.times,\n values = props.values;\n var numValues = values.length;\n var prevTimeTo = times[numValues - 1];\n var timeFrom = def.at === 0 ? 0 : def.at / duration;\n var timeTo = (def.at + def.duration) / duration;\n if (i === 0) {\n values.push(def.from);\n times.push(timeFrom);\n } else {\n if (prevTimeTo !== timeFrom) {\n if (def.from !== undefined) {\n values.push(values[numValues - 1]);\n times.push(timeFrom);\n easings.push(linear);\n }\n var from = def.from !== undefined ? def.from : values[numValues - 1];\n values.push(from);\n times.push(timeFrom);\n easings.push(linear);\n } else if (def.from !== undefined) {\n values.push(def.from);\n times.push(timeFrom);\n easings.push(linear);\n }\n }\n values.push(def.to);\n times.push(timeTo);\n easings.push(def.ease || easeInOut);\n return props;\n};\nvar timeline = function (instructions, _a) {\n var _b = _a === void 0 ? {} : _a,\n duration = _b.duration,\n elapsed = _b.elapsed,\n ease = _b.ease,\n loop = _b.loop,\n flip = _b.flip,\n yoyo = _b.yoyo;\n var playhead = 0;\n var calculatedDuration = 0;\n var flatInstructions = instructions.reduce(flattenArrayInstructions, []);\n var animationDefs = [];\n flatInstructions.forEach(function (instruction) {\n if (typeof instruction === 'string') {\n playhead += parseFloat(instruction);\n } else if (typeof instruction === 'number') {\n playhead = instruction;\n } else {\n var def = __assign(__assign({}, instruction), { at: playhead });\n def.duration = def.duration === undefined ? DEFAULT_DURATION : def.duration;\n animationDefs.push(def);\n playhead += def.duration;\n calculatedDuration = Math.max(calculatedDuration, def.at + def.duration);\n }\n });\n var tracks = {};\n var numDefs = animationDefs.length;\n for (var i = 0; i < numDefs; i++) {\n var def = animationDefs[i];\n var track = def.track;\n if (track === undefined) {\n throw new Error('No track defined');\n }\n if (!tracks.hasOwnProperty(track)) tracks[track] = [];\n tracks[track].push(def);\n }\n var trackKeyframes = {};\n for (var key in tracks) {\n if (tracks.hasOwnProperty(key)) {\n var keyframeProps = tracks[key].reduce(convertDefToProps, {\n duration: calculatedDuration,\n easings: [],\n times: [],\n values: []\n });\n trackKeyframes[key] = keyframes(__assign(__assign({}, keyframeProps), { duration: duration || calculatedDuration, ease: ease,\n elapsed: elapsed,\n loop: loop,\n yoyo: yoyo,\n flip: flip }));\n }\n }\n return composite(trackKeyframes);\n};\n\nvar listen = function (element, events, options) {\n return action(function (_a) {\n var update = _a.update;\n var eventNames = events.split(' ').map(function (eventName) {\n element.addEventListener(eventName, update, options);\n return eventName;\n });\n return {\n stop: function () {\n return eventNames.forEach(function (eventName) {\n return element.removeEventListener(eventName, update, options);\n });\n }\n };\n });\n};\n\nvar defaultPointerPos = function () {\n return {\n clientX: 0,\n clientY: 0,\n pageX: 0,\n pageY: 0,\n x: 0,\n y: 0\n };\n};\nvar eventToPoint = function (e, point) {\n if (point === void 0) {\n point = defaultPointerPos();\n }\n point.clientX = point.x = e.clientX;\n point.clientY = point.y = e.clientY;\n point.pageX = e.pageX;\n point.pageY = e.pageY;\n return point;\n};\n\nvar points = [/*#__PURE__*/defaultPointerPos()];\nvar isTouchDevice = false;\nif (typeof document !== 'undefined') {\n var updatePointsLocation = function (_a) {\n var touches = _a.touches;\n isTouchDevice = true;\n var numTouches = touches.length;\n points.length = 0;\n for (var i = 0; i < numTouches; i++) {\n var thisTouch = touches[i];\n points.push(eventToPoint(thisTouch));\n }\n };\n listen(document, 'touchstart touchmove', {\n passive: true,\n capture: true\n }).start(updatePointsLocation);\n}\nvar multitouch = function (_a) {\n var _b = _a === void 0 ? {} : _a,\n _c = _b.preventDefault,\n preventDefault = _c === void 0 ? true : _c,\n _d = _b.scale,\n scale = _d === void 0 ? 1.0 : _d,\n _e = _b.rotate,\n rotate = _e === void 0 ? 0.0 : _e;\n return action(function (_a) {\n var update = _a.update;\n var output = {\n touches: points,\n scale: scale,\n rotate: rotate\n };\n var initialDistance = 0.0;\n var initialRotation = 0.0;\n var isGesture = points.length > 1;\n if (isGesture) {\n var firstTouch = points[0],\n secondTouch = points[1];\n initialDistance = distance(firstTouch, secondTouch);\n initialRotation = angle(firstTouch, secondTouch);\n }\n var updatePoint = function () {\n if (isGesture) {\n var firstTouch = points[0],\n secondTouch = points[1];\n var newDistance = distance(firstTouch, secondTouch);\n var newRotation = angle(firstTouch, secondTouch);\n output.scale = scale * (newDistance / initialDistance);\n output.rotate = rotate + (newRotation - initialRotation);\n }\n update(output);\n };\n var onMove = function (e) {\n if (preventDefault || e.touches.length > 1) e.preventDefault();\n sync.update(updatePoint);\n };\n var updateOnMove = listen(document, 'touchmove', {\n passive: !preventDefault\n }).start(onMove);\n if (isTouchDevice) sync.update(updatePoint);\n return {\n stop: function () {\n cancelSync.update(updatePoint);\n updateOnMove.stop();\n }\n };\n });\n};\nvar getIsTouchDevice = function () {\n return isTouchDevice;\n};\n\nvar point = /*#__PURE__*/defaultPointerPos();\nvar isMouseDevice = false;\nif (typeof document !== 'undefined') {\n var updatePointLocation = function (e) {\n isMouseDevice = true;\n eventToPoint(e, point);\n };\n listen(document, 'mousedown mousemove', true).start(updatePointLocation);\n}\nvar mouse = function (_a) {\n var _b = (_a === void 0 ? {} : _a).preventDefault,\n preventDefault = _b === void 0 ? true : _b;\n return action(function (_a) {\n var update = _a.update;\n var updatePoint = function () {\n return update(point);\n };\n var onMove = function (e) {\n if (preventDefault) e.preventDefault();\n sync.update(updatePoint);\n };\n var updateOnMove = listen(document, 'mousemove').start(onMove);\n if (isMouseDevice) sync.update(updatePoint);\n return {\n stop: function () {\n cancelSync.update(updatePoint);\n updateOnMove.stop();\n }\n };\n });\n};\n\nvar getFirstTouch = function (_a) {\n var firstTouch = _a[0];\n return firstTouch;\n};\nvar pointer = function (props) {\n if (props === void 0) {\n props = {};\n }\n return getIsTouchDevice() ? multitouch(props).pipe(function (_a) {\n var touches = _a.touches;\n return touches;\n }, getFirstTouch) : mouse(props);\n};\nvar index$1 = function (_a) {\n if (_a === void 0) {\n _a = {};\n }\n var x = _a.x,\n y = _a.y,\n props = __rest(_a, [\"x\", \"y\"]);\n if (x !== undefined || y !== undefined) {\n var applyXOffset_1 = applyOffset(x || 0);\n var applyYOffset_1 = applyOffset(y || 0);\n var delta_1 = { x: 0, y: 0 };\n return pointer(props).pipe(function (point) {\n delta_1.x = applyXOffset_1(point.x);\n delta_1.y = applyYOffset_1(point.y);\n return delta_1;\n });\n } else {\n return pointer(props);\n }\n};\n\nvar chain = function () {\n var actions = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n actions[_i] = arguments[_i];\n }\n return action(function (_a) {\n var update = _a.update,\n complete = _a.complete;\n var i = 0;\n var current;\n var playCurrent = function () {\n current = actions[i].start({\n complete: function () {\n i++;\n i >= actions.length ? complete() : playCurrent();\n },\n update: update\n });\n };\n playCurrent();\n return {\n stop: function () {\n return current && current.stop();\n }\n };\n });\n};\n\nvar crossfade = function (a, b) {\n return action(function (observer) {\n var balance = 0;\n var fadable = parallel$1(a, b).start(__assign(__assign({}, observer), { update: function (_a) {\n var va = _a[0],\n vb = _a[1];\n observer.update(mix(va, vb, balance));\n } }));\n return {\n setBalance: function (v) {\n return balance = v;\n },\n stop: function () {\n return fadable.stop();\n }\n };\n });\n};\n\nvar delay = function (timeToDelay) {\n return action(function (_a) {\n var complete = _a.complete;\n var timeout = setTimeout(complete, timeToDelay);\n return {\n stop: function () {\n return clearTimeout(timeout);\n }\n };\n });\n};\n\nvar merge = function () {\n var actions = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n actions[_i] = arguments[_i];\n }\n return action(function (observer) {\n var subs = actions.map(function (thisAction) {\n return thisAction.start(observer);\n });\n return {\n stop: function () {\n return subs.forEach(function (sub) {\n return sub.stop();\n });\n }\n };\n });\n};\n\nvar schedule = function (scheduler, schedulee) {\n return action(function (_a) {\n var update = _a.update,\n complete = _a.complete;\n var latest;\n var schedulerSub = scheduler.start({\n update: function () {\n return latest !== undefined && update(latest);\n },\n complete: complete\n });\n var scheduleeSub = schedulee.start({\n update: function (v) {\n return latest = v;\n },\n complete: complete\n });\n return {\n stop: function () {\n schedulerSub.stop();\n scheduleeSub.stop();\n }\n };\n });\n};\n\nvar stagger = function (actions, interval) {\n var intervalIsNumber = typeof interval === 'number';\n var actionsWithDelay = actions.map(function (a, i) {\n var timeToDelay = intervalIsNumber ? interval * i : interval(i);\n return chain(delay(timeToDelay), a);\n });\n return parallel$1.apply(void 0, actionsWithDelay);\n};\n\nvar appendUnit = function (unit) {\n return function (v) {\n return \"\" + v + unit;\n };\n};\nvar steps = function (st, min, max) {\n if (min === void 0) {\n min = 0;\n }\n if (max === void 0) {\n max = 1;\n }\n return function (v) {\n var current = progress(min, max, v);\n return mix(min, max, stepProgress(st, current));\n };\n};\nvar transformMap = function (childTransformers) {\n return function (v) {\n var output = __assign({}, v);\n for (var key in childTransformers) {\n if (childTransformers.hasOwnProperty(key)) {\n var childTransformer = childTransformers[key];\n output[key] = childTransformer(v[key]);\n }\n }\n return output;\n };\n};\n\nvar transformers = /*#__PURE__*/Object.freeze({\n __proto__: null,\n applyOffset: applyOffset,\n clamp: clamp,\n conditional: conditional,\n interpolate: interpolate,\n blendArray: mixArray,\n blendColor: mixColor,\n pipe: pipe,\n smooth: smooth,\n snap: snap,\n generateStaticSpring: springForce,\n nonlinearSpring: springForceExpo,\n linearSpring: springForceLinear,\n wrap: wrap,\n appendUnit: appendUnit,\n steps: steps,\n transformMap: transformMap\n});\n\nvar css = function (element, props) {\n warning(false, 'css() is deprecated, use styler instead');\n return styler(element, props);\n};\nvar svg = function (element, props) {\n warning(false, 'svg() is deprecated, use styler instead');\n return styler(element, props);\n};\n\nexport { Action, ValueReaction, action, calc, chain, composite, crossfade, css, vectorDecay as decay, delay, frame as everyFrame, index as inertia, keyframes, listen, merge, mouse, multicast, multitouch, parallel$1 as parallel, vectorPhysics as physics, index$1 as pointer, schedule, vectorSpring as spring, stagger, svg, timeline, transformers as transform, tween, value };\n","import { spring, tween, action, pointer, transform, decay, keyframes, physics, value, chain, delay, listen, styler } from 'popmotion';\nimport { linear, easeIn, easeOut, easeInOut, circIn, circOut, circInOut, backIn, backOut, backInOut, anticipate, cubicBezier } from '@popmotion/easing';\nimport { percent, number, degrees, px, vw, vh } from 'style-value-types';\nimport poseFactory from 'pose-core';\nimport { invariant } from 'hey-listen';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\n\nvar __assign = function () {\n __assign = Object.assign || function __assign(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};\n\nfunction __rest(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++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nvar BoundingBoxDimension;\n(function (BoundingBoxDimension) {\n BoundingBoxDimension[\"width\"] = \"width\";\n BoundingBoxDimension[\"height\"] = \"height\";\n BoundingBoxDimension[\"left\"] = \"left\";\n BoundingBoxDimension[\"right\"] = \"right\";\n BoundingBoxDimension[\"top\"] = \"top\";\n BoundingBoxDimension[\"bottom\"] = \"bottom\";\n})(BoundingBoxDimension || (BoundingBoxDimension = {}));\n\nvar measureWithoutTransform = function (element) {\n var transform$$1 = element.style.transform;\n element.style.transform = '';\n var bbox = element.getBoundingClientRect();\n element.style.transform = transform$$1;\n return bbox;\n};\nvar resolveProp = function (target, props) {\n return typeof target === 'function' ? target(props) : target;\n};\n\nvar interpolate = transform.interpolate;\nvar singleAxisPointer = function (axis) {\n return function (from) {\n var _a;\n return pointer((_a = {}, _a[axis] = typeof from === 'string' ? parseFloat(from) : from, _a)).pipe(function (v) {\n return v[axis];\n });\n };\n};\nvar pointerX = /*#__PURE__*/singleAxisPointer('x');\nvar pointerY = /*#__PURE__*/singleAxisPointer('y');\nvar createPointer = function (axisPointerCreator, min, max, measurement) {\n return function (transitionProps) {\n var from = transitionProps.from,\n type = transitionProps.type,\n dimensions = transitionProps.dimensions,\n dragBounds = transitionProps.dragBounds;\n var axisPointer = axisPointerCreator(dimensions.measurementAsPixels(measurement, from, type));\n var transformQueue = [];\n if (dragBounds) {\n var resolvedDragBounds_1 = resolveProp(dragBounds, transitionProps);\n if (resolvedDragBounds_1[min] !== undefined) {\n transformQueue.push(function (v) {\n return Math.max(v, dimensions.measurementAsPixels(measurement, resolvedDragBounds_1[min], type));\n });\n }\n if (resolvedDragBounds_1[max] !== undefined) {\n transformQueue.push(function (v) {\n return Math.min(v, dimensions.measurementAsPixels(measurement, resolvedDragBounds_1[max], type));\n });\n }\n }\n if (type === percent) {\n transformQueue.push(interpolate([0, dimensions.get(measurement)], [0, 100], { clamp: false }), function (v) {\n return v + '%';\n });\n }\n return transformQueue.length ? axisPointer.pipe.apply(axisPointer, transformQueue) : axisPointer;\n };\n};\nvar just = function (from) {\n return action(function (_a) {\n var update = _a.update,\n complete = _a.complete;\n update(from);\n complete();\n });\n};\nvar underDampedSpring = function (_a) {\n var from = _a.from,\n velocity = _a.velocity,\n to = _a.to;\n return spring({\n from: from,\n to: to,\n velocity: velocity,\n stiffness: 500,\n damping: 25,\n restDelta: 0.5,\n restSpeed: 10\n });\n};\nvar overDampedSpring = function (_a) {\n var from = _a.from,\n velocity = _a.velocity,\n to = _a.to;\n return spring({ from: from, to: to, velocity: velocity, stiffness: 700, damping: to === 0 ? 100 : 35 });\n};\nvar linearTween = function (_a) {\n var from = _a.from,\n to = _a.to;\n return tween({ from: from, to: to, ease: linear });\n};\nvar intelligentTransition = {\n x: underDampedSpring,\n y: underDampedSpring,\n z: underDampedSpring,\n rotate: underDampedSpring,\n rotateX: underDampedSpring,\n rotateY: underDampedSpring,\n rotateZ: underDampedSpring,\n scaleX: overDampedSpring,\n scaleY: overDampedSpring,\n scale: overDampedSpring,\n opacity: linearTween,\n default: tween\n};\nvar dragAction = /*#__PURE__*/__assign( /*#__PURE__*/__assign({}, intelligentTransition), { x: /*#__PURE__*/createPointer(pointerX, 'left', 'right', BoundingBoxDimension.width), y: /*#__PURE__*/createPointer(pointerY, 'top', 'bottom', BoundingBoxDimension.height) });\nvar justAxis = function (_a) {\n var from = _a.from;\n return just(from);\n};\nvar intelligentDragEnd = /*#__PURE__*/__assign( /*#__PURE__*/__assign({}, intelligentTransition), { x: justAxis, y: justAxis });\nvar defaultTransitions = /*#__PURE__*/new Map([['default', intelligentTransition], ['drag', dragAction], ['dragEnd', intelligentDragEnd]]);\n\nvar animationLookup = {\n tween: tween,\n spring: spring,\n decay: decay,\n keyframes: keyframes,\n physics: physics\n};\nvar easingLookup = {\n linear: linear,\n easeIn: easeIn,\n easeOut: easeOut,\n easeInOut: easeInOut,\n circIn: circIn,\n circOut: circOut,\n circInOut: circInOut,\n backIn: backIn,\n backOut: backOut,\n backInOut: backInOut,\n anticipate: anticipate\n};\n\nvar auto = {\n test: function (v) {\n return v === 'auto';\n },\n parse: function (v) {\n return v;\n }\n};\nvar valueTypeTests = [number, degrees, percent, px, vw, vh, auto];\nvar testValueType = function (v) {\n return function (type) {\n return type.test(v);\n };\n};\nvar getValueType = function (v) {\n return valueTypeTests.find(testValueType(v));\n};\n\nvar createPassiveValue = function (init, parent, transform$$1) {\n var raw = value(transform$$1(init));\n parent.raw.subscribe(function (v) {\n return raw.update(transform$$1(v));\n });\n return { raw: raw };\n};\nvar createValue = function (init) {\n var type = getValueType(init);\n var raw = value(init);\n return { raw: raw, type: type };\n};\nvar addActionDelay = function (delay$$1, transition) {\n if (delay$$1 === void 0) {\n delay$$1 = 0;\n }\n return chain(delay(delay$$1), transition);\n};\nvar isCubicBezierArgs = function (args) {\n return typeof args[0] === 'number';\n};\nvar getAction = function (v, _a, _b) {\n var from = _b.from,\n to = _b.to,\n velocity = _b.velocity;\n var _c = _a.type,\n type = _c === void 0 ? 'tween' : _c,\n definedEase = _a.ease,\n def = __rest(_a, [\"type\", \"ease\"]);\n invariant(animationLookup[type] !== undefined, \"Invalid transition type '\" + type + \"'. Valid transition types are: tween, spring, decay, physics and keyframes.\");\n var ease;\n if (type === 'tween') {\n if (typeof definedEase !== 'function') {\n if (typeof definedEase === 'string') {\n invariant(easingLookup[definedEase] !== undefined, \"Invalid easing type '\" + definedEase + \"'. popmotion.io/pose/api/config\");\n ease = easingLookup[definedEase];\n } else if (Array.isArray(definedEase) && isCubicBezierArgs(definedEase)) {\n invariant(definedEase.length === 4, \"Cubic bezier arrays must contain four numerical values.\");\n var x1 = definedEase[0],\n y1 = definedEase[1],\n x2 = definedEase[2],\n y2 = definedEase[3];\n ease = cubicBezier(x1, y1, x2, y2);\n }\n }\n }\n ease = ease || definedEase;\n var baseProps = type !== 'keyframes' ? {\n from: from,\n to: to,\n velocity: velocity,\n ease: ease\n } : { ease: ease };\n return animationLookup[type](__assign(__assign({}, baseProps), def));\n};\nvar isAction = function (action$$1) {\n return typeof action$$1.start !== 'undefined';\n};\nvar pose = function (_a) {\n var transformPose = _a.transformPose,\n addListenerToValue = _a.addListenerToValue,\n extendAPI = _a.extendAPI,\n readValueFromSource = _a.readValueFromSource,\n posePriority = _a.posePriority,\n setValueNative = _a.setValueNative;\n return poseFactory({\n bindOnChange: function (values, onChange) {\n return function (key) {\n if (!values.has(key)) return;\n var raw = values.get(key).raw;\n raw.subscribe(onChange[key]);\n };\n },\n readValue: function (_a) {\n var raw = _a.raw;\n return raw.get();\n },\n setValue: function (_a, to) {\n var raw = _a.raw;\n return raw.update(to);\n },\n createValue: function (init, key, _a, _b) {\n var elementStyler = _a.elementStyler;\n var _c = _b === void 0 ? {} : _b,\n passiveParent = _c.passiveParent,\n passiveProps = _c.passiveProps;\n var val = passiveParent ? createPassiveValue(init, passiveParent, passiveProps) : createValue(init);\n val.raw.subscribe(addListenerToValue(key, elementStyler));\n return val;\n },\n convertValue: function (raw, key, _a) {\n var elementStyler = _a.elementStyler;\n raw.subscribe(addListenerToValue(key, elementStyler));\n return {\n raw: raw,\n type: getValueType(raw.get())\n };\n },\n getTransitionProps: function (_a, to) {\n var raw = _a.raw,\n type = _a.type;\n return {\n from: raw.get(),\n velocity: raw.getVelocity(),\n to: to,\n type: type\n };\n },\n resolveTarget: function (_, to) {\n return to;\n },\n selectValueToRead: function (_a) {\n var raw = _a.raw;\n return raw;\n },\n startAction: function (_a, action$$1, complete) {\n var raw = _a.raw;\n var reaction = {\n update: function (v) {\n return raw.update(v);\n },\n complete: complete\n };\n return action$$1.start(reaction);\n },\n stopAction: function (action$$1) {\n return action$$1.stop();\n },\n getInstantTransition: function (_, _a) {\n var to = _a.to;\n return just(to);\n },\n convertTransitionDefinition: function (val, def, props) {\n if (isAction(def)) return def;\n var delay$$1 = def.delay,\n min = def.min,\n max = def.max,\n round = def.round,\n remainingDef = __rest(def, [\"delay\", \"min\", \"max\", \"round\"]);\n var action$$1 = getAction(val, remainingDef, props);\n var outputPipe = [];\n if (delay$$1) action$$1 = addActionDelay(delay$$1, action$$1);\n if (min !== undefined) outputPipe.push(function (v) {\n return Math.max(v, min);\n });\n if (max !== undefined) outputPipe.push(function (v) {\n return Math.min(v, max);\n });\n if (round) outputPipe.push(Math.round);\n return outputPipe.length ? action$$1.pipe.apply(action$$1, outputPipe) : action$$1;\n },\n setValueNative: setValueNative,\n addActionDelay: addActionDelay,\n defaultTransitions: defaultTransitions,\n transformPose: transformPose,\n readValueFromSource: readValueFromSource,\n posePriority: posePriority,\n extendAPI: extendAPI\n });\n};\n\nvar createDimensions = function (element) {\n var hasMeasured = false;\n var current = {\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n bottom: 0,\n right: 0\n };\n return {\n get: function (measurement) {\n return measurement ? current[measurement] : current;\n },\n measure: function () {\n current = element.getBoundingClientRect();\n hasMeasured = true;\n return current;\n },\n measurementAsPixels: function (measurement, value$$1, type) {\n return type === percent ? (typeof value$$1 === 'string' ? parseFloat(value$$1) : value$$1) / 100 * current[measurement] : value$$1;\n },\n has: function () {\n return hasMeasured;\n }\n };\n};\n\nvar makeUIEventApplicator = function (_a) {\n var startEvents = _a.startEvents,\n endEvents = _a.endEvents,\n startPose = _a.startPose,\n endPose = _a.endPose,\n startCallback = _a.startCallback,\n endCallback = _a.endCallback,\n useDocumentToEnd = _a.useDocumentToEnd,\n preventScroll = _a.preventScroll;\n return function (element, activeActions, poser, config) {\n var startListener = startPose + 'Start';\n var endListener = startPose + 'End';\n var moveListener = startPose + 'Move';\n if (preventScroll) {\n var touchMoveListener = listen(element, 'touchmove', {\n passive: false\n }).start(function (e) {\n e.preventDefault();\n });\n activeActions.set(moveListener, touchMoveListener);\n }\n var eventStartListener = listen(element, startEvents).start(function (startEvent) {\n poser.unset(endPose);\n poser.set(startPose);\n if (startCallback && config[startCallback]) config[startCallback](startEvent);\n var eventEndListener = listen(useDocumentToEnd ? document.documentElement : element, endEvents + (useDocumentToEnd ? ' mouseenter' : '')).start(function (endEvent) {\n if (useDocumentToEnd && endEvent.type === 'mouseenter' && endEvent.buttons === 1) {\n return;\n }\n activeActions.get(endListener).stop();\n poser.unset(startPose);\n poser.set(endPose);\n if (endCallback && config[endCallback]) config[endCallback](endEvent);\n });\n activeActions.set(endListener, eventEndListener);\n });\n activeActions.set(startListener, eventStartListener);\n };\n};\nvar events = {\n draggable: /*#__PURE__*/makeUIEventApplicator({\n startEvents: 'mousedown touchstart',\n endEvents: 'mouseup touchend',\n startPose: 'drag',\n endPose: 'dragEnd',\n startCallback: 'onDragStart',\n endCallback: 'onDragEnd',\n useDocumentToEnd: true,\n preventScroll: true\n }),\n hoverable: /*#__PURE__*/makeUIEventApplicator({\n startEvents: 'mouseenter',\n endEvents: 'mouseleave',\n startPose: 'hover',\n endPose: 'hoverEnd'\n }),\n focusable: /*#__PURE__*/makeUIEventApplicator({\n startEvents: 'focus',\n endEvents: 'blur',\n startPose: 'focus',\n endPose: 'blur'\n }),\n pressable: /*#__PURE__*/makeUIEventApplicator({\n startEvents: 'mousedown touchstart',\n endEvents: 'mouseup touchend',\n startPose: 'press',\n endPose: 'pressEnd',\n startCallback: 'onPressStart',\n endCallback: 'onPressEnd',\n useDocumentToEnd: true\n })\n};\nvar eventKeys = /*#__PURE__*/Object.keys(events);\nvar appendEventListeners = function (element, activeActions, poser, _a) {\n var props = _a.props;\n return eventKeys.forEach(function (key) {\n if (props[key]) events[key](element, activeActions, poser, props);\n });\n};\n\nvar ORIGIN_START = 0;\nvar ORIGIN_CENTER = '50%';\nvar ORIGIN_END = '100%';\nvar findCenter = function (_a) {\n var top = _a.top,\n right = _a.right,\n bottom = _a.bottom,\n left = _a.left;\n return {\n x: (left + right) / 2,\n y: (top + bottom) / 2\n };\n};\nvar positionalProps = ['width', 'height', 'top', 'left', 'bottom', 'right'];\nvar positionalPropsDict = /*#__PURE__*/new Set(positionalProps);\nvar checkPositionalProp = function (key) {\n return positionalPropsDict.has(key);\n};\nvar hasPositionalProps = function (pose) {\n return Object.keys(pose).some(checkPositionalProp);\n};\nvar isFlipPose = function (flip, key, state) {\n return state.props.element instanceof HTMLElement && (flip === true || key === 'flip');\n};\nvar setValue = function (_a, key, to) {\n var values = _a.values,\n props = _a.props;\n if (values.has(key)) {\n var raw = values.get(key).raw;\n raw.update(to);\n raw.update(to);\n } else {\n values.set(key, {\n raw: value(to, function (v) {\n return props.elementStyler.set(key, v);\n })\n });\n }\n};\nvar explicitlyFlipPose = function (state, nextPose) {\n var _a = state.props,\n dimensions = _a.dimensions,\n elementStyler = _a.elementStyler;\n dimensions.measure();\n var width = nextPose.width,\n height = nextPose.height,\n top = nextPose.top,\n left = nextPose.left,\n bottom = nextPose.bottom,\n right = nextPose.right,\n position = nextPose.position,\n remainingPose = __rest(nextPose, [\"width\", \"height\", \"top\", \"left\", \"bottom\", \"right\", \"position\"]);\n var propsToSet = positionalProps.concat('position').reduce(function (acc, key) {\n if (nextPose[key] !== undefined) {\n acc[key] = resolveProp(nextPose[key], state.props);\n }\n return acc;\n }, {});\n elementStyler.set(propsToSet).render();\n return implicitlyFlipPose(state, remainingPose);\n};\nvar implicitlyFlipPose = function (state, nextPose) {\n var _a = state.props,\n dimensions = _a.dimensions,\n element = _a.element,\n elementStyler = _a.elementStyler;\n if (!dimensions.has()) return {};\n var prev = dimensions.get();\n var next = measureWithoutTransform(element);\n var originX = prev.left === next.left ? ORIGIN_START : prev.right === next.right ? ORIGIN_END : ORIGIN_CENTER;\n var originY = prev.top === next.top ? ORIGIN_START : prev.bottom === next.bottom ? ORIGIN_END : ORIGIN_CENTER;\n elementStyler.set({ originX: originX, originY: originY });\n if (prev.width !== next.width) {\n setValue(state, 'scaleX', prev.width / next.width);\n nextPose.scaleX = 1;\n }\n if (prev.height !== next.height) {\n setValue(state, 'scaleY', prev.height / next.height);\n nextPose.scaleY = 1;\n }\n var prevCenter = findCenter(prev);\n var nextCenter = findCenter(next);\n if (originX === ORIGIN_CENTER) {\n setValue(state, 'x', prevCenter.x - nextCenter.x);\n nextPose.x = 0;\n }\n if (originY === ORIGIN_CENTER) {\n setValue(state, 'y', prevCenter.y - nextCenter.y);\n nextPose.y = 0;\n }\n elementStyler.render();\n return nextPose;\n};\nvar flipPose = function (props, nextPose) {\n return hasPositionalProps(nextPose) ? explicitlyFlipPose(props, nextPose) : implicitlyFlipPose(props, nextPose);\n};\n\nvar getPosFromMatrix = function (matrix, pos) {\n return parseFloat(matrix.split(', ')[pos]);\n};\nvar getTranslateFromMatrix = function (pos2, pos3) {\n return function (element, bbox, _a) {\n var transform$$1 = _a.transform;\n if (!transform$$1 || transform$$1 === 'none') return 0;\n var matrix3d = transform$$1.match(/^matrix3d\\((.+)\\)$/);\n if (matrix3d) return getPosFromMatrix(matrix3d[1], pos3);\n return getPosFromMatrix(transform$$1.match(/^matrix\\((.+)\\)$/)[1], pos2);\n };\n};\nvar positionalValues = {\n width: function (element, _a) {\n var width = _a.width;\n return width;\n },\n height: function (element, _a) {\n var height = _a.height;\n return height;\n },\n top: function (element, bbox, _a) {\n var top = _a.top;\n return parseFloat(top);\n },\n left: function (element, bbox, _a) {\n var left = _a.left;\n return parseFloat(left);\n },\n bottom: function (element, _a, _b) {\n var height = _a.height;\n var top = _b.top;\n return parseFloat(top) + height;\n },\n right: function (element, _a, _b) {\n var width = _a.width;\n var left = _b.left;\n return parseFloat(left) + width;\n },\n x: /*#__PURE__*/getTranslateFromMatrix(4, 13),\n y: /*#__PURE__*/getTranslateFromMatrix(5, 14)\n};\nvar isPositionalKey = function (v) {\n return positionalValues[v] !== undefined;\n};\nvar isPositional = function (pose) {\n return Object.keys(pose).some(isPositionalKey);\n};\nvar convertPositionalUnits = function (state, nextPose) {\n var values = state.values,\n props = state.props;\n var element = props.element,\n elementStyler = props.elementStyler;\n var positionalPoseKeys = Object.keys(nextPose).filter(isPositionalKey);\n var changedPositionalKeys = [];\n var elementComputedStyle = getComputedStyle(element);\n var applyAtEndHasBeenCopied = false;\n positionalPoseKeys.forEach(function (key) {\n var value$$1 = values.get(key);\n var fromValueType = getValueType(value$$1.raw.get());\n var to = resolveProp(nextPose[key], props);\n var toValueType = getValueType(to);\n if (fromValueType !== toValueType) {\n changedPositionalKeys.push(key);\n if (!applyAtEndHasBeenCopied) {\n applyAtEndHasBeenCopied = true;\n nextPose.applyAtEnd = nextPose.applyAtEnd ? __assign({}, nextPose.applyAtEnd) : {};\n }\n nextPose.applyAtEnd[key] = nextPose.applyAtEnd[key] || nextPose[key];\n setValue(state, key, to);\n }\n });\n if (!changedPositionalKeys.length) return nextPose;\n var originBbox = element.getBoundingClientRect();\n var top = elementComputedStyle.top,\n left = elementComputedStyle.left,\n bottom = elementComputedStyle.bottom,\n right = elementComputedStyle.right,\n transform$$1 = elementComputedStyle.transform;\n var originComputedStyle = { top: top, left: left, bottom: bottom, right: right, transform: transform$$1 };\n elementStyler.render();\n var targetBbox = element.getBoundingClientRect();\n changedPositionalKeys.forEach(function (key) {\n setValue(state, key, positionalValues[key](element, originBbox, originComputedStyle));\n nextPose[key] = positionalValues[key](element, targetBbox, elementComputedStyle);\n });\n elementStyler.render();\n return nextPose;\n};\n\nvar getCurrent = function (prop) {\n return function (_a) {\n var elementStyler = _a.elementStyler;\n return elementStyler.get(prop);\n };\n};\nvar dragPoses = function (draggable) {\n var drag = {\n preTransition: function (_a) {\n var dimensions = _a.dimensions;\n return dimensions.measure();\n }\n };\n var dragEnd = {};\n if (draggable === true || draggable === 'x') {\n drag.x = dragEnd.x = getCurrent('x');\n }\n if (draggable === true || draggable === 'y') {\n drag.y = dragEnd.y = getCurrent('y');\n }\n return { drag: drag, dragEnd: dragEnd };\n};\nvar createPoseConfig = function (element, _a) {\n var onDragStart = _a.onDragStart,\n onDragEnd = _a.onDragEnd,\n onPressStart = _a.onPressStart,\n onPressEnd = _a.onPressEnd,\n draggable = _a.draggable,\n hoverable = _a.hoverable,\n focusable = _a.focusable,\n pressable = _a.pressable,\n dragBounds = _a.dragBounds,\n config = __rest(_a, [\"onDragStart\", \"onDragEnd\", \"onPressStart\", \"onPressEnd\", \"draggable\", \"hoverable\", \"focusable\", \"pressable\", \"dragBounds\"]);\n var poseConfig = __assign(__assign({ flip: {} }, config), { props: __assign(__assign({}, config.props), { onDragStart: onDragStart,\n onDragEnd: onDragEnd,\n onPressStart: onPressStart,\n onPressEnd: onPressEnd,\n dragBounds: dragBounds,\n draggable: draggable,\n hoverable: hoverable,\n focusable: focusable,\n pressable: pressable,\n element: element, elementStyler: styler(element, { preparseOutput: false }), dimensions: createDimensions(element) }) });\n if (draggable) {\n var _b = dragPoses(draggable),\n drag = _b.drag,\n dragEnd = _b.dragEnd;\n poseConfig.drag = __assign(__assign({}, drag), poseConfig.drag);\n poseConfig.dragEnd = __assign(__assign({}, dragEnd), poseConfig.dragEnd);\n }\n return poseConfig;\n};\nvar domPose = /*#__PURE__*/pose({\n posePriority: ['drag', 'press', 'focus', 'hover'],\n transformPose: function (_a, name, state) {\n var flip = _a.flip,\n pose$$1 = __rest(_a, [\"flip\"]);\n if (isFlipPose(flip, name, state)) {\n return flipPose(state, pose$$1);\n } else if (isPositional(pose$$1)) {\n return convertPositionalUnits(state, pose$$1);\n }\n return pose$$1;\n },\n forceRender: function (_a) {\n var elementStyler = _a.elementStyler;\n elementStyler.render();\n },\n addListenerToValue: function (key, elementStyler) {\n return function (v) {\n return elementStyler.set(key, v);\n };\n },\n readValueFromSource: function (key, _a) {\n var elementStyler = _a.elementStyler,\n dragBounds = _a.dragBounds;\n var value$$1 = elementStyler.get(key);\n if (dragBounds && (key === 'x' || key === 'y')) {\n var bound = key === 'x' ? dragBounds.left || dragBounds.right : dragBounds.top || dragBounds.bottom;\n if (bound) {\n var boundType = getValueType(bound);\n value$$1 = boundType.transform(value$$1);\n }\n }\n return isNaN(value$$1) ? value$$1 : parseFloat(value$$1);\n },\n setValueNative: function (key, to, _a) {\n var elementStyler = _a.elementStyler;\n return elementStyler.set(key, to);\n },\n extendAPI: function (api, _a, config) {\n var props = _a.props,\n activeActions = _a.activeActions;\n var measure = props.dimensions.measure;\n var poserApi = __assign(__assign({}, api), { addChild: function (element, childConfig) {\n return api._addChild(createPoseConfig(element, childConfig), domPose);\n }, measure: measure, flip: function (op) {\n if (op) {\n measure();\n op();\n }\n return api.set('flip');\n } });\n props.elementStyler.render();\n appendEventListeners(props.element, activeActions, poserApi, config);\n return poserApi;\n }\n});\nvar domPose$1 = function (element, config) {\n return domPose(createPoseConfig(element, config));\n};\n\nexport default domPose$1;\n","import { __rest, __assign, __spreadArrays } from 'tslib';\nimport { invariant } from 'hey-listen';\n\nvar getPoseValues = function (_a) {\n var transition = _a.transition,\n flip = _a.flip,\n delay = _a.delay,\n delayChildren = _a.delayChildren,\n staggerChildren = _a.staggerChildren,\n staggerDirection = _a.staggerDirection,\n afterChildren = _a.afterChildren,\n beforeChildren = _a.beforeChildren,\n preTransition = _a.preTransition,\n applyAtStart = _a.applyAtStart,\n applyAtEnd = _a.applyAtEnd,\n props = __rest(_a, [\"transition\", \"flip\", \"delay\", \"delayChildren\", \"staggerChildren\", \"staggerDirection\", \"afterChildren\", \"beforeChildren\", \"preTransition\", \"applyAtStart\", \"applyAtEnd\"]);\n return props;\n};\nvar selectPoses = function (_a) {\n var label = _a.label,\n props = _a.props,\n values = _a.values,\n parentValues = _a.parentValues,\n ancestorValues = _a.ancestorValues,\n onChange = _a.onChange,\n passive = _a.passive,\n initialPose = _a.initialPose,\n poses = __rest(_a, [\"label\", \"props\", \"values\", \"parentValues\", \"ancestorValues\", \"onChange\", \"passive\", \"initialPose\"]);\n return poses;\n};\nvar selectAllValues = function (values, selectValue) {\n var allValues = {};\n values.forEach(function (value, key) {\n return allValues[key] = selectValue(value);\n });\n return allValues;\n};\n\nvar resolveProp = function (target, props) {\n return typeof target === 'function' ? target(props) : target;\n};\nvar poseDefault = function (pose, prop, defaultValue, resolveProps) {\n return pose && pose[prop] !== undefined ? resolveProp(pose[prop], resolveProps) : defaultValue;\n};\nvar startChildAnimations = function (children, next, pose, props) {\n var animations = [];\n var delay = poseDefault(pose, 'delayChildren', 0, props);\n var stagger = poseDefault(pose, 'staggerChildren', 0, props);\n var staggerDirection = poseDefault(pose, 'staggerDirection', 1, props);\n var maxStaggerDuration = (children.size - 1) * stagger;\n var generateStaggerDuration = staggerDirection === 1 ? function (i) {\n return i * stagger;\n } : function (i) {\n return maxStaggerDuration - i * stagger;\n };\n Array.from(children).forEach(function (child, i) {\n animations.push(child.set(next, {\n delay: delay + generateStaggerDuration(i)\n }));\n });\n return animations;\n};\nvar resolveTransition = function (transition, key, value, props, convertTransitionDefinition, getInstantTransition) {\n var resolvedTransition;\n if (typeof transition === 'function') {\n var resolvedTransitionMap = transition(props);\n resolvedTransition = resolveTransition(resolvedTransitionMap, key, value, props, convertTransitionDefinition, getInstantTransition);\n } else if (transition[key] || transition.default) {\n var keyTransition = transition[key] || transition.default;\n if (typeof keyTransition === 'function') {\n resolvedTransition = keyTransition(props);\n } else {\n resolvedTransition = keyTransition;\n }\n } else {\n resolvedTransition = transition;\n }\n return resolvedTransition === false ? getInstantTransition(value, props) : convertTransitionDefinition(value, resolvedTransition, props);\n};\nvar findInsertionIndex = function (poseList, priorityList, priorityIndex) {\n var insertionIndex = 0;\n for (var i = priorityIndex - 1; i >= 0; i--) {\n var nextHighestPriorityIndex = poseList.indexOf(priorityList[i]);\n if (nextHighestPriorityIndex !== -1) {\n insertionIndex = nextHighestPriorityIndex + 1;\n break;\n }\n }\n return insertionIndex;\n};\nvar applyValues = function (toApply, values, props, setValue, setValueNative) {\n invariant(typeof toApply === 'object', 'applyAtStart and applyAtEnd must be of type object');\n return Object.keys(toApply).forEach(function (key) {\n var valueToSet = resolveProp(toApply[key], props);\n values.has(key) ? setValue(values.get(key), valueToSet) : setValueNative(key, valueToSet, props);\n });\n};\nvar createPoseSetter = function (setterProps) {\n var state = setterProps.state,\n poses = setterProps.poses,\n startAction = setterProps.startAction,\n stopAction = setterProps.stopAction,\n getInstantTransition = setterProps.getInstantTransition,\n addActionDelay = setterProps.addActionDelay,\n getTransitionProps = setterProps.getTransitionProps,\n resolveTarget = setterProps.resolveTarget,\n transformPose = setterProps.transformPose,\n posePriority = setterProps.posePriority,\n convertTransitionDefinition = setterProps.convertTransitionDefinition,\n setValue = setterProps.setValue,\n setValueNative = setterProps.setValueNative,\n forceRender = setterProps.forceRender;\n return function (next, nextProps, propagate) {\n if (nextProps === void 0) {\n nextProps = {};\n }\n if (propagate === void 0) {\n propagate = true;\n }\n var children = state.children,\n values = state.values,\n props = state.props,\n activeActions = state.activeActions,\n activePoses = state.activePoses;\n var _a = nextProps.delay,\n delay = _a === void 0 ? 0 : _a;\n var hasChildren = children.size;\n var baseTransitionProps = __assign(__assign({}, props), nextProps);\n var nextPose = poses[next];\n var getChildAnimations = function () {\n return hasChildren && propagate ? startChildAnimations(children, next, nextPose, baseTransitionProps) : [];\n };\n var getParentAnimations = function () {\n if (!nextPose) return [];\n var applyAtStart = nextPose.applyAtStart;\n if (applyAtStart) {\n applyValues(applyAtStart, values, baseTransitionProps, setValue, setValueNative);\n if (forceRender) forceRender(baseTransitionProps);\n }\n if (transformPose) nextPose = transformPose(nextPose, next, state);\n var preTransition = nextPose.preTransition,\n getTransition = nextPose.transition,\n applyAtEnd = nextPose.applyAtEnd;\n if (preTransition) preTransition(baseTransitionProps);\n var animations = Object.keys(getPoseValues(nextPose)).map(function (key) {\n var valuePoses = activePoses.has(key) ? activePoses.get(key) : (activePoses.set(key, []), activePoses.get(key));\n var existingIndex = valuePoses.indexOf(next);\n if (existingIndex !== -1) valuePoses.splice(existingIndex, 1);\n var priority = posePriority ? posePriority.indexOf(next) : 0;\n var insertionIndex = priority <= 0 ? 0 : findInsertionIndex(valuePoses, posePriority, priority);\n valuePoses.splice(insertionIndex, 0, next);\n return insertionIndex === 0 ? new Promise(function (complete) {\n var value = values.get(key);\n var transitionProps = __assign(__assign({}, baseTransitionProps), { key: key,\n value: value });\n var target = resolveTarget(value, resolveProp(nextPose[key], transitionProps));\n if (activeActions.has(key)) stopAction(activeActions.get(key));\n var resolveTransitionProps = __assign(__assign({ to: target }, transitionProps), getTransitionProps(value, target, transitionProps));\n var transition = resolveTransition(getTransition, key, value, resolveTransitionProps, convertTransitionDefinition, getInstantTransition);\n var poseDelay = delay || resolveProp(nextPose.delay, transitionProps);\n if (poseDelay) {\n transition = addActionDelay(poseDelay, transition);\n }\n activeActions.set(key, startAction(value, transition, complete));\n }) : Promise.resolve();\n });\n return applyAtEnd ? [Promise.all(animations).then(function () {\n applyValues(applyAtEnd, values, baseTransitionProps, setValue, setValueNative);\n })] : animations;\n };\n if (nextPose && hasChildren) {\n if (resolveProp(nextPose.beforeChildren, baseTransitionProps)) {\n return Promise.all(getParentAnimations()).then(function () {\n return Promise.all(getChildAnimations());\n });\n } else if (resolveProp(nextPose.afterChildren, baseTransitionProps)) {\n return Promise.all(getChildAnimations()).then(function () {\n return Promise.all(getParentAnimations());\n });\n }\n }\n return Promise.all(__spreadArrays(getParentAnimations(), getChildAnimations()));\n };\n};\n\nvar DEFAULT_INITIAL_POSE = 'init';\nvar isScale = function (key) {\n return key.includes('scale');\n};\nvar defaultReadValueFromSource = function (key) {\n return isScale(key) ? 1 : 0;\n};\nvar readValueFromPose = function (pose, key, props) {\n var valueToResolve = pose.applyAtEnd && pose.applyAtEnd[key] !== undefined ? pose.applyAtEnd[key] : pose[key] !== undefined ? pose[key] : pose.applyAtStart && pose.applyAtStart[key] !== undefined ? pose.applyAtStart[key] : 0;\n return resolveProp(valueToResolve, props);\n};\nvar getPosesToSearch = function (pose) {\n var posesToSearch = Array.isArray(pose) ? pose : [pose];\n posesToSearch.push(DEFAULT_INITIAL_POSE);\n return posesToSearch;\n};\nvar getInitialValue = function (poses, key, initialPose, props, readValueFromSource, activePoses) {\n if (readValueFromSource === void 0) {\n readValueFromSource = defaultReadValueFromSource;\n }\n var posesToSearch = getPosesToSearch(initialPose);\n var pose = posesToSearch.filter(Boolean).find(function (name) {\n var thisPose = poses[name];\n return thisPose && (thisPose[key] !== undefined || thisPose.applyAtStart && thisPose.applyAtStart[key] !== undefined || thisPose.applyAtEnd && thisPose.applyAtEnd[key] !== undefined);\n });\n activePoses.set(key, [pose || DEFAULT_INITIAL_POSE]);\n return pose ? readValueFromPose(poses[pose], key, props) : readValueFromSource(key, props);\n};\nvar createValues = function (values, _a) {\n var userSetValues = _a.userSetValues,\n createValue = _a.createValue,\n convertValue = _a.convertValue,\n readValueFromSource = _a.readValueFromSource,\n initialPose = _a.initialPose,\n poses = _a.poses,\n activePoses = _a.activePoses,\n props = _a.props;\n return function (key) {\n if (values.has(key)) return;\n var value;\n if (userSetValues && userSetValues[key] !== undefined) {\n value = convertValue(userSetValues[key], key, props);\n } else {\n var initValue = getInitialValue(poses, key, initialPose, props, readValueFromSource, activePoses);\n value = createValue(initValue, key, props);\n }\n values.set(key, value);\n };\n};\nvar scrapeValuesFromPose = function (values, props) {\n return function (key) {\n var pose = props.poses[key];\n Object.keys(getPoseValues(pose)).forEach(createValues(values, props));\n };\n};\nvar getAncestorValue = function (key, fromParent, ancestors) {\n if (fromParent === true) {\n return ancestors[0] && ancestors[0].values.get(key);\n } else {\n var foundAncestor = ancestors.find(function (_a) {\n var label = _a.label;\n return label === fromParent;\n });\n return foundAncestor && foundAncestor.values.get(key);\n }\n};\nvar bindPassiveValues = function (values, _a) {\n var passive = _a.passive,\n ancestorValues = _a.ancestorValues,\n createValue = _a.createValue,\n readValue = _a.readValue,\n props = _a.props;\n return function (key) {\n var _a = passive[key],\n valueKey = _a[0],\n passiveProps = _a[1],\n fromParent = _a[2];\n var valueToBind = fromParent && ancestorValues.length ? getAncestorValue(valueKey, fromParent, ancestorValues) : values.has(valueKey) ? values.get(valueKey) : false;\n if (!valueToBind) return;\n var newValue = createValue(readValue(valueToBind), key, props, {\n passiveParentKey: valueKey,\n passiveParent: valueToBind,\n passiveProps: passiveProps\n });\n values.set(key, newValue);\n };\n};\nvar setNativeValues = function (_a) {\n var setValueNative = _a.setValueNative,\n initialPose = _a.initialPose,\n props = _a.props,\n poses = _a.poses;\n var valuesHaveSet = new Set();\n var setValues = function (pose, propKey) {\n if (pose[propKey]) {\n for (var key in pose[propKey]) {\n if (!valuesHaveSet.has(key)) {\n valuesHaveSet.add(key);\n setValueNative(key, resolveProp(pose[propKey][key], props), props);\n }\n }\n }\n };\n getPosesToSearch(initialPose).forEach(function (poseKey) {\n var pose = poses[poseKey];\n if (pose) {\n setValues(pose, 'applyAtEnd');\n setValues(pose, 'applyAtStart');\n }\n });\n};\nvar createValueMap = function (props) {\n var poses = props.poses,\n passive = props.passive;\n var values = new Map();\n Object.keys(poses).forEach(scrapeValuesFromPose(values, props));\n setNativeValues(props);\n if (passive) Object.keys(passive).forEach(bindPassiveValues(values, props));\n return values;\n};\n\nvar applyDefaultTransition = function (pose, key, defaultTransitions) {\n return __assign(__assign({}, pose), { transition: defaultTransitions.has(key) ? defaultTransitions.get(key) : defaultTransitions.get('default') });\n};\nvar generateTransitions = function (poses, defaultTransitions) {\n Object.keys(poses).forEach(function (key) {\n var pose = poses[key];\n invariant(typeof pose === 'object', \"Pose '\" + key + \"' is of invalid type. All poses should be objects.\");\n poses[key] = pose.transition !== undefined ? pose : applyDefaultTransition(pose, key, defaultTransitions);\n });\n return poses;\n};\n\nvar sortByReversePriority = function (priorityOrder) {\n return function (a, b) {\n var aP = priorityOrder.indexOf(a);\n var bP = priorityOrder.indexOf(b);\n if (aP === -1 && bP !== -1) return -1;\n if (aP !== -1 && bP === -1) return 1;\n return aP - bP;\n };\n};\n\nvar poseFactory = function (_a) {\n var getDefaultProps = _a.getDefaultProps,\n defaultTransitions = _a.defaultTransitions,\n bindOnChange = _a.bindOnChange,\n startAction = _a.startAction,\n stopAction = _a.stopAction,\n readValue = _a.readValue,\n readValueFromSource = _a.readValueFromSource,\n resolveTarget = _a.resolveTarget,\n setValue = _a.setValue,\n setValueNative = _a.setValueNative,\n createValue = _a.createValue,\n convertValue = _a.convertValue,\n getInstantTransition = _a.getInstantTransition,\n getTransitionProps = _a.getTransitionProps,\n addActionDelay = _a.addActionDelay,\n selectValueToRead = _a.selectValueToRead,\n convertTransitionDefinition = _a.convertTransitionDefinition,\n transformPose = _a.transformPose,\n posePriority = _a.posePriority,\n forceRender = _a.forceRender,\n extendAPI = _a.extendAPI;\n return function (config) {\n var parentValues = config.parentValues,\n _a = config.ancestorValues,\n ancestorValues = _a === void 0 ? [] : _a;\n if (parentValues) ancestorValues.unshift({ values: parentValues });\n var activeActions = new Map();\n var activePoses = new Map();\n var children = new Set();\n var poses = generateTransitions(selectPoses(config), defaultTransitions);\n var _b = config.props,\n props = _b === void 0 ? {} : _b;\n if (getDefaultProps) props = __assign(__assign({}, getDefaultProps(config)), props);\n var passive = config.passive,\n userSetValues = config.values,\n _c = config.initialPose,\n initialPose = _c === void 0 ? DEFAULT_INITIAL_POSE : _c;\n var values = createValueMap({\n poses: poses,\n passive: passive,\n ancestorValues: ancestorValues,\n readValue: readValue,\n setValueNative: setValueNative,\n createValue: createValue,\n convertValue: convertValue,\n readValueFromSource: readValueFromSource,\n userSetValues: userSetValues,\n initialPose: initialPose,\n activePoses: activePoses,\n props: props\n });\n var state = {\n activeActions: activeActions,\n activePoses: activePoses,\n children: children,\n props: props,\n values: values\n };\n var onChange = config.onChange;\n if (onChange) Object.keys(onChange).forEach(bindOnChange(values, onChange));\n var set = createPoseSetter({\n state: state,\n poses: poses,\n getInstantTransition: getInstantTransition,\n getTransitionProps: getTransitionProps,\n convertTransitionDefinition: convertTransitionDefinition,\n setValue: setValue,\n setValueNative: setValueNative,\n startAction: startAction,\n stopAction: stopAction,\n resolveTarget: resolveTarget,\n addActionDelay: addActionDelay,\n transformPose: transformPose,\n posePriority: posePriority,\n forceRender: forceRender\n });\n var has = function (poseName) {\n return !!poses[poseName];\n };\n var api = {\n set: set,\n unset: function (poseName, poseProps) {\n var posesToSet = [];\n activePoses.forEach(function (valuePoses) {\n var poseIndex = valuePoses.indexOf(poseName);\n if (poseIndex === -1) return;\n var currentPose = valuePoses[0];\n valuePoses.splice(poseIndex, 1);\n var nextPose = valuePoses[0];\n if (nextPose === currentPose) return;\n if (posesToSet.indexOf(nextPose) === -1) {\n posesToSet.push(nextPose);\n }\n });\n var animationsToResolve = posesToSet.sort(sortByReversePriority(posePriority)).map(function (poseToSet) {\n return set(poseToSet, poseProps, false);\n });\n children.forEach(function (child) {\n return animationsToResolve.push(child.unset(poseName));\n });\n return Promise.all(animationsToResolve);\n },\n get: function (valueName) {\n return valueName ? selectValueToRead(values.get(valueName)) : selectAllValues(values, selectValueToRead);\n },\n has: has,\n setProps: function (newProps) {\n return state.props = __assign(__assign({}, state.props), newProps);\n },\n _addChild: function (childConfig, factory) {\n var child = factory(__assign(__assign({ initialPose: initialPose }, childConfig), { ancestorValues: __spreadArrays([{ label: config.label, values: values }], ancestorValues) }));\n children.add(child);\n return child;\n },\n removeChild: function (child) {\n return children.delete(child);\n },\n clearChildren: function () {\n children.forEach(function (child) {\n return child.destroy();\n });\n children.clear();\n },\n destroy: function () {\n activeActions.forEach(stopAction);\n children.forEach(function (child) {\n return child.destroy();\n });\n }\n };\n return extendAPI(api, state, config);\n };\n};\n\nexport default poseFactory;\n","import { __assign } from 'tslib';\nimport Vue from 'vue';\nimport poseFactory from 'popmotion-pose';\nimport { invariant } from 'hey-listen';\n\nvar supportedElements = [\r\n 'a',\r\n 'article',\r\n 'aside',\r\n 'audio',\r\n 'b',\r\n 'blockquote',\r\n 'body',\r\n 'br',\r\n 'button',\r\n 'canvas',\r\n 'caption',\r\n 'cite',\r\n 'code',\r\n 'col',\r\n 'colgroup',\r\n 'data',\r\n 'datalist',\r\n 'dialog',\r\n 'div',\r\n 'em',\r\n 'embed',\r\n 'fieldset',\r\n 'figcaption',\r\n 'figure',\r\n 'footer',\r\n 'form',\r\n 'h1',\r\n 'h2',\r\n 'h3',\r\n 'h4',\r\n 'h5',\r\n 'h6',\r\n 'head',\r\n 'header',\r\n 'hgroup',\r\n 'hr',\r\n 'i',\r\n 'iframe',\r\n 'img',\r\n 'input',\r\n 'label',\r\n 'legend',\r\n 'li',\r\n 'nav',\r\n 'object',\r\n 'ol',\r\n 'option',\r\n 'p',\r\n 'param',\r\n 'picture',\r\n 'pre',\r\n 'progress',\r\n 'q',\r\n 'section',\r\n 'select',\r\n 'span',\r\n 'strong',\r\n 'table',\r\n 'tbody',\r\n 'td',\r\n 'textarea',\r\n 'tfoot',\r\n 'th',\r\n 'thead',\r\n 'time',\r\n 'title',\r\n 'tr',\r\n 'ul',\r\n 'video',\r\n 'circle',\r\n 'clipPath',\r\n 'defs',\r\n 'ellipse',\r\n 'g',\r\n 'image',\r\n 'line',\r\n 'linearGradient',\r\n 'mask',\r\n 'path',\r\n 'pattern',\r\n 'polygon',\r\n 'polyline',\r\n 'radialGradient',\r\n 'rect',\r\n 'stop',\r\n 'svg',\r\n 'text',\r\n 'tspan'\r\n];\n\nvar PoserMap = new WeakMap();\n\nvar props = {\r\n pose: {\r\n type: String,\r\n default: 'init'\r\n },\r\n preEnterPose: {\r\n type: String,\r\n default: undefined\r\n },\r\n poseKey: {\r\n type: [String, Number],\r\n default: undefined\r\n },\r\n onValueChange: {\r\n type: Object,\r\n default: undefined\r\n },\r\n onPoseComplete: {\r\n type: Function,\r\n default: undefined\r\n },\r\n withParent: {\r\n type: Boolean,\r\n default: true\r\n }\r\n};\r\nvar watch = {\r\n $attrs: function (newAttrs) {\r\n this.poser.setProps(newAttrs);\r\n },\r\n pose: function (newPose, oldPose) {\r\n if (newPose !== oldPose)\r\n this.setPose(newPose);\r\n },\r\n poseKey: function (newPoseKey, oldPoseKey) {\r\n if (newPoseKey !== oldPoseKey)\r\n this.setPose(this.pose);\r\n }\r\n};\r\nfunction destroyed() {\r\n if (!this.poser || !this._poseDestroyOnUnmount)\r\n return;\r\n if (this._poseOnChildUnmount)\r\n this._poseOnChildUnmount(this.poser);\r\n PoserMap.delete(this.$el);\r\n this.poser.destroy();\r\n}\r\nvar methods = {\r\n getInitialPose: function () {\r\n var _a = this.$props, preEnterPose = _a.preEnterPose, pose = _a.pose;\r\n return this._poseGetInitialPoseFromParent\r\n ? this._poseGetInitialPoseFromParent()\r\n : preEnterPose || pose;\r\n },\r\n getFirstPoseToSet: function () {\r\n var _a = this.$props, preEnterPose = _a.preEnterPose, pose = _a.pose;\r\n return preEnterPose ? pose : false;\r\n },\r\n initPoser: function (poser) {\r\n this.poser = poser;\r\n this.flushChildren();\r\n PoserMap.set(this.$el, poser);\r\n var firstPose = this.getFirstPoseToSet();\r\n if (firstPose)\r\n this.setPose(firstPose);\r\n },\r\n setPose: function (pose) {\r\n var _this = this;\r\n this.poser.set(pose).then(function () { return _this.$emit('poseComplete', pose); });\r\n },\r\n flushChildren: function () {\r\n var _this = this;\r\n if (!this.children)\r\n return;\r\n this.children.forEach(function (_a) {\r\n var element = _a.element, config = _a.config, onRegistered = _a.onRegistered;\r\n onRegistered(_this.poser.addChild(element, __assign({}, config, { initialPose: _this.getInitialPose() })));\r\n });\r\n this.children.clear();\r\n },\r\n getPoserProps: function () {\r\n return __assign({}, this.$attrs);\r\n }\r\n};\r\nfunction provide() {\r\n var parent = this;\r\n return {\r\n _poseRegisterChild: function (child) {\r\n parent.children = parent.children || new Set();\r\n parent.children.add(child);\r\n if (parent.poser)\r\n parent.flushChildren();\r\n },\r\n _poseOnChildUnmount: function (poser) {\r\n parent.poser.removeChild(poser);\r\n }\r\n };\r\n}\r\nvar inject = {\r\n _poseRegisterChild: { default: false },\r\n _poseOnChildUnmount: { default: false },\r\n _poseGetInitialPoseFromParent: { default: false },\r\n _poseDestroyOnUnmount: { default: true }\r\n};\r\nvar createPosedComponentFactory = function (el) { return function (config) {\r\n if (config === void 0) { config = {}; }\r\n return Vue.extend({\r\n props: props,\r\n provide: provide,\r\n inject: inject,\r\n mounted: function () {\r\n var _this = this;\r\n invariant(typeof this.$el !== 'undefined', \"No DOM element found.\");\r\n var poserConfig = __assign({}, config, { initialPose: this.getInitialPose(), onDragStart: this.$listeners['drag-start']\r\n ? function (e) { return _this.$emit('drag-start', e); }\r\n : undefined, onDragEnd: this.$listeners['drag-end']\r\n ? function (e) { return _this.$emit('drag-end', e); }\r\n : undefined, onPressStart: this.$listeners['press-start']\r\n ? function (e) { return _this.$emit('press-start', e); }\r\n : undefined, onPressEnd: this.$listeners['press-end']\r\n ? function (e) { return _this.$emit('press-end', e); }\r\n : undefined, onChange: this.$props.onValueChange, props: this.getPoserProps() });\r\n if (!this.$props.withParent || !this._poseRegisterChild) {\r\n this.initPoser(poseFactory(this.$el, poserConfig));\r\n }\r\n else {\r\n this._poseRegisterChild({\r\n element: this.$el,\r\n config: poserConfig,\r\n onRegistered: function (poser) { return _this.initPoser(poser); }\r\n });\r\n }\r\n },\r\n watch: watch,\r\n methods: methods,\r\n destroyed: destroyed,\r\n render: function (createElement) {\r\n return createElement(el, {}, [this.$slots.default]);\r\n }\r\n });\r\n}; };\r\nvar posed = supportedElements.reduce(function (acc, el) {\r\n acc[el] = createPosedComponentFactory(el);\r\n return acc;\r\n}, {});\n\nvar setPoserTo = function (fromPose, toPose, defaultConfig, that) { return function (el, done) {\r\n if (!PoserMap.has(el)) {\r\n PoserMap.set(el, poseFactory(el, __assign({}, defaultConfig, { initialPose: fromPose })));\r\n }\r\n PoserMap.get(el)\r\n .set(toPose)\r\n .then(function () {\r\n that.$emit('poseComplete', toPose);\r\n done();\r\n });\r\n}; };\r\nvar initPoser = function (setPrePose, initialPose) { return function () { return setPrePose(initialPose); }; };\r\nvar PoseTransition = Vue.extend({\r\n props: {\r\n enterPose: {\r\n type: String,\r\n default: 'enter'\r\n },\r\n exitPose: {\r\n type: String,\r\n default: 'exit'\r\n }\r\n },\r\n provide: function () {\r\n var parent = this;\r\n return {\r\n _poseGetInitialPoseFromParent: function () {\r\n return parent.prePose;\r\n },\r\n _poseDestroyOnUnmount: false\r\n };\r\n },\r\n created: function () {\r\n var _this = this;\r\n var _a;\r\n var _b = this.$props, enterPose = _b.enterPose, exitPose = _b.exitPose;\r\n var appear = this.$attrs.appear;\r\n var defaultConfig = (_a = {},\r\n _a[enterPose] = { opacity: 1 },\r\n _a[exitPose] = { opacity: 0 },\r\n _a);\r\n var setPrePose = function (pose) { return (_this.prePose = pose); };\r\n this.on = {\r\n beforeEnter: initPoser(setPrePose, exitPose),\r\n beforeLeave: initPoser(setPrePose, enterPose),\r\n enter: setPoserTo(exitPose, enterPose, defaultConfig, this),\r\n leave: setPoserTo(enterPose, exitPose, defaultConfig, this)\r\n };\r\n if (appear !== undefined) {\r\n this.on.appear = setPoserTo(exitPose, enterPose, defaultConfig, this);\r\n this.on.beforeAppear = initPoser(setPrePose, exitPose);\r\n }\r\n },\r\n render: function (createElement) {\r\n return createElement('transition', {\r\n props: __assign({ css: false }, this.$attrs),\r\n on: this.on\r\n }, [this.$slots.default]);\r\n }\r\n});\n\nexport default posed;\nexport { PoseTransition };\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SolutionZoomPicture.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SolutionZoomPicture.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SolutionZoomPicture.vue?vue&type=template&id=f5e8d3b4&scoped=true&\"\nimport script from \"./SolutionZoomPicture.vue?vue&type=script&lang=js&\"\nexport * from \"./SolutionZoomPicture.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SolutionZoomPicture.vue?vue&type=style&index=0&id=f5e8d3b4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f5e8d3b4\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Detail.vue?vue&type=style&index=0&id=274043b9&scoped=true&lang=css&\"","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar $toString = require('../internals/to-string');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar nativeFetch = getBuiltIn('fetch');\nvar NativeRequest = getBuiltIn('Request');\nvar RequestPrototype = NativeRequest && NativeRequest.prototype;\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = getIterator(init, iteratorMethod);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: $toString(first.value), value: $toString(second.value) });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: $toString(init[key]) });\n } else {\n parseSearchParams(\n entries,\n typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : $toString(init)\n );\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: $toString(name), value: $toString(value) });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = $toString(name);\n var val = $toString(value);\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`\nif (!USE_NATIVE_URL && typeof Headers == 'function') {\n var wrapRequestOptions = function (init) {\n if (isObject(init)) {\n var body = init.body;\n var headers;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n return create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n } return init;\n };\n\n if (typeof nativeFetch == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n }\n });\n }\n\n if (typeof NativeRequest == 'function') {\n var RequestConstructor = function Request(input /* , init */) {\n anInstance(this, RequestConstructor, 'Request');\n return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n };\n\n RequestPrototype.constructor = RequestConstructor;\n RequestConstructor.prototype = RequestPrototype;\n\n $({ global: true, forced: true }, {\n Request: RequestConstructor\n });\n }\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","import './_grid.sass'\nimport './VGrid.sass'\n\nimport Grid from './grid'\n\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default Grid('container').extend({\n name: 'v-container',\n functional: true,\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n fluid: {\n type: Boolean,\n default: false,\n },\n },\n render (h, { props, data, children }) {\n let classes\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'container',\n class: Array({\n 'container--fluid': props.fluid,\n }).concat(classes || []),\n }),\n children\n )\n },\n})\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":\"\",\"tile\":\"\",\"height\":\"100%\"}},[(_vm.data)?[_c('v-toolbar',{staticClass:\"sticky_solutionSelector\",attrs:{\"flat\":\"\",\"dense\":\"\"}},[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.data.Name)+\" \"+_vm._s(_vm.data.Properties.Number ? \" (\" + _vm.data.Properties.Number + \")\" : \"\")+\" \")]),_c('v-spacer'),(_vm.isFirelog)?_c('v-btn',{staticClass:\"mr-2\",attrs:{\"small\":\"\",\"depressed\":\"\",\"outlined\":\"\",\"color\":\"secondary\"},on:{\"click\":function($event){return _vm.useInMarker()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"usethisinmarker\"))+\" \")]):_vm._e(),_c('v-btn',{attrs:{\"outlined\":\"\",\"small\":\"\",\"depressed\":\"\"},on:{\"click\":function($event){return _vm.favorite()}}},[(_vm.data.IsFavorite)?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\" mdi-star \")]):_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\" mdi-star-outline \")])],1),_c('v-btn',{attrs:{\"outlined\":\"\",\"small\":\"\",\"depressed\":\"\"},on:{\"click\":function($event){return _vm.downloadPdf()}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-download\")])],1),(_vm.selectorSteps && _vm.useProps)?_c('v-btn',{attrs:{\"outlined\":\"\",\"small\":\"\",\"depressed\":\"\"},on:{\"click\":_vm.backToSolutionList}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-arrow-left\")])],1):_vm._e()],1),(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"blue darken-2\"}}):_vm._e(),_c('v-container',[_c('v-row',[_c('v-col',[_c('breadCrumb',{attrs:{\"selectedTaxonomies\":_vm.breadCrumbSteps,\"isDetailView\":true,\"selectedAutoSkipped\":_vm.useProps ? _vm.selectedAutoSkipped : null},on:{\"prevStep\":_vm.prevStep}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"main_taxonomies\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('div',[[_c('div',{staticClass:\"option wrapper_content_taxonomy\"},[_c('div',{staticClass:\"option subtitle-1 font-weight-bold\"},[(_vm.data.Properties.Taxonomy2Name)?_c('div',{staticClass:\"row row--dense\"},[_c('div',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.Taxonomy2Title)+\": \")]),_c('div',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.Taxonomy2Name)+\" \")])]):_vm._e(),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"thickness\"))+\" (mm) \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.Taxonomy9Name)+\" \")])],1)],1),(\n _vm.data.Properties.Taxonomy2Name ||\n _vm.data.Properties.Taxonomy9Name\n )?_c('v-divider'):_vm._e(),_c('div',{staticClass:\"option subtitle-1 font-weight-bold\"},[(_vm.data.Properties.Taxonomy3Name)?_c('div',{staticClass:\"row row--dense\"},[_c('div',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.Taxonomy3Title)+\": \")]),_c('div',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.Taxonomy3Name)+\" \")])]):_vm._e(),(_vm.data.Properties.Taxonomy4Name)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.Taxonomy4Title)+\" \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.Taxonomy4Name)+\" \")])],1):_vm._e(),(_vm.data.Properties.Taxonomy1Name)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"diameter\"))+\" (mm) \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.Taxonomy1Name)+\" \")])],1):_vm._e(),(_vm.data.Properties.WandDikte)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"wallThickness\"))+\" (mm) \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.WandDikte)+\" \")])],1):_vm._e(),(_vm.data.Properties.Capping)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"capping\"))+\" \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.Capping)+\" \")])],1):_vm._e()],1),(\n _vm.data.Properties.Taxonomy3 ||\n _vm.data.Properties.Taxonomy4 ||\n _vm.data.Properties.Taxonomy1 ||\n _vm.data.Properties.WandDikte ||\n _vm.data.Properties.Capping\n )?_c('v-divider'):_vm._e(),_c('div',{staticClass:\"option subtitle-1 font-weight-bold\"},[(_vm.data.Properties.Taxonomy5Name)?_c('div',{staticClass:\"row row--dense\"},[_c('div',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.Taxonomy5Title)+\": \")]),_c('div',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.Taxonomy5Name)+\" \")])]):_vm._e(),(_vm.data.Properties.Taxonomy8Name)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"brand\"))+\" \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.Taxonomy8Name)+\" \")])],1):_vm._e(),(_vm.data.Properties.IsolatieVorm)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"insulationForm\"))+\" \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.IsolatieVorm)+\" \")])],1):_vm._e(),(_vm.data.Properties.IsolatieLengte)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"insulationLength\"))+\" (mm) \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.IsolatieLengte)+\" \")])],1):_vm._e(),(_vm.data.Properties.IsolatieDikte)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"insulationThickness\"))+\" (mm) \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.IsolatieDikte)+\" \")])],1):_vm._e()],1),(\n _vm.data.Properties.Taxonomy5Name ||\n _vm.data.Properties.Taxonomy8Name ||\n _vm.data.Properties.IsolatieVorm ||\n _vm.data.Properties.IsolatieLengte ||\n _vm.data.Properties.IsolatieDikte\n )?_c('v-divider'):_vm._e(),_c('div',{staticClass:\"option subtitle-1 font-weight-bold\"},[_c('div',{staticClass:\"row row--dense\"},[_c('div',{staticClass:\"col\"},[_vm._v(_vm._s(_vm.$t(\"productSolution\"))+\":\")]),_c('div',{staticClass:\"col\"},[_vm._v(_vm._s(_vm.data.Name))])]),(_vm.data.Properties.ProductOplossingen2)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"alongWith\"))+\" \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.ProductOplossingen2)+\" \")])],1):_vm._e(),(_vm.data.Properties.Taxonomy6Name)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.Taxonomy6Title)+\" \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.Taxonomy6Name)+\" \")])],1):_vm._e(),(_vm.data.Properties.Taxonomy7Name)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"situation\"))+\" \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.Taxonomy7Name)+\" \")])],1):_vm._e(),(_vm.data.Properties.AanbrengenAan)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"apply\"))+\" \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.AanbrengenAan)+\" \")])],1):_vm._e(),(_vm.data.Properties.AantalLagen)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"nrOfLayers\"))+\" \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.AantalLagen)+\" \")])],1):_vm._e(),(_vm.data.Properties.MaximaleOpening)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"maxOpening\"))+\" (mm) \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.MaximaleOpening)+\" \")])],1):_vm._e()],1),_c('v-divider'),_c('div',{staticClass:\"option subtitle-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"dimensions\"))+\": \"),(_vm.data.Properties.AfstandTotRanden)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"distanceTo\"))+\" \"+_vm._s(_vm.$t(\"edge\"))+\" (mm) \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.AfstandTotRanden)+\" \")])],1):_vm._e(),(_vm.data.Properties.AfstandTotAnderen)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"distanceTo\"))+\" \"+_vm._s(_vm.$t(\"others\"))+\" (mm) \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.AfstandTotAnderen)+\" \")])],1):_vm._e(),(_vm.data.Properties.AfstandTotZelfdeType)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"distanceTo\"))+\" \"+_vm._s(_vm.$t(\"sameType\"))+\" (mm) \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.AfstandTotZelfdeType)+\" \")])],1):_vm._e(),(_vm.data.Properties.MaximaleHoek)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"minMaxAngle\"))+\" \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.MaximaleHoek)+\" \")])],1):_vm._e()],1),(\n _vm.data.Properties.AfstandTotRanden ||\n _vm.data.Properties.AfstandTotAnderen ||\n _vm.data.Properties.AfstandTotZelfdeType ||\n _vm.data.Properties.MaximaleHoek\n )?_c('v-divider'):_vm._e(),_c('div',{staticClass:\"option subtitle-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"juncture\"))+\": \"),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"material\"))+\" \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.MateriaalNaad)+\" \")])],1),(_vm.data.Properties.BreedteNaad)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"width\"))+\" (mm) \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.BreedteNaad)+\" \")])],1):_vm._e()],1),(\n _vm.data.Properties.MateriaalNaad ||\n _vm.data.Properties.BreedteNaad\n )?_c('v-divider'):_vm._e(),_c('div',{staticClass:\"option subtitle-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"secure\"))+\": \"),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"material\"))+\" \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.Bevestiging)+\" \")])],1),(_vm.data.Properties.BeugelAfstand)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"bracketDistance\"))+\" (mm) \")]),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.BeugelAfstand)+\" \")])],1):_vm._e()],1),(\n _vm.data.Properties.Bevestiging ||\n _vm.data.Properties.BeugelAfstand\n )?_c('v-divider'):_vm._e(),(_vm.data.Disclaimer && !_vm.data.Properties.ClassificatieRapport)?_c('div',[_c('div',{staticClass:\"option subtitle-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"disclaimer\"))+\": \")]),_c('v-row',[_c('v-col',[_c('div',{staticClass:\"option caption\",domProps:{\"innerHTML\":_vm._s(_vm.data.Disclaimer)}})])],1)],1):_vm._e()],1),(_vm.data.Disclaimer)?_c('v-divider',[_vm._v(\">\")]):_vm._e()]],2)]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('div',{staticClass:\"option main_images\"},[(_vm.data.Images && _vm.data.Images.length > 0)?[_c('zoomPicture',{attrs:{\"src\":_vm.data.Images[0]}})]:_vm._e()],2),_c('v-divider'),_c('div',{staticClass:\"option subtitle-1 font-weight-bold\"},[_c('div',{staticClass:\"row row--dense\"},[_c('div',{staticClass:\"col\"},[_vm._v(_vm._s(_vm.$t(\"norm\"))+\":\")]),_c('div',{staticClass:\"col\"},[_vm._v(_vm._s(_vm.data.Properties.Norm))])]),(_vm.data.Properties.ETAOfRapport)?_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.data.Properties.ClassificatieRapport)?_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" ETA \")]):_vm._e(),(_vm.data.Properties.ClassificatieRapport)?_c('v-col',{staticClass:\"caption font-weight-medium\"},[_vm._v(\" Rapport \")]):_vm._e(),_c('v-col',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.data.Properties.ETAOfRapport)+\" \")])],1):_vm._e()],1),(_vm.data.Attachments.length > 0)?_c('v-divider'):_vm._e(),(_vm.data.Attachments.length > 0)?_c('div',{staticClass:\"option main_attachments\"},[_c('div',{staticClass:\"option subtitle-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"download\"))+\": \")]),_vm._l((_vm.data.Attachments),function(attachment,i){return _c('a',{key:i,staticClass:\"subtitle-2 option\",attrs:{\"target\":\"_blank\",\"href\":attachment.Link}},[_vm._v(\" \"+_vm._s(attachment.Category)+\" \")])})],2):_vm._e(),(_vm.data.Products.length > 0)?_c('v-divider'):_vm._e(),(_vm.data.Products.length > 0)?_c('div',{staticClass:\"option main_products\"},[_c('div',{staticClass:\"option subtitle-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"products\"))+\": \")]),_c('div',{staticClass:\"scroll-container\"},_vm._l((_vm.data.Products),function(product,i){return _c('div',{key:'p-' + i,staticClass:\"text-truncate\"},[_c('v-layout',{staticClass:\"pa-2\",attrs:{\"column\":\"\"}},[_c('a',{attrs:{\"target\":\"_blank\",\"href\":product.Link}},[_c('v-img',{attrs:{\"gradient\":\"to bottom, rgba(0,0,0,.1), rgba(255,255,255,.5)\",\"aspect-ratio\":\"1\",\"width\":\"142\",\"src\":product.Image,\"dark\":\"\"},scopedSlots:_vm._u([{key:\"placeholder\",fn:function(){return [_c('v-layout',{attrs:{\"fill-height\":\"\",\"align-center\":\"\",\"justify-center\":\"\",\"ma-0\":\"\"}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"grey lighten-5\"}})],1)]},proxy:true}],null,true)},[_c('v-card-actions',{staticClass:\"fill-height align-end gradient text-truncate\"},[_c('span',{staticClass:\"text-truncate d-inline-block\",staticStyle:{\"color\":\"black\"}},[_vm._v(\" \"+_vm._s(product.Name)+\" \")])])],1)],1)])],1)}),0)]):_vm._e()],1)],1)],1)]:_c('v-container',{staticClass:\"main_wrapper mt-5\"},[(_vm.error)?_c('div',{staticClass:\"title mt-6 text-center overline mx-auto\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"error\"))+\" \")]):[_c('v-skeleton-loader',{attrs:{\"type\":\"article\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"image\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-three-line\"}}),_c('v-skeleton-loader',{attrs:{\"type\":\"list-item-three-line\"}})]],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Detail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Detail.vue?vue&type=script&lang=js&\"","import './_grid.sass'\n\nimport Grid from './grid'\n\nexport default Grid('layout')\n","import { render, staticRenderFns } from \"./Detail.vue?vue&type=template&id=274043b9&scoped=true&\"\nimport script from \"./Detail.vue?vue&type=script&lang=js&\"\nexport * from \"./Detail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Detail.vue?vue&type=style&index=0&id=274043b9&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"274043b9\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCol,VContainer,VDivider,VIcon,VImg,VLayout,VProgressCircular,VProgressLinear,VRow,VSkeletonLoader,VSpacer,VToolbar,VToolbarTitle})\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","// Types\nimport Vue, { VNode } from 'vue'\n\nexport default function VGrid (name: string) {\n /* @vue/component */\n return Vue.extend({\n name: `v-${name}`,\n\n functional: true,\n\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n render (h, { props, data, children }): VNode {\n data.staticClass = (`${name} ${data.staticClass || ''}`).trim()\n\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n const classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n\n if (classes.length) data.staticClass += ` ${classes.join(' ')}`\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(props.tag, data, children)\n },\n })\n}\n"],"sourceRoot":""}