{"version":3,"sources":["webpack:///./node_modules/@fortawesome/fontawesome-svg-core/index.mjs"],"names":["_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","ownKeys","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","push","apply","_objectSpread2","arguments","length","forEach","getOwnPropertyDescriptors","defineProperties","_toPrimitive","Symbol","toPrimitive","i","call","TypeError","String","Number","noop","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","mark","measure","window","document","MutationObserver","performance","userAgent","navigator","WINDOW","DOCUMENT","MUTATION_OBSERVER","PERFORMANCE","IS_DOM","documentElement","head","addEventListener","createElement","IS_IE","indexOf","p","g","S","classic","fa","fas","far","fal","fat","fab","duotone","fad","fadr","fadl","fadt","sharp","fass","fasr","fasl","fast","fasds","fasdr","fasdl","fasdt","A","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","P","s","L","G","900","400","normal","300","100","lt","pt","Map","defaultShortPrefixId","defaultStyleId","styleIds","futureStyleIds","defaultFontWeight","xt","solid","regular","light","thin","brands","Ft","St","kit","fak","fakd","At","Ct","Lt","Wt","Et","t$1","r$1","bt$1","Yt","ua","I$1","ga","x","Ia","m$1","c$1","F$1","concat","ma","map","a","wa","NAMESPACE_IDENTIFIER","UNITS_IN_GRID","DEFAULT_CSS_PREFIX","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","DATA_FA_PSEUDO_ELEMENT","DATA_FA_PSEUDO_ELEMENT_PENDING","DATA_PREFIX","DATA_ICON","HTML_CLASS_I2SVG_BASE_CLASS","MUTATION_APPROACH_ASYNC","TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS","PRODUCTION","e$$1","familyProxy","obj","Proxy","target","prop","_PREFIX_TO_STYLE","PREFIX_TO_STYLE","_STYLE_TO_PREFIX","STYLE_TO_PREFIX","_PREFIX_TO_LONG_STYLE","PREFIX_TO_LONG_STYLE","_LONG_STYLE_TO_PREFIX","ICON_SELECTION_SYNTAX_PATTERN","LAYERS_TEXT_CLASSNAME","FONT_FAMILY_PATTERN","_FONT_WEIGHT_TO_PREFIX","ATTRIBUTES_WATCHED_FOR_MUTATION","DUOTONE_CLASSES","RESERVED_CLASSES","initial","FontAwesomeConfig","getAttrConfig","attr","element","querySelector","getAttribute","coerce","val","attrs","_ref","key","undefined","_default","styleDefault","familyDefault","cssPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","familyPrefix","_config","config","set","_onChangeCb","cb","get","onChange","splice","d$2","meaninglessTransform","size","y","rotate","flipX","flipY","insertCss","css","style","setAttribute","innerHTML","headChildren","childNodes","beforeChild","child","tagName","toUpperCase","insertBefore","idPool","nextUniqueId","id","Math","random","toArray","array","classArray","node","classList","split","htmlEscape","str","replace","joinAttributes","attributes","reduce","acc","attributeName","trim","joinStyles","styles","styleName","transformIsMeaningful","transform","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","path","transformForCss","_ref2","width","height","startCentered","baseStyles","dcp","drc","fp","rc","dPatt","RegExp","customPropPatt","rPatt","_cssInserted","ensureCss","InjectCSS","dom","w","hooks","shims","namespace","functions","listener","removeEventListener","loaded","fn","domready","setTimeout","toHtml","abstractNodes","tag","children","join","iconFromMapping","mapping","prefix","iconName","icon","doScroll","test","readyState","bindInternal4","func","thisContext","b","c","d","subject","initialValue","result","iterator","ucs2decode","string","output","counter","charCodeAt","extra","toHex","unicode","decoded","toString","codePointAt","index","second","first","normalizeIcons","icons","expanded","defineIcons","params","skipHooks","normalized","addPack","FAMILY_NAMES","PREFIXES_FOR_FAMILY","familyId","_defaultUsablePrefix","_byUnicode","_byLigature","_byOldName","_byOldUnicode","_byAlias","isReserved","name","getIconName","cls","parts","slice","build","lookup","reducer","o$$1","aliases","a$$1","alias","hasRegular","autoFetchSvg","shimLookups","shim","maybeNameMaybeUnicode","names","unicodes","getCanonicalPrefix","family","byUnicode","byLigature","ligature","byAlias","byOldName","byOldUnicode","oldUnicode","newUnicode","getDefaultUsablePrefix","c$$1","emptyCanonicalIcon","rest","getFamilyId","values","famProps","includes","some","v$$1","styleOrPrefix","defined","moveNonFaClassesToRest","classNames","sortedUniqueValues","arr","sort","getCanonicalIcon","skipLookups","givenPrefix","faCombinedClasses","faStyleOrFamilyClasses","nonStyleOrFamilyClasses","faStyles","styleFromValues","canonical","getDefaultCanonicalPrefix","applyShimAndAlias","aliasIconName","newCanonicalFamilies","newCanonicalStyles","flat","prefixOptions","config$$1","isDuotoneFamily","valuesHasDuotone","defaultFamilyIsDuotone","canonicalPrefixIsDuotone","validPrefix","find","defaultPrefix","Library","this","definitions","_len","Array","_key","additions","_pullDefinitions","longPrefix","definition","0","_plugins","_hooks","providers","defaultProviderKeys","registerPlugins","nextPlugins","mixoutsTo","k","plugin","mixout","tk","sk","hook","provides","chainHooks","accumulator","args","hookFns","hookFn","callHooks","_len2","_key2","callProvided","prototype","findIconDefinition","iconLookup","library","noAuto","i2svg","Promise","reject","Error","watch","autoReplaceSvgRoot","autoReplace","parse","isArray","match","canonicalIcon","api","domVariants","abstractCreator","abstract","container","html","asIcon","main","mask","found","offset","asSymbol","symbol","makeInlineSvgAbstract","title","maskId","titleId","watchable","isUploadedIcon","attrClass","classes","content","role","uploadedIconWidthStyle","makeLayersTextAbstract","styleString","class","makeLayersCounterAbstract","styles$1","asFoundIcon","vectorData","fill","missingIconResolutionMixin","maybeNotifyMissing","console","error","findIcon","resolve","noop$1","p$2","preamble","begin","end","perf","noop$2","isWatched","hasPrefixAndIcon","hasBeenReplaced","contains","getMutator","mutators","mutator","createElementNS","convertSVG","abstractObj","ceFn","createTextNode","appendChild","nodeAsComment","comment","outerHTML","mutation","parentNode","createComment","replaceChild","remove","nest","forSvg","splitClasses","toSvg","toNode","removeAttribute","newInnerHTML","performOperationSync","op","perform","mutations","callback","callbackFunction","frame","requestAnimationFrame","disabled","disableObservation","enableObservation","mo","observe","options","treeCallback","nodeCallback","pseudoElementsCallback","observeMutationsRoot","objects","mutationRecord","type","addedNodes","childList","characterData","subtree","disconnect","styleParser","classParser","existingPrefix","existingIconName","innerText","firstChild","nodeType","Node","TEXT_NODE","data","attributesParser","extraAttributes","blankMeta","parseMeta","parser","extraClasses","pluginMeta","extraStyles","styles$2","generateMutation","nodeMeta","getKnownPrefixes","onTree","root","htmlClassList","hclAdd","suffix","add","hclRemove","prefixes","prefixesDomQuery","p$$1","candidates","querySelectorAll","all","then","resolvedMutations","catch","onNode","resolveIcons","next","maybeIconDefinition","iconDefinition","render","ReplaceElements","providers$$1","generateSvgReplacementMutation","generateAbstractIcon","nextChild","Layers","assembler","LayersCounter","LayersText","generateLayersText","computedFontSize","parseInt","getComputedStyle","fontSize","boundingClientRect","getBoundingClientRect","CLEAN_CONTENT_PATTERN","SECONDARY_UNICODE_RANGE","_FONT_FAMILY_WEIGHT_TO_PREFIX","FontAwesome","FONT_FAMILY_WEIGHT_TO_PREFIX","toLowerCase","FONT_FAMILY_WEIGHT_FALLBACK","fontFamily","weights","entries","hexValueFromContent","cleaned","codePoint","isPrependTen","isDoubled","isSecondary","getPrefix","fontWeight","fontFamilySanitized","fontWeightInteger","fontWeightSanitized","isNaN","replaceForPosition","position","pendingAttribute","alreadyProcessedPseudoElement","getPropertyValue","fontFamilyMatch","removeChild","hexValue","isV4","startsWith","iconIdentifier","iconName4","meta","processable","operations","PseudoElements","pseudoElements2svg","_unwatched","MutationObserver$1","parseTransformString","transformString","n","parseFloat","PowerTransforms","generateAbstractTransformGrouping","ALL_SPACE","fillBlack","force","deGroup","Masks","maskData","generateAbstractMask","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","MissingIconIndicator","reduceMotion","matchMedia","matches","missingIconAbstract","gChildren","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","dot","cx","cy","opacity","SvgSymbols","symbolData","plugins","config$1","library$1","parse$1","text","layer"],"mappings":";;;;;;AAKA,SAASA,EAAgBC,EAAGC,EAAGC,GAC7B,OAAQD,EAAIE,EAAeF,MAAOD,EAAII,OAAOC,eAAeL,EAAGC,EAAG,CAChEK,MAAOJ,EACPK,YAAY,EACZC,cAAc,EACdC,UAAU,IACPT,EAAEC,GAAKC,EAAGF,EAcjB,SAASU,EAAQV,EAAGC,GAClB,IAAIC,EAAIE,OAAOO,KAAKX,GACpB,GAAII,OAAOQ,sBAAuB,CAChC,IAAIC,EAAIT,OAAOQ,sBAAsBZ,GACrCC,IAAMY,EAAIA,EAAEC,QAAO,SAAUb,GAC3B,OAAOG,OAAOW,yBAAyBf,EAAGC,GAAGM,eAC1CL,EAAEc,KAAKC,MAAMf,EAAGW,GAEvB,OAAOX,EAET,SAASgB,EAAelB,GACtB,IAAK,IAAIC,EAAI,EAAGA,EAAIkB,UAAUC,OAAQnB,IAAK,CACzC,IAAIC,EAAI,MAAQiB,UAAUlB,GAAKkB,UAAUlB,GAAK,GAC9CA,EAAI,EAAIS,EAAQN,OAAOF,IAAI,GAAImB,SAAQ,SAAUpB,GAC/CF,EAAgBC,EAAGC,EAAGC,EAAED,OACrBG,OAAOkB,0BAA4BlB,OAAOmB,iBAAiBvB,EAAGI,OAAOkB,0BAA0BpB,IAAMQ,EAAQN,OAAOF,IAAImB,SAAQ,SAAUpB,GAC7IG,OAAOC,eAAeL,EAAGC,EAAGG,OAAOW,yBAAyBb,EAAGD,OAGnE,OAAOD,EAOT,SAASwB,EAAatB,EAAGD,GACvB,GAAI,iBAAmBC,IAAMA,EAAG,OAAOA,EACvC,IAAIF,EAAIE,EAAEuB,OAAOC,aACjB,QAAI,IAAW1B,EAAG,CAChB,IAAI2B,EAAI3B,EAAE4B,KAAK1B,EAAGD,GAAK,WACvB,GAAI,iBAAmB0B,EAAG,OAAOA,EACjC,MAAM,IAAIE,UAAU,gDAEtB,OAAQ,WAAa5B,EAAI6B,OAASC,QAAQ7B,GAE5C,SAASC,EAAeD,GACtB,IAAIyB,EAAIH,EAAatB,EAAG,UACxB,MAAO,iBAAmByB,EAAIA,EAAIA,EAAI,GA/DxC,+KAiHA,MAAMK,EAAO,OACb,IAAIC,EAAU,GACVC,EAAY,GACZC,EAAqB,KACrBC,EAAe,CACjBC,KAAML,EACNM,QAASN,GAEX,IACwB,qBAAXO,SAAwBN,EAAUM,QACrB,qBAAbC,WAA0BN,EAAYM,UACjB,qBAArBC,mBAAkCN,EAAqBM,kBACvC,qBAAhBC,cAA6BN,EAAeM,aACvD,MAAO1C,KACT,MAAM,UACJ2C,EAAY,IACVV,EAAQW,WAAa,GACnBC,EAASZ,EACTa,EAAWZ,EACXa,EAAoBZ,EACpBa,EAAcZ,EAEda,GADeJ,EAAOL,WACXM,EAASI,mBAAqBJ,EAASK,MAA6C,oBAA9BL,EAASM,kBAAqE,oBAA3BN,EAASO,eAC7HC,GAASX,EAAUY,QAAQ,UAAYZ,EAAUY,QAAQ,YAE/D,IAAIC,EAAI,mEACNC,EAAI,wGACFC,EAAI,CACJC,QAAS,CACPC,GAAI,QACJC,IAAK,QACL,WAAY,QACZC,IAAK,UACL,aAAc,UACdC,IAAK,QACL,WAAY,QACZC,IAAK,OACL,UAAW,OACXC,IAAK,SACL,YAAa,UAEfC,QAAS,CACPN,GAAI,QACJO,IAAK,QACL,WAAY,QACZ,aAAc,QACdC,KAAM,UACN,aAAc,UACdC,KAAM,QACN,WAAY,QACZC,KAAM,OACN,UAAW,QAEbC,MAAO,CACLX,GAAI,QACJY,KAAM,QACN,WAAY,QACZC,KAAM,UACN,aAAc,UACdC,KAAM,QACN,WAAY,QACZC,KAAM,OACN,UAAW,QAEb,gBAAiB,CACff,GAAI,QACJgB,MAAO,QACP,WAAY,QACZC,MAAO,UACP,aAAc,UACdC,MAAO,QACP,WAAY,QACZC,MAAO,OACP,UAAW,SAGfC,EAAI,CACFC,MAAO,gBACPC,aAAc,eACdC,QAAS,UACTC,UAAW,aAEbC,EAAI,CAAC,aAAc,aAAc,WAAY,oBAC3CC,EAAI,UACNpF,EAAI,UACJD,EAAI,QACJY,EAAI,gBACJ0E,EAAI,CAACD,EAAGpF,EAAGD,EAAGY,GACZ2E,EAAI,CACJ7B,QAAS,CACP8B,IAAK,MACLC,IAAK,MACLC,OAAQ,MACRC,IAAK,MACLC,IAAK,OAEP3B,QAAS,CACPuB,IAAK,MACLC,IAAK,OACLE,IAAK,OACLC,IAAK,QAEPtB,MAAO,CACLkB,IAAK,OACLC,IAAK,OACLE,IAAK,OACLC,IAAK,QAEP,gBAAiB,CACfJ,IAAK,QACLC,IAAK,QACLE,IAAK,QACLC,IAAK,UAGPC,EAAK,CACL,sBAAuB,CACrBL,IAAK,MACLC,IAAK,OAEP,qBAAsB,CACpBD,IAAK,MACLC,IAAK,MACLC,OAAQ,MACRC,IAAK,MACLC,IAAK,OAEP,wBAAyB,CACvBH,IAAK,MACLC,OAAQ,OAEV,yBAA0B,CACxBF,IAAK,MACLC,IAAK,OACLC,OAAQ,OACRC,IAAK,OACLC,IAAK,QAEP,uBAAwB,CACtBJ,IAAK,OACLC,IAAK,OACLC,OAAQ,OACRC,IAAK,OACLC,IAAK,QAEP,+BAAgC,CAC9BJ,IAAK,QACLC,IAAK,QACLC,OAAQ,QACRC,IAAK,QACLC,IAAK,UAGPE,EAAK,IAAIC,IAAI,CAAC,CAAC,UAAW,CAC1BC,qBAAsB,MACtBC,eAAgB,QAChBC,SAAU,CAAC,QAAS,UAAW,QAAS,OAAQ,UAChDC,eAAgB,GAChBC,kBAAmB,MACjB,CAAC,QAAS,CACZJ,qBAAsB,OACtBC,eAAgB,QAChBC,SAAU,CAAC,QAAS,UAAW,QAAS,QACxCC,eAAgB,GAChBC,kBAAmB,MACjB,CAAC,UAAW,CACdJ,qBAAsB,MACtBC,eAAgB,QAChBC,SAAU,CAAC,QAAS,UAAW,QAAS,QACxCC,eAAgB,GAChBC,kBAAmB,MACjB,CAAC,gBAAiB,CACpBJ,qBAAsB,QACtBC,eAAgB,QAChBC,SAAU,CAAC,QAAS,UAAW,QAAS,QACxCC,eAAgB,GAChBC,kBAAmB,QAErBC,EAAK,CACH3C,QAAS,CACP4C,MAAO,MACPC,QAAS,MACTC,MAAO,MACPC,KAAM,MACNC,OAAQ,OAEVzC,QAAS,CACPqC,MAAO,MACPC,QAAS,OACTC,MAAO,OACPC,KAAM,QAERnC,MAAO,CACLgC,MAAO,OACPC,QAAS,OACTC,MAAO,OACPC,KAAM,QAER,gBAAiB,CACfH,MAAO,QACPC,QAAS,QACTC,MAAO,QACPC,KAAM,UAGRE,EAAK,CAAC,MAAO,SAAU,OAAQ,kBACjCC,EAAK,CACHC,IAAK,CACHC,IAAK,MACL,SAAU,OAEZ,cAAe,CACbC,KAAM,cACN,iBAAkB,gBAGtBC,EAAK,CAAC,OACJC,EAAK,CACPJ,IAAK,CACH,SAAU,OAEZ,cAAe,CACb,iBAAkB,SAGlBK,EAAK,CAAC,MAAO,QACfC,EAAK,CACHN,IAAK,CACHC,IAAK,UAEP,cAAe,CACbC,KAAM,mBAGRK,EAAK,CACLP,IAAK,CACHA,IAAK,OAEP,cAAe,CACb,cAAe,SAIjBQ,EAAM,CACNrC,MAAO,gBACPC,aAAc,eACdC,QAAS,UACTC,UAAW,aAEbmC,EAAM,CAAC,aAAc,aAAc,WAAY,oBAC7CC,EAAO,CAAC,MAAO,SAAU,OAAQ,kBACjCC,EAAK,CACL,mBAAoB,CAClB/B,IAAK,MACLC,OAAQ,OAEV,2BAA4B,CAC1BD,IAAK,OACLC,OAAQ,SAGV+B,EAAK,CACL/D,QAAS,CACP,YAAa,MACb,aAAc,MACd,WAAY,MACZ,aAAc,MACd,WAAY,MACZ,UAAW,OAEbO,QAAS,CACP,aAAc,OACd,WAAY,OACZ,UAAW,QAEbK,MAAO,CACL,WAAY,OACZ,aAAc,OACd,WAAY,OACZ,UAAW,QAEb,gBAAiB,CACf,WAAY,QACZ,aAAc,QACd,WAAY,QACZ,UAAW,UAGfoD,EAAM,CACJhE,QAAS,CAAC,MAAO,MAAO,MAAO,MAAO,OACtCO,QAAS,CAAC,OAAQ,OAAQ,QAC1BK,MAAO,CAAC,OAAQ,OAAQ,OAAQ,QAChC,gBAAiB,CAAC,QAAS,QAAS,QAAS,UAE/CqD,EAAK,CACHjE,QAAS,CACPM,IAAK,YACLE,IAAK,aACLJ,IAAK,WACLD,IAAK,aACLD,IAAK,WACLG,IAAK,WAEPE,QAAS,CACPE,KAAM,aACNC,KAAM,WACNC,KAAM,WAERC,MAAO,CACLC,KAAM,WACNC,KAAM,aACNC,KAAM,WACNC,KAAM,WAER,gBAAiB,CACfC,MAAO,WACPC,MAAO,aACPC,MAAO,WACPC,MAAO,YAGX8C,EAAI,CAAC,WAAY,aAAc,WAAY,UAAW,aAAc,aACpEC,EAAK,CAAC,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,QAAS,QAAS,WAAYP,KAAQM,GAC7JE,EAAM,CAAC,QAAS,UAAW,QAAS,OAAQ,UAAW,UACvDC,EAAM,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAClCC,EAAMD,EAAIE,OAAO,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KACtDC,EAAK,IAAI/H,OAAOO,KAAKgH,MAASI,EAAK,MAAO,KAAM,KAAM,KAAM,KAAM,MAAO,OAAQ,SAAU,OAAQ,YAAa,SAAU,YAAa,kBAAmB,gBAAiB,OAAQ,KAAM,UAAW,iBAAkB,cAAe,SAAU,KAAM,YAAa,aAAc,QAAS,aAAc,aAAc,YAAa,YAAa,QAAS,aAAc,eAAgB,OAAQ,WAAY,WAAY,QAAS,KAAMT,EAAIrC,MAAOqC,EAAIpC,aAAcoC,EAAInC,QAASmC,EAAIlC,WAAW8C,OAAOF,EAAII,IAAIC,GAAK,GAAGH,OAAOG,EAAG,OAAOH,OAAOD,EAAIG,IAAIC,GAAK,KAAKH,OAAOG,KACpiBC,GAAK,CACL,sBAAuB,CACrB7C,IAAK,MACLC,IAAK,OAEP,qBAAsB,CACpBD,IAAK,MACLC,IAAK,MACLC,OAAQ,MACRC,IAAK,OAEP,wBAAyB,CACvBF,IAAK,MACLC,OAAQ,OAEV,yBAA0B,CACxBF,IAAK,QAIX,MAAM8C,GAAuB,qBACvBC,GAAgB,GAChBC,GAAqB,KACrBC,GAA4B,iBAC5BC,GAAgB,gBAChBC,GAAyB,yBACzBC,GAAiC,iCACjCC,GAAc,cACdC,GAAY,YACZC,GAA8B,oBAC9BC,GAA0B,QAC1BC,GAAsC,CAAC,OAAQ,OAAQ,QAAS,UAChEC,GAAa,MACjB,IACE,OAAO,EACP,MAAOC,GACP,OAAO,IAJQ,GAOnB,SAASC,GAAYC,GAEnB,OAAO,IAAIC,MAAMD,EAAK,CACpB,IAAIE,EAAQC,GACV,OAAOA,KAAQD,EAASA,EAAOC,GAAQD,EAAOlE,MAIpD,MAAMoE,GAAmBxI,EAAe,GAAIwC,GAK5CgG,GAAiBpE,GAAKpE,EAAeA,EAAeA,EAAeA,EAAe,GAAI,CACpF,aAAc,YACZwC,EAAE4B,IAAKuB,EAAG,QAASA,EAAG,gBAC1B,MAAM8C,GAAkBN,GAAYK,IAC9BE,GAAmB1I,EAAe,GAAIoF,GAI5CsD,GAAiBtE,GAAKpE,EAAeA,EAAeA,EAAeA,EAAe,GAAI,CACpFgD,QAAS,QACP0F,GAAiBtE,IAAK+B,EAAG,QAASA,EAAG,gBACzC,MAAMwC,GAAkBR,GAAYO,IAC9BE,GAAwB5I,EAAe,GAAI0G,GACjDkC,GAAsBxE,GAAKpE,EAAeA,EAAe,GAAI4I,GAAsBxE,IAAK8B,EAAG,QAC3F,MAAM2C,GAAuBV,GAAYS,IACnCE,GAAwB9I,EAAe,GAAIwG,GACjDsC,GAAsB1E,GAAKpE,EAAeA,EAAe,GAAI8I,GAAsB1E,IAAK4B,EAAG,QAC9DmC,GAAYW,IAAzC,MACMC,GAAgCzG,EAEhC0G,GAAwB,iBACxBC,GAAsB1G,EACtB2G,GAAyBlJ,EAAe,GAAIsE,GAE5C6E,IADwBhB,GAAYe,IACF,CAAC,QAAS,cAAe,YAAa,oBAAqB,iBAC7FE,GAAkBtF,EAClBuF,GAAmB,IAAItD,KAAOkB,GAE9BqC,GAAU3H,EAAO4H,mBAAqB,GAC5C,SAASC,GAAcC,GACrB,IAAIC,EAAU9H,EAAS+H,cAAc,UAAYF,EAAO,KACxD,GAAIC,EACF,OAAOA,EAAQE,aAAaH,GAGhC,SAASI,GAAOC,GAGd,MAAY,KAARA,GACQ,UAARA,IACQ,SAARA,GACGA,GAET,GAAIlI,GAA8C,oBAA3BA,EAAS+H,cAA8B,CAC5D,MAAMI,EAAQ,CAAC,CAAC,qBAAsB,gBAAiB,CAAC,kBAAmB,aAAc,CAAC,sBAAuB,iBAAkB,CAAC,qBAAsB,gBAAiB,CAAC,yBAA0B,oBAAqB,CAAC,wBAAyB,kBAAmB,CAAC,oBAAqB,cAAe,CAAC,iBAAkB,YAAa,CAAC,8BAA+B,wBAAyB,CAAC,yBAA0B,oBAAqB,CAAC,uBAAwB,kBAAmB,CAAC,4BAA6B,sBAAuB,CAAC,2BAA4B,sBAAuB,CAAC,0BAA2B,qBACvmBA,EAAM5J,QAAQ6J,IACZ,IAAKP,EAAMQ,GAAOD,EAClB,MAAMF,EAAMD,GAAOL,GAAcC,SACrBS,IAARJ,GAA6B,OAARA,IACvBR,GAAQW,GAAOH,KAIrB,MAAMK,GAAW,CACfC,aAAc,QACdC,cAAejG,EACfkG,UAAW/C,GACXgD,iBAAkB/C,GAClBgD,gBAAgB,EAChBC,YAAY,EACZC,UAAU,EACVC,sBAAsB,EACtBC,kBAAkB,EAClBC,eAAgB,QAChBC,oBAAoB,EACpBC,oBAAoB,EACpBC,kBAAkB,GAIhB1B,GAAQ2B,eACV3B,GAAQgB,UAAYhB,GAAQ2B,cAE9B,MAAMC,GAAUlL,EAAeA,EAAe,GAAImK,IAAWb,IACxD4B,GAAQV,iBAAgBU,GAAQN,kBAAmB,GACxD,MAAMO,GAAS,GACfjM,OAAOO,KAAK0K,IAAUhK,QAAQ8J,IAC5B/K,OAAOC,eAAegM,GAAQlB,EAAK,CACjC5K,YAAY,EACZ+L,IAAK,SAAUtB,GACboB,GAAQjB,GAAOH,EACfuB,GAAYlL,QAAQmL,GAAMA,EAAGH,MAE/BI,IAAK,WACH,OAAOL,GAAQjB,QAMrB/K,OAAOC,eAAegM,GAAQ,eAAgB,CAC5C9L,YAAY,EACZ+L,IAAK,SAAUtB,GACboB,GAAQZ,UAAYR,EACpBuB,GAAYlL,QAAQmL,GAAMA,EAAGH,MAE/BI,IAAK,WACH,OAAOL,GAAQZ,aAGnB3I,EAAO4H,kBAAoB4B,GAC3B,MAAME,GAAc,GACpB,SAASG,GAASF,GAEhB,OADAD,GAAYvL,KAAKwL,GACV,KACLD,GAAYI,OAAOJ,GAAYhJ,QAAQiJ,GAAK,IAIhD,MAAMI,GAAMpE,GACNqE,GAAuB,CAC3BC,KAAM,GACNjF,EAAG,EACHkF,EAAG,EACHC,OAAQ,EACRC,OAAO,EACPC,OAAO,GAET,SAASC,GAAUC,GACjB,IAAKA,IAAQnK,EACX,OAEF,MAAMoK,EAAQvK,EAASO,cAAc,SACrCgK,EAAMC,aAAa,OAAQ,YAC3BD,EAAME,UAAYH,EAClB,MAAMI,EAAe1K,EAASK,KAAKsK,WACnC,IAAIC,EAAc,KAClB,IAAK,IAAI/L,EAAI6L,EAAapM,OAAS,EAAGO,GAAK,EAAGA,IAAK,CACjD,MAAMgM,EAAQH,EAAa7L,GACrBiM,GAAWD,EAAMC,SAAW,IAAIC,cAClC,CAAC,QAAS,QAAQtK,QAAQqK,IAAY,IACxCF,EAAcC,GAIlB,OADA7K,EAASK,KAAK2K,aAAaT,EAAOK,GAC3BN,EAET,MAAMW,GAAS,iEACf,SAASC,KACP,IAAIlB,EAAO,GACPmB,EAAK,GACT,MAAOnB,KAAS,EACdmB,GAAMF,GAAuB,GAAhBG,KAAKC,SAAgB,GAEpC,OAAOF,EAET,SAASG,GAAQ9E,GACf,MAAM+E,EAAQ,GACd,IAAK,IAAI1M,GAAK2H,GAAO,IAAIlI,SAAW,EAAGO,KACrC0M,EAAM1M,GAAK2H,EAAI3H,GAEjB,OAAO0M,EAET,SAASC,GAAWC,GAClB,OAAIA,EAAKC,UACAJ,GAAQG,EAAKC,YAEZD,EAAKzD,aAAa,UAAY,IAAI2D,MAAM,KAAK3N,OAAOa,GAAKA,GAGrE,SAAS+M,GAAWC,GAClB,MAAO,GAAGzG,OAAOyG,GAAKC,QAAQ,KAAM,SAASA,QAAQ,KAAM,UAAUA,QAAQ,KAAM,SAASA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,QAElI,SAASC,GAAeC,GACtB,OAAO1O,OAAOO,KAAKmO,GAAc,IAAIC,OAAO,CAACC,EAAKC,IACzCD,EAAM,GAAG9G,OAAO+G,EAAe,MAAO/G,OAAOwG,GAAWI,EAAWG,IAAiB,MAC1F,IAAIC,OAET,SAASC,GAAWC,GAClB,OAAOhP,OAAOO,KAAKyO,GAAU,IAAIL,OAAO,CAACC,EAAKK,IACrCL,EAAM,GAAG9G,OAAOmH,EAAW,MAAMnH,OAAOkH,EAAOC,GAAWH,OAAQ,KACxE,IAEL,SAASI,GAAsBC,GAC7B,OAAOA,EAAUzC,OAASD,GAAqBC,MAAQyC,EAAU1H,IAAMgF,GAAqBhF,GAAK0H,EAAUxC,IAAMF,GAAqBE,GAAKwC,EAAUvC,SAAWH,GAAqBG,QAAUuC,EAAUtC,OAASsC,EAAUrC,MAE9N,SAASsC,GAAgBtE,GACvB,IAAI,UACFqE,EAAS,eACTE,EAAc,UACdC,GACExE,EACJ,MAAMyE,EAAQ,CACZJ,UAAW,aAAarH,OAAOuH,EAAiB,EAAG,UAE/CG,EAAiB,aAAa1H,OAAqB,GAAdqH,EAAU1H,EAAQ,MAAMK,OAAqB,GAAdqH,EAAUxC,EAAQ,MACtF8C,EAAa,SAAS3H,OAAOqH,EAAUzC,KAAO,IAAMyC,EAAUtC,OAAS,EAAI,GAAI,MAAM/E,OAAOqH,EAAUzC,KAAO,IAAMyC,EAAUrC,OAAS,EAAI,GAAI,MAC9I4C,EAAc,UAAU5H,OAAOqH,EAAUvC,OAAQ,SACjD+C,EAAQ,CACZR,UAAW,GAAGrH,OAAO0H,EAAgB,KAAK1H,OAAO2H,EAAY,KAAK3H,OAAO4H,IAErEE,EAAO,CACXT,UAAW,aAAarH,OAAOwH,EAAY,GAAK,EAAG,WAErD,MAAO,CACLC,QACAI,QACAC,QAGJ,SAASC,GAAgBC,GACvB,IAAI,UACFX,EAAS,MACTY,EAAQ3H,GAAa,OACrB4H,EAAS5H,GAAa,cACtB6H,GAAgB,GACdH,EACAlF,EAAM,GAUV,OAREA,GADEqF,GAAiB/M,EACZ,aAAa4E,OAAOqH,EAAU1H,EAAI+E,GAAMuD,EAAQ,EAAG,QAAQjI,OAAOqH,EAAUxC,EAAIH,GAAMwD,EAAS,EAAG,QAChGC,EACF,yBAAyBnI,OAAOqH,EAAU1H,EAAI+E,GAAK,qBAAqB1E,OAAOqH,EAAUxC,EAAIH,GAAK,SAElG,aAAa1E,OAAOqH,EAAU1H,EAAI+E,GAAK,QAAQ1E,OAAOqH,EAAUxC,EAAIH,GAAK,QAElF5B,GAAO,SAAS9C,OAAOqH,EAAUzC,KAAOF,IAAO2C,EAAUtC,OAAS,EAAI,GAAI,MAAM/E,OAAOqH,EAAUzC,KAAOF,IAAO2C,EAAUrC,OAAS,EAAI,GAAI,MAC1IlC,GAAO,UAAU9C,OAAOqH,EAAUvC,OAAQ,SACnChC,EAGT,IAAIsF,GAAa,wlZAEjB,SAASlD,KACP,MAAMmD,EAAM9H,GACN+H,EAAM9H,GACN+H,EAAKpE,GAAOb,UACZkF,EAAKrE,GAAOZ,iBAClB,IAAInG,EAAIgL,GACR,GAAIG,IAAOF,GAAOG,IAAOF,EAAK,CAC5B,MAAMG,EAAQ,IAAIC,OAAO,MAAM1I,OAAOqI,EAAK,OAAQ,KAC7CM,EAAiB,IAAID,OAAO,OAAO1I,OAAOqI,EAAK,OAAQ,KACvDO,EAAQ,IAAIF,OAAO,MAAM1I,OAAOsI,GAAM,KAC5ClL,EAAIA,EAAEsJ,QAAQ+B,EAAO,IAAIzI,OAAOuI,EAAI,MAAM7B,QAAQiC,EAAgB,KAAK3I,OAAOuI,EAAI,MAAM7B,QAAQkC,EAAO,IAAI5I,OAAOwI,IAEpH,OAAOpL,EAET,IAAIyL,IAAe,EACnB,SAASC,KACH3E,GAAOV,aAAeoF,KACxB5D,GAAUC,MACV2D,IAAe,GAGnB,IAAIE,GAAY,CACd,SACE,MAAO,CACLC,IAAK,CACH9D,OACAD,UAAW6D,MAIjB,QACE,MAAO,CACL,2BACEA,MAEF,cACEA,SAMR,MAAMG,GAAItO,GAAU,GACfsO,GAAE5I,MAAuB4I,GAAE5I,IAAwB,IACnD4I,GAAE5I,IAAsB6G,SAAQ+B,GAAE5I,IAAsB6G,OAAS,IACjE+B,GAAE5I,IAAsB6I,QAAOD,GAAE5I,IAAsB6I,MAAQ,IAC/DD,GAAE5I,IAAsB8I,QAAOF,GAAE5I,IAAsB8I,MAAQ,IACpE,IAAIC,GAAYH,GAAE5I,IAElB,MAAMgJ,GAAY,GACZC,GAAW,WACf1O,EAAS2O,oBAAoB,mBAAoBD,IACjDE,GAAS,EACTH,GAAUnJ,IAAIuJ,GAAMA,MAEtB,IAAID,IAAS,EAKb,SAASE,GAAUD,GACZ1O,IACLyO,GAASG,WAAWF,EAAI,GAAKJ,GAAUvQ,KAAK2Q,IAG9C,SAASG,GAAOC,GACd,MAAM,IACJC,EAAG,WACHlD,EAAa,GAAE,SACfmD,EAAW,IACTF,EACJ,MAA6B,kBAAlBA,EACFrD,GAAWqD,GAEX,IAAI7J,OAAO8J,EAAK,KAAK9J,OAAO2G,GAAeC,GAAa,KAAK5G,OAAO+J,EAAS7J,IAAI0J,IAAQI,KAAK,IAAK,MAAMhK,OAAO8J,EAAK,KAIhI,SAASG,GAAgBC,EAASC,EAAQC,GACxC,GAAIF,GAAWA,EAAQC,IAAWD,EAAQC,GAAQC,GAChD,MAAO,CACLD,SACAC,WACAC,KAAMH,EAAQC,GAAQC,IA3BxBrP,IACFyO,IAAU5O,EAASI,gBAAgBsP,SAAW,aAAe,iBAAiBC,KAAK3P,EAAS4P,YACvFhB,IAAQ5O,EAASM,iBAAiB,mBAAoBoO,KAkC7D,IAAImB,GAAgB,SAAuBC,EAAMC,GAC/C,OAAO,SAAUxK,EAAGyK,EAAGC,EAAGC,GACxB,OAAOJ,EAAKhR,KAAKiR,EAAaxK,EAAGyK,EAAGC,EAAGC,KAevCjE,GAAS,SAA0BkE,EAAStB,EAAIuB,EAAcL,GAChE,IAGElR,EACAwJ,EACAgI,EALExS,EAAOP,OAAOO,KAAKsS,GACrB7R,EAAST,EAAKS,OACdgS,OAA2BhI,IAAhByH,EAA4BF,GAAchB,EAAIkB,GAAelB,EAW1E,SAPqBvG,IAAjB8H,GACFvR,EAAI,EACJwR,EAASF,EAAQtS,EAAK,MAEtBgB,EAAI,EACJwR,EAASD,GAEJvR,EAAIP,EAAQO,IACjBwJ,EAAMxK,EAAKgB,GACXwR,EAASC,EAASD,EAAQF,EAAQ9H,GAAMA,EAAK8H,GAE/C,OAAOE,GA4BT,SAASE,GAAWC,GAClB,MAAMC,EAAS,GACf,IAAIC,EAAU,EACd,MAAMpS,EAASkS,EAAOlS,OACtB,MAAOoS,EAAUpS,EAAQ,CACvB,MAAMd,EAAQgT,EAAOG,WAAWD,KAChC,GAAIlT,GAAS,OAAUA,GAAS,OAAUkT,EAAUpS,EAAQ,CAC1D,MAAMsS,EAAQJ,EAAOG,WAAWD,KACR,QAAX,MAARE,GAEHH,EAAOvS,OAAe,KAARV,IAAkB,KAAe,KAARoT,GAAiB,QAExDH,EAAOvS,KAAKV,GACZkT,UAGFD,EAAOvS,KAAKV,GAGhB,OAAOiT,EAET,SAASI,GAAMC,GACb,MAAMC,EAAUR,GAAWO,GAC3B,OAA0B,IAAnBC,EAAQzS,OAAeyS,EAAQ,GAAGC,SAAS,IAAM,KAE1D,SAASC,GAAYT,EAAQU,GAC3B,MAAMlH,EAAOwG,EAAOlS,OACpB,IACI6S,EADAC,EAAQZ,EAAOG,WAAWO,GAE9B,OAAIE,GAAS,OAAUA,GAAS,OAAUpH,EAAOkH,EAAQ,IACvDC,EAASX,EAAOG,WAAWO,EAAQ,GAC/BC,GAAU,OAAUA,GAAU,OACN,MAAlBC,EAAQ,OAAkBD,EAAS,MAAS,MAGjDC,EAGT,SAASC,GAAeC,GACtB,OAAOhU,OAAOO,KAAKyT,GAAOrF,OAAO,CAACC,EAAKsD,KACrC,MAAMC,EAAO6B,EAAM9B,GACb+B,IAAa9B,EAAKA,KAMxB,OALI8B,EACFrF,EAAIuD,EAAKD,UAAYC,EAAKA,KAE1BvD,EAAIsD,GAAYC,EAEXvD,GACN,IAEL,SAASsF,GAAYjC,EAAQ+B,GAC3B,IAAIG,EAASpT,UAAUC,OAAS,QAAsBgK,IAAjBjK,UAAU,GAAmBA,UAAU,GAAK,GACjF,MAAM,UACJqT,GAAY,GACVD,EACEE,EAAaN,GAAeC,GACK,oBAA5B9C,GAAUF,MAAMsD,SAA2BF,EAGpDlD,GAAUlC,OAAOiD,GAAUnR,EAAeA,EAAe,GAAIoQ,GAAUlC,OAAOiD,IAAW,IAAKoC,GAF9FnD,GAAUF,MAAMsD,QAAQrC,EAAQ8B,GAAeC,IAWlC,QAAX/B,GACFiC,GAAY,KAAMF,GAItB,MAaM,OACJhF,GAAM,MACNiC,IACEC,GACEqD,GAAevU,OAAOO,KAAKoJ,IAC3B6K,GAAsBD,GAAa5F,OAAO,CAACC,EAAK6F,KACpD7F,EAAI6F,GAAYzU,OAAOO,KAAKoJ,GAAqB8K,IAC1C7F,GACN,IACH,IAAI8F,GAAuB,KACvBC,GAAa,GACbC,GAAc,GACdC,GAAa,GACbC,GAAgB,GAChBC,GAAW,GACf,SAASC,GAAWC,GAClB,OAAQ9K,GAAiBhH,QAAQ8R,GAEnC,SAASC,GAAY9J,EAAW+J,GAC9B,MAAMC,EAAQD,EAAI9G,MAAM,KAClB4D,EAASmD,EAAM,GACflD,EAAWkD,EAAMC,MAAM,GAAGvD,KAAK,KACrC,OAAIG,IAAW7G,GAA0B,KAAb8G,GAAoB8C,GAAW9C,GAGlD,KAFAA,EAKX,MAAMoD,GAAQ,KACZ,MAAMC,EAASC,GACN7G,GAAOK,GAAQ,CAACyG,EAAMxI,EAAOgF,KAClCwD,EAAKxD,GAAUtD,GAAO1B,EAAOuI,EAAS,IAC/BC,GACN,IAELd,GAAaY,EAAO,CAAC3G,EAAKuD,EAAMD,KAI9B,GAHIC,EAAK,KACPvD,EAAIuD,EAAK,IAAMD,GAEbC,EAAK,GAAI,CACX,MAAMuD,EAAUvD,EAAK,GAAGzR,OAAOiV,GACN,kBAATA,GAEhBD,EAAQzU,QAAQ2U,IACdhH,EAAIgH,EAAMlC,SAAS,KAAOxB,IAG9B,OAAOtD,IAETgG,GAAcW,EAAO,CAAC3G,EAAKuD,EAAMD,KAE/B,GADAtD,EAAIsD,GAAYA,EACZC,EAAK,GAAI,CACX,MAAMuD,EAAUvD,EAAK,GAAGzR,OAAOiV,GACN,kBAATA,GAEhBD,EAAQzU,QAAQ2U,IACdhH,EAAIgH,GAAS1D,IAGjB,OAAOtD,IAETmG,GAAWQ,EAAO,CAAC3G,EAAKuD,EAAMD,KAC5B,MAAMwD,EAAUvD,EAAK,GAKrB,OAJAvD,EAAIsD,GAAYA,EAChBwD,EAAQzU,QAAQ2U,IACdhH,EAAIgH,GAAS1D,IAERtD,IAKT,MAAMiH,EAAa,QAAS7G,IAAU/C,GAAO6J,aACvCC,EAAcpH,GAAOsC,GAAO,CAACrC,EAAKoH,KACtC,MAAMC,EAAwBD,EAAK,GACnC,IAAI/D,EAAS+D,EAAK,GAClB,MAAM9D,EAAW8D,EAAK,GAgBtB,MAfe,QAAX/D,GAAqB4D,IACvB5D,EAAS,OAE0B,kBAA1BgE,IACTrH,EAAIsH,MAAMD,GAAyB,CACjChE,SACAC,aAGiC,kBAA1B+D,IACTrH,EAAIuH,SAASF,EAAsBvC,SAAS,KAAO,CACjDzB,SACAC,aAGGtD,GACN,CACDsH,MAAO,GACPC,SAAU,KAEZtB,GAAakB,EAAYG,MACzBpB,GAAgBiB,EAAYI,SAC5BzB,GAAuB0B,GAAmBnK,GAAOf,aAAc,CAC7DmL,OAAQpK,GAAOd,iBASnB,SAASmL,GAAUrE,EAAQuB,GACzB,OAAQmB,GAAW1C,IAAW,IAAIuB,GAEpC,SAAS+C,GAAWtE,EAAQuE,GAC1B,OAAQ5B,GAAY3C,IAAW,IAAIuE,GAErC,SAASC,GAAQxE,EAAQ2D,GACvB,OAAQb,GAAS9C,IAAW,IAAI2D,GAElC,SAASc,GAAUzB,GACjB,OAAOJ,GAAWI,IAAS,CACzBhD,OAAQ,KACRC,SAAU,MAGd,SAASyE,GAAanD,GACpB,MAAMoD,EAAa9B,GAActB,GAC3BqD,EAAaP,GAAU,MAAO9C,GACpC,OAAOoD,IAAeC,EAAa,CACjC5E,OAAQ,MACRC,SAAU2E,GACR,OAAS,CACX5E,OAAQ,KACRC,SAAU,MAGd,SAAS4E,KACP,OAAOpC,GAjCTpI,GAASyK,IACPrC,GAAuB0B,GAAmBW,EAAK7L,aAAc,CAC3DmL,OAAQpK,GAAOd,kBAGnBmK,KA8BA,MAAM0B,GAAqB,KAClB,CACL/E,OAAQ,KACRC,SAAU,KACV+E,KAAM,KAGV,SAASC,GAAYC,GACnB,IAAId,EAASnR,EACb,MAAMkS,EAAW7C,GAAa5F,OAAO,CAACC,EAAK6F,KACzC7F,EAAI6F,GAAY,GAAG3M,OAAOmE,GAAOb,UAAW,KAAKtD,OAAO2M,GACjD7F,GACN,IAMH,OALAzJ,EAAElE,QAAQwT,KACJ0C,EAAOE,SAASD,EAAS3C,KAAc0C,EAAOG,KAAKC,GAAQ/C,GAAoBC,GAAU4C,SAASE,OACpGlB,EAAS5B,KAGN4B,EAET,SAASD,GAAmBoB,GAC1B,IAAIrD,EAASpT,UAAUC,OAAS,QAAsBgK,IAAjBjK,UAAU,GAAmBA,UAAU,GAAK,GACjF,MAAM,OACJsV,EAASnR,GACPiP,EACElH,EAAQ1D,GAAgB8M,GAAQmB,GAGtC,GAAInB,IAAWvW,IAAM0X,EACnB,MAAO,MAET,MAAMvF,EAASxI,GAAgB4M,GAAQmB,IAAkB/N,GAAgB4M,GAAQpJ,GAC3EwK,EAAUD,KAAiBtG,GAAUlC,OAASwI,EAAgB,KAC9DzE,EAASd,GAAUwF,GAAW,KACpC,OAAO1E,EAET,SAAS2E,GAAuBC,GAC9B,IAAIV,EAAO,GACP/E,EAAW,KASf,OARAyF,EAAW1W,QAAQkU,IACjB,MAAMpC,EAASmC,GAAYjJ,GAAOb,UAAW+J,GACzCpC,EACFb,EAAWa,EACFoC,GACT8B,EAAKrW,KAAKuU,KAGP,CACLjD,WACA+E,QAGJ,SAASW,GAAmBC,GAC1B,OAAOA,EAAIC,OAAOpX,OAAO,CAACR,EAAO0T,EAAOiE,IAC/BA,EAAI1U,QAAQjD,KAAW0T,GAGlC,SAASmE,GAAiBZ,GACxB,IAAIhD,EAASpT,UAAUC,OAAS,QAAsBgK,IAAjBjK,UAAU,GAAmBA,UAAU,GAAK,GACjF,MAAM,YACJiX,GAAc,GACZ7D,EACJ,IAAI8D,EAAc,KAClB,MAAMC,EAAoBxQ,EAAGI,OAAOV,GAC9B+Q,EAAyBP,GAAmBT,EAAOzW,OAAOyU,GAAO+C,EAAkBb,SAASlC,KAC5FiD,EAA0BR,GAAmBT,EAAOzW,OAAOyU,IAAQzN,EAAG2P,SAASlC,KAC/EkD,EAAWF,EAAuBzX,OAAOyU,IAC7C8C,EAAc9C,GACNlQ,EAAEoS,SAASlC,MAEdmD,EAAkB,MAAQD,EAC3BhC,EAASa,GAAYiB,GACrBI,EAAYzX,EAAeA,EAAe,GAAI4W,GAAuBU,IAA2B,GAAI,CACxGnG,OAAQmE,GAAmBkC,EAAiB,CAC1CjC,aAGJ,OAAOvV,EAAeA,EAAeA,EAAe,GAAIyX,GAAYC,GAA0B,CAC5FrB,SACAd,SACArH,UACA/C,UACAsM,YACAN,iBACGQ,GAAkBT,EAAaC,EAAaM,IAEnD,SAASE,GAAkBT,EAAaC,EAAaM,GACnD,IAAI,OACFtG,EAAM,SACNC,GACEqG,EACJ,GAAIP,IAAgB/F,IAAWC,EAC7B,MAAO,CACLD,SACAC,YAGJ,MAAM8D,EAAuB,OAAhBiC,EAAuBvB,GAAUxE,GAAY,GACpDwG,EAAgBjC,GAAQxE,EAAQC,GAQtC,OAPAA,EAAW8D,EAAK9D,UAAYwG,GAAiBxG,EAC7CD,EAAS+D,EAAK/D,QAAUA,EACT,QAAXA,GAAqBjD,GAAO,SAAUA,GAAO,QAAW/C,GAAO6J,eAGjE7D,EAAS,OAEJ,CACLA,SACAC,YAGJ,MAAMyG,GAAuBxT,EAAEzE,OAAO+T,GAC7BA,IAAavP,GAAKuP,IAAa3U,GAElC8Y,GAAqB5Y,OAAOO,KAAKiH,GAAI9G,OAAOqK,GAAOA,IAAQ7F,GAAG8C,IAAI+C,GAAO/K,OAAOO,KAAKiH,EAAGuD,KAAO8N,OACrG,SAASL,GAA0BM,GACjC,MAAM,OACJ3B,EAAM,OACNd,EAAM,UACNkC,EAAS,YACTN,EAAc,GAAE,OAChBjJ,EAAS,GACT/C,OAAQ8M,EAAY,IAClBD,EACEE,EAAkB3C,IAAWvW,EAC7BmZ,EAAmB9B,EAAOE,SAAS,eAAiBF,EAAOE,SAAS,OACpE6B,EAAqD,YAA5BH,EAAU5N,cACnCgO,EAAgD,QAArBZ,EAAUtG,QAAyC,eAArBsG,EAAUtG,OAOzE,IANK+G,IAAoBC,GAAoBC,GAA0BC,KACrEZ,EAAUtG,OAAS,QAEjBkF,EAAOE,SAAS,cAAgBF,EAAOE,SAAS,UAClDkB,EAAUtG,OAAS,QAEhBsG,EAAUtG,QAAU0G,GAAqBtB,SAAShB,GAAS,CAC9D,MAAM+C,EAAcpZ,OAAOO,KAAKyO,GAAQqK,KAAKtO,GAAO6N,GAAmBvB,SAAStM,IAChF,GAAIqO,GAAeL,EAAUjD,aAAc,CACzC,MAAMwD,EAAgB3T,EAAG0G,IAAIgK,GAAQxQ,qBACrC0S,EAAUtG,OAASqH,EACnBf,EAAUrG,SAAWuE,GAAQ8B,EAAUtG,OAAQsG,EAAUrG,WAAaqG,EAAUrG,UAQpF,MALyB,OAArBqG,EAAUtG,QAAmC,OAAhBgG,IAG/BM,EAAUtG,OAAS6E,MAA4B,OAE1CyB,EAGT,MAAMgB,GACJ,cACEC,KAAKC,YAAc,GAErB,MACE,IAAK,IAAIC,EAAO3Y,UAAUC,OAAQyY,EAAc,IAAIE,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IACtFH,EAAYG,GAAQ7Y,UAAU6Y,GAEhC,MAAMC,EAAYJ,EAAY9K,OAAO6K,KAAKM,iBAAkB,IAC5D9Z,OAAOO,KAAKsZ,GAAW5Y,QAAQ8J,IAC7ByO,KAAKC,YAAY1O,GAAOjK,EAAeA,EAAe,GAAI0Y,KAAKC,YAAY1O,IAAQ,IAAK8O,EAAU9O,IAClGmJ,GAAYnJ,EAAK8O,EAAU9O,IAG3B,MAAMgP,EAAapQ,GAAqBzE,GAAG6F,GACvCgP,GAAY7F,GAAY6F,EAAYF,EAAU9O,IAClDuK,OAGJ,QACEkE,KAAKC,YAAc,GAErB,iBAAiBI,EAAWG,GAC1B,MAAM3F,EAAa2F,EAAW/H,QAAU+H,EAAW9H,UAAY8H,EAAW7H,KAAO,CAC/E8H,EAAGD,GACDA,EAkBJ,OAjBAha,OAAOO,KAAK8T,GAAYrM,IAAI+C,IAC1B,MAAM,OACJkH,EAAM,SACNC,EAAQ,KACRC,GACEkC,EAAWtJ,GACT2K,EAAUvD,EAAK,GAChB0H,EAAU5H,KAAS4H,EAAU5H,GAAU,IACxCyD,EAAQ1U,OAAS,GACnB0U,EAAQzU,QAAQ2U,IACO,kBAAVA,IACTiE,EAAU5H,GAAQ2D,GAASzD,KAIjC0H,EAAU5H,GAAQC,GAAYC,IAEzB0H,GAIX,IAAIK,GAAW,GACXC,GAAS,GACb,MAAMC,GAAY,GACZC,GAAsBra,OAAOO,KAAK6Z,IACxC,SAASE,GAAgBC,EAAazP,GACpC,IACE0P,UAAWtR,GACT4B,EAoCJ,OAnCAoP,GAAWK,EACXJ,GAAS,GACTna,OAAOO,KAAK6Z,IAAWnZ,QAAQwZ,KACW,IAApCJ,GAAoBlX,QAAQsX,WACvBL,GAAUK,KAGrBP,GAASjZ,QAAQyZ,IACf,MAAMC,EAASD,EAAOC,OAASD,EAAOC,SAAW,GAcjD,GAbA3a,OAAOO,KAAKoa,GAAQ1Z,QAAQ2Z,IACA,oBAAfD,EAAOC,KAChB1R,EAAI0R,GAAMD,EAAOC,IAEO,kBAAfD,EAAOC,IAChB5a,OAAOO,KAAKoa,EAAOC,IAAK3Z,QAAQ4Z,IACzB3R,EAAI0R,KACP1R,EAAI0R,GAAM,IAEZ1R,EAAI0R,GAAIC,GAAMF,EAAOC,GAAIC,OAI3BH,EAAO1J,MAAO,CAChB,MAAMA,EAAQ0J,EAAO1J,QACrBhR,OAAOO,KAAKyQ,GAAO/P,QAAQ6Z,IACpBX,GAAOW,KACVX,GAAOW,GAAQ,IAEjBX,GAAOW,GAAMla,KAAKoQ,EAAM8J,MAGxBJ,EAAOK,UACTL,EAAOK,SAASX,MAGblR,EAET,SAAS8R,GAAWF,EAAMG,GACxB,IAAK,IAAIvB,EAAO3Y,UAAUC,OAAQka,EAAO,IAAIvB,MAAMD,EAAO,EAAIA,EAAO,EAAI,GAAIE,EAAO,EAAGA,EAAOF,EAAME,IAClGsB,EAAKtB,EAAO,GAAK7Y,UAAU6Y,GAE7B,MAAMuB,EAAUhB,GAAOW,IAAS,GAIhC,OAHAK,EAAQla,QAAQma,IACdH,EAAcG,EAAOva,MAAM,KAAM,CAACoa,KAAgBC,MAE7CD,EAET,SAASI,GAAUP,GACjB,IAAK,IAAIQ,EAAQva,UAAUC,OAAQka,EAAO,IAAIvB,MAAM2B,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGL,EAAKK,EAAQ,GAAKxa,UAAUwa,GAE9B,MAAMJ,EAAUhB,GAAOW,IAAS,GAChCK,EAAQla,QAAQma,IACdA,EAAOva,MAAM,KAAMqa,KAIvB,SAASM,KACP,MAAMV,EAAO/Z,UAAU,GACjBma,EAAOvB,MAAM8B,UAAUpG,MAAM7T,KAAKT,UAAW,GACnD,OAAOqZ,GAAUU,GAAQV,GAAUU,GAAMja,MAAM,KAAMqa,QAAQlQ,EAG/D,SAAS0Q,GAAmBC,GACA,OAAtBA,EAAW1J,SACb0J,EAAW1J,OAAS,OAEtB,IAAI,SACFC,GACEyJ,EACJ,MAAM1J,EAAS0J,EAAW1J,QAAU6E,KACpC,GAAK5E,EAEL,OADAA,EAAWuE,GAAQxE,EAAQC,IAAaA,EACjCH,GAAgB6J,GAAQnC,YAAaxH,EAAQC,IAAaH,GAAgBb,GAAUlC,OAAQiD,EAAQC,GAE7G,MAAM0J,GAAU,IAAIrC,GACdsC,GAAS,KACb5P,GAAOX,gBAAiB,EACxBW,GAAOP,kBAAmB,EAC1B2P,GAAU,WAENvK,GAAM,CACVgL,MAAO,WACL,IAAI3H,EAASpT,UAAUC,OAAS,QAAsBgK,IAAjBjK,UAAU,GAAmBA,UAAU,GAAK,GACjF,OAAI8B,GACFwY,GAAU,cAAelH,GACzBqH,GAAa,qBAAsBrH,GAC5BqH,GAAa,QAASrH,IAEtB4H,QAAQC,OAAO,IAAIC,MAAM,4CAGpCC,MAAO,WACL,IAAI/H,EAASpT,UAAUC,OAAS,QAAsBgK,IAAjBjK,UAAU,GAAmBA,UAAU,GAAK,GACjF,MAAM,mBACJob,GACEhI,GAC0B,IAA1BlI,GAAOX,iBACTW,GAAOX,gBAAiB,GAE1BW,GAAOP,kBAAmB,EAC1B8F,GAAS,KACP4K,GAAY,CACVD,uBAEFd,GAAU,QAASlH,OAInBkI,GAAQ,CACZlK,KAAMA,IACJ,GAAa,OAATA,EACF,OAAO,KAET,GAAoB,kBAATA,GAAqBA,EAAKF,QAAUE,EAAKD,SAClD,MAAO,CACLD,OAAQE,EAAKF,OACbC,SAAUuE,GAAQtE,EAAKF,OAAQE,EAAKD,WAAaC,EAAKD,UAG1D,GAAIyH,MAAM2C,QAAQnK,IAAyB,IAAhBA,EAAKnR,OAAc,CAC5C,MAAMkR,EAAsC,IAA3BC,EAAK,GAAGhP,QAAQ,OAAegP,EAAK,GAAGkD,MAAM,GAAKlD,EAAK,GAClEF,EAASmE,GAAmBjE,EAAK,IACvC,MAAO,CACLF,SACAC,SAAUuE,GAAQxE,EAAQC,IAAaA,GAG3C,GAAoB,kBAATC,IAAsBA,EAAKhP,QAAQ,GAAG2E,OAAOmE,GAAOb,UAAW,OAAS,GAAK+G,EAAKoK,MAAM1S,KAAiC,CAClI,MAAM2S,EAAgBzE,GAAiB5F,EAAK9D,MAAM,KAAM,CACtD2J,aAAa,IAEf,MAAO,CACL/F,OAAQuK,EAAcvK,QAAU6E,KAChC5E,SAAUuE,GAAQ+F,EAAcvK,OAAQuK,EAActK,WAAasK,EAActK,UAGrF,GAAoB,kBAATC,EAAmB,CAC5B,MAAMF,EAAS6E,KACf,MAAO,CACL7E,SACAC,SAAUuE,GAAQxE,EAAQE,IAASA,MAKrCsK,GAAM,CACVZ,UACA5P,UACA6E,OACAuL,SACAT,WACAF,sBACAhK,WAEI0K,GAAc,WAClB,IAAIjI,EAASpT,UAAUC,OAAS,QAAsBgK,IAAjBjK,UAAU,GAAmBA,UAAU,GAAK,GACjF,MAAM,mBACJob,EAAqBzZ,GACnByR,GACCnU,OAAOO,KAAK2Q,GAAUlC,QAAQhO,OAAS,GAAKiL,GAAO6J,eAAiBjT,GAAUoJ,GAAOX,gBAAgBmR,GAAI3L,IAAIgL,MAAM,CACtH3N,KAAMgO,KAIV,SAASO,GAAY9R,EAAK+R,GAiBxB,OAhBA3c,OAAOC,eAAe2K,EAAK,WAAY,CACrCyB,IAAKsQ,IAEP3c,OAAOC,eAAe2K,EAAK,OAAQ,CACjCyB,IAAK,WACH,OAAOzB,EAAIgS,SAAS5U,IAAIC,GAAKyJ,GAAOzJ,OAGxCjI,OAAOC,eAAe2K,EAAK,OAAQ,CACjCyB,IAAK,WACH,IAAKxJ,EAAQ,OACb,MAAMga,EAAYna,EAASO,cAAc,OAEzC,OADA4Z,EAAU1P,UAAYvC,EAAIkS,KACnBD,EAAUhL,YAGdjH,EAGT,SAASmS,GAAQjS,GACf,IAAI,SACF+G,EAAQ,KACRmL,EAAI,KACJC,EAAI,WACJvO,EAAU,OACVM,EAAM,UACNG,GACErE,EACJ,GAAIoE,GAAsBC,IAAc6N,EAAKE,QAAUD,EAAKC,MAAO,CACjE,MAAM,MACJnN,EAAK,OACLC,GACEgN,EACEG,EAAS,CACb1V,EAAGsI,EAAQC,EAAS,EACpBrD,EAAG,IAEL+B,EAAW,SAAWK,GAAWjO,EAAeA,EAAe,GAAIkO,GAAS,GAAI,CAC9E,mBAAoB,GAAGlH,OAAOqV,EAAO1V,EAAI0H,EAAU1H,EAAI,GAAI,OAAOK,OAAOqV,EAAOxQ,EAAIwC,EAAUxC,EAAI,GAAI,SAG1G,MAAO,CAAC,CACNiF,IAAK,MACLlD,aACAmD,aAIJ,SAASuL,GAAUtS,GACjB,IAAI,OACFmH,EAAM,SACNC,EAAQ,SACRL,EAAQ,WACRnD,EAAU,OACV2O,GACEvS,EACJ,MAAM+C,GAAgB,IAAXwP,EAAkB,GAAGvV,OAAOmK,EAAQ,KAAKnK,OAAOmE,GAAOb,UAAW,KAAKtD,OAAOoK,GAAYmL,EACrG,MAAO,CAAC,CACNzL,IAAK,MACLlD,WAAY,CACVzB,MAAO,kBAET4E,SAAU,CAAC,CACTD,IAAK,SACLlD,WAAY5N,EAAeA,EAAe,GAAI4N,GAAa,GAAI,CAC7Db,OAEFgE,eAKN,SAASyL,GAAsBnJ,GAC7B,MACEH,OAAO,KACLgJ,EAAI,KACJC,GACD,OACDhL,EAAM,SACNC,EAAQ,UACR/C,EAAS,OACTkO,EAAM,MACNE,EAAK,OACLC,EAAM,QACNC,EAAO,MACPnK,EAAK,UACLoK,GAAY,GACVvJ,GACE,MACJpE,EAAK,OACLC,GACEiN,EAAKC,MAAQD,EAAOD,EAClBW,EAAiB5W,EAAGsQ,SAASpF,GAC7B2L,EAAY,CAAC3R,GAAOZ,iBAAkB6G,EAAW,GAAGpK,OAAOmE,GAAOb,UAAW,KAAKtD,OAAOoK,GAAY,IAAIxR,OAAOqW,IAAyC,IAAjCzD,EAAMuK,QAAQ1a,QAAQ4T,IAAcrW,OAAOqW,GAAiB,KAATA,KAAiBA,GAAMjP,OAAOwL,EAAMuK,SAAS/L,KAAK,KACnO,IAAIgM,EAAU,CACZjM,SAAU,GACVnD,WAAY5N,EAAeA,EAAe,GAAIwS,EAAM5E,YAAa,GAAI,CACnE,cAAeuD,EACf,YAAaC,EACb,MAAS0L,EACT,KAAQtK,EAAM5E,WAAWqP,MAAQ,MACjC,MAAS,6BACT,QAAW,OAAOjW,OAAOiI,EAAO,KAAKjI,OAAOkI,MAGhD,MAAMgO,EAAyBL,KAAoBrK,EAAMuK,QAAQ1a,QAAQ,SAAW,CAClF4M,MAAO,GAAGjI,OAAOiI,EAAQC,EAAS,GAAK,MAAQ,OAC7C,GACA0N,IACFI,EAAQpP,WAAWnG,IAAiB,IAElCgV,IACFO,EAAQjM,SAASjR,KAAK,CACpBgR,IAAK,QACLlD,WAAY,CACVb,GAAIiQ,EAAQpP,WAAW,oBAAsB,SAAS5G,OAAO2V,GAAW7P,OAE1EiE,SAAU,CAAC0L,YAENO,EAAQpP,WAAW6O,OAE5B,MAAMrC,EAAOpa,EAAeA,EAAe,GAAIgd,GAAU,GAAI,CAC3D7L,SACAC,WACA8K,OACAC,OACAO,SACArO,YACAkO,SACArO,OAAQlO,EAAeA,EAAe,GAAIkd,GAAyB1K,EAAMtE,WAErE,SACJ6C,EAAQ,WACRnD,GACEuO,EAAKC,OAASF,EAAKE,MAAQ1B,GAAa,uBAAwBN,IAAS,CAC3ErJ,SAAU,GACVnD,WAAY,IACV8M,GAAa,uBAAwBN,IAAS,CAChDrJ,SAAU,GACVnD,WAAY,IAId,OAFAwM,EAAKrJ,SAAWA,EAChBqJ,EAAKxM,WAAaA,EACd2O,EACKD,GAASlC,GAET6B,GAAO7B,GAGlB,SAAS+C,GAAuB9J,GAC9B,MAAM,QACJ2J,EAAO,MACP/N,EAAK,OACLC,EAAM,UACNb,EAAS,MACToO,EAAK,MACLjK,EAAK,UACLoK,GAAY,GACVvJ,EACEzF,EAAa5N,EAAeA,EAAeA,EAAe,GAAIwS,EAAM5E,YAAa6O,EAAQ,CAC7F,MAASA,GACP,IAAK,GAAI,CACX,MAASjK,EAAMuK,QAAQ/L,KAAK,OAE1B4L,IACFhP,EAAWnG,IAAiB,IAE9B,MAAMyG,EAASlO,EAAe,GAAIwS,EAAMtE,QACpCE,GAAsBC,KACxBH,EAAO,aAAea,GAAgB,CACpCV,YACAc,eAAe,EACfF,QACAC,WAEFhB,EAAO,qBAAuBA,EAAO,cAEvC,MAAMkP,EAAcnP,GAAWC,GAC3BkP,EAAYld,OAAS,IACvB0N,EAAW,SAAWwP,GAExB,MAAMtT,EAAM,GAeZ,OAdAA,EAAIhK,KAAK,CACPgR,IAAK,OACLlD,aACAmD,SAAU,CAACiM,KAETP,GACF3S,EAAIhK,KAAK,CACPgR,IAAK,OACLlD,WAAY,CACVyP,MAAO,WAETtM,SAAU,CAAC0L,KAGR3S,EAET,SAASwT,GAA0BjK,GACjC,MAAM,QACJ2J,EAAO,MACPP,EAAK,MACLjK,GACEa,EACEzF,EAAa5N,EAAeA,EAAeA,EAAe,GAAIwS,EAAM5E,YAAa6O,EAAQ,CAC7F,MAASA,GACP,IAAK,GAAI,CACX,MAASjK,EAAMuK,QAAQ/L,KAAK,OAExBoM,EAAcnP,GAAWuE,EAAMtE,QACjCkP,EAAYld,OAAS,IACvB0N,EAAW,SAAWwP,GAExB,MAAMtT,EAAM,GAeZ,OAdAA,EAAIhK,KAAK,CACPgR,IAAK,OACLlD,aACAmD,SAAU,CAACiM,KAETP,GACF3S,EAAIhK,KAAK,CACPgR,IAAK,OACLlD,WAAY,CACVyP,MAAO,WAETtM,SAAU,CAAC0L,KAGR3S,EAGT,MACEoE,OAAQqP,IACNnN,GACJ,SAASoN,GAAYnM,GACnB,MAAMpC,EAAQoC,EAAK,GACbnC,EAASmC,EAAK,IACboM,GAAcpM,EAAKkD,MAAM,GAChC,IAAI7K,EAAU,KAgCd,OA9BEA,EADEmP,MAAM2C,QAAQiC,GACN,CACR3M,IAAK,IACLlD,WAAY,CACVyP,MAAO,GAAGrW,OAAOmE,GAAOb,UAAW,KAAKtD,OAAOoC,GAAgBrF,QAEjEgN,SAAU,CAAC,CACTD,IAAK,OACLlD,WAAY,CACVyP,MAAO,GAAGrW,OAAOmE,GAAOb,UAAW,KAAKtD,OAAOoC,GAAgBlF,WAC/DwZ,KAAM,eACN5L,EAAG2L,EAAW,KAEf,CACD3M,IAAK,OACLlD,WAAY,CACVyP,MAAO,GAAGrW,OAAOmE,GAAOb,UAAW,KAAKtD,OAAOoC,GAAgBnF,SAC/DyZ,KAAM,eACN5L,EAAG2L,EAAW,OAKV,CACR3M,IAAK,OACLlD,WAAY,CACV8P,KAAM,eACN5L,EAAG2L,IAIF,CACLrB,OAAO,EACPnN,QACAC,SACAmC,KAAM3H,GAGV,MAAMiU,GAA6B,CACjCvB,OAAO,EACPnN,MAAO,IACPC,OAAQ,KAEV,SAAS0O,GAAmBxM,EAAUD,GAC/BlJ,IAAekD,GAAOH,mBAAoBoG,GAC7CyM,QAAQC,MAAM,mBAAoB9W,OAAOoK,EAAU,kBAAoBpK,OAAOmK,EAAQ,kBAG1F,SAAS4M,GAAS3M,EAAUD,GAC1B,IAAIgG,EAAchG,EAIlB,MAHe,OAAXA,GAA2C,OAAxBhG,GAAOf,eAC5B+G,EAAS6E,MAEJ,IAAIiF,QAAQ,CAAC+C,EAAS9C,KAC3B,GAAoB,OAAhB/D,EAAsB,CACxB,MAAMjC,EAAOU,GAAUxE,IAAa,GACpCA,EAAW8D,EAAK9D,UAAYA,EAC5BD,EAAS+D,EAAK/D,QAAUA,EAE1B,GAAIC,GAAYD,GAAUoM,GAASpM,IAAWoM,GAASpM,GAAQC,GAAW,CACxE,MAAMC,EAAOkM,GAASpM,GAAQC,GAC9B,OAAO4M,EAAQR,GAAYnM,IAE7BuM,GAAmBxM,EAAUD,GAC7B6M,EAAQhe,EAAeA,EAAe,GAAI2d,IAA6B,GAAI,CACzEtM,KAAMlG,GAAOH,kBAAoBoG,GAAWsJ,GAAa,wBAA+B,QAK9F,MAAMuD,GAAS,OACTC,GAAM/S,GAAOJ,oBAAsBjJ,GAAeA,EAAYX,MAAQW,EAAYV,QAAUU,EAAc,CAC9GX,KAAM8c,GACN7c,QAAS6c,IAELE,GAAW,aACXC,GAAQjK,IACZ+J,GAAI/c,KAAK,GAAG6F,OAAOmX,GAAU,KAAKnX,OAAOmN,EAAM,YACxC,IAAMkK,GAAIlK,IAEbkK,GAAMlK,IACV+J,GAAI/c,KAAK,GAAG6F,OAAOmX,GAAU,KAAKnX,OAAOmN,EAAM,UAC/C+J,GAAI9c,QAAQ,GAAG4F,OAAOmX,GAAU,KAAKnX,OAAOmN,GAAO,GAAGnN,OAAOmX,GAAU,KAAKnX,OAAOmN,EAAM,WAAY,GAAGnN,OAAOmX,GAAU,KAAKnX,OAAOmN,EAAM,WAE7I,IAAImK,GAAO,CACTF,SACAC,QAGF,MAAME,GAAS,OACf,SAASC,GAAUnR,GACjB,MAAM2N,EAAQ3N,EAAKzD,aAAeyD,EAAKzD,aAAanC,IAAiB,KACrE,MAAwB,kBAAVuT,EAEhB,SAASyD,GAAiBpR,GACxB,MAAM8D,EAAS9D,EAAKzD,aAAeyD,EAAKzD,aAAahC,IAAe,KAC9DyJ,EAAOhE,EAAKzD,aAAeyD,EAAKzD,aAAa/B,IAAa,KAChE,OAAOsJ,GAAUE,EAEnB,SAASqN,GAAgBrR,GACvB,OAAOA,GAAQA,EAAKC,WAAaD,EAAKC,UAAUqR,UAAYtR,EAAKC,UAAUqR,SAASxT,GAAOZ,kBAE7F,SAASqU,KACP,IAA8B,IAA1BzT,GAAOX,eACT,OAAOqU,GAASnR,QAElB,MAAMoR,EAAUD,GAAS1T,GAAOX,gBAChC,OAAOsU,GAAWD,GAASnR,QAE7B,SAASqR,GAAgBjO,GACvB,OAAOlP,EAASmd,gBAAgB,6BAA8BjO,GAEhE,SAAS3O,GAAc2O,GACrB,OAAOlP,EAASO,cAAc2O,GAEhC,SAASkO,GAAWC,GAClB,IAAI5L,EAASpT,UAAUC,OAAS,QAAsBgK,IAAjBjK,UAAU,GAAmBA,UAAU,GAAK,GACjF,MAAM,KACJif,GAA2B,QAApBD,EAAYnO,IAAgBiO,GAAkB5c,KACnDkR,EACJ,GAA2B,kBAAhB4L,EACT,OAAOrd,EAASud,eAAeF,GAEjC,MAAMnO,EAAMoO,EAAKD,EAAYnO,KAC7B5R,OAAOO,KAAKwf,EAAYrR,YAAc,IAAIzN,SAAQ,SAAU8J,GAC1D6G,EAAI1E,aAAanC,EAAKgV,EAAYrR,WAAW3D,OAE/C,MAAM8G,EAAWkO,EAAYlO,UAAY,GAMzC,OALAA,EAAS5Q,SAAQ,SAAUsM,GACzBqE,EAAIsO,YAAYJ,GAAWvS,EAAO,CAChCyS,aAGGpO,EAET,SAASuO,GAAchS,GACrB,IAAIiS,EAAU,IAAItY,OAAOqG,EAAKkS,UAAW,KAIzC,OAFAD,EAAU,GAAGtY,OAAOsY,EAAS,iCAEtBA,EAET,MAAMT,GAAW,CACfnR,QAAS,SAAU8R,GACjB,MAAMnS,EAAOmS,EAAS,GACtB,GAAInS,EAAKoS,WAIP,GAHAD,EAAS,GAAGrf,QAAQ2b,IAClBzO,EAAKoS,WAAW7S,aAAaoS,GAAWlD,GAAWzO,KAEZ,OAArCA,EAAKzD,aAAanC,KAA2B0D,GAAOL,mBAAoB,CAC1E,IAAIwU,EAAU1d,EAAS8d,cAAcL,GAAchS,IACnDA,EAAKoS,WAAWE,aAAaL,EAASjS,QAEtCA,EAAKuS,UAIXC,KAAM,SAAUL,GACd,MAAMnS,EAAOmS,EAAS,GAChB1D,EAAW0D,EAAS,GAI1B,IAAKpS,GAAWC,GAAMhL,QAAQ8I,GAAOZ,kBACnC,OAAOsU,GAASnR,QAAQ8R,GAE1B,MAAMM,EAAS,IAAIpQ,OAAO,GAAG1I,OAAOmE,GAAOb,UAAW,QAEtD,UADOwR,EAAS,GAAGlO,WAAWb,GAC1B+O,EAAS,GAAGlO,WAAWyP,MAAO,CAChC,MAAM0C,EAAejE,EAAS,GAAGlO,WAAWyP,MAAM9P,MAAM,KAAKM,OAAO,CAACC,EAAKuG,KACpEA,IAAQlJ,GAAOZ,kBAAoB8J,EAAIoH,MAAMqE,GAC/ChS,EAAIkS,MAAMlgB,KAAKuU,GAEfvG,EAAImS,OAAOngB,KAAKuU,GAEXvG,GACN,CACDmS,OAAQ,GACRD,MAAO,KAETlE,EAAS,GAAGlO,WAAWyP,MAAQ0C,EAAaC,MAAMhP,KAAK,KACpB,IAA/B+O,EAAaE,OAAO/f,OACtBmN,EAAK6S,gBAAgB,SAErB7S,EAAKjB,aAAa,QAAS2T,EAAaE,OAAOjP,KAAK,MAGxD,MAAMmP,EAAerE,EAAS5U,IAAIC,GAAKyJ,GAAOzJ,IAAI6J,KAAK,MACvD3D,EAAKjB,aAAa3E,GAAe,IACjC4F,EAAKhB,UAAY8T,IAGrB,SAASC,GAAqBC,GAC5BA,IAEF,SAASC,GAAQC,EAAWC,GAC1B,MAAMC,EAAuC,oBAAbD,EAA0BA,EAAWjC,GACrE,GAAyB,IAArBgC,EAAUrgB,OACZugB,QACK,CACL,IAAIC,EAAQN,GACRjV,GAAON,iBAAmB9C,KAC5B2Y,EAAQ/e,EAAOgf,uBAAyBP,IAE1CM,EAAM,KACJ,MAAM5B,EAAUF,KACVzd,EAAOmd,GAAKF,MAAM,UACxBmC,EAAUrZ,IAAI4X,GACd3d,IACAsf,OAIN,IAAIG,IAAW,EACf,SAASC,KACPD,IAAW,EAEb,SAASE,KACPF,IAAW,EAEb,IAAIG,GAAK,KACT,SAASC,GAAQC,GACf,IAAKpf,EACH,OAEF,IAAKsJ,GAAOP,iBACV,OAEF,MAAM,aACJsW,EAAe3C,GAAM,aACrB4C,EAAe5C,GAAM,uBACrB6C,EAAyB7C,GAAM,qBAC/B8C,EAAuBzf,GACrBqf,EACJF,GAAK,IAAIlf,EAAkByf,IACzB,GAAIV,GAAU,OACd,MAAMpI,EAAgBxC,KACtB9I,GAAQoU,GAASnhB,QAAQohB,IAUvB,GAT4B,cAAxBA,EAAeC,MAAwBD,EAAeE,WAAWvhB,OAAS,IAAMse,GAAU+C,EAAeE,WAAW,MAClHtW,GAAOR,sBACTyW,EAAuBG,EAAejZ,QAExC4Y,EAAaK,EAAejZ,SAEF,eAAxBiZ,EAAeC,MAAyBD,EAAejZ,OAAOmX,YAActU,GAAOR,sBACrFyW,EAAuBG,EAAejZ,OAAOmX,YAEnB,eAAxB8B,EAAeC,MAAyBhD,GAAU+C,EAAejZ,UAAYa,GAAgC9G,QAAQkf,EAAexT,eACtI,GAAqC,UAAjCwT,EAAexT,eAA6B0Q,GAAiB8C,EAAejZ,QAAS,CACvF,MAAM,OACJ6I,EAAM,SACNC,GACE6F,GAAiB7J,GAAWmU,EAAejZ,SAC/CiZ,EAAejZ,OAAO8D,aAAaxE,GAAauJ,GAAUqH,GACtDpH,GAAUmQ,EAAejZ,OAAO8D,aAAavE,GAAWuJ,QACnDsN,GAAgB6C,EAAejZ,SACxC6Y,EAAaI,EAAejZ,YAK/BvG,GACLgf,GAAGC,QAAQK,EAAsB,CAC/BK,WAAW,EACX9T,YAAY,EACZ+T,eAAe,EACfC,SAAS,IAGb,SAASC,KACFd,IACLA,GAAGc,aAGL,SAASC,GAAazU,GACpB,MAAMlB,EAAQkB,EAAKzD,aAAa,SAChC,IAAIE,EAAM,GAYV,OAXIqC,IACFrC,EAAMqC,EAAMoB,MAAM,KAAKM,OAAO,CAACC,EAAK3B,KAClC,MAAM+B,EAAS/B,EAAMoB,MAAM,KACrBhF,EAAO2F,EAAO,GACd9O,EAAQ8O,EAAOqG,MAAM,GAI3B,OAHIhM,GAAQnJ,EAAMc,OAAS,IACzB4N,EAAIvF,GAAQnJ,EAAM4R,KAAK,KAAKhD,QAEvBF,GACN,KAEEhE,EAGT,SAASiY,GAAa1U,GACpB,MAAM2U,EAAiB3U,EAAKzD,aAAa,eACnCqY,EAAmB5U,EAAKzD,aAAa,aACrCsY,OAA+BhY,IAAnBmD,EAAK6U,UAA0B7U,EAAK6U,UAAUlU,OAAS,GACzE,IAAIlE,EAAMmN,GAAiB7J,GAAWC,IAQtC,OAPKvD,EAAIqH,SACPrH,EAAIqH,OAAS6E,MAEXgM,GAAkBC,IACpBnY,EAAIqH,OAAS6Q,EACblY,EAAIsH,SAAW6Q,GAEbnY,EAAIsH,UAAYtH,EAAIqH,SAGpBrH,EAAIqH,QAAU+Q,EAAUhiB,OAAS,IACnC4J,EAAIsH,SAAWqE,GAAW3L,EAAIqH,OAAQ9D,EAAK6U,YAAc1M,GAAU1L,EAAIqH,OAAQsB,GAAMpF,EAAK6U,cAEvFpY,EAAIsH,UAAYjG,GAAO6J,cAAgB3H,EAAK8U,YAAc9U,EAAK8U,WAAWC,WAAaC,KAAKC,YAC/FxY,EAAIsH,SAAW/D,EAAK8U,WAAWI,OANxBzY,EAWX,SAAS0Y,GAAkBnV,GACzB,MAAMoV,EAAkBvV,GAAQG,EAAKO,YAAYC,OAAO,CAACC,EAAKrE,KAC3C,UAAbqE,EAAIqG,MAAiC,UAAbrG,EAAIqG,OAC9BrG,EAAIrE,EAAK0K,MAAQ1K,EAAKrK,OAEjB0O,GACN,IACG2O,EAAQpP,EAAKzD,aAAa,SAC1B+S,EAAUtP,EAAKzD,aAAa,oBASlC,OARIuB,GAAOT,WACL+R,EACFgG,EAAgB,mBAAqB,GAAGzb,OAAOmE,GAAOZ,iBAAkB,WAAWvD,OAAO2V,GAAW7P,OAErG2V,EAAgB,eAAiB,OACjCA,EAAgB,aAAe,UAG5BA,EAGT,SAASC,KACP,MAAO,CACLtR,SAAU,KACVqL,MAAO,KACPE,QAAS,KACTxL,OAAQ,KACR9C,UAAW1C,GACX4Q,QAAQ,EACRJ,KAAM,CACJ/K,SAAU,KACVD,OAAQ,KACRgF,KAAM,IAERuG,OAAQ,KACRlK,MAAO,CACLuK,QAAS,GACT7O,OAAQ,GACRN,WAAY,KAIlB,SAAS+U,GAAUtV,GACjB,IAAIuV,EAAS3iB,UAAUC,OAAS,QAAsBgK,IAAjBjK,UAAU,GAAmBA,UAAU,GAAK,CAC/E6hB,aAAa,GAEf,MAAM,SACJ1Q,EAAQ,OACRD,EACAgF,KAAM0M,GACJd,GAAY1U,GACVoV,EAAkBD,GAAiBnV,GACnCyV,EAAa5I,GAAW,sBAAuB,GAAI7M,GACzD,IAAI0V,EAAcH,EAAOd,YAAcA,GAAYzU,GAAQ,GAC3D,OAAOrN,EAAe,CACpBoR,WACAqL,MAAOpP,EAAKzD,aAAa,SACzB+S,QAAStP,EAAKzD,aAAa,oBAC3BuH,SACA9C,UAAW1C,GACXwQ,KAAM,CACJ/K,SAAU,KACVD,OAAQ,KACRgF,KAAM,IAERuG,OAAQ,KACRH,QAAQ,EACR/J,MAAO,CACLuK,QAAS8F,EACT3U,OAAQ6U,EACRnV,WAAY6U,IAEbK,GAGL,MACE5U,OAAQ8U,IACN5S,GACJ,SAAS6S,GAAiB5V,GACxB,MAAM6V,EAAqC,SAA1B/X,GAAOX,eAA4BmY,GAAUtV,EAAM,CAClEyU,aAAa,IACVa,GAAUtV,GACf,OAAK6V,EAAS1Q,MAAMuK,QAAQ1a,QAAQ2G,IAC3B0R,GAAa,qBAAsBrN,EAAM6V,GAEzCxI,GAAa,iCAAkCrN,EAAM6V,GAGhE,SAASC,KACP,MAAO,IAAIzd,KAAOkB,GAEpB,SAASwc,GAAOC,GACd,IAAI7C,EAAWvgB,UAAUC,OAAS,QAAsBgK,IAAjBjK,UAAU,GAAmBA,UAAU,GAAK,KACnF,IAAK8B,EAAQ,OAAOkZ,QAAQ+C,UAC5B,MAAMsF,EAAgB1hB,EAASI,gBAAgBsL,UACzCiW,EAASC,GAAUF,EAAcG,IAAI,GAAGzc,OAAOc,GAA6B,KAAKd,OAAOwc,IACxFE,EAAYF,GAAUF,EAAc1D,OAAO,GAAG5Y,OAAOc,GAA6B,KAAKd,OAAOwc,IAC9FG,EAAWxY,GAAO6J,aAAemO,KAAqBhf,EAAE6C,OAAO9H,OAAOO,KAAKujB,KAC5EW,EAASpN,SAAS,OACrBoN,EAAS7jB,KAAK,MAEhB,MAAM8jB,EAAmB,CAAC,IAAI5c,OAAOgC,GAAuB,UAAUhC,OAAOS,GAAe,OAAOT,OAAO2c,EAASzc,IAAI2c,GAAQ,IAAI7c,OAAO6c,EAAM,UAAU7c,OAAOS,GAAe,QAAQuJ,KAAK,MAC7L,GAAgC,IAA5B4S,EAAiB1jB,OACnB,OAAO+a,QAAQ+C,UAEjB,IAAI8F,EAAa,GACjB,IACEA,EAAa5W,GAAQmW,EAAKU,iBAAiBH,IAC3C,MAAO1b,IAGT,KAAI4b,EAAW5jB,OAAS,GAItB,OAAO+a,QAAQ+C,UAHfuF,EAAO,WACPG,EAAU,YAIZ,MAAMviB,EAAOmd,GAAKF,MAAM,UAClBmC,EAAYuD,EAAWjW,OAAO,CAACC,EAAKT,KACxC,IACE,MAAMmS,EAAWyD,GAAiB5V,GAC9BmS,GACF1R,EAAIhO,KAAK0f,GAEX,MAAOtX,GACFD,IACe,gBAAdC,EAAKiM,MACP0J,QAAQC,MAAM5V,GAIpB,OAAO4F,GACN,IACH,OAAO,IAAImN,QAAQ,CAAC+C,EAAS9C,KAC3BD,QAAQ+I,IAAIzD,GAAW0D,KAAKC,IAC1B5D,GAAQ4D,EAAmB,KACzBX,EAAO,UACPA,EAAO,YACPG,EAAU,WACc,oBAAblD,GAAyBA,IACpCrf,IACA6c,QAEDmG,MAAMjc,IACP/G,IACA+Z,EAAOhT,OAIb,SAASkc,GAAO/W,GACd,IAAImT,EAAWvgB,UAAUC,OAAS,QAAsBgK,IAAjBjK,UAAU,GAAmBA,UAAU,GAAK,KACnFgjB,GAAiB5V,GAAM4W,KAAKzE,IACtBA,GACFc,GAAQ,CAACd,GAAWgB,KAI1B,SAAS6D,GAAaC,GACpB,OAAO,SAAUC,GACf,IAAIlR,EAASpT,UAAUC,OAAS,QAAsBgK,IAAjBjK,UAAU,GAAmBA,UAAU,GAAK,GACjF,MAAMukB,GAAkBD,GAAuB,IAAIlT,KAAOkT,EAAsB3J,GAAmB2J,GAAuB,IAC1H,IAAI,KACFpI,GACE9I,EAIJ,OAHI8I,IACFA,GAAQA,GAAQ,IAAI9K,KAAO8K,EAAOvB,GAAmBuB,GAAQ,KAExDmI,EAAKE,EAAgBxkB,EAAeA,EAAe,GAAIqT,GAAS,GAAI,CACzE8I,WAIN,MAAMsI,GAAS,SAAUD,GACvB,IAAInR,EAASpT,UAAUC,OAAS,QAAsBgK,IAAjBjK,UAAU,GAAmBA,UAAU,GAAK,GACjF,MAAM,UACJoO,EAAY1C,GAAoB,OAChC4Q,GAAS,EAAK,KACdJ,EAAO,KAAI,OACXO,EAAS,KAAI,MACbD,EAAQ,KAAI,QACZE,EAAU,KAAI,QACdI,EAAU,GAAE,WACZnP,EAAa,GAAE,OACfM,EAAS,IACPmF,EACJ,IAAKmR,EAAgB,OACrB,MAAM,OACJrT,EAAM,SACNC,EAAQ,KACRC,GACEmT,EACJ,OAAO5I,GAAY5b,EAAe,CAChCwhB,KAAM,QACLgD,GAAiB,KAClBjK,GAAU,2BAA4B,CACpCiK,iBACAnR,WAEElI,GAAOT,WACL+R,EACF7O,EAAW,mBAAqB,GAAG5G,OAAOmE,GAAOZ,iBAAkB,WAAWvD,OAAO2V,GAAW7P,OAEhGc,EAAW,eAAiB,OAC5BA,EAAW,aAAe,UAGvB4O,GAAsB,CAC3BtJ,MAAO,CACLgJ,KAAMsB,GAAYnM,GAClB8K,KAAMA,EAAOqB,GAAYrB,EAAK9K,MAAQ,CACpC+K,OAAO,EACPnN,MAAO,KACPC,OAAQ,KACRmC,KAAM,KAGVF,SACAC,WACA/C,UAAWrO,EAAeA,EAAe,GAAI2L,IAAuB0C,GACpEkO,SACAE,QACAC,SACAC,UACAnK,MAAO,CACL5E,aACAM,SACA6O,gBAKR,IAAI2H,GAAkB,CACpB,SACE,MAAO,CACLrT,KAAMgT,GAAaI,MAGvB,QACE,MAAO,CACL,0BAA0BtK,GAGxB,OAFAA,EAAY+G,aAAekC,GAC3BjJ,EAAYgH,aAAeiD,GACpBjK,KAIb,SAASwK,GACPA,EAAa3J,MAAQ,SAAU3H,GAC7B,MAAM,KACJhG,EAAOzL,EAAQ,SACf4e,EAAW,UACTnN,EACJ,OAAO+P,GAAO/V,EAAMmT,IAEtBmE,EAAaC,+BAAiC,SAAUvX,EAAM6V,GAC5D,MAAM,SACJ9R,EAAQ,MACRqL,EAAK,QACLE,EAAO,OACPxL,EAAM,UACN9C,EAAS,OACTkO,EAAM,KACNJ,EAAI,OACJO,EAAM,MACNlK,GACE0Q,EACJ,OAAO,IAAIjI,QAAQ,CAAC+C,EAAS9C,KAC3BD,QAAQ+I,IAAI,CAACjG,GAAS3M,EAAUD,GAASgL,EAAK/K,SAAW2M,GAAS5B,EAAK/K,SAAU+K,EAAKhL,QAAU8J,QAAQ+C,QAAQ,CAC9G5B,OAAO,EACPnN,MAAO,IACPC,OAAQ,IACRmC,KAAM,OACH4S,KAAKja,IACR,IAAKkS,EAAMC,GAAQnS,EACnBgU,EAAQ,CAAC3Q,EAAMmP,GAAsB,CACnCtJ,MAAO,CACLgJ,OACAC,QAEFhL,SACAC,WACA/C,YACAkO,SACAG,SACAD,QACAE,UACAnK,QACAoK,WAAW,QAEZuH,MAAMjJ,MAGbyJ,EAAaE,qBAAuB,SAAU7V,GAC5C,IAAI,SACF+B,EAAQ,WACRnD,EAAU,KACVsO,EAAI,UACJ7N,EAAS,OACTH,GACEc,EACJ,MAAMoO,EAAcnP,GAAWC,GAI/B,IAAI4W,EAUJ,OAbI1H,EAAYld,OAAS,IACvB0N,EAAW,SAAWwP,GAGpBhP,GAAsBC,KACxByW,EAAYpK,GAAa,oCAAqC,CAC5DwB,OACA7N,YACAE,eAAgB2N,EAAKjN,MACrBT,UAAW0N,EAAKjN,SAGpB8B,EAASjR,KAAKglB,GAAa5I,EAAK7K,MACzB,CACLN,WACAnD,iBAMJmX,GAAS,CACX,SACE,MAAO,CACL,MAAMC,GACJ,IAAI3R,EAASpT,UAAUC,OAAS,QAAsBgK,IAAjBjK,UAAU,GAAmBA,UAAU,GAAK,GACjF,MAAM,QACJ8c,EAAU,IACR1J,EACJ,OAAOuI,GAAY,CACjB4F,KAAM,SACL,KACDjH,GAAU,2BAA4B,CACpCyK,YACA3R,WAEF,IAAItC,EAAW,GAMf,OALAiU,EAAU5K,IACRvB,MAAM2C,QAAQpB,GAAQA,EAAKlT,IAAIC,IAC7B4J,EAAWA,EAAS/J,OAAOG,EAAE2U,YAC1B/K,EAAWA,EAAS/J,OAAOoT,EAAK0B,YAEhC,CAAC,CACNhL,IAAK,OACLlD,WAAY,CACVyP,MAAO,CAAC,GAAGrW,OAAOmE,GAAOb,UAAW,cAAeyS,GAAS/L,KAAK,MAEnED,mBAQRkU,GAAgB,CAClB,SACE,MAAO,CACL,QAAQjI,GACN,IAAI3J,EAASpT,UAAUC,OAAS,QAAsBgK,IAAjBjK,UAAU,GAAmBA,UAAU,GAAK,GACjF,MAAM,MACJwc,EAAQ,KAAI,QACZM,EAAU,GAAE,WACZnP,EAAa,GAAE,OACfM,EAAS,IACPmF,EACJ,OAAOuI,GAAY,CACjB4F,KAAM,UACNxE,WACC,KACDzC,GAAU,2BAA4B,CACpCyC,UACA3J,WAEKiK,GAA0B,CAC/BN,QAASA,EAAQpK,WACjB6J,QACAjK,MAAO,CACL5E,aACAM,SACA6O,QAAS,CAAC,GAAG/V,OAAOmE,GAAOb,UAAW,sBAAuByS,YASvEmI,GAAa,CACf,SACE,MAAO,CACL,KAAKlI,GACH,IAAI3J,EAASpT,UAAUC,OAAS,QAAsBgK,IAAjBjK,UAAU,GAAmBA,UAAU,GAAK,GACjF,MAAM,UACJoO,EAAY1C,GAAoB,MAChC8Q,EAAQ,KAAI,QACZM,EAAU,GAAE,WACZnP,EAAa,GAAE,OACfM,EAAS,IACPmF,EACJ,OAAOuI,GAAY,CACjB4F,KAAM,OACNxE,WACC,KACDzC,GAAU,2BAA4B,CACpCyC,UACA3J,WAEK8J,GAAuB,CAC5BH,UACA3O,UAAWrO,EAAeA,EAAe,GAAI2L,IAAuB0C,GACpEoO,QACAjK,MAAO,CACL5E,aACAM,SACA6O,QAAS,CAAC,GAAG/V,OAAOmE,GAAOb,UAAW,mBAAoByS,WAOtE,SAAS4H,GACPA,EAAaQ,mBAAqB,SAAU9X,EAAM6V,GAChD,MAAM,MACJzG,EAAK,UACLpO,EAAS,MACTmE,GACE0Q,EACJ,IAAIjU,EAAQ,KACRC,EAAS,KACb,GAAI9M,EAAO,CACT,MAAMgjB,EAAmBC,SAASC,iBAAiBjY,GAAMkY,SAAU,IAC7DC,EAAqBnY,EAAKoY,wBAChCxW,EAAQuW,EAAmBvW,MAAQmW,EACnClW,EAASsW,EAAmBtW,OAASkW,EAKvC,OAHIja,GAAOT,WAAa+R,IACtBjK,EAAM5E,WAAW,eAAiB,QAE7BqN,QAAQ+C,QAAQ,CAAC3Q,EAAM8P,GAAuB,CACnDH,QAAS3P,EAAKhB,UACd4C,QACAC,SACAb,YACAoO,QACAjK,QACAoK,WAAW,SAMnB,MAAM8I,GAAwB,IAAIhW,OAAO,IAAU,MAC7CiW,GAA0B,CAAC,QAAS,SACpCC,GAAgC5lB,EAAeA,EAAeA,EAAeA,EAAe,GAAI,CACpG6lB,YAAa,CACXphB,OAAQ,MACRD,IAAK,SAELI,GAAKwC,IAAKb,GACRuf,GAA+B5mB,OAAOO,KAAKmmB,IAA+B/X,OAAO,CAACC,EAAK7D,KAC3F6D,EAAI7D,EAAI8b,eAAiBH,GAA8B3b,GAChD6D,GACN,IACGkY,GAA8B9mB,OAAOO,KAAKqmB,IAA8BjY,OAAO,CAACC,EAAKmY,KACzF,MAAMC,EAAUJ,GAA6BG,GAE7C,OADAnY,EAAImY,GAAcC,EAAQ,MAAQ,IAAIhnB,OAAOinB,QAAQD,IAAU,GAAG,GAC3DpY,GACN,IACH,SAASsY,GAAoBpJ,GAC3B,MAAMqJ,EAAUrJ,EAAQtP,QAAQgY,GAAuB,IACjDY,EAAYzT,GAAYwT,EAAS,GACjCE,EAAeD,GAAaX,GAAwB,IAAMW,GAAaX,GAAwB,GAC/Fa,EAA+B,IAAnBH,EAAQnmB,QAAemmB,EAAQ,KAAOA,EAAQ,GAChE,MAAO,CACLjnB,MAAmBqT,GAAZ+T,EAAkBH,EAAQ,GAAYA,GAC7CI,YAAaF,GAAgBC,GAGjC,SAASE,GAAUT,EAAYU,GAC7B,MAAMC,EAAsBX,EAAWvY,QAAQ,eAAgB,IAAIqY,cAC7Dc,EAAoBxB,SAASsB,GAC7BG,EAAsBC,MAAMF,GAAqB,SAAWA,EAClE,OAAQf,GAA6Bc,IAAwB,IAAIE,IAAwBd,GAA4BY,GAEvH,SAASI,GAAmB3Z,EAAM4Z,GAChC,MAAMC,EAAmB,GAAGlgB,OAAOW,IAAgCX,OAAOigB,EAASvZ,QAAQ,IAAK,MAChG,OAAO,IAAIuN,QAAQ,CAAC+C,EAAS9C,KAC3B,GAA4C,OAAxC7N,EAAKzD,aAAasd,GAEpB,OAAOlJ,IAET,MAAMjN,EAAW7D,GAAQG,EAAK0D,UACxBoW,EAAgCpW,EAASnR,OAAOqW,GAAQA,EAAKrM,aAAalC,MAA4Buf,GAAU,GAChH/Y,EAASvM,EAAO2jB,iBAAiBjY,EAAM4Z,GACvChB,EAAa/X,EAAOkZ,iBAAiB,eACrCC,EAAkBpB,EAAWxK,MAAMxS,IACnC0d,EAAazY,EAAOkZ,iBAAiB,eACrCpK,EAAU9O,EAAOkZ,iBAAiB,WACxC,GAAID,IAAkCE,EAKpC,OADAha,EAAKia,YAAYH,GACVnJ,IACF,GAAIqJ,GAA+B,SAAZrK,GAAkC,KAAZA,EAAgB,CAClE,MAAMA,EAAU9O,EAAOkZ,iBAAiB,WACxC,IAAIjW,EAASuV,GAAUT,EAAYU,GACnC,MACEvnB,MAAOmoB,EAAQ,YACfd,GACEL,GAAoBpJ,GAClBwK,EAAOH,EAAgB,GAAGI,WAAW,eAC3C,IAAIrW,EAAWoE,GAAUrE,EAAQoW,GAC7BG,EAAiBtW,EACrB,GAAIoW,EAAM,CACR,MAAMG,EAAY9R,GAAa0R,GAC3BI,EAAUvW,UAAYuW,EAAUxW,SAClCC,EAAWuW,EAAUvW,SACrBD,EAASwW,EAAUxW,QAMvB,IAAIC,GAAaqV,GAAiBU,GAAiCA,EAA8Bvd,aAAahC,MAAiBuJ,GAAUgW,EAA8Bvd,aAAa/B,MAAe6f,EAiCjM1J,QAjCkN,CAClN3Q,EAAKjB,aAAa8a,EAAkBQ,GAChCP,GAEF9Z,EAAKia,YAAYH,GAEnB,MAAMS,EAAOlF,MACP,MACJlQ,GACEoV,EACJpV,EAAM5E,WAAWlG,IAA0Buf,EAC3ClJ,GAAS3M,EAAUD,GAAQ8S,KAAK/H,IAC9B,MAAMJ,EAAWU,GAAsBxc,EAAeA,EAAe,GAAI4nB,GAAO,GAAI,CAClF1U,MAAO,CACLgJ,OACAC,KAAMjG,MAER/E,SACAC,SAAUsW,EACVlV,QACAoK,WAAW,KAEPlT,EAAU9H,EAASmd,gBAAgB,6BAA8B,OACtD,aAAbkI,EACF5Z,EAAKT,aAAalD,EAAS2D,EAAK8U,YAEhC9U,EAAK+R,YAAY1V,GAEnBA,EAAQ6V,UAAYzD,EAAS5U,IAAI2N,GAAQjE,GAAOiE,IAAO7D,KAAK,MAC5D3D,EAAK6S,gBAAgBgH,GACrBlJ,MACCmG,MAAMjJ,SAKX8C,MAIN,SAAStQ,GAAQL,GACf,OAAO4N,QAAQ+I,IAAI,CAACgD,GAAmB3Z,EAAM,YAAa2Z,GAAmB3Z,EAAM,aAErF,SAASwa,GAAYxa,GACnB,OAAOA,EAAKoS,aAAene,SAASW,QAAU+F,GAAoC3F,QAAQgL,EAAKX,QAAQC,iBAAmBU,EAAKzD,aAAalC,OAA6B2F,EAAKoS,YAA0C,QAA5BpS,EAAKoS,WAAW/S,SAE9M,SAAS/B,GAAqB0Y,GAC5B,GAAKthB,EACL,OAAO,IAAIkZ,QAAQ,CAAC+C,EAAS9C,KAC3B,MAAM4M,EAAa5a,GAAQmW,EAAKU,iBAAiB,MAAMnkB,OAAOioB,IAAa3gB,IAAIwG,IACzE2Q,EAAMC,GAAKF,MAAM,wBACvByC,KACA5F,QAAQ+I,IAAI8D,GAAY7D,KAAK,KAC3B5F,IACAyC,KACA9C,MACCmG,MAAM,KACP9F,IACAyC,KACA5F,QAIN,IAAI6M,GAAiB,CACnB,QACE,MAAO,CACL,0BAA0B5N,GAExB,OADAA,EAAYiH,uBAAyBzW,GAC9BwP,KAIb,SAASb,GACPA,EAAU0O,mBAAqB,SAAU3U,GACvC,MAAM,KACJhG,EAAOzL,GACLyR,EACAlI,GAAOR,sBACTA,GAAqB0C,MAM7B,IAAI4a,IAAa,EACjB,IAAIC,GAAqB,CACvB,SACE,MAAO,CACLlY,IAAK,CACH,UACE6Q,KACAoH,IAAa,MAKrB,QACE,MAAO,CACL,YACEjH,GAAQ9G,GAAW,4BAA6B,MAElD,SACE2H,MAEF,MAAMxO,GACJ,MAAM,qBACJgO,GACEhO,EACA4U,GACFnH,KAEAE,GAAQ9G,GAAW,4BAA6B,CAC9CmH,8BAQZ,MAAM8G,GAAuBC,IAC3B,IAAI/Z,EAAY,CACdzC,KAAM,GACNjF,EAAG,EACHkF,EAAG,EACHE,OAAO,EACPC,OAAO,EACPF,OAAQ,GAEV,OAAOsc,EAAgBrC,cAAcxY,MAAM,KAAKM,OAAO,CAACC,EAAKua,KAC3D,MAAM/T,EAAQ+T,EAAEtC,cAAcxY,MAAM,KAC9ByF,EAAQsB,EAAM,GACpB,IAAI6B,EAAO7B,EAAMC,MAAM,GAAGvD,KAAK,KAC/B,GAAIgC,GAAkB,MAATmD,EAEX,OADArI,EAAI/B,OAAQ,EACL+B,EAET,GAAIkF,GAAkB,MAATmD,EAEX,OADArI,EAAI9B,OAAQ,EACL8B,EAGT,GADAqI,EAAOmS,WAAWnS,GACd4Q,MAAM5Q,GACR,OAAOrI,EAET,OAAQkF,GACN,IAAK,OACHlF,EAAIlC,KAAOkC,EAAIlC,KAAOuK,EACtB,MACF,IAAK,SACHrI,EAAIlC,KAAOkC,EAAIlC,KAAOuK,EACtB,MACF,IAAK,OACHrI,EAAInH,EAAImH,EAAInH,EAAIwP,EAChB,MACF,IAAK,QACHrI,EAAInH,EAAImH,EAAInH,EAAIwP,EAChB,MACF,IAAK,KACHrI,EAAIjC,EAAIiC,EAAIjC,EAAIsK,EAChB,MACF,IAAK,OACHrI,EAAIjC,EAAIiC,EAAIjC,EAAIsK,EAChB,MACF,IAAK,SACHrI,EAAIhC,OAASgC,EAAIhC,OAASqK,EAC1B,MAEJ,OAAOrI,GACNO,IAEL,IAAIka,GAAkB,CACpB,SACE,MAAO,CACLhN,MAAO,CACLlN,UAAW+Z,GACFD,GAAqBC,MAKpC,QACE,MAAO,CACL,oBAAoBjO,EAAa9M,GAC/B,MAAM+a,EAAkB/a,EAAKzD,aAAa,qBAI1C,OAHIwe,IACFjO,EAAY9L,UAAY8Z,GAAqBC,IAExCjO,KAIb,SAASb,GACPA,EAAUkP,kCAAoC,SAAUxe,GACtD,IAAI,KACFkS,EAAI,UACJ7N,EAAS,eACTE,EAAc,UACdC,GACExE,EACJ,MAAMyE,EAAQ,CACZJ,UAAW,aAAarH,OAAOuH,EAAiB,EAAG,UAE/CG,EAAiB,aAAa1H,OAAqB,GAAdqH,EAAU1H,EAAQ,MAAMK,OAAqB,GAAdqH,EAAUxC,EAAQ,MACtF8C,EAAa,SAAS3H,OAAOqH,EAAUzC,KAAO,IAAMyC,EAAUtC,OAAS,EAAI,GAAI,MAAM/E,OAAOqH,EAAUzC,KAAO,IAAMyC,EAAUrC,OAAS,EAAI,GAAI,MAC9I4C,EAAc,UAAU5H,OAAOqH,EAAUvC,OAAQ,SACjD+C,EAAQ,CACZR,UAAW,GAAGrH,OAAO0H,EAAgB,KAAK1H,OAAO2H,EAAY,KAAK3H,OAAO4H,IAErEE,EAAO,CACXT,UAAW,aAAarH,OAAOwH,EAAY,GAAK,EAAG,WAE/CsZ,EAAa,CACjBrZ,QACAI,QACAC,QAEF,MAAO,CACLgC,IAAK,IACLlD,WAAY5N,EAAe,GAAI8nB,EAAWrZ,OAC1CsC,SAAU,CAAC,CACTD,IAAK,IACLlD,WAAY5N,EAAe,GAAI8nB,EAAWjZ,OAC1CkC,SAAU,CAAC,CACTD,IAAKoL,EAAK7K,KAAKP,IACfC,SAAUmL,EAAK7K,KAAKN,SACpBnD,WAAY5N,EAAeA,EAAe,GAAIkc,EAAK7K,KAAKzD,YAAaka,EAAWhZ,cAQ5F,MAAM2Z,GAAY,CAChB9hB,EAAG,EACHkF,EAAG,EACHoD,MAAO,OACPC,OAAQ,QAEV,SAASwZ,GAAU5M,GACjB,IAAI6M,IAAQ1oB,UAAUC,OAAS,QAAsBgK,IAAjBjK,UAAU,KAAmBA,UAAU,GAI3E,OAHI6b,EAASlO,aAAekO,EAASlO,WAAW8P,MAAQiL,KACtD7M,EAASlO,WAAW8P,KAAO,SAEtB5B,EAET,SAAS8M,GAAQ9M,GACf,MAAqB,MAAjBA,EAAShL,IACJgL,EAAS/K,SAET,CAAC+K,GAGZ,IAAI+M,GAAQ,CACV,QACE,MAAO,CACL,oBAAoB1O,EAAa9M,GAC/B,MAAMyb,EAAWzb,EAAKzD,aAAa,gBAC7BuS,EAAQ2M,EAAkC7R,GAAiB6R,EAASvb,MAAM,KAAKrG,IAAIzG,GAAKA,EAAEuN,SAAvEkI,KAMzB,OALKiG,EAAKhL,SACRgL,EAAKhL,OAAS6E,MAEhBmE,EAAYgC,KAAOA,EACnBhC,EAAYuC,OAASrP,EAAKzD,aAAa,mBAChCuQ,KAIb,SAASb,GACPA,EAAUyP,qBAAuB,SAAU/e,GACzC,IAAI,SACF+G,EAAQ,WACRnD,EAAU,KACVsO,EAAI,KACJC,EACAO,OAAQsM,EAAc,UACtB3a,GACErE,EACJ,MACEiF,MAAOga,EACP5X,KAAM6X,GACJhN,GAEFjN,MAAOka,EACP9X,KAAM+X,GACJjN,EACEkN,EAAQ/a,GAAgB,CAC5BD,YACAE,eAAgB4a,EAChB3a,UAAWya,IAEPK,EAAW,CACfxY,IAAK,OACLlD,WAAY5N,EAAeA,EAAe,GAAIyoB,IAAY,GAAI,CAC5D/K,KAAM,WAGJ6L,EAA8BL,EAASnY,SAAW,CACtDA,SAAUmY,EAASnY,SAAS7J,IAAIwhB,KAC9B,GACEc,EAAiB,CACrB1Y,IAAK,IACLlD,WAAY5N,EAAe,GAAIqpB,EAAMxa,OACrCkC,SAAU,CAAC2X,GAAU1oB,EAAe,CAClC8Q,IAAKoY,EAASpY,IACdlD,WAAY5N,EAAeA,EAAe,GAAIkpB,EAAStb,YAAayb,EAAMva,OACzEya,MAECE,EAAiB,CACrB3Y,IAAK,IACLlD,WAAY5N,EAAe,GAAIqpB,EAAM5a,OACrCsC,SAAU,CAACyY,IAEP9M,EAAS,QAAQ1V,OAAOgiB,GAAkBlc,MAC1C4c,EAAS,QAAQ1iB,OAAOgiB,GAAkBlc,MAC1C6c,EAAU,CACd7Y,IAAK,OACLlD,WAAY5N,EAAeA,EAAe,GAAIyoB,IAAY,GAAI,CAC5D1b,GAAI2P,EACJkN,UAAW,iBACXC,iBAAkB,mBAEpB9Y,SAAU,CAACuY,EAAUG,IAEjBK,EAAO,CACXhZ,IAAK,OACLC,SAAU,CAAC,CACTD,IAAK,WACLlD,WAAY,CACVb,GAAI2c,GAEN3Y,SAAU6X,GAAQQ,IACjBO,IAUL,OARA5Y,EAASjR,KAAKgqB,EAAM,CAClBhZ,IAAK,OACLlD,WAAY5N,EAAe,CACzB0d,KAAM,eACN,YAAa,QAAQ1W,OAAO0iB,EAAQ,KACpCvN,KAAM,QAAQnV,OAAO0V,EAAQ,MAC5B+L,MAEE,CACL1X,WACAnD,iBAMJmc,GAAuB,CACzB,SAASzQ,GACP,IAAI0Q,GAAe,EACfroB,EAAOsoB,aACTD,EAAeroB,EAAOsoB,WAAW,oCAAoCC,SAEvE5Q,EAAU6Q,oBAAsB,WAC9B,MAAMC,EAAY,GACZC,EAAO,CACX3M,KAAM,gBAEF4M,EAAiB,CACrBC,cAAe,MACfC,YAAa,aACbC,IAAK,MAIPL,EAAUtqB,KAAK,CACbgR,IAAK,OACLlD,WAAY5N,EAAeA,EAAe,GAAIqqB,GAAO,GAAI,CACvDvY,EAAG,u4CAGP,MAAM4Y,EAAkB1qB,EAAeA,EAAe,GAAIsqB,GAAiB,GAAI,CAC7Evc,cAAe,YAEX4c,EAAM,CACV7Z,IAAK,SACLlD,WAAY5N,EAAeA,EAAe,GAAIqqB,GAAO,GAAI,CACvDO,GAAI,MACJC,GAAI,MACJ9rB,EAAG,OAELgS,SAAU,IA8CZ,OA5CKiZ,GACHW,EAAI5Z,SAASjR,KAAK,CAChBgR,IAAK,UACLlD,WAAY5N,EAAeA,EAAe,GAAIsqB,GAAiB,GAAI,CACjEvc,cAAe,IACfsI,OAAQ,wBAET,CACDvF,IAAK,UACLlD,WAAY5N,EAAeA,EAAe,GAAI0qB,GAAkB,GAAI,CAClErU,OAAQ,mBAId+T,EAAUtqB,KAAK6qB,GACfP,EAAUtqB,KAAK,CACbgR,IAAK,OACLlD,WAAY5N,EAAeA,EAAe,GAAIqqB,GAAO,GAAI,CACvDS,QAAS,IACThZ,EAAG,ySAELf,SAAUiZ,EAAe,GAAK,CAAC,CAC7BlZ,IAAK,UACLlD,WAAY5N,EAAeA,EAAe,GAAI0qB,GAAkB,GAAI,CAClErU,OAAQ,qBAIT2T,GAEHI,EAAUtqB,KAAK,CACbgR,IAAK,OACLlD,WAAY5N,EAAeA,EAAe,GAAIqqB,GAAO,GAAI,CACvDS,QAAS,IACThZ,EAAG,gJAELf,SAAU,CAAC,CACTD,IAAK,UACLlD,WAAY5N,EAAeA,EAAe,GAAI0qB,GAAkB,GAAI,CAClErU,OAAQ,qBAKT,CACLvF,IAAK,IACLlD,WAAY,CACV,MAAS,WAEXmD,SAAUqZ,MAMdW,GAAa,CACf,QACE,MAAO,CACL,oBAAoB5Q,EAAa9M,GAC/B,MAAM2d,EAAa3d,EAAKzD,aAAa,kBAC/B2S,EAAwB,OAAfyO,IAA6C,KAAfA,GAA2BA,GAExE,OADA7Q,EAAY,UAAYoC,EACjBpC,MAMX8Q,GAAU,CAAClb,GAAW2U,GAAiBK,GAAQE,GAAeC,GAAY6C,GAAgBG,GAAoBK,GAAiBM,GAAOkB,GAAsBgB,IAEhKvR,GAAgByR,GAAS,CACvBvR,UAAWiC,KAEIA,GAAIZ,OAArB,MACMmQ,GAAWvP,GAAIxQ,OACfggB,GAAYxP,GAAIb,QAEhBsQ,IADQzP,GAAI3L,IACF2L,GAAIJ,OAGdlK,IAFuBsK,GAAIf,mBAChBe,GAAI/K,OACR+K,GAAItK,MAEXga,IADQ1P,GAAI2P,MACL3P,GAAI0P,MACD1P,GAAIrJ","file":"js/vendors-556bb3cc.fea1b834.js","sourcesContent":["/*!\n * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n * Copyright 2024 Fonticons, Inc.\n */\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && _setPrototypeOf(t, e);\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _wrapRegExp() {\n _wrapRegExp = function (e, r) {\n return new BabelRegExp(e, void 0, r);\n };\n var e = RegExp.prototype,\n r = new WeakMap();\n function BabelRegExp(e, t, p) {\n var o = RegExp(e, t);\n return r.set(o, p || r.get(e)), _setPrototypeOf(o, BabelRegExp.prototype);\n }\n function buildGroups(e, t) {\n var p = r.get(t);\n return Object.keys(p).reduce(function (r, t) {\n var o = p[t];\n if (\"number\" == typeof o) r[t] = e[o];else {\n for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++;\n r[t] = e[o[i]];\n }\n return r;\n }, Object.create(null));\n }\n return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) {\n var t = e.exec.call(this, r);\n if (t) {\n t.groups = buildGroups(t, this);\n var p = t.indices;\n p && (p.groups = buildGroups(p, this));\n }\n return t;\n }, BabelRegExp.prototype[Symbol.replace] = function (t, p) {\n if (\"string\" == typeof p) {\n var o = r.get(this);\n return e[Symbol.replace].call(this, t, p.replace(/\\$<([^>]+)>/g, function (e, r) {\n var t = o[r];\n return \"$\" + (Array.isArray(t) ? t.join(\"$\") : t);\n }));\n }\n if (\"function\" == typeof p) {\n var i = this;\n return e[Symbol.replace].call(this, t, function () {\n var e = arguments;\n return \"object\" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e);\n });\n }\n return e[Symbol.replace].call(this, t, p);\n }, _wrapRegExp.apply(this, arguments);\n}\n\nconst noop = () => {};\nlet _WINDOW = {};\nlet _DOCUMENT = {};\nlet _MUTATION_OBSERVER = null;\nlet _PERFORMANCE = {\n mark: noop,\n measure: noop\n};\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\nconst {\n userAgent = ''\n} = _WINDOW.navigator || {};\nconst WINDOW = _WINDOW;\nconst DOCUMENT = _DOCUMENT;\nconst MUTATION_OBSERVER = _MUTATION_OBSERVER;\nconst PERFORMANCE = _PERFORMANCE;\nconst IS_BROWSER = !!WINDOW.document;\nconst IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nconst IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar p = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\\-\\ ]/,\n g = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i;\nvar S = {\n classic: {\n fa: \"solid\",\n fas: \"solid\",\n \"fa-solid\": \"solid\",\n far: \"regular\",\n \"fa-regular\": \"regular\",\n fal: \"light\",\n \"fa-light\": \"light\",\n fat: \"thin\",\n \"fa-thin\": \"thin\",\n fab: \"brands\",\n \"fa-brands\": \"brands\"\n },\n duotone: {\n fa: \"solid\",\n fad: \"solid\",\n \"fa-solid\": \"solid\",\n \"fa-duotone\": \"solid\",\n fadr: \"regular\",\n \"fa-regular\": \"regular\",\n fadl: \"light\",\n \"fa-light\": \"light\",\n fadt: \"thin\",\n \"fa-thin\": \"thin\"\n },\n sharp: {\n fa: \"solid\",\n fass: \"solid\",\n \"fa-solid\": \"solid\",\n fasr: \"regular\",\n \"fa-regular\": \"regular\",\n fasl: \"light\",\n \"fa-light\": \"light\",\n fast: \"thin\",\n \"fa-thin\": \"thin\"\n },\n \"sharp-duotone\": {\n fa: \"solid\",\n fasds: \"solid\",\n \"fa-solid\": \"solid\",\n fasdr: \"regular\",\n \"fa-regular\": \"regular\",\n fasdl: \"light\",\n \"fa-light\": \"light\",\n fasdt: \"thin\",\n \"fa-thin\": \"thin\"\n }\n },\n A = {\n GROUP: \"duotone-group\",\n SWAP_OPACITY: \"swap-opacity\",\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\"\n },\n P = [\"fa-classic\", \"fa-duotone\", \"fa-sharp\", \"fa-sharp-duotone\"];\nvar s = \"classic\",\n t = \"duotone\",\n r = \"sharp\",\n o = \"sharp-duotone\",\n L = [s, t, r, o];\nvar G = {\n classic: {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\",\n 100: \"fat\"\n },\n duotone: {\n 900: \"fad\",\n 400: \"fadr\",\n 300: \"fadl\",\n 100: \"fadt\"\n },\n sharp: {\n 900: \"fass\",\n 400: \"fasr\",\n 300: \"fasl\",\n 100: \"fast\"\n },\n \"sharp-duotone\": {\n 900: \"fasds\",\n 400: \"fasdr\",\n 300: \"fasdl\",\n 100: \"fasdt\"\n }\n };\nvar lt = {\n \"Font Awesome 6 Free\": {\n 900: \"fas\",\n 400: \"far\"\n },\n \"Font Awesome 6 Pro\": {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\",\n 100: \"fat\"\n },\n \"Font Awesome 6 Brands\": {\n 400: \"fab\",\n normal: \"fab\"\n },\n \"Font Awesome 6 Duotone\": {\n 900: \"fad\",\n 400: \"fadr\",\n normal: \"fadr\",\n 300: \"fadl\",\n 100: \"fadt\"\n },\n \"Font Awesome 6 Sharp\": {\n 900: \"fass\",\n 400: \"fasr\",\n normal: \"fasr\",\n 300: \"fasl\",\n 100: \"fast\"\n },\n \"Font Awesome 6 Sharp Duotone\": {\n 900: \"fasds\",\n 400: \"fasdr\",\n normal: \"fasdr\",\n 300: \"fasdl\",\n 100: \"fasdt\"\n }\n };\nvar pt = new Map([[\"classic\", {\n defaultShortPrefixId: \"fas\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\", \"brands\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }], [\"sharp\", {\n defaultShortPrefixId: \"fass\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }], [\"duotone\", {\n defaultShortPrefixId: \"fad\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }], [\"sharp-duotone\", {\n defaultShortPrefixId: \"fasds\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }]]),\n xt = {\n classic: {\n solid: \"fas\",\n regular: \"far\",\n light: \"fal\",\n thin: \"fat\",\n brands: \"fab\"\n },\n duotone: {\n solid: \"fad\",\n regular: \"fadr\",\n light: \"fadl\",\n thin: \"fadt\"\n },\n sharp: {\n solid: \"fass\",\n regular: \"fasr\",\n light: \"fasl\",\n thin: \"fast\"\n },\n \"sharp-duotone\": {\n solid: \"fasds\",\n regular: \"fasdr\",\n light: \"fasdl\",\n thin: \"fasdt\"\n }\n };\nvar Ft = [\"fak\", \"fa-kit\", \"fakd\", \"fa-kit-duotone\"],\n St = {\n kit: {\n fak: \"kit\",\n \"fa-kit\": \"kit\"\n },\n \"kit-duotone\": {\n fakd: \"kit-duotone\",\n \"fa-kit-duotone\": \"kit-duotone\"\n }\n },\n At = [\"kit\"];\nvar Ct = {\n kit: {\n \"fa-kit\": \"fak\"\n },\n \"kit-duotone\": {\n \"fa-kit-duotone\": \"fakd\"\n }\n};\nvar Lt = [\"fak\", \"fakd\"],\n Wt = {\n kit: {\n fak: \"fa-kit\"\n },\n \"kit-duotone\": {\n fakd: \"fa-kit-duotone\"\n }\n };\nvar Et = {\n kit: {\n kit: \"fak\"\n },\n \"kit-duotone\": {\n \"kit-duotone\": \"fakd\"\n }\n };\n\nvar t$1 = {\n GROUP: \"duotone-group\",\n SWAP_OPACITY: \"swap-opacity\",\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\"\n },\n r$1 = [\"fa-classic\", \"fa-duotone\", \"fa-sharp\", \"fa-sharp-duotone\"];\nvar bt$1 = [\"fak\", \"fa-kit\", \"fakd\", \"fa-kit-duotone\"];\nvar Yt = {\n \"Font Awesome Kit\": {\n 400: \"fak\",\n normal: \"fak\"\n },\n \"Font Awesome Kit Duotone\": {\n 400: \"fakd\",\n normal: \"fakd\"\n }\n };\nvar ua = {\n classic: {\n \"fa-brands\": \"fab\",\n \"fa-duotone\": \"fad\",\n \"fa-light\": \"fal\",\n \"fa-regular\": \"far\",\n \"fa-solid\": \"fas\",\n \"fa-thin\": \"fat\"\n },\n duotone: {\n \"fa-regular\": \"fadr\",\n \"fa-light\": \"fadl\",\n \"fa-thin\": \"fadt\"\n },\n sharp: {\n \"fa-solid\": \"fass\",\n \"fa-regular\": \"fasr\",\n \"fa-light\": \"fasl\",\n \"fa-thin\": \"fast\"\n },\n \"sharp-duotone\": {\n \"fa-solid\": \"fasds\",\n \"fa-regular\": \"fasdr\",\n \"fa-light\": \"fasdl\",\n \"fa-thin\": \"fasdt\"\n }\n },\n I$1 = {\n classic: [\"fas\", \"far\", \"fal\", \"fat\", \"fad\"],\n duotone: [\"fadr\", \"fadl\", \"fadt\"],\n sharp: [\"fass\", \"fasr\", \"fasl\", \"fast\"],\n \"sharp-duotone\": [\"fasds\", \"fasdr\", \"fasdl\", \"fasdt\"]\n },\n ga = {\n classic: {\n fab: \"fa-brands\",\n fad: \"fa-duotone\",\n fal: \"fa-light\",\n far: \"fa-regular\",\n fas: \"fa-solid\",\n fat: \"fa-thin\"\n },\n duotone: {\n fadr: \"fa-regular\",\n fadl: \"fa-light\",\n fadt: \"fa-thin\"\n },\n sharp: {\n fass: \"fa-solid\",\n fasr: \"fa-regular\",\n fasl: \"fa-light\",\n fast: \"fa-thin\"\n },\n \"sharp-duotone\": {\n fasds: \"fa-solid\",\n fasdr: \"fa-regular\",\n fasdl: \"fa-light\",\n fasdt: \"fa-thin\"\n }\n },\n x = [\"fa-solid\", \"fa-regular\", \"fa-light\", \"fa-thin\", \"fa-duotone\", \"fa-brands\"],\n Ia = [\"fa\", \"fas\", \"far\", \"fal\", \"fat\", \"fad\", \"fadr\", \"fadl\", \"fadt\", \"fab\", \"fass\", \"fasr\", \"fasl\", \"fast\", \"fasds\", \"fasdr\", \"fasdl\", \"fasdt\", ...r$1, ...x],\n m$1 = [\"solid\", \"regular\", \"light\", \"thin\", \"duotone\", \"brands\"],\n c$1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n F$1 = c$1.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]),\n ma = [...Object.keys(I$1), ...m$1, \"2xs\", \"xs\", \"sm\", \"lg\", \"xl\", \"2xl\", \"beat\", \"border\", \"fade\", \"beat-fade\", \"bounce\", \"flip-both\", \"flip-horizontal\", \"flip-vertical\", \"flip\", \"fw\", \"inverse\", \"layers-counter\", \"layers-text\", \"layers\", \"li\", \"pull-left\", \"pull-right\", \"pulse\", \"rotate-180\", \"rotate-270\", \"rotate-90\", \"rotate-by\", \"shake\", \"spin-pulse\", \"spin-reverse\", \"spin\", \"stack-1x\", \"stack-2x\", \"stack\", \"ul\", t$1.GROUP, t$1.SWAP_OPACITY, t$1.PRIMARY, t$1.SECONDARY].concat(c$1.map(a => \"\".concat(a, \"x\"))).concat(F$1.map(a => \"w-\".concat(a)));\nvar wa = {\n \"Font Awesome 5 Free\": {\n 900: \"fas\",\n 400: \"far\"\n },\n \"Font Awesome 5 Pro\": {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\"\n },\n \"Font Awesome 5 Brands\": {\n 400: \"fab\",\n normal: \"fab\"\n },\n \"Font Awesome 5 Duotone\": {\n 900: \"fad\"\n }\n };\n\nconst NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nconst UNITS_IN_GRID = 16;\nconst DEFAULT_CSS_PREFIX = 'fa';\nconst DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nconst DATA_FA_I2SVG = 'data-fa-i2svg';\nconst DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nconst DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nconst DATA_PREFIX = 'data-prefix';\nconst DATA_ICON = 'data-icon';\nconst HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nconst MUTATION_APPROACH_ASYNC = 'async';\nconst TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nconst PRODUCTION = (() => {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e$$1) {\n return false;\n }\n})();\nfunction familyProxy(obj) {\n // Defaults to the classic family if family is not available\n return new Proxy(obj, {\n get(target, prop) {\n return prop in target ? target[prop] : target[s];\n }\n });\n}\nconst _PREFIX_TO_STYLE = _objectSpread2({}, S);\n\n// We changed FACSSClassesToStyleId in the icons repo to be canonical and as such, \"classic\" family does not have any\n// duotone styles. But we do still need duotone in _PREFIX_TO_STYLE below, so we are manually adding\n// {'fa-duotone': 'duotone'}\n_PREFIX_TO_STYLE[s] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n 'fa-duotone': 'duotone'\n}), S[s]), St['kit']), St['kit-duotone']);\nconst PREFIX_TO_STYLE = familyProxy(_PREFIX_TO_STYLE);\nconst _STYLE_TO_PREFIX = _objectSpread2({}, xt);\n\n// We changed FAStyleIdToShortPrefixId in the icons repo to be canonical and as such, \"classic\" family does not have any\n// duotone styles. But we do still need duotone in _STYLE_TO_PREFIX below, so we are manually adding {duotone: 'fad'}\n_STYLE_TO_PREFIX[s] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n duotone: 'fad'\n}), _STYLE_TO_PREFIX[s]), Et['kit']), Et['kit-duotone']);\nconst STYLE_TO_PREFIX = familyProxy(_STYLE_TO_PREFIX);\nconst _PREFIX_TO_LONG_STYLE = _objectSpread2({}, ga);\n_PREFIX_TO_LONG_STYLE[s] = _objectSpread2(_objectSpread2({}, _PREFIX_TO_LONG_STYLE[s]), Wt['kit']);\nconst PREFIX_TO_LONG_STYLE = familyProxy(_PREFIX_TO_LONG_STYLE);\nconst _LONG_STYLE_TO_PREFIX = _objectSpread2({}, ua);\n_LONG_STYLE_TO_PREFIX[s] = _objectSpread2(_objectSpread2({}, _LONG_STYLE_TO_PREFIX[s]), Ct['kit']);\nconst LONG_STYLE_TO_PREFIX = familyProxy(_LONG_STYLE_TO_PREFIX);\nconst ICON_SELECTION_SYNTAX_PATTERN = p; // eslint-disable-line no-useless-escape\n\nconst LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nconst FONT_FAMILY_PATTERN = g;\nconst _FONT_WEIGHT_TO_PREFIX = _objectSpread2({}, G);\nconst FONT_WEIGHT_TO_PREFIX = familyProxy(_FONT_WEIGHT_TO_PREFIX);\nconst ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nconst DUOTONE_CLASSES = A;\nconst RESERVED_CLASSES = [...At, ...ma];\n\nconst initial = WINDOW.FontAwesomeConfig || {};\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n if (element) {\n return element.getAttribute(attr);\n }\n}\nfunction coerce(val) {\n // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n // We'll assume that this is an indication that it should be toggled to true\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n const attrs = [['data-family-prefix', 'familyPrefix'], ['data-css-prefix', 'cssPrefix'], ['data-family-default', 'familyDefault'], ['data-style-default', 'styleDefault'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(_ref => {\n let [attr, key] = _ref;\n const val = coerce(getAttrConfig(attr));\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\nconst _default = {\n styleDefault: 'solid',\n familyDefault: s,\n cssPrefix: DEFAULT_CSS_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\n// familyPrefix is deprecated but we must still support it if present\nif (initial.familyPrefix) {\n initial.cssPrefix = initial.familyPrefix;\n}\nconst _config = _objectSpread2(_objectSpread2({}, _default), initial);\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\nconst config = {};\nObject.keys(_default).forEach(key => {\n Object.defineProperty(config, key, {\n enumerable: true,\n set: function (val) {\n _config[key] = val;\n _onChangeCb.forEach(cb => cb(config));\n },\n get: function () {\n return _config[key];\n }\n });\n});\n\n// familyPrefix is deprecated as of 6.2.0 and should be removed in 7.0.0\nObject.defineProperty(config, 'familyPrefix', {\n enumerable: true,\n set: function (val) {\n _config.cssPrefix = val;\n _onChangeCb.forEach(cb => cb(config));\n },\n get: function () {\n return _config.cssPrefix;\n }\n});\nWINDOW.FontAwesomeConfig = config;\nconst _onChangeCb = [];\nfunction onChange(cb) {\n _onChangeCb.push(cb);\n return () => {\n _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);\n };\n}\n\nconst d$2 = UNITS_IN_GRID;\nconst meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n const style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n const headChildren = DOCUMENT.head.childNodes;\n let beforeChild = null;\n for (let i = headChildren.length - 1; i > -1; i--) {\n const child = headChildren[i];\n const tagName = (child.tagName || '').toUpperCase();\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nconst idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n let size = 12;\n let id = '';\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n return id;\n}\nfunction toArray(obj) {\n const array = [];\n for (let i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(i => i);\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce((acc, attributeName) => {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce((acc, styleName) => {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName].trim(), \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n let {\n transform,\n containerWidth,\n iconWidth\n } = _ref;\n const outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n const innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n const innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n const innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n const inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n const path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer,\n inner,\n path\n };\n}\nfunction transformForCss(_ref2) {\n let {\n transform,\n width = UNITS_IN_GRID,\n height = UNITS_IN_GRID,\n startCentered = false\n } = _ref2;\n let val = '';\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d$2 - width / 2, \"em, \").concat(transform.y / d$2 - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d$2, \"em), calc(-50% + \").concat(transform.y / d$2, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d$2, \"em, \").concat(transform.y / d$2, \"em) \");\n }\n val += \"scale(\".concat(transform.size / d$2 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d$2 * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar baseStyles = \":root, :host {\\n --fa-font-solid: normal 900 1em/1 \\\"Font Awesome 6 Free\\\";\\n --fa-font-regular: normal 400 1em/1 \\\"Font Awesome 6 Free\\\";\\n --fa-font-light: normal 300 1em/1 \\\"Font Awesome 6 Pro\\\";\\n --fa-font-thin: normal 100 1em/1 \\\"Font Awesome 6 Pro\\\";\\n --fa-font-duotone: normal 900 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-regular: normal 400 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-light: normal 300 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-thin: normal 100 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-brands: normal 400 1em/1 \\\"Font Awesome 6 Brands\\\";\\n --fa-font-sharp-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-regular: normal 400 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-light: normal 300 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-thin: normal 100 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-duotone-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-regular: normal 400 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-light: normal 300 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-thin: normal 100 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n}\\n\\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\\n overflow: visible;\\n box-sizing: content-box;\\n}\\n\\n.svg-inline--fa {\\n display: var(--fa-display, inline-block);\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-2xs {\\n vertical-align: 0.1em;\\n}\\n.svg-inline--fa.fa-xs {\\n vertical-align: 0em;\\n}\\n.svg-inline--fa.fa-sm {\\n vertical-align: -0.0714285705em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.2em;\\n}\\n.svg-inline--fa.fa-xl {\\n vertical-align: -0.25em;\\n}\\n.svg-inline--fa.fa-2xl {\\n vertical-align: -0.3125em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-li {\\n width: var(--fa-li-width, 2em);\\n top: 0.25em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: var(--fa-fw-width, 1.25em);\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n transform-origin: center center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: var(--fa-counter-background-color, #ff253a);\\n border-radius: var(--fa-counter-border-radius, 1em);\\n box-sizing: border-box;\\n color: var(--fa-inverse, #fff);\\n line-height: var(--fa-counter-line-height, 1);\\n max-width: var(--fa-counter-max-width, 5em);\\n min-width: var(--fa-counter-min-width, 1.5em);\\n overflow: hidden;\\n padding: var(--fa-counter-padding, 0.25em 0.5em);\\n right: var(--fa-right, 0);\\n text-overflow: ellipsis;\\n top: var(--fa-top, 0);\\n transform: scale(var(--fa-counter-scale, 0.25));\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: var(--fa-bottom, 0);\\n right: var(--fa-right, 0);\\n top: auto;\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: var(--fa-bottom, 0);\\n left: var(--fa-left, 0);\\n right: auto;\\n top: auto;\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n top: var(--fa-top, 0);\\n right: var(--fa-right, 0);\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: var(--fa-left, 0);\\n right: auto;\\n top: var(--fa-top, 0);\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: top left;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-2xs {\\n font-size: 0.625em;\\n line-height: 0.1em;\\n vertical-align: 0.225em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n line-height: 0.0833333337em;\\n vertical-align: 0.125em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n line-height: 0.0714285718em;\\n vertical-align: 0.0535714295em;\\n}\\n\\n.fa-lg {\\n font-size: 1.25em;\\n line-height: 0.05em;\\n vertical-align: -0.075em;\\n}\\n\\n.fa-xl {\\n font-size: 1.5em;\\n line-height: 0.0416666682em;\\n vertical-align: -0.125em;\\n}\\n\\n.fa-2xl {\\n font-size: 2em;\\n line-height: 0.03125em;\\n vertical-align: -0.1875em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: var(--fa-li-margin, 2.5em);\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: calc(-1 * var(--fa-li-width, 2em));\\n position: absolute;\\n text-align: center;\\n width: var(--fa-li-width, 2em);\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border-color: var(--fa-border-color, #eee);\\n border-radius: var(--fa-border-radius, 0.1em);\\n border-style: var(--fa-border-style, solid);\\n border-width: var(--fa-border-width, 0.08em);\\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\\n}\\n\\n.fa-pull-left {\\n float: left;\\n margin-right: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-pull-right {\\n float: right;\\n margin-left: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-beat {\\n animation-name: fa-beat;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-bounce {\\n animation-name: fa-bounce;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n}\\n\\n.fa-fade {\\n animation-name: fa-fade;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-beat-fade {\\n animation-name: fa-beat-fade;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-flip {\\n animation-name: fa-flip;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-shake {\\n animation-name: fa-shake;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin {\\n animation-name: fa-spin;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 2s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin-reverse {\\n --fa-animation-direction: reverse;\\n}\\n\\n.fa-pulse,\\n.fa-spin-pulse {\\n animation-name: fa-spin;\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, steps(8));\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .fa-beat,\\n.fa-bounce,\\n.fa-fade,\\n.fa-beat-fade,\\n.fa-flip,\\n.fa-pulse,\\n.fa-shake,\\n.fa-spin,\\n.fa-spin-pulse {\\n animation-delay: -1ms;\\n animation-duration: 1ms;\\n animation-iteration-count: 1;\\n transition-delay: 0s;\\n transition-duration: 0s;\\n }\\n}\\n@keyframes fa-beat {\\n 0%, 90% {\\n transform: scale(1);\\n }\\n 45% {\\n transform: scale(var(--fa-beat-scale, 1.25));\\n }\\n}\\n@keyframes fa-bounce {\\n 0% {\\n transform: scale(1, 1) translateY(0);\\n }\\n 10% {\\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n }\\n 30% {\\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n }\\n 50% {\\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n }\\n 57% {\\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n }\\n 64% {\\n transform: scale(1, 1) translateY(0);\\n }\\n 100% {\\n transform: scale(1, 1) translateY(0);\\n }\\n}\\n@keyframes fa-fade {\\n 50% {\\n opacity: var(--fa-fade-opacity, 0.4);\\n }\\n}\\n@keyframes fa-beat-fade {\\n 0%, 100% {\\n opacity: var(--fa-beat-fade-opacity, 0.4);\\n transform: scale(1);\\n }\\n 50% {\\n opacity: 1;\\n transform: scale(var(--fa-beat-fade-scale, 1.125));\\n }\\n}\\n@keyframes fa-flip {\\n 50% {\\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n }\\n}\\n@keyframes fa-shake {\\n 0% {\\n transform: rotate(-15deg);\\n }\\n 4% {\\n transform: rotate(15deg);\\n }\\n 8%, 24% {\\n transform: rotate(-18deg);\\n }\\n 12%, 28% {\\n transform: rotate(18deg);\\n }\\n 16% {\\n transform: rotate(-22deg);\\n }\\n 20% {\\n transform: rotate(22deg);\\n }\\n 32% {\\n transform: rotate(-12deg);\\n }\\n 36% {\\n transform: rotate(12deg);\\n }\\n 40%, 100% {\\n transform: rotate(0deg);\\n }\\n}\\n@keyframes fa-spin {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both,\\n.fa-flip-horizontal.fa-flip-vertical {\\n transform: scale(-1, -1);\\n}\\n\\n.fa-rotate-by {\\n transform: rotate(var(--fa-rotate-angle, 0));\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n vertical-align: middle;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n z-index: var(--fa-stack-z-index, auto);\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: var(--fa-inverse, #fff);\\n}\\n\\n.sr-only,\\n.fa-sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.sr-only-focusable:not(:focus),\\n.fa-sr-only-focusable:not(:focus) {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\";\n\nfunction css() {\n const dcp = DEFAULT_CSS_PREFIX;\n const drc = DEFAULT_REPLACEMENT_CLASS;\n const fp = config.cssPrefix;\n const rc = config.replacementClass;\n let s = baseStyles;\n if (fp !== dcp || rc !== drc) {\n const dPatt = new RegExp(\"\\\\.\".concat(dcp, \"\\\\-\"), 'g');\n const customPropPatt = new RegExp(\"\\\\--\".concat(dcp, \"\\\\-\"), 'g');\n const rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n return s;\n}\nlet _cssInserted = false;\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n}\nvar InjectCSS = {\n mixout() {\n return {\n dom: {\n css,\n insertCss: ensureCss\n }\n };\n },\n hooks() {\n return {\n beforeDOMElementCreation() {\n ensureCss();\n },\n beforeI2svg() {\n ensureCss();\n }\n };\n }\n};\n\nconst w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nconst functions = [];\nconst listener = function () {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(fn => fn());\n};\nlet loaded = false;\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nfunction toHtml(abstractNodes) {\n const {\n tag,\n attributes = {},\n children = []\n } = abstractNodes;\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix,\n iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n return result;\n};\n\n/**\n * ucs2decode() and codePointAt() are both works of Mathias Bynens and licensed under MIT\n *\n * Copyright Mathias Bynens \n\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nfunction ucs2decode(string) {\n const output = [];\n let counter = 0;\n const length = string.length;\n while (counter < length) {\n const value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n const extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) {\n // eslint-disable-line eqeqeq\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n}\nfunction toHex(unicode) {\n const decoded = ucs2decode(unicode);\n return decoded.length === 1 ? decoded[0].toString(16) : null;\n}\nfunction codePointAt(string, index) {\n const size = string.length;\n let first = string.charCodeAt(index);\n let second;\n if (first >= 0xD800 && first <= 0xDBFF && size > index + 1) {\n second = string.charCodeAt(index + 1);\n if (second >= 0xDC00 && second <= 0xDFFF) {\n return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n return first;\n}\n\nfunction normalizeIcons(icons) {\n return Object.keys(icons).reduce((acc, iconName) => {\n const icon = icons[iconName];\n const expanded = !!icon.icon;\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n return acc;\n }, {});\n}\nfunction defineIcons(prefix, icons) {\n let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const {\n skipHooks = false\n } = params;\n const normalized = normalizeIcons(icons);\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalizeIcons(icons));\n } else {\n namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), normalized);\n }\n\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll ease the upgrade process for our users by automatically defining\n * this as well.\n */\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nconst duotonePathRe = [/*#__PURE__*/_wrapRegExp(/path d=\"([^\"]+)\".*path d=\"([^\"]+)\"/, {\n d1: 1,\n d2: 2\n}), /*#__PURE__*/_wrapRegExp(/path class=\"([^\"]+)\".*d=\"([^\"]+)\".*path class=\"([^\"]+)\".*d=\"([^\"]+)\"/, {\n cls1: 1,\n d1: 2,\n cls2: 3,\n d2: 4\n}), /*#__PURE__*/_wrapRegExp(/path class=\"([^\"]+)\".*d=\"([^\"]+)\"/, {\n cls1: 1,\n d1: 2\n})];\n\nconst {\n styles,\n shims\n} = namespace;\nconst FAMILY_NAMES = Object.keys(PREFIX_TO_LONG_STYLE);\nconst PREFIXES_FOR_FAMILY = FAMILY_NAMES.reduce((acc, familyId) => {\n acc[familyId] = Object.keys(PREFIX_TO_LONG_STYLE[familyId]);\n return acc;\n}, {});\nlet _defaultUsablePrefix = null;\nlet _byUnicode = {};\nlet _byLigature = {};\nlet _byOldName = {};\nlet _byOldUnicode = {};\nlet _byAlias = {};\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction getIconName(cssPrefix, cls) {\n const parts = cls.split('-');\n const prefix = parts[0];\n const iconName = parts.slice(1).join('-');\n if (prefix === cssPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nconst build = () => {\n const lookup = reducer => {\n return reduce(styles, (o$$1, style, prefix) => {\n o$$1[prefix] = reduce(style, reducer, {});\n return o$$1;\n }, {});\n };\n _byUnicode = lookup((acc, icon, iconName) => {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n if (icon[2]) {\n const aliases = icon[2].filter(a$$1 => {\n return typeof a$$1 === 'number';\n });\n aliases.forEach(alias => {\n acc[alias.toString(16)] = iconName;\n });\n }\n return acc;\n });\n _byLigature = lookup((acc, icon, iconName) => {\n acc[iconName] = iconName;\n if (icon[2]) {\n const aliases = icon[2].filter(a$$1 => {\n return typeof a$$1 === 'string';\n });\n aliases.forEach(alias => {\n acc[alias] = iconName;\n });\n }\n return acc;\n });\n _byAlias = lookup((acc, icon, iconName) => {\n const aliases = icon[2];\n acc[iconName] = iconName;\n aliases.forEach(alias => {\n acc[alias] = iconName;\n });\n return acc;\n });\n\n // If we have a Kit, we can't determine if regular is available since we\n // could be auto-fetching it. We'll have to assume that it is available.\n const hasRegular = 'far' in styles || config.autoFetchSvg;\n const shimLookups = reduce(shims, (acc, shim) => {\n const maybeNameMaybeUnicode = shim[0];\n let prefix = shim[1];\n const iconName = shim[2];\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n if (typeof maybeNameMaybeUnicode === 'string') {\n acc.names[maybeNameMaybeUnicode] = {\n prefix,\n iconName\n };\n }\n if (typeof maybeNameMaybeUnicode === 'number') {\n acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {\n prefix,\n iconName\n };\n }\n return acc;\n }, {\n names: {},\n unicodes: {}\n });\n _byOldName = shimLookups.names;\n _byOldUnicode = shimLookups.unicodes;\n _defaultUsablePrefix = getCanonicalPrefix(config.styleDefault, {\n family: config.familyDefault\n });\n};\nonChange(c$$1 => {\n _defaultUsablePrefix = getCanonicalPrefix(c$$1.styleDefault, {\n family: config.familyDefault\n });\n});\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byAlias(prefix, alias) {\n return (_byAlias[prefix] || {})[alias];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\nfunction byOldUnicode(unicode) {\n const oldUnicode = _byOldUnicode[unicode];\n const newUnicode = byUnicode('fas', unicode);\n return oldUnicode || (newUnicode ? {\n prefix: 'fas',\n iconName: newUnicode\n } : null) || {\n prefix: null,\n iconName: null\n };\n}\nfunction getDefaultUsablePrefix() {\n return _defaultUsablePrefix;\n}\nconst emptyCanonicalIcon = () => {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getFamilyId(values) {\n let family = s;\n const famProps = FAMILY_NAMES.reduce((acc, familyId) => {\n acc[familyId] = \"\".concat(config.cssPrefix, \"-\").concat(familyId);\n return acc;\n }, {});\n L.forEach(familyId => {\n if (values.includes(famProps[familyId]) || values.some(v$$1 => PREFIXES_FOR_FAMILY[familyId].includes(v$$1))) {\n family = familyId;\n }\n });\n return family;\n}\nfunction getCanonicalPrefix(styleOrPrefix) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n family = s\n } = params;\n const style = PREFIX_TO_STYLE[family][styleOrPrefix];\n\n // handles the exception of passing in only a family of 'duotone' with no style\n if (family === t && !styleOrPrefix) {\n return 'fad';\n }\n const prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];\n const defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;\n const result = prefix || defined || null;\n return result;\n}\nfunction moveNonFaClassesToRest(classNames) {\n let rest = [];\n let iconName = null;\n classNames.forEach(cls => {\n const result = getIconName(config.cssPrefix, cls);\n if (result) {\n iconName = result;\n } else if (cls) {\n rest.push(cls);\n }\n });\n return {\n iconName,\n rest\n };\n}\nfunction sortedUniqueValues(arr) {\n return arr.sort().filter((value, index, arr) => {\n return arr.indexOf(value) === index;\n });\n}\nfunction getCanonicalIcon(values) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n skipLookups = false\n } = params;\n let givenPrefix = null;\n const faCombinedClasses = Ia.concat(bt$1);\n const faStyleOrFamilyClasses = sortedUniqueValues(values.filter(cls => faCombinedClasses.includes(cls)));\n const nonStyleOrFamilyClasses = sortedUniqueValues(values.filter(cls => !Ia.includes(cls)));\n const faStyles = faStyleOrFamilyClasses.filter(cls => {\n givenPrefix = cls;\n return !P.includes(cls);\n });\n const [styleFromValues = null] = faStyles;\n const family = getFamilyId(faStyleOrFamilyClasses);\n const canonical = _objectSpread2(_objectSpread2({}, moveNonFaClassesToRest(nonStyleOrFamilyClasses)), {}, {\n prefix: getCanonicalPrefix(styleFromValues, {\n family\n })\n });\n return _objectSpread2(_objectSpread2(_objectSpread2({}, canonical), getDefaultCanonicalPrefix({\n values,\n family,\n styles,\n config,\n canonical,\n givenPrefix\n })), applyShimAndAlias(skipLookups, givenPrefix, canonical));\n}\nfunction applyShimAndAlias(skipLookups, givenPrefix, canonical) {\n let {\n prefix,\n iconName\n } = canonical;\n if (skipLookups || !prefix || !iconName) {\n return {\n prefix,\n iconName\n };\n }\n const shim = givenPrefix === 'fa' ? byOldName(iconName) : {};\n const aliasIconName = byAlias(prefix, iconName);\n iconName = shim.iconName || aliasIconName || iconName;\n prefix = shim.prefix || prefix;\n if (prefix === 'far' && !styles['far'] && styles['fas'] && !config.autoFetchSvg) {\n // Allow a fallback from the regular style to solid if regular is not available\n // but only if we aren't auto-fetching SVGs\n prefix = 'fas';\n }\n return {\n prefix,\n iconName\n };\n}\nconst newCanonicalFamilies = L.filter(familyId => {\n return familyId !== s || familyId !== t;\n});\nconst newCanonicalStyles = Object.keys(ga).filter(key => key !== s).map(key => Object.keys(ga[key])).flat();\nfunction getDefaultCanonicalPrefix(prefixOptions) {\n const {\n values,\n family,\n canonical,\n givenPrefix = '',\n styles = {},\n config: config$$1 = {}\n } = prefixOptions;\n const isDuotoneFamily = family === t;\n const valuesHasDuotone = values.includes('fa-duotone') || values.includes('fad');\n const defaultFamilyIsDuotone = config$$1.familyDefault === 'duotone';\n const canonicalPrefixIsDuotone = canonical.prefix === 'fad' || canonical.prefix === 'fa-duotone';\n if (!isDuotoneFamily && (valuesHasDuotone || defaultFamilyIsDuotone || canonicalPrefixIsDuotone)) {\n canonical.prefix = 'fad';\n }\n if (values.includes('fa-brands') || values.includes('fab')) {\n canonical.prefix = 'fab';\n }\n if (!canonical.prefix && newCanonicalFamilies.includes(family)) {\n const validPrefix = Object.keys(styles).find(key => newCanonicalStyles.includes(key));\n if (validPrefix || config$$1.autoFetchSvg) {\n const defaultPrefix = pt.get(family).defaultShortPrefixId;\n canonical.prefix = defaultPrefix;\n canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;\n }\n }\n if (canonical.prefix === 'fa' || givenPrefix === 'fa') {\n // The fa prefix is not canonical. So if it has made it through until this point\n // we will shift it to the correct prefix.\n canonical.prefix = getDefaultUsablePrefix() || 'fas';\n }\n return canonical;\n}\n\nclass Library {\n constructor() {\n this.definitions = {};\n }\n add() {\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n const additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(key => {\n this.definitions[key] = _objectSpread2(_objectSpread2({}, this.definitions[key] || {}), additions[key]);\n defineIcons(key, additions[key]);\n\n // TODO can we stop doing this? We can't get the icons by 'fa-solid' any longer so this probably needs to change\n const longPrefix = PREFIX_TO_LONG_STYLE[s][key];\n if (longPrefix) defineIcons(longPrefix, additions[key]);\n build();\n });\n }\n reset() {\n this.definitions = {};\n }\n _pullDefinitions(additions, definition) {\n const normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(key => {\n const {\n prefix,\n iconName,\n icon\n } = normalized[key];\n const aliases = icon[2];\n if (!additions[prefix]) additions[prefix] = {};\n if (aliases.length > 0) {\n aliases.forEach(alias => {\n if (typeof alias === 'string') {\n additions[prefix][alias] = icon;\n }\n });\n }\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n}\n\nlet _plugins = [];\nlet _hooks = {};\nconst providers = {};\nconst defaultProviderKeys = Object.keys(providers);\nfunction registerPlugins(nextPlugins, _ref) {\n let {\n mixoutsTo: obj\n } = _ref;\n _plugins = nextPlugins;\n _hooks = {};\n Object.keys(providers).forEach(k => {\n if (defaultProviderKeys.indexOf(k) === -1) {\n delete providers[k];\n }\n });\n _plugins.forEach(plugin => {\n const mixout = plugin.mixout ? plugin.mixout() : {};\n Object.keys(mixout).forEach(tk => {\n if (typeof mixout[tk] === 'function') {\n obj[tk] = mixout[tk];\n }\n if (typeof mixout[tk] === 'object') {\n Object.keys(mixout[tk]).forEach(sk => {\n if (!obj[tk]) {\n obj[tk] = {};\n }\n obj[tk][sk] = mixout[tk][sk];\n });\n }\n });\n if (plugin.hooks) {\n const hooks = plugin.hooks();\n Object.keys(hooks).forEach(hook => {\n if (!_hooks[hook]) {\n _hooks[hook] = [];\n }\n _hooks[hook].push(hooks[hook]);\n });\n }\n if (plugin.provides) {\n plugin.provides(providers);\n }\n });\n return obj;\n}\nfunction chainHooks(hook, accumulator) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n const hookFns = _hooks[hook] || [];\n hookFns.forEach(hookFn => {\n accumulator = hookFn.apply(null, [accumulator, ...args]); // eslint-disable-line no-useless-call\n });\n return accumulator;\n}\nfunction callHooks(hook) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n const hookFns = _hooks[hook] || [];\n hookFns.forEach(hookFn => {\n hookFn.apply(null, args);\n });\n return undefined;\n}\nfunction callProvided() {\n const hook = arguments[0];\n const args = Array.prototype.slice.call(arguments, 1);\n return providers[hook] ? providers[hook].apply(null, args) : undefined;\n}\n\nfunction findIconDefinition(iconLookup) {\n if (iconLookup.prefix === 'fa') {\n iconLookup.prefix = 'fas';\n }\n let {\n iconName\n } = iconLookup;\n const prefix = iconLookup.prefix || getDefaultUsablePrefix();\n if (!iconName) return;\n iconName = byAlias(prefix, iconName) || iconName;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\nconst library = new Library();\nconst noAuto = () => {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n callHooks('noAuto');\n};\nconst dom = {\n i2svg: function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (IS_DOM) {\n callHooks('beforeI2svg', params);\n callProvided('pseudoElements2svg', params);\n return callProvided('i2svg', params);\n } else {\n return Promise.reject(new Error('Operation requires a DOM of some kind.'));\n }\n },\n watch: function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n autoReplaceSvgRoot\n } = params;\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n config.observeMutations = true;\n domready(() => {\n autoReplace({\n autoReplaceSvgRoot\n });\n callHooks('watch', params);\n });\n }\n};\nconst parse = {\n icon: icon => {\n if (icon === null) {\n return null;\n }\n if (typeof icon === 'object' && icon.prefix && icon.iconName) {\n return {\n prefix: icon.prefix,\n iconName: byAlias(icon.prefix, icon.iconName) || icon.iconName\n };\n }\n if (Array.isArray(icon) && icon.length === 2) {\n const iconName = icon[1].indexOf('fa-') === 0 ? icon[1].slice(3) : icon[1];\n const prefix = getCanonicalPrefix(icon[0]);\n return {\n prefix,\n iconName: byAlias(prefix, iconName) || iconName\n };\n }\n if (typeof icon === 'string' && (icon.indexOf(\"\".concat(config.cssPrefix, \"-\")) > -1 || icon.match(ICON_SELECTION_SYNTAX_PATTERN))) {\n const canonicalIcon = getCanonicalIcon(icon.split(' '), {\n skipLookups: true\n });\n return {\n prefix: canonicalIcon.prefix || getDefaultUsablePrefix(),\n iconName: byAlias(canonicalIcon.prefix, canonicalIcon.iconName) || canonicalIcon.iconName\n };\n }\n if (typeof icon === 'string') {\n const prefix = getDefaultUsablePrefix();\n return {\n prefix,\n iconName: byAlias(prefix, icon) || icon\n };\n }\n }\n};\nconst api = {\n noAuto,\n config,\n dom,\n parse,\n library,\n findIconDefinition,\n toHtml\n};\nconst autoReplace = function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n autoReplaceSvgRoot = DOCUMENT\n } = params;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nfunction domVariants(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function () {\n return val.abstract.map(a => toHtml(a));\n }\n });\n Object.defineProperty(val, 'node', {\n get: function () {\n if (!IS_DOM) return;\n const container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction asIcon (_ref) {\n let {\n children,\n main,\n mask,\n attributes,\n styles,\n transform\n } = _ref;\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n const {\n width,\n height\n } = main;\n const offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread2(_objectSpread2({}, styles), {}, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n return [{\n tag: 'svg',\n attributes,\n children\n }];\n}\n\nfunction asSymbol (_ref) {\n let {\n prefix,\n iconName,\n children,\n attributes,\n symbol\n } = _ref;\n const id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.cssPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread2(_objectSpread2({}, attributes), {}, {\n id\n }),\n children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n const {\n icons: {\n main,\n mask\n },\n prefix,\n iconName,\n transform,\n symbol,\n title,\n maskId,\n titleId,\n extra,\n watchable = false\n } = params;\n const {\n width,\n height\n } = mask.found ? mask : main;\n const isUploadedIcon = Lt.includes(prefix);\n const attrClass = [config.replacementClass, iconName ? \"\".concat(config.cssPrefix, \"-\").concat(iconName) : ''].filter(c$$1 => extra.classes.indexOf(c$$1) === -1).filter(c$$1 => c$$1 !== '' || !!c$$1).concat(extra.classes).join(' ');\n let content = {\n children: [],\n attributes: _objectSpread2(_objectSpread2({}, extra.attributes), {}, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n const uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n if (title) {\n content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n delete content.attributes.title;\n }\n const args = _objectSpread2(_objectSpread2({}, content), {}, {\n prefix,\n iconName,\n main,\n mask,\n maskId,\n transform,\n symbol,\n styles: _objectSpread2(_objectSpread2({}, uploadedIconWidthStyle), extra.styles)\n });\n const {\n children,\n attributes\n } = mask.found && main.found ? callProvided('generateAbstractMask', args) || {\n children: [],\n attributes: {}\n } : callProvided('generateAbstractIcon', args) || {\n children: [],\n attributes: {}\n };\n args.children = children;\n args.attributes = attributes;\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n const {\n content,\n width,\n height,\n transform,\n title,\n extra,\n watchable = false\n } = params;\n const attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n const styles = _objectSpread2({}, extra.styles);\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform,\n startCentered: true,\n width,\n height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n const styleString = joinStyles(styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n const val = [];\n val.push({\n tag: 'span',\n attributes,\n children: [content]\n });\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n const {\n content,\n title,\n extra\n } = params;\n const attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n const styleString = joinStyles(extra.styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n const val = [];\n val.push({\n tag: 'span',\n attributes,\n children: [content]\n });\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n return val;\n}\n\nconst {\n styles: styles$1\n} = namespace;\nfunction asFoundIcon(icon) {\n const width = icon[0];\n const height = icon[1];\n const [vectorData] = icon.slice(4);\n let element = null;\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n return {\n found: true,\n width,\n height,\n icon: element\n };\n}\nconst missingIconResolutionMixin = {\n found: false,\n width: 512,\n height: 512\n};\nfunction maybeNotifyMissing(iconName, prefix) {\n if (!PRODUCTION && !config.showMissingIcons && iconName) {\n console.error(\"Icon with name \\\"\".concat(iconName, \"\\\" and prefix \\\"\").concat(prefix, \"\\\" is missing.\"));\n }\n}\nfunction findIcon(iconName, prefix) {\n let givenPrefix = prefix;\n if (prefix === 'fa' && config.styleDefault !== null) {\n prefix = getDefaultUsablePrefix();\n }\n return new Promise((resolve, reject) => {\n if (givenPrefix === 'fa') {\n const shim = byOldName(iconName) || {};\n iconName = shim.iconName || iconName;\n prefix = shim.prefix || prefix;\n }\n if (iconName && prefix && styles$1[prefix] && styles$1[prefix][iconName]) {\n const icon = styles$1[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n maybeNotifyMissing(iconName, prefix);\n resolve(_objectSpread2(_objectSpread2({}, missingIconResolutionMixin), {}, {\n icon: config.showMissingIcons && iconName ? callProvided('missingIconAbstract') || {} : {}\n }));\n });\n}\n\nconst noop$1 = () => {};\nconst p$2 = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nconst preamble = \"FA \\\"6.7.2\\\"\";\nconst begin = name => {\n p$2.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return () => end(name);\n};\nconst end = name => {\n p$2.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p$2.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\nvar perf = {\n begin,\n end\n};\n\nconst noop$2 = () => {};\nfunction isWatched(node) {\n const i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\nfunction hasPrefixAndIcon(node) {\n const prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;\n const icon = node.getAttribute ? node.getAttribute(DATA_ICON) : null;\n return prefix && icon;\n}\nfunction hasBeenReplaced(node) {\n return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);\n}\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n const mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\nfunction createElementNS(tag) {\n return DOCUMENT.createElementNS('http://www.w3.org/2000/svg', tag);\n}\nfunction createElement(tag) {\n return DOCUMENT.createElement(tag);\n}\nfunction convertSVG(abstractObj) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n ceFn = abstractObj.tag === 'svg' ? createElementNS : createElement\n } = params;\n if (typeof abstractObj === 'string') {\n return DOCUMENT.createTextNode(abstractObj);\n }\n const tag = ceFn(abstractObj.tag);\n Object.keys(abstractObj.attributes || []).forEach(function (key) {\n tag.setAttribute(key, abstractObj.attributes[key]);\n });\n const children = abstractObj.children || [];\n children.forEach(function (child) {\n tag.appendChild(convertSVG(child, {\n ceFn\n }));\n });\n return tag;\n}\nfunction nodeAsComment(node) {\n let comment = \" \".concat(node.outerHTML, \" \");\n /* BEGIN.ATTRIBUTION */\n comment = \"\".concat(comment, \"Font Awesome fontawesome.com \");\n /* END.ATTRIBUTION */\n return comment;\n}\nconst mutators = {\n replace: function (mutation) {\n const node = mutation[0];\n if (node.parentNode) {\n mutation[1].forEach(abstract => {\n node.parentNode.insertBefore(convertSVG(abstract), node);\n });\n if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {\n let comment = DOCUMENT.createComment(nodeAsComment(node));\n node.parentNode.replaceChild(comment, node);\n } else {\n node.remove();\n }\n }\n },\n nest: function (mutation) {\n const node = mutation[0];\n const abstract = mutation[1];\n\n // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n const forSvg = new RegExp(\"\".concat(config.cssPrefix, \"-.*\"));\n delete abstract[0].attributes.id;\n if (abstract[0].attributes.class) {\n const splitClasses = abstract[0].attributes.class.split(' ').reduce((acc, cls) => {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n if (splitClasses.toNode.length === 0) {\n node.removeAttribute('class');\n } else {\n node.setAttribute('class', splitClasses.toNode.join(' '));\n }\n }\n const newInnerHTML = abstract.map(a => toHtml(a)).join('\\n');\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\nfunction performOperationSync(op) {\n op();\n}\nfunction perform(mutations, callback) {\n const callbackFunction = typeof callback === 'function' ? callback : noop$2;\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n let frame = performOperationSync;\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n frame(() => {\n const mutator = getMutator();\n const mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nlet disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nlet mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n if (!config.observeMutations) {\n return;\n }\n const {\n treeCallback = noop$2,\n nodeCallback = noop$2,\n pseudoElementsCallback = noop$2,\n observeMutationsRoot = DOCUMENT\n } = options;\n mo = new MUTATION_OBSERVER(objects => {\n if (disabled) return;\n const defaultPrefix = getDefaultUsablePrefix();\n toArray(objects).forEach(mutationRecord => {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n treeCallback(mutationRecord.target);\n }\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class' && hasPrefixAndIcon(mutationRecord.target)) {\n const {\n prefix,\n iconName\n } = getCanonicalIcon(classArray(mutationRecord.target));\n mutationRecord.target.setAttribute(DATA_PREFIX, prefix || defaultPrefix);\n if (iconName) mutationRecord.target.setAttribute(DATA_ICON, iconName);\n } else if (hasBeenReplaced(mutationRecord.target)) {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n const style = node.getAttribute('style');\n let val = [];\n if (style) {\n val = style.split(';').reduce((acc, style) => {\n const styles = style.split(':');\n const prop = styles[0];\n const value = styles.slice(1);\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n return acc;\n }, {});\n }\n return val;\n}\n\nfunction classParser (node) {\n const existingPrefix = node.getAttribute('data-prefix');\n const existingIconName = node.getAttribute('data-icon');\n const innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n let val = getCanonicalIcon(classArray(node));\n if (!val.prefix) {\n val.prefix = getDefaultUsablePrefix();\n }\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n if (val.iconName && val.prefix) {\n return val;\n }\n if (val.prefix && innerText.length > 0) {\n val.iconName = byLigature(val.prefix, node.innerText) || byUnicode(val.prefix, toHex(node.innerText));\n }\n if (!val.iconName && config.autoFetchSvg && node.firstChild && node.firstChild.nodeType === Node.TEXT_NODE) {\n val.iconName = node.firstChild.data;\n }\n return val;\n}\n\nfunction attributesParser (node) {\n const extraAttributes = toArray(node.attributes).reduce((acc, attr) => {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n return acc;\n }, {});\n const title = node.getAttribute('title');\n const titleId = node.getAttribute('data-fa-title-id');\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n return extraAttributes;\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n let parser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n styleParser: true\n };\n const {\n iconName,\n prefix,\n rest: extraClasses\n } = classParser(node);\n const extraAttributes = attributesParser(node);\n const pluginMeta = chainHooks('parseNodeAttributes', {}, node);\n let extraStyles = parser.styleParser ? styleParser(node) : [];\n return _objectSpread2({\n iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix,\n transform: meaninglessTransform,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n symbol: false,\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n }, pluginMeta);\n}\n\nconst {\n styles: styles$2\n} = namespace;\nfunction generateMutation(node) {\n const nodeMeta = config.autoReplaceSvg === 'nest' ? parseMeta(node, {\n styleParser: false\n }) : parseMeta(node);\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return callProvided('generateLayersText', node, nodeMeta);\n } else {\n return callProvided('generateSvgReplacementMutation', node, nodeMeta);\n }\n}\nfunction getKnownPrefixes() {\n return [...Ft, ...Ia];\n}\nfunction onTree(root) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return Promise.resolve();\n const htmlClassList = DOCUMENT.documentElement.classList;\n const hclAdd = suffix => htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n const hclRemove = suffix => htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n const prefixes = config.autoFetchSvg ? getKnownPrefixes() : P.concat(Object.keys(styles$2));\n if (!prefixes.includes('fa')) {\n prefixes.push('fa');\n }\n const prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(p$$1 => \".\".concat(p$$1, \":not([\").concat(DATA_FA_I2SVG, \"])\"))).join(', ');\n if (prefixesDomQuery.length === 0) {\n return Promise.resolve();\n }\n let candidates = [];\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e$$1) {\n // noop\n }\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return Promise.resolve();\n }\n const mark = perf.begin('onTree');\n const mutations = candidates.reduce((acc, node) => {\n try {\n const mutation = generateMutation(node);\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e$$1) {\n if (!PRODUCTION) {\n if (e$$1.name === 'MissingIcon') {\n console.error(e$$1);\n }\n }\n }\n return acc;\n }, []);\n return new Promise((resolve, reject) => {\n Promise.all(mutations).then(resolvedMutations => {\n perform(resolvedMutations, () => {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(e$$1 => {\n mark();\n reject(e$$1);\n });\n });\n}\nfunction onNode(node) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(mutation => {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n let {\n mask\n } = params;\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n return next(iconDefinition, _objectSpread2(_objectSpread2({}, params), {}, {\n mask\n }));\n };\n}\nconst render = function (iconDefinition) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n transform = meaninglessTransform,\n symbol = false,\n mask = null,\n maskId = null,\n title = null,\n titleId = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n if (!iconDefinition) return;\n const {\n prefix,\n iconName,\n icon\n } = iconDefinition;\n return domVariants(_objectSpread2({\n type: 'icon'\n }, iconDefinition), () => {\n callHooks('beforeDOMElementCreation', {\n iconDefinition,\n params\n });\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix,\n iconName,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n symbol,\n title,\n maskId,\n titleId,\n extra: {\n attributes,\n styles,\n classes\n }\n });\n });\n};\nvar ReplaceElements = {\n mixout() {\n return {\n icon: resolveIcons(render)\n };\n },\n hooks() {\n return {\n mutationObserverCallbacks(accumulator) {\n accumulator.treeCallback = onTree;\n accumulator.nodeCallback = onNode;\n return accumulator;\n }\n };\n },\n provides(providers$$1) {\n providers$$1.i2svg = function (params) {\n const {\n node = DOCUMENT,\n callback = () => {}\n } = params;\n return onTree(node, callback);\n };\n providers$$1.generateSvgReplacementMutation = function (node, nodeMeta) {\n const {\n iconName,\n title,\n titleId,\n prefix,\n transform,\n symbol,\n mask,\n maskId,\n extra\n } = nodeMeta;\n return new Promise((resolve, reject) => {\n Promise.all([findIcon(iconName, prefix), mask.iconName ? findIcon(mask.iconName, mask.prefix) : Promise.resolve({\n found: false,\n width: 512,\n height: 512,\n icon: {}\n })]).then(_ref => {\n let [main, mask] = _ref;\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main,\n mask\n },\n prefix,\n iconName,\n transform,\n symbol,\n maskId,\n title,\n titleId,\n extra,\n watchable: true\n })]);\n }).catch(reject);\n });\n };\n providers$$1.generateAbstractIcon = function (_ref2) {\n let {\n children,\n attributes,\n main,\n transform,\n styles\n } = _ref2;\n const styleString = joinStyles(styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n let nextChild;\n if (transformIsMeaningful(transform)) {\n nextChild = callProvided('generateAbstractTransformGrouping', {\n main,\n transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n }\n children.push(nextChild || main.icon);\n return {\n children,\n attributes\n };\n };\n }\n};\n\nvar Layers = {\n mixout() {\n return {\n layer(assembler) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n classes = []\n } = params;\n return domVariants({\n type: 'layer'\n }, () => {\n callHooks('beforeDOMElementCreation', {\n assembler,\n params\n });\n let children = [];\n assembler(args => {\n Array.isArray(args) ? args.map(a => {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.cssPrefix, \"-layers\"), ...classes].join(' ')\n },\n children\n }];\n });\n }\n };\n }\n};\n\nvar LayersCounter = {\n mixout() {\n return {\n counter(content) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n title = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n return domVariants({\n type: 'counter',\n content\n }, () => {\n callHooks('beforeDOMElementCreation', {\n content,\n params\n });\n return makeLayersCounterAbstract({\n content: content.toString(),\n title,\n extra: {\n attributes,\n styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-counter\"), ...classes]\n }\n });\n });\n }\n };\n }\n};\n\nvar LayersText = {\n mixout() {\n return {\n text(content) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n transform = meaninglessTransform,\n title = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n return domVariants({\n type: 'text',\n content\n }, () => {\n callHooks('beforeDOMElementCreation', {\n content,\n params\n });\n return makeLayersTextAbstract({\n content,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n title,\n extra: {\n attributes,\n styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-text\"), ...classes]\n }\n });\n });\n }\n };\n },\n provides(providers$$1) {\n providers$$1.generateLayersText = function (node, nodeMeta) {\n const {\n title,\n transform,\n extra\n } = nodeMeta;\n let width = null;\n let height = null;\n if (IS_IE) {\n const computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n const boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n return Promise.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width,\n height,\n transform,\n title,\n extra,\n watchable: true\n })]);\n };\n }\n};\n\nconst CLEAN_CONTENT_PATTERN = new RegExp('\\u{22}', 'ug');\nconst SECONDARY_UNICODE_RANGE = [1105920, 1112319];\nconst _FONT_FAMILY_WEIGHT_TO_PREFIX = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n FontAwesome: {\n normal: 'fas',\n 400: 'fas'\n }\n}), lt), wa), Yt);\nconst FONT_FAMILY_WEIGHT_TO_PREFIX = Object.keys(_FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, key) => {\n acc[key.toLowerCase()] = _FONT_FAMILY_WEIGHT_TO_PREFIX[key];\n return acc;\n}, {});\nconst FONT_FAMILY_WEIGHT_FALLBACK = Object.keys(FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, fontFamily) => {\n const weights = FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamily];\n acc[fontFamily] = weights[900] || [...Object.entries(weights)][0][1];\n return acc;\n}, {});\nfunction hexValueFromContent(content) {\n const cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');\n const codePoint = codePointAt(cleaned, 0);\n const isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];\n const isDoubled = cleaned.length === 2 ? cleaned[0] === cleaned[1] : false;\n return {\n value: isDoubled ? toHex(cleaned[0]) : toHex(cleaned),\n isSecondary: isPrependTen || isDoubled\n };\n}\nfunction getPrefix(fontFamily, fontWeight) {\n const fontFamilySanitized = fontFamily.replace(/^['\"]|['\"]$/g, '').toLowerCase();\n const fontWeightInteger = parseInt(fontWeight);\n const fontWeightSanitized = isNaN(fontWeightInteger) ? 'normal' : fontWeightInteger;\n return (FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamilySanitized] || {})[fontWeightSanitized] || FONT_FAMILY_WEIGHT_FALLBACK[fontFamilySanitized];\n}\nfunction replaceForPosition(node, position) {\n const pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new Promise((resolve, reject) => {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n const children = toArray(node.children);\n const alreadyProcessedPseudoElement = children.filter(c$$1 => c$$1.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position)[0];\n const styles = WINDOW.getComputedStyle(node, position);\n const fontFamily = styles.getPropertyValue('font-family');\n const fontFamilyMatch = fontFamily.match(FONT_FAMILY_PATTERN);\n const fontWeight = styles.getPropertyValue('font-weight');\n const content = styles.getPropertyValue('content');\n if (alreadyProcessedPseudoElement && !fontFamilyMatch) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamilyMatch && content !== 'none' && content !== '') {\n const content = styles.getPropertyValue('content');\n let prefix = getPrefix(fontFamily, fontWeight);\n const {\n value: hexValue,\n isSecondary\n } = hexValueFromContent(content);\n const isV4 = fontFamilyMatch[0].startsWith('FontAwesome');\n let iconName = byUnicode(prefix, hexValue);\n let iconIdentifier = iconName;\n if (isV4) {\n const iconName4 = byOldUnicode(hexValue);\n if (iconName4.iconName && iconName4.prefix) {\n iconName = iconName4.iconName;\n prefix = iconName4.prefix;\n }\n }\n\n // Only convert the pseudo element in this ::before/::after position into an icon if we haven't\n // already done so with the same prefix and iconName\n if (iconName && !isSecondary && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n const meta = blankMeta();\n const {\n extra\n } = meta;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(main => {\n const abstract = makeInlineSvgAbstract(_objectSpread2(_objectSpread2({}, meta), {}, {\n icons: {\n main,\n mask: emptyCanonicalIcon()\n },\n prefix,\n iconName: iconIdentifier,\n extra,\n watchable: true\n }));\n const element = DOCUMENT.createElementNS('http://www.w3.org/2000/svg', 'svg');\n if (position === '::before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n element.outerHTML = abstract.map(a$$1 => toHtml(a$$1)).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\nfunction replace(node) {\n return Promise.all([replaceForPosition(node, '::before'), replaceForPosition(node, '::after')]);\n}\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\nfunction searchPseudoElements(root) {\n if (!IS_DOM) return;\n return new Promise((resolve, reject) => {\n const operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n const end = perf.begin('searchPseudoElements');\n disableObservation();\n Promise.all(operations).then(() => {\n end();\n enableObservation();\n resolve();\n }).catch(() => {\n end();\n enableObservation();\n reject();\n });\n });\n}\nvar PseudoElements = {\n hooks() {\n return {\n mutationObserverCallbacks(accumulator) {\n accumulator.pseudoElementsCallback = searchPseudoElements;\n return accumulator;\n }\n };\n },\n provides(providers) {\n providers.pseudoElements2svg = function (params) {\n const {\n node = DOCUMENT\n } = params;\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n };\n }\n};\n\nlet _unwatched = false;\nvar MutationObserver$1 = {\n mixout() {\n return {\n dom: {\n unwatch() {\n disableObservation();\n _unwatched = true;\n }\n }\n };\n },\n hooks() {\n return {\n bootstrap() {\n observe(chainHooks('mutationObserverCallbacks', {}));\n },\n noAuto() {\n disconnect();\n },\n watch(params) {\n const {\n observeMutationsRoot\n } = params;\n if (_unwatched) {\n enableObservation();\n } else {\n observe(chainHooks('mutationObserverCallbacks', {\n observeMutationsRoot\n }));\n }\n }\n };\n }\n};\n\nconst parseTransformString = transformString => {\n let transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n return transformString.toLowerCase().split(' ').reduce((acc, n) => {\n const parts = n.toLowerCase().split('-');\n const first = parts[0];\n let rest = parts.slice(1).join('-');\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n rest = parseFloat(rest);\n if (isNaN(rest)) {\n return acc;\n }\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n case 'left':\n acc.x = acc.x - rest;\n break;\n case 'right':\n acc.x = acc.x + rest;\n break;\n case 'up':\n acc.y = acc.y - rest;\n break;\n case 'down':\n acc.y = acc.y + rest;\n break;\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n return acc;\n }, transform);\n};\nvar PowerTransforms = {\n mixout() {\n return {\n parse: {\n transform: transformString => {\n return parseTransformString(transformString);\n }\n }\n };\n },\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const transformString = node.getAttribute('data-fa-transform');\n if (transformString) {\n accumulator.transform = parseTransformString(transformString);\n }\n return accumulator;\n }\n };\n },\n provides(providers) {\n providers.generateAbstractTransformGrouping = function (_ref) {\n let {\n main,\n transform,\n containerWidth,\n iconWidth\n } = _ref;\n const outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n const innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n const innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n const innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n const inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n const path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n const operations = {\n outer,\n inner,\n path\n };\n return {\n tag: 'g',\n attributes: _objectSpread2({}, operations.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread2({}, operations.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread2(_objectSpread2({}, main.icon.attributes), operations.path)\n }]\n }]\n };\n };\n }\n};\n\nconst ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\nfunction fillBlack(abstract) {\n let force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n return abstract;\n}\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\nvar Masks = {\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const maskData = node.getAttribute('data-fa-mask');\n const mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(' ').map(i => i.trim()));\n if (!mask.prefix) {\n mask.prefix = getDefaultUsablePrefix();\n }\n accumulator.mask = mask;\n accumulator.maskId = node.getAttribute('data-fa-mask-id');\n return accumulator;\n }\n };\n },\n provides(providers) {\n providers.generateAbstractMask = function (_ref) {\n let {\n children,\n attributes,\n main,\n mask,\n maskId: explicitMaskId,\n transform\n } = _ref;\n const {\n width: mainWidth,\n icon: mainPath\n } = main;\n const {\n width: maskWidth,\n icon: maskPath\n } = mask;\n const trans = transformForSvg({\n transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n const maskRect = {\n tag: 'rect',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n fill: 'white'\n })\n };\n const maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n const maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.inner),\n children: [fillBlack(_objectSpread2({\n tag: mainPath.tag,\n attributes: _objectSpread2(_objectSpread2({}, mainPath.attributes), trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n const maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.outer),\n children: [maskInnerGroup]\n };\n const maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n const clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n const maskTag = {\n tag: 'mask',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n const defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread2({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children,\n attributes\n };\n };\n }\n};\n\nvar MissingIconIndicator = {\n provides(providers) {\n let reduceMotion = false;\n if (WINDOW.matchMedia) {\n reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n providers.missingIconAbstract = function () {\n const gChildren = [];\n const FILL = {\n fill: 'currentColor'\n };\n const ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n };\n\n // Ring\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n });\n const OPACITY_ANIMATE = _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'opacity'\n });\n const dot = {\n tag: 'circle',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: []\n };\n if (!reduceMotion) {\n dot.children.push({\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;1;1;0;1;'\n })\n });\n }\n gChildren.push(dot);\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: reduceMotion ? [] : [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;0;0;0;1;'\n })\n }]\n });\n if (!reduceMotion) {\n // Exclamation\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '0;0;1;1;0;0;'\n })\n }]\n });\n }\n return {\n tag: 'g',\n attributes: {\n 'class': 'missing'\n },\n children: gChildren\n };\n };\n }\n};\n\nvar SvgSymbols = {\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const symbolData = node.getAttribute('data-fa-symbol');\n const symbol = symbolData === null ? false : symbolData === '' ? true : symbolData;\n accumulator['symbol'] = symbol;\n return accumulator;\n }\n };\n }\n};\n\nvar plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols];\n\nregisterPlugins(plugins, {\n mixoutsTo: api\n});\nconst noAuto$1 = api.noAuto;\nconst config$1 = api.config;\nconst library$1 = api.library;\nconst dom$1 = api.dom;\nconst parse$1 = api.parse;\nconst findIconDefinition$1 = api.findIconDefinition;\nconst toHtml$1 = api.toHtml;\nconst icon = api.icon;\nconst layer = api.layer;\nconst text = api.text;\nconst counter = api.counter;\n\nexport { noAuto$1 as noAuto, config$1 as config, library$1 as library, dom$1 as dom, parse$1 as parse, findIconDefinition$1 as findIconDefinition, toHtml$1 as toHtml, icon, layer, text, counter, api };\n"],"sourceRoot":""}