@mirantes-micro/foundation-design-system 0.0.19 → 0.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/fromMirantes/Spinner/Spinner.tsx","../src/components/fromMirantes/utils/joinUrlWithPathAndQuery.ts","../src/components/fromMirantes/utils/stringToObj.ts","../src/components/fromMirantes/utils/get-initials.ts","../src/context/MirantesFoundationContext.ts","../src/context/MirantesFoundationProvider.tsx","../src/assets/icons/ExploreIcon.tsx","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/class-group-utils.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/lru-cache.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/parse-class-name.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/config-utils.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/merge-classlist.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/tw-join.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/create-tailwind-merge.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/from-theme.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/validators.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/default-config.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/tw-merge.ts","../src/lib/utils.ts","../src/components/ui/tooltip.tsx","../src/components/shared/tooltip/tooltip.tsx","../src/components/fromMirantes/hooks/use-open.ts","../src/components/fromMirantes/hooks/use-outside-click.ts","../src/locales/dictionaries/en.ts","../src/locales/dictionaries/fr.ts","../src/locales/dictionaries/pt.ts","../src/locales/utils.ts","../src/assets/icons/edit-icon.tsx","../src/context/useMirantesFoundation.ts","../src/assets/icons/delete-icon.tsx","../src/styles/palette.const.ts","../src/components/shared/modal/confirm-modal.tsx","../src/components/ui/dialog.tsx","../src/components/shared/modal/modal.tsx","../src/assets/icons/loading-icon.tsx","../src/components/shared/button/button.tsx","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/subscribable.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/utils.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/focusManager.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/onlineManager.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/thenable.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/retryer.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/notifyManager.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/removable.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/query.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/queryCache.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/mutation.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/mutationCache.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/infiniteQueryBehavior.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/queryClient.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/queryObserver.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/infiniteQueryObserver.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/mutationObserver.ts","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/QueryClientProvider.tsx","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/IsRestoringProvider.ts","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/QueryErrorResetBoundary.tsx","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/errorBoundaryUtils.ts","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/suspense.ts","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/useBaseQuery.ts","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/useMutation.ts","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/useInfiniteQuery.ts","../src/components/fromMirantes/WorkspacePanel/api/graphql.ts","../src/client/queryClient.ts","../src/components/fromMirantes/WorkspacePanel/api/use-api-delete-workspace.ts","../src/components/shared/toasts/toasts.tsx","../src/assets/illustrations/AlertIllustration.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/store/add-workspace.store.ts","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/AddWorkspaceModal.tsx","../src/assets/illustrations/CongratulationsIllustration.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/components/AddWorkspaceDone/AddWorkspaceDone.tsx","../src/components/fromMirantes/WorkspacePanel/api/use-api-create-workspace.ts","../src/components/fromMirantes/WorkspacePanel/api/use-api-update-workspace.ts","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/components/AddWorkspaceForm/useAddWorkspaceModal.tsx","../src/assets/icons/CircledInfoIcon.tsx","../src/components/ui/input.tsx","../src/utils/utils.ts","../src/components/shared/BaseInput/BaseInput.tsx","../src/components/ui/button.tsx","../src/components/ui/command.tsx","../src/components/ui/popover.tsx","../src/components/shared/select-input/select-input.tsx","../src/components/shared/badge/badge.tsx","../src/components/ui/textarea.tsx","../src/components/shared/description-input/description-input.tsx","../src/assets/illustrations/CreatingWorkspaceIllustration.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/components/AddWorkspaceLoading/AddWorkspaceLoading.tsx","../src/components/shared/emogi-picker/emoji-picker.tsx","../src/assets/icons/use-icon.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/components/AddWorkspaceForm/AddWorkspaceForm.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/WorkspaceItems/WorkspaceBarItemOptions.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/WorkspaceItems/WorkspaceBarItem.tsx","../src/assets/icons/WorkFeedIcon.tsx","../src/assets/icons/BriefcaseIcon.tsx","../src/components/fromMirantes/WorkspacePanel/api/use-api-get-workspaces.ts","../src/assets/icons/CircledAddIcon.tsx","../src/assets/icons/workspaces-panel/AddWorkspaceIcon.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceButton/AddWorkspaceButton.tsx","../src/components/fromMirantes/WorkspacePanel/components/MobileWorspaceBar/MobileWorkspaceBar.tsx","../src/components/ui/avatar.tsx","../src/components/shared/avatar/avatar.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspaceUserInfo/WorkspaceUserInfoItem.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspaceUserInfo/WorkspaceUserInfo.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspaceGreetings/WorkspaceGreetings.tsx","../src/assets/icons/workspaces-panel/FeedIcon.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/WorkspaceItems/WorkspaceBarItemSkeleton.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/WorkspaceItems/WorkspaceBarItems.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/WorkspacePanelBar.tsx","../src/components/fromMirantes/WorkspacePanel/components/DesktopWorkspaceBar/DesktopWorkspaceBar.tsx","../src/hooks/useMobile.ts","../src/components/fromMirantes/WorkspacePanel/WorkspacePanel.tsx","../src/assets/logos/MirantesLogo.tsx","../src/components/shared/dropdown/Dropdown.tsx","../src/components/fromMirantes/utils/cookies-utils.ts","../src/components/fromMirantes/Header/components/UserInfo/UserOptions.tsx","../src/components/fromMirantes/Header/components/UserInfo/UserInfo.tsx","../src/components/fromMirantes/Header/components/Navbar/NavbarItem.tsx","../src/assets/icons/nav-icons/HomeIcon.tsx","../src/assets/icons/nav-icons/MCPIcon.tsx","../src/assets/icons/nav-icons/ExploreIcon.tsx","../src/components/fromMirantes/Header/components/Navbar/Navbar.tsx","../src/assets/icons/nav-icons/AIIcon.tsx","../src/assets/icons/MessagesIcon.tsx","../src/components/fromMirantes/Header/DesktopHeader/DesktopHeader.tsx","../src/assets/icons/Search.tsx","../src/components/fromMirantes/Header/MobileHeader/MobileHeader.tsx","../src/components/fromMirantes/Header/Header.tsx"],"names":["Spinner","className","React","joinUrlWithPathAndQuery","baseUrl","path","query","url","queryParams","key","e","stringToObj","inputString","separator","keyValuePairs","resultObj","pair","value","__spreadProps","__spreadValues","getInitials","fullName","_a","_b","_c","_d","parts","firstInitial","lastInitial","MirantesFoundationContext","createContext","MirantesFoundationProviderNotification","lazy","module","MirantesFoundationProvider","children","locale","Link","usePathname","user","mirantesDomain","environment","widgetsApi","hostUrl","isDev","useMemo","ExploreIcon","Ao","CLASS_PART_SEPARATOR","createClassGroupUtils","config","classMap","createClassMap","conflictingClassGroups","conflictingClassGroupModifiers","getClassGroupId","classParts","split","length","shift","getGroupRecursive","getGroupIdForArbitraryProperty","getConflictingClassGroupIds","classGroupId","hasPostfixModifier","conflicts","classPartObject","currentClassPart","nextClassPartObject","nextPart","get","classGroupFromNextClassPart","slice","undefined","validators","classRest","join","find","validator","arbitraryPropertyRegex","test","arbitraryPropertyClassName","exec","property","substring","indexOf","theme","prefix","Map","prefixedClassGroupEntries","getPrefixedClassGroupEntries","Object","entries","classGroups","forEach","classGroup","processClassesRecursively","classDefinition","classPartObjectToEdit","getPart","isThemeGetter","push","currentClassPartObject","pathPart","has","set","func","classGroupEntries","map","prefixedClassGroup","fromEntries","createLruCache","maxCacheSize","cacheSize","cache","previousCache","update","IMPORTANT_MODIFIER","createParseClassName","experimentalParseClassName","isSeparatorSingleCharacter","firstSeparatorCharacter","separatorLength","parseClassName","modifiers","bracketDepth","modifierStart","postfixModifierPosition","index","currentCharacter","baseClassNameWithImportantModifier","hasImportantModifier","startsWith","baseClassName","maybePostfixModifierPosition","sortModifiers","sortedModifiers","unsortedModifiers","modifier","sort","createConfigUtils","SPLIT_CLASSES_REGEX","mergeClassList","classList","configUtils","classGroupsInConflict","classNames","trim","result","originalClassName","Boolean","variantModifier","modifierId","classId","includes","conflictGroups","i","group","twJoin","argument","resolvedValue","string","arguments","toValue","mix","k","createTailwindMerge","createConfigFirst","createConfigRest","cacheGet","cacheSet","functionToCall","initTailwindMerge","reduce","previousConfig","createConfigCurrent","tailwindMerge","cachedResult","apply","fromTheme","themeGetter","arbitraryValueRegex","fractionRegex","stringLengths","Set","tshirtUnitRegex","lengthUnitRegex","colorFunctionRegex","shadowRegex","imageRegex","isLength","isNumber","isArbitraryLength","getIsArbitraryValue","isLengthOnly","Number","isNaN","isArbitraryNumber","isInteger","isPercent","endsWith","isArbitraryValue","isTshirtSize","sizeLabels","isArbitrarySize","isNever","isArbitraryPosition","imageLabels","isArbitraryImage","isImage","isArbitraryShadow","isShadow","isAny","label","testValue","getDefaultConfig","colors","spacing","blur","brightness","borderColor","borderRadius","borderSpacing","borderWidth","contrast","grayscale","hueRotate","invert","gap","gradientColorStops","gradientColorStopPositions","inset","margin","opacity","padding","saturate","scale","sepia","skew","space","translate","getOverscroll","getOverflow","getSpacingWithAutoAndArbitrary","getSpacingWithArbitrary","getLengthWithEmptyAndArbitrary","getNumberWithAutoAndArbitrary","getPositions","getLineStyles","getBlendModes","getAlign","getZeroAndEmpty","getBreaks","getNumberAndArbitrary","aspect","container","columns","box","display","float","clear","isolation","object","overflow","overscroll","position","start","end","top","right","bottom","left","visibility","z","basis","flex","grow","shrink","order","col","span","row","justify","content","items","self","p","px","py","ps","pe","pt","pr","pb","pl","m","mx","my","ms","me","mt","mr","mb","ml","w","screen","h","size","text","font","tracking","leading","list","placeholder","decoration","indent","align","whitespace","break","hyphens","bg","repeat","from","via","to","rounded","border","divide","outline","ring","shadow","filter","table","caption","transition","duration","ease","delay","animate","transform","rotate","origin","accent","appearance","cursor","caret","resize","scroll","snap","touch","select","fill","stroke","sr","twMerge","cn","inputs","clsx","TooltipProvider","delayDuration","props","__objRest","Ue","ue","Tooltip","TooltipTrigger","TooltipContent","sideOffset","useOpen","isOpen","setIsOpen","useState","useOutsideClick","ref","callback","useEffect","handleClick","event","packagesEnglishDictionary","packagesFrenchDictionary","packagesPortugueseDictionary","billingTranslation","packageDictionary","EditIcon","color","ro","useMirantesFoundation","mirantesContext","useContext","DeleteIcon","Wo","Palette","Dialog","Z","DialogPortal","DialogOverlay","ee","DialogContent","onClose","overlayClassName","closeOnOverlayClick","hideCloseButton","X","DialogHeader","DialogTitle","DialogDescription","Modal","header","isLoading","closeOnClickOutside","disableFullScreen","open","LoadingIcon","ie","Button","disabled","onClick","type","ConfirmModal","onConfirm","title","description","illustration","Subscribable","listener","isServer","noop","functionalUpdate","updater","input","isValidTimeout","timeUntilStale","updatedAt","staleTime","resolveStaleTime","resolveEnabled","enabled","matchQuery","filters","exact","fetchStatus","predicate","queryKey","stale","hashQueryKeyByOptions","partialMatchKey","isActive","matchMutation","mutation","status","mutationKey","hashKey","options","_","val","isPlainObject","a","b","replaceEqualDeep","array","isPlainArray","aItems","aSize","bItems","bSize","copy","equalItems","shallowEqualObjects","o","hasObjectPrototype","ctor","prot","sleep","timeout","resolve","replaceData","prevData","data","error","addToEnd","item","max","newItems","addToStart","skipToken","ensureQueryFn","fetchOptions","shouldThrowError","throwOnError","params","FocusManager","__privateAdd","_focused","_cleanup","_setup","__privateSet","onFocus","__privateGet","setup","focused","isFocused","focusManager","OnlineManager","_online","onOnline","onlineListener","offlineListener","online","onlineManager","pendingThenable","reject","thenable","_resolve","_reject","finalize","reason","defaultRetryDelay","failureCount","__pow","canFetch","networkMode","CancelledError","isCancelledError","createRetryer","isRetryCancelled","isResolved","continueFn","cancel","cancelOptions","cancelRetry","continueRetry","canContinue","canStart","pause","continueResolve","run","promiseOrValue","initialPromise","retry","retryDelay","shouldRetry","defaultScheduler","cb","createNotifyManager","queue","transactions","notifyFn","batchNotifyFn","scheduleFn","schedule","flush","originalQueue","args","fn","notifyManager","Removable","_gcTimeout","newGcTime","Query","_Query_instances","_initialState","_revertState","_cache","_client","_retryer","_defaultOptions","_abortSignalConsumed","getDefaultState","newData","__privateMethod","dispatch_fn","state","setStateOptions","promise","observer","x","abortController","addSignalProperty","fetchFn","queryFn","queryFnContext","context","onError","action","reducer","fetchState","hasData","initialDataUpdatedAt","QueryCache","_queries","client","queryHash","queryInMap","defaultedFilters","queries","Mutation","_Mutation_instances","_observers","_mutationCache","variables","__async","onContinue","restored","isPaused","_e","_g","_f","_i","_h","_k","_j","_m","_l","_o","_n","_q","_p","_s","_r","_u","_t","MutationCache","_mutations","_scopes","_mutationId","__privateWrapper","scope","scopeFor","scopedMutations","mutationsWithSameScope","firstPendingMutation","foundMutation","pausedMutations","infiniteQueryBehavior","pages","direction","oldPages","oldPageParams","currentPage","cancelled","fetchPage","param","previous","page","maxPages","addTo","pageParamFn","getPreviousPageParam","getNextPageParam","oldData","remainingPages","pageParams","lastIndex","hasNextPage","hasPreviousPage","QueryClient","_queryCache","_queryDefaults","_mutationDefaults","_mountCount","_unsubscribeFocus","_unsubscribeOnline","defaultedOptions","cachedData","queryCache","defaultedCancelOptions","promises","defaults","queryDefault","QueryObserver","_QueryObserver_instances","_currentQuery","_currentQueryInitialState","_currentResult","_currentResultState","_currentResultOptions","_currentThenable","_selectError","_selectFn","_selectResult","_lastQueryWithDefinedData","_staleTimeoutId","_refetchIntervalId","_currentRefetchInterval","_trackedProps","shouldFetchOnMount","executeFetch_fn","updateTimers_fn","shouldFetchOn","clearStaleTimeout_fn","clearRefetchInterval_fn","prevOptions","prevQuery","updateQuery_fn","mounted","shouldFetchOptionally","updateStaleTimeout_fn","nextRefetchInterval","computeRefetchInterval_fn","updateRefetchInterval_fn","shouldAssignObserverCurrentProperties","onPropTracked","target","prevResult","prevResultState","prevResultOptions","queryInitialState","newState","isPlaceholderData","fetchOnMount","fetchOptionally","errorUpdatedAt","skipSelect","placeholderData","selectError","isFetching","isPending","isError","nextResult","isStale","finalizeThenableIfPossible","recreateThenable","pending","prevThenable","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","typedKey","notify_fn","nextInterval","notifyOptions","shouldLoadOnMount","field","optimisticResult","InfiniteQueryObserver","parentResult","isRefetching","isRefetchError","fetchDirection","isFetchNextPageError","isFetchingNextPage","isFetchPreviousPageError","isFetchingPreviousPage","MutationObserver","_MutationObserver_instances","_currentMutation","_mutateOptions","updateResult_fn","QueryClientContext","go","useQueryClient","queryClient","IsRestoringContext","Xo","useIsRestoring","createValue","isReset","QueryErrorResetBoundaryContext","vo","useQueryErrorResetBoundary","ensurePreventErrorBoundaryRetry","errorResetBoundary","useClearResetErrorBoundary","ga","getHasError","suspense","ensureSuspenseTimers","originalStaleTime","willFetch","isRestoring","shouldSuspend","fetchOptimistic","useBaseQuery","Observer","isNewCacheEntry","tt","shouldSubscribe","onStoreChange","unsubscribe","useMutation","De","mutate","mutateOptions","useInfiniteQuery","GET_WORKSPACES","gql","CREATE_WORKSPACES_MUTATION","DELETE_WORKSPACE_MUTATION","UPDATE_WORKSPACE_MUTATION","mutationFn","_0","id","apiUrl","accessToken","request","useApiDeleteWorkspace","deleteWorkspace","isDeletingWorkspace","previousData","workspace","TOAST_ID","useToast","message","toast","ToastContainer","AlertIllustration","Gr","useAddWorkspaceStore","create","step","CongratulationsIllustration","R","AddWorkspaceDone","motion","useApiCreateWorkspace","createWorkspace","isCreatingWorkspace","newWorkspace","useApiUpdateWorkspace","updateWorkspace","isUpdatingWorkspace","updatedWorkspace","AddWorkspaceModalFormSchema","qe","useAddWorkspaceModal","setStep","errorToast","selectedInterests","setSelectedInterests","interests","watch","setValue","clearErrors","handleSubmit","errors","useForm","yupResolver","getError","onSelectInterest","onRemoveInterest","onChangeName","onChangeDescription","onSubmit","rest","CircledInfoIcon","Input","ke","leftElement","rightElement","leftElementClassName","rightElementClassName","inputClassName","BaseInput","onChange","rightIcon","leftIcon","name","required","wrapperClassName","isFocusing","setIsFocusing","inputRef","useRef","handleFocus","handleBlur","buttonVariants","cva","variant","asChild","Slot","Command","We","CommandPrimitive","CommandInput","SearchIcon","CommandList","CommandEmpty","CommandGroup","CommandItem","Popover","yo","Be","PopoverTrigger","PopoverContent","SelectInput","register","onChangeItem","disableSelectedItem","setOpen","selectedValue","setSelectedValue","handleSelect","currentValue","selectedItem","option","selectedOption","hiddenInputRef","ChevronDown","Check","Badge","onRemove","iconClassName","Textarea","$a","DescriptionInput","maxLength","textAreaClassName","setText","handleChange","newValue","CreatingWorkspaceIllustration","f","AddWorkspaceLoading","EmojiButton","icon","containerClassName","showPicker","setShowPicker","pickerRef","buttonRef","handleClickOutside","togglePicker","handleEmojiClick","emojiData","emoji","EmojiPicker","Theme","UserIcon","AddWorkspaceForm","interest","interestData","AddWorkspaceModal","setWorkspace","handleClose","WorkspaceBarItemOptions","successToast","isOpenDelete","onOpenDelete","onCloseDelete","isOpenEdit","onOpenEdit","onCloseEdit","handleDeleteWorkspace","WorkspaceBarItem","href","active","isCurrent","onOpen","handleRightClick","WorkFeedIcon","BriefcaseIcon","wo","getWorkspaces","pageParam","response","useApiGetWorkspaces","isGetWorkspacesLoading","fetchNextPage","lastPage","last","CircledAddIcon","lr","AddWorkspaceIcon","Co","AddWorkspaceButton","MobileWorkspaceBar","workspaces","Avatar","Kt","AvatarImage","AvatarFallback","src","WorkspaceUserInfoItem","WorkspaceUserInfo","WorkspaceGreetings","FeedIcon","U","WorkspaceBarItemSkeleton","WorkspaceBarItems","WorkspacePanelBar","ChevronDownIcon","DesktopWorkspaceBar","MOBILE_BREAKPOINT","useMobile","isMobile","setIsMobile","checkIsMobile","WorkspacePanel","MirantesLogo","Dropdown","trigger","toggle","MoreVerticalIcon","useUserSessions","resolvedDomain","saveCookie","setCookie","destroyCookie","deleteCookie","getSavedCookie","getCookie","UserOptions","LogOut","UserInfo","NavbarItem","HomeIcon","MCPIcon","Navbar","AIIcon","fr","MessagesIcon","Jt","DesktopHeader","search","setSearch","NotificationsWrapper","SearchSvg","MobileHeader","handleRedirectToProfile","MenuIcon","Header"],"mappings":"ktFAEe,SAARA,EAAyB,CAAA,CAAE,SAAAC,CAAAA,CAAU,CAA2B,CAAA,CACrE,OACEC,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,UAAU,EACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CACC,aAAY,CAAA,MAAA,CACZ,SAAW,CAAA,CAAA,qDAAA,EAAwDD,CAAS,CAAA,CAAA,CAC5E,OAAQ,CAAA,aAAA,CACR,IAAK,CAAA,MAAA,CACL,MAAM,4BAENC,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,MAAA,CAAA,CACC,CAAE,CAAA,8WAAA,CACF,IAAK,CAAA,cAAA,CACP,CACAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,MAAA,CAAA,CACC,CAAE,CAAA,+kBAAA,CACF,KAAK,aACP,CAAA,CACF,CACF,CAEJ,CCvBe,SAARC,EACLC,CAAAA,CAAAA,CACAC,CACAC,CAAAA,CAAAA,CACQ,CACR,GAAI,CACGF,CAAAA,CAAQ,SAAS,GAAG,CAAA,GACvBA,CAAW,EAAA,GAAA,CAAA,CAGTC,CAAK,CAAA,UAAA,CAAW,GAAG,CAAA,GACrBA,CAAOA,CAAAA,CAAAA,CAAK,SAAU,CAAA,CAAC,CAGzB,CAAA,CAAA,IAAIE,EAAMH,CAAUC,CAAAA,CAAAA,CAEpB,GAAIC,CAAAA,CAAO,CACT,IAAME,CAAc,CAAA,MAAA,CAAO,IAAKF,CAAAA,CAAK,CAClC,CAAA,GAAA,CACEG,CACC,EAAA,kBAAA,CAAmBA,CAAG,CAAI,CAAA,GAAA,CAAM,kBAAmBH,CAAAA,CAAAA,CAAMG,CAAG,CAAC,CACjE,CAAA,CACC,IAAK,CAAA,GAAG,CAEPD,CAAAA,CAAAA,GACFD,CAAO,EAAA,GAAA,CAAMC,CAEjB,EAAA,CAEA,OAAOD,CACT,CAAQG,MAAAA,CAAAA,CAAA,CACN,OAAO,EACT,CACF,CCjCe,SAARC,EACLC,CAAAA,CAAAA,CACAC,CACe,CAAA,CACf,IAAMC,CAA0BF,CAAAA,CAAAA,CAAY,KAAMC,CAAAA,CAAS,CAEvDE,CAAAA,CAAAA,CAEJ,IAAWC,IAAAA,CAAAA,IAAQF,CAAe,CAAA,CAChC,GAAM,CAACL,CAAKQ,CAAAA,CAAK,EAAID,CAAK,CAAA,KAAA,CAAM,GAAG,CAAA,CAC9BD,CAAWA,GAAAA,CAAAA,CAAY,EAAC,CAAA,CAEzBE,CACFF,GAAAA,CAAAA,CAAYG,CAAAC,CAAAA,CAAAA,CAAA,EACPJ,CAAAA,CAAAA,CAAAA,CADO,CAEV,CAACN,CAAG,EAAGQ,CACT,CAEJ,CAAA,EAAA,CAEA,OAAOF,CACT,CCrBe,SAARK,EAA6BC,CAAAA,CAAAA,CAA0B,CAA9D,IAAAC,CAAAC,CAAAA,CAAAA,CAAAC,CAAAC,CAAAA,CAAAA,CACE,GAAI,CAACJ,CAAU,CAAA,OAAO,EAEtB,CAAA,IAAMK,CAAQL,CAAAA,CAAAA,CAAS,IAAK,EAAA,CAAE,KAAM,CAAA,KAAK,EAEzC,GAAIK,CAAAA,CAAM,MAAW,GAAA,CAAA,CAAG,OAAO,EAAA,CAE/B,IAAMC,CAAAA,CAAAA,CAAeJ,CAAAD,CAAAA,CAAAA,CAAAA,CAAAI,CAAM,CAAA,CAAC,CAAE,CAAA,CAAC,IAAV,IAAAJ,CAAAA,MAAAA,CAAAA,CAAAA,CAAa,WAAb,EAAA,GAAA,IAAA,CAAAC,CAA8B,CAAA,EAAA,CAC7CK,CACJF,CAAAA,CAAAA,CAAM,MAAS,CAAA,CAAA,EAAA,CAAID,CAAAD,CAAAA,CAAAA,CAAAA,CAAAE,CAAMA,CAAAA,CAAAA,CAAM,OAAS,CAAC,CAAA,CAAE,CAAC,CAAA,GAAzB,IAAAF,CAAAA,MAAAA,CAAAA,CAAAA,CAA4B,WAA5B,EAAA,GAAA,IAAA,CAAAC,CAAkD,CAAA,EAAA,CAEvE,OAAOE,CAAAA,CAAeC,CACxB,CCTO,IAAMC,EACXC,CAAAA,eAAAA,CAA0C,CACxC,MAAA,CAAQ,KACR,IAAM,CAAA,EACR,CAAC,CCFH,CAAA,IAAMC,EAAyCC,CAAAA,MAAAA,CAAK,IAClD,OAAO,kCAAkC,CAAA,CAAE,IAAMC,CAAAA,CAAAA,GAAY,CAC3D,OAASA,CAAAA,CAAAA,CAAO,0BAClB,CAAA,CAAE,CACJ,CAAA,CAEe,SAARC,EAAAA,CAA4C,CACjD,QAAA,CAAAC,CACA,CAAA,MAAA,CAAQ,CACN,MAAA,CAAAC,EACA,IAAAC,CAAAA,CAAAA,CACA,WAAAC,CAAAA,CAAAA,CACA,IAAAC,CAAAA,CAAAA,CACA,cAAAC,CAAAA,CAAAA,CACA,WAAAC,CAAAA,CAAAA,CACA,UAAAC,CAAAA,CAAAA,CACA,OAAAC,CAAAA,CAAAA,CACA,KAAAC,CAAAA,CACF,CAAI,CAAA,EACN,CAAA,CAAqC,CACnC,IAAM3B,CAAQ4B,CAAAA,SAAAA,CACZ,KAAO,CACL,MAAAT,CAAAA,CAAAA,CACA,IAAAC,CAAAA,CAAAA,CACA,YAAAC,CACA,CAAA,IAAA,CAAAC,CACA,CAAA,cAAA,CAAAC,CACA,CAAA,WAAA,CAAAC,CACA,CAAA,UAAA,CAAAC,CACA,CAAA,OAAA,CAAAC,CACA,CAAA,KAAA,CAAAC,CACF,CAAA,CAAA,CACA,CAACR,CAAQC,CAAAA,CAAAA,CAAMC,CAAaC,CAAAA,CAAAA,CAAMC,CAAgBC,CAAAA,CAAAA,CAAaC,CAAU,CAC3E,CAEA,CAAA,OACExC,oBAAA,CAAA,aAAA,CAAC2B,EAA0B,CAAA,QAAA,CAA1B,CAAmC,KAAOZ,CAAAA,CAAAA,CAAAA,CACzCf,oBAAA,CAAA,aAAA,CAAC6B,EAAA,CAAA,CACC,MAAQ,CAAA,CACN,MAAQd,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAO,MACf,CAAA,IAAA,CAAMA,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAO,CAAA,IAAA,CACb,OAASA,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAO,OAChB,CAAA,YAAA,CAAc,CACZ,iBAAA,CAAmB,CACjB,GAAA,CAAK,sBACL,CAAA,OAAA,CAAS,MACT,EAAI,CAAA,KAAA,CACJ,OAAS,CAAA,kCACX,CACF,CACF,CACA,CAAA,KAAA,CAAO2B,CAENT,CAAAA,CAAAA,CACH,CACF,CAEJ,CC5DO,IAAMW,EAAc,CAAA,IACzBC,YAAC,CAAA,aAAA,CAAA,KAAA,CAAA,CACC,KAAM,CAAA,4BAAA,CACN,MAAM,IACN,CAAA,MAAA,CAAO,IACP,CAAA,IAAA,CAAK,MACL,CAAA,OAAA,CAAQ,WAER,CAAA,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,8JACF,CAAA,OAAA,CAAQ,KACT,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,kcAAA,CACH,CACH,CAAA,CCGF,IAAMC,EAAAA,CAAuB,IAEhBC,EAAyBC,CAAAA,CAAAA,EAAqB,CACvD,IAAMC,CAAWC,CAAAA,EAAAA,CAAeF,CAAM,CAAA,CAChC,CAAEG,sBAAAA,CAAAA,CAAwBC,CAAAA,8BAAAA,CAAAA,CAA8B,CAAA,CAAKJ,EA0BnE,OAAO,CACHK,eAzBqBtD,CAAAA,CAAAA,EAAqB,CAC1C,IAAMuD,CAAavD,CAAAA,CAAAA,CAAUwD,KAAMT,CAAAA,EAAoB,CAGvD,CAAA,OAAIQ,CAAW,CAAA,CAAC,IAAM,EAAMA,EAAAA,CAAAA,CAAWE,MAAW,GAAA,CAAA,EAC9CF,CAAWG,CAAAA,KAAAA,EAGRC,CAAAA,EAAAA,CAAkBJ,CAAYL,CAAAA,CAAQ,CAAKU,EAAAA,EAAAA,CAA+B5D,CAAS,CAC7F,CAiBG6D,CAAAA,2BAAAA,CAfgCA,CAChCC,CAAAA,CACAC,CACA,GAAA,CACA,IAAMC,CAAAA,CAAYZ,CAAuBU,CAAAA,CAAY,CAAK,EAAA,EAE1D,CAAA,OAAIC,CAAsBV,EAAAA,CAAAA,CAA+BS,CAAY,CAC1D,CAAA,CAAC,GAAGE,CAAAA,CAAW,GAAGX,CAAAA,CAA+BS,CAAY,CAAE,CAGnEE,CAAAA,CACV,CAKA,CACL,CAEML,CAAAA,EAAAA,CAAoBA,CACtBJ,CACAU,CAAAA,CAAAA,GAC8B,CAvClC,IAAA5C,CAwCI,CAAA,GAAIkC,CAAWE,CAAAA,MAAAA,GAAW,CACtB,CAAA,OAAOQ,CAAgBH,CAAAA,YAAAA,CAG3B,IAAMI,CAAAA,CAAmBX,EAAW,CAAC,CAAA,CAC/BY,CAAsBF,CAAAA,CAAAA,CAAgBG,QAASC,CAAAA,GAAAA,CAAIH,CAAgB,CAAA,CACnEI,CAA8BH,CAAAA,CAAAA,CAC9BR,EAAkBJ,CAAAA,CAAAA,CAAWgB,KAAM,CAAA,CAAC,CAAGJ,CAAAA,CAAmB,CAC1DK,CAAAA,MAAAA,CAEN,GAAIF,CAAAA,CACA,OAAOA,CAAAA,CAGX,GAAIL,CAAAA,CAAgBQ,UAAWhB,CAAAA,MAAAA,GAAW,CACtC,CAAA,OAGJ,IAAMiB,CAAAA,CAAYnB,EAAWoB,IAAK5B,CAAAA,EAAoB,CAEtD,CAAA,OAAA,CAAOkB,CAAAA,CAAAA,CAAAA,CAAgBQ,UAAWG,CAAAA,IAAAA,CAAK,CAAC,CAAEC,SAAAA,CAAAA,CAAS,CAAOA,GAAAA,CAAAA,CAAUH,CAAS,CAAC,CAAA,GAAvET,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAA0EH,YACrF,CAAA,CAEMgB,EAAyB,CAAA,YAAA,CAEzBlB,EAAkC5D,CAAAA,CAAAA,EAAqB,CACzD,GAAI8E,EAAuBC,CAAAA,IAAAA,CAAK/E,CAAS,CAAG,CAAA,CACxC,IAAMgF,CAAAA,CAA6BF,EAAuBG,CAAAA,IAAAA,CAAKjF,CAAS,CAAA,CAAG,CAAC,CAAA,CACtEkF,CAAWF,CAAAA,CAAAA,EAAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAA4BG,SACzC,CAAA,CAAA,CACAH,CAA2BI,CAAAA,OAAAA,CAAQ,GAAG,CAAA,CAAA,CAG1C,GAAIF,CAAAA,CAEA,OAAO,aAAA,CAAgBA,CAGnC,CAAA,CAAA,CAKa/B,EAAkBF,CAAAA,CAAAA,EAAsD,CACjF,GAAM,CAAEoC,KAAAA,CAAAA,CAAAA,CAAOC,MAAAA,CAAAA,CAAM,CAAKrC,CAAAA,CAAAA,CACpBC,CAA4B,CAAA,CAC9BkB,QAAU,CAAA,IAAImB,GACdd,CAAAA,UAAAA,CAAY,EACf,EAODe,OALkCC,EAAAA,CAC9BC,MAAOC,CAAAA,OAAAA,CAAQ1C,CAAO2C,CAAAA,WAAW,CACjCN,CAAAA,CAAM,CAGgBO,CAAAA,OAAAA,CAAQ,CAAC,CAAC/B,CAAcgC,CAAAA,CAAU,IAAK,CAC7DC,EAAAA,CAA0BD,CAAY5C,CAAAA,CAAAA,CAAUY,CAAcuB,CAAAA,CAAK,EACvE,CAAC,CAEMnC,CAAAA,CACX,CAEM6C,CAAAA,EAAAA,CAA4BA,CAC9BD,CAAAA,CACA7B,CACAH,CAAAA,CAAAA,CACAuB,CACA,GAAA,CACAS,CAAWD,CAAAA,OAAAA,CAASG,CAAmB,EAAA,CACnC,GAAI,OAAOA,CAAoB,EAAA,QAAA,CAAU,CACrC,IAAMC,CACFD,CAAAA,CAAAA,GAAoB,GAAK/B,CAAkBiC,CAAAA,EAAAA,CAAQjC,CAAiB+B,CAAAA,CAAe,CACvFC,CAAAA,CAAAA,CAAsBnC,YAAeA,CAAAA,CAAAA,CACrC,MAGJ,CAAA,GAAI,OAAOkC,CAAAA,EAAoB,UAAY,CAAA,CACvC,GAAIG,EAAcH,CAAAA,CAAe,CAAG,CAAA,CAChCD,EACIC,CAAAA,CAAAA,CAAgBX,CAAK,CAAA,CACrBpB,CACAH,CAAAA,CAAAA,CACAuB,CAAK,CAAA,CAET,MAGJpB,CAAAA,CAAAA,CAAgBQ,WAAW2B,IAAK,CAAA,CAC5BvB,SAAWmB,CAAAA,CAAAA,CACXlC,YAAAA,CAAAA,CACH,CAAA,CAAA,CAED,MAGJ4B,CAAAA,MAAAA,CAAOC,OAAQK,CAAAA,CAAe,CAAEH,CAAAA,OAAAA,CAAQ,CAAC,CAACrF,CAAKsF,CAAAA,CAAU,CAAK,GAAA,CAC1DC,EACID,CAAAA,CAAAA,CACAI,EAAQjC,CAAAA,CAAAA,CAAiBzD,CAAG,CAAA,CAC5BsD,CACAuB,CAAAA,CAAK,EAEb,CAAC,EACL,CAAC,EACL,CAEMa,CAAAA,EAAAA,CAAUA,CAACjC,CAAAA,CAAkC7D,CAAgB,GAAA,CAC/D,IAAIiG,CAAAA,CAAyBpC,CAE7B7D,CAAAA,OAAAA,CAAKoD,CAAAA,KAAAA,CAAMT,EAAoB,CAAE8C,CAAAA,OAAAA,CAASS,CAAY,EAAA,CAC7CD,CAAuBjC,CAAAA,QAAAA,CAASmC,GAAID,CAAAA,CAAQ,CAC7CD,EAAAA,CAAAA,CAAuBjC,QAASoC,CAAAA,GAAAA,CAAIF,CAAU,CAAA,CAC1ClC,SAAU,IAAImB,GAAAA,CACdd,UAAY,CAAA,EACf,CAAA,CAGL4B,CAAAA,CAAAA,CAAyBA,CAAuBjC,CAAAA,QAAAA,CAASC,GAAIiC,CAAAA,CAAQ,EACzE,CAAC,CAEMD,CAAAA,CACX,CAEMF,CAAAA,EAAAA,CAAiBM,CAClBA,EAAAA,CAAAA,CAAqBN,aAEpBV,CAAAA,EAAAA,CAA+BA,CACjCiB,CAAAA,CACApB,CAEKA,GAAAA,CAAAA,CAIEoB,CAAkBC,CAAAA,GAAAA,CAAI,CAAC,CAAC7C,EAAcgC,CAAU,CAAA,GAAK,CACxD,IAAMc,CAAqBd,CAAAA,CAAAA,CAAWa,GAAKX,CAAAA,CAAAA,EACnC,OAAOA,CAAAA,EAAoB,QACpBV,CAAAA,CAAAA,CAASU,CAGhB,CAAA,OAAOA,GAAoB,QACpBN,CAAAA,MAAAA,CAAOmB,WACVnB,CAAAA,MAAAA,CAAOC,OAAQK,CAAAA,CAAe,CAAEW,CAAAA,GAAAA,CAAI,CAAC,CAACnG,CAAKQ,CAAAA,CAAK,CAAM,GAAA,CAACsE,EAAS9E,CAAKQ,CAAAA,CAAK,CAAC,CAAC,CAI7EgF,CAAAA,CACV,CAED,CAAA,OAAO,CAAClC,CAAAA,CAAc8C,CAAkB,CAC5C,CAAC,CAAA,CAnBUF,CCzLFI,CAAAA,EAAAA,CAA8BC,CAA8C,EAAA,CACrF,GAAIA,CAAAA,CAAe,CACf,CAAA,OAAO,CACH1C,GAAAA,CAAKA,IAAA,EAAA,CACLmC,GAAKA,CAAAA,IAAK,EACb,EAGL,IAAIQ,CAAAA,CAAY,CACZC,CAAAA,CAAAA,CAAQ,IAAI1B,GAAAA,CACZ2B,CAAgB,CAAA,IAAI3B,GAElB4B,CAAAA,CAAAA,CAASA,CAAC3G,CAAAA,CAAUQ,CAAgB,GAAA,CACtCiG,EAAMT,GAAIhG,CAAAA,CAAAA,CAAKQ,CAAK,CAAA,CACpBgG,CAEIA,EAAAA,CAAAA,CAAAA,CAAYD,CACZC,GAAAA,CAAAA,CAAY,CACZE,CAAAA,CAAAA,CAAgBD,CAChBA,CAAAA,CAAAA,CAAQ,IAAI1B,GAAAA,EAEnB,EAED,OAAO,CACHlB,GAAI7D,CAAAA,CAAAA,CAAG,CACH,IAAIQ,CAAQiG,CAAAA,CAAAA,CAAM5C,GAAI7D,CAAAA,CAAG,CAEzB,CAAA,GAAIQ,CAAUwD,GAAAA,MAAAA,CACV,OAAOxD,CAAAA,CAEX,GAAKA,CAAAA,CAAAA,CAAQkG,CAAc7C,CAAAA,GAAAA,CAAI7D,CAAG,CAAA,IAAOgE,MACrC2C,CAAAA,OAAAA,CAAO3G,CAAAA,CAAAA,CAAKQ,CAAK,CAAA,CACVA,CAEd,CAAA,CACDwF,IAAIhG,CAAKQ,CAAAA,CAAAA,CAAK,CACNiG,CAAAA,CAAMV,GAAI/F,CAAAA,CAAG,CACbyG,CAAAA,CAAAA,CAAMT,GAAIhG,CAAAA,CAAAA,CAAKQ,CAAK,CAAA,CAEpBmG,CAAO3G,CAAAA,CAAAA,CAAKQ,CAAK,EAExB,CACJ,CACL,CAAA,CCjDaoG,EAAqB,CAAA,GAAA,CAErBC,EAAwBpE,CAAAA,CAAAA,EAAqB,CACtD,GAAM,CAAErC,SAAAA,CAAAA,CAAW0G,CAAAA,0BAAAA,CAAAA,CAA0B,CAAKrE,CAAAA,CAAAA,CAC5CsE,CAA6B3G,CAAAA,CAAAA,CAAU6C,MAAW,GAAA,CAAA,CAClD+D,CAA0B5G,CAAAA,CAAAA,CAAU,CAAC,CAAA,CACrC6G,CAAkB7G,CAAAA,CAAAA,CAAU6C,MAG5BiE,CAAAA,CAAAA,CAAkB1H,CAAqB,EAAA,CACzC,IAAM2H,CAAAA,CAAY,EAAA,CAEdC,CAAe,CAAA,CAAA,CACfC,CAAgB,CAAA,CAAA,CAChBC,CAEJ,CAAA,IAAA,IAASC,CAAQ,CAAA,CAAA,CAAGA,CAAQ/H,CAAAA,CAAAA,CAAUyD,OAAQsE,CAAS,EAAA,CAAA,CACnD,IAAIC,CAAAA,CAAmBhI,CAAU+H,CAAAA,CAAK,CAEtC,CAAA,GAAIH,CAAiB,GAAA,CAAA,CAAG,CACpB,GACII,CAAqBR,GAAAA,CAAAA,GACpBD,GACGvH,CAAUuE,CAAAA,KAAAA,CAAMwD,CAAOA,CAAAA,CAAAA,CAAQN,CAAe,CAAA,GAAM7G,CAC1D,CAAA,CAAA,CACE+G,CAAUvB,CAAAA,IAAAA,CAAKpG,CAAUuE,CAAAA,KAAAA,CAAMsD,CAAeE,CAAAA,CAAK,CAAC,CACpDF,CAAAA,CAAAA,CAAgBE,CAAQN,CAAAA,CAAAA,CACxB,QAGJ,CAAA,GAAIO,CAAqB,GAAA,GAAA,CAAK,CAC1BF,CAAAA,CAA0BC,CAC1B,CAAA,QAAA,CAAA,CAIJC,CAAqB,GAAA,GAAA,CACrBJ,CACOI,EAAAA,CAAAA,CAAAA,GAAqB,GAC5BJ,EAAAA,CAAAA,GAAAA,CAIR,IAAMK,CAAAA,CACFN,CAAUlE,CAAAA,MAAAA,GAAW,CAAIzD,CAAAA,CAAAA,CAAYA,CAAUmF,CAAAA,SAAAA,CAAU0C,CAAa,CAAA,CACpEK,CACFD,CAAAA,CAAAA,CAAmCE,WAAWf,EAAkB,CAAA,CAC9DgB,CAAgBF,CAAAA,CAAAA,CAChBD,CAAmC9C,CAAAA,SAAAA,CAAU,CAAC,CAAA,CAC9C8C,CAEAI,CAAAA,CAAAA,CACFP,CAA2BA,EAAAA,CAAAA,CAA0BD,CAC/CC,CAAAA,CAAAA,CAA0BD,EAC1BrD,MAEV,CAAA,OAAO,CACHmD,SAAAA,CAAAA,CACAO,CAAAA,oBAAAA,CAAAA,CACAE,CAAAA,aAAAA,CAAAA,CACAC,CAAAA,4BAAAA,CAAAA,CACH,CACJ,CAED,CAAA,OAAIf,EACQtH,CAAsBsH,EAAAA,CAAAA,CAA2B,CAAEtH,SAAAA,CAAAA,CAAW0H,CAAAA,cAAAA,CAAAA,CAAc,CAAE,CAGnFA,CAAAA,CACX,CAOaY,CAAAA,EAAAA,CAAiBX,CAAuB,EAAA,CACjD,GAAIA,CAAAA,CAAUlE,MAAU,EAAA,CAAA,CACpB,OAAOkE,CAAAA,CAGX,IAAMY,CAAAA,CAA4B,EAAA,CAC9BC,CAA8B,CAAA,EAElCb,CAAAA,OAAAA,CAAU9B,CAAAA,OAAAA,CAAS4C,GAAY,CACAA,CAAAA,CAAS,CAAC,CAAA,GAAM,GAGvCF,EAAAA,CAAAA,CAAgBnC,IAAK,CAAA,GAAGoC,CAAkBE,CAAAA,IAAAA,EAAQD,CAAAA,CAAQ,CAC1DD,CAAAA,CAAAA,CAAoB,EAEpBA,EAAAA,CAAAA,CAAkBpC,IAAKqC,CAAAA,CAAQ,EAEvC,CAAC,CAEDF,CAAAA,CAAAA,CAAgBnC,IAAK,CAAA,GAAGoC,CAAkBE,CAAAA,IAAAA,EAAM,CAAA,CAEzCH,CACX,CC7FaI,CAAAA,EAAAA,CAAqB1F,CAAuB/B,EAAAA,CAAAA,CAAA,CACrD+F,KAAAA,CAAOH,EAA+B7D,CAAAA,CAAAA,CAAO+D,SAAS,CAAA,CACtDU,cAAgBL,CAAAA,EAAAA,CAAqBpE,CAAM,CAAA,CAAA,CACxCD,EAAsBC,CAAAA,CAAM,CCP7B2F,CAAAA,CAAAA,EAAAA,CAAsB,KAEfC,CAAAA,EAAAA,CAAiBA,CAACC,CAAAA,CAAmBC,CAA4B,GAAA,CAC1E,GAAM,CAAErB,cAAAA,CAAAA,CAAAA,CAAgBpE,eAAAA,CAAAA,CAAAA,CAAiBO,4BAAAA,CAA6B,CAAA,CAAGkF,CASnEC,CAAAA,CAAAA,CAAkC,EAAA,CAClCC,CAAaH,CAAAA,CAAAA,CAAUI,IAAI,EAAA,CAAG1F,KAAMoF,CAAAA,EAAmB,CAEzDO,CAAAA,CAAAA,CAAS,GAEb,IAASpB,IAAAA,CAAAA,CAAQkB,CAAWxF,CAAAA,MAAAA,CAAS,CAAGsE,CAAAA,CAAAA,EAAS,CAAGA,CAAAA,CAAAA,EAAS,CAAG,CAAA,CAC5D,IAAMqB,CAAAA,CAAoBH,CAAWlB,CAAAA,CAAK,EAEpC,CAAEJ,SAAAA,CAAAA,CAAWO,CAAAA,oBAAAA,CAAAA,CAAsBE,CAAAA,aAAAA,CAAAA,CAAeC,CAAAA,4BAAAA,CAAAA,CAA8B,CAAA,CAClFX,CAAe0B,CAAAA,CAAiB,CAEhCrF,CAAAA,CAAAA,CAAqBsF,CAAQhB,CAAAA,CAAAA,CAC7BvE,CAAeR,CAAAA,CAAAA,CACfS,CACMqE,CAAAA,CAAAA,CAAcjD,SAAU,CAAA,CAAA,CAAGkD,CAA4B,CAAA,CACvDD,CAAa,CAAA,CAGvB,GAAI,CAACtE,CAAc,CAAA,CACf,GAAI,CAACC,CAAAA,CAAoB,CAErBoF,CAAAA,CAASC,CAAqBD,EAAAA,CAAAA,CAAO1F,MAAS,CAAA,CAAA,CAAI,GAAM0F,CAAAA,CAAAA,CAASA,CACjE,CAAA,CAAA,QAAA,CAKJ,GAFArF,CAAAA,CAAeR,EAAgB8E,CAAa,CAAA,CAExC,CAACtE,CAAAA,CAAc,CAEfqF,CAAAA,CAASC,CAAqBD,EAAAA,CAAAA,CAAO1F,MAAS,CAAA,CAAA,CAAI,GAAM0F,CAAAA,CAAAA,CAASA,CACjE,CAAA,CAAA,QAAA,CAGJpF,EAAqB,MAGzB,CAAA,IAAMuF,CAAkBhB,CAAAA,EAAAA,CAAcX,CAAS,CAAA,CAAEhD,IAAK,CAAA,GAAG,CAEnD4E,CAAAA,CAAAA,CAAarB,CACboB,CAAAA,CAAAA,CAAkBlC,EAClBkC,CAAAA,CAAAA,CAEAE,CAAUD,CAAAA,CAAAA,CAAazF,CAE7B,CAAA,GAAIkF,CAAsBS,CAAAA,QAAAA,CAASD,CAAO,CAAA,CAEtC,SAGJR,CAAAA,CAAsB5C,IAAKoD,CAAAA,CAAO,CAElC,CAAA,IAAME,CAAiB7F,CAAAA,CAAAA,CAA4BC,EAAcC,CAAkB,CAAA,CACnF,IAAS4F,IAAAA,CAAAA,CAAI,CAAGA,CAAAA,CAAAA,CAAID,CAAejG,CAAAA,MAAAA,CAAQ,EAAEkG,CAAAA,CAAG,CAC5C,IAAMC,CAAQF,CAAAA,CAAAA,CAAeC,CAAC,CAC9BX,CAAAA,CAAAA,CAAsB5C,IAAKmD,CAAAA,CAAAA,CAAaK,CAAK,EAAA,CAIjDT,CAASC,CAAAA,CAAAA,EAAqBD,CAAO1F,CAAAA,MAAAA,CAAS,CAAI,CAAA,GAAA,CAAM0F,CAASA,CAAAA,CAAAA,EAAAA,CAGrE,OAAOA,CACX,CAAA,CAAA,SC/DgBU,EAAM,EAAA,CAClB,IAAI9B,CAAAA,CAAQ,CACR+B,CAAAA,CAAAA,CACAC,CACAC,CAAAA,CAAAA,CAAS,EAEb,CAAA,KAAOjC,CAAQkC,CAAAA,SAAAA,CAAUxG,MAChBqG,EAAAA,CAAAA,CAAAA,CAAWG,SAAUlC,CAAAA,CAAAA,EAAO,CACxBgC,IAAAA,CAAAA,CAAgBG,EAAQJ,CAAAA,CAAQ,CACjCE,CAAAA,GAAAA,CAAAA,GAAWA,CAAU,EAAA,GAAA,CAAA,CACrBA,CAAUD,EAAAA,CAAAA,CAAAA,CAItB,OAAOC,CACX,CAEA,IAAME,EAAAA,CAAWC,CAAgC,EAAA,CAC7C,GAAI,OAAOA,CAAQ,EAAA,QAAA,CACf,OAAOA,CAAAA,CAGX,IAAIJ,CAAAA,CACAC,CAAS,CAAA,EAAA,CAEb,QAASI,CAAI,CAAA,CAAA,CAAGA,CAAID,CAAAA,CAAAA,CAAI1G,MAAQ2G,CAAAA,CAAAA,EAAAA,CACxBD,CAAIC,CAAAA,CAAC,CACAL,GAAAA,CAAAA,CAAgBG,EAAQC,CAAAA,CAAAA,CAAIC,CAAC,CAA4B,KAC1DJ,CAAWA,GAAAA,CAAAA,EAAU,GACrBA,CAAAA,CAAAA,CAAAA,EAAUD,CAKtB,CAAA,CAAA,OAAOC,CACX,CAAA,CAAA,SCvCgBK,EACZC,CAAAA,CAAAA,CAAAA,GACGC,CAA0C,CAAA,CAE7C,IAAIxB,CAAAA,CACAyB,CACAC,CAAAA,CAAAA,CACAC,CAAiBC,CAAAA,CAAAA,CAErB,SAASA,CAAAA,CAAkB7B,CAAiB,CAAA,CACxC,IAAM7F,CAAAA,CAASsH,CAAiBK,CAAAA,MAAAA,CAC5B,CAACC,CAAAA,CAAgBC,CAAwBA,GAAAA,CAAAA,CAAoBD,CAAc,CAC3EP,CAAAA,CAAAA,EAAgC,CAAA,CAGpCvB,OAAAA,CAAAA,CAAcJ,EAAkB1F,CAAAA,CAAM,CACtCuH,CAAAA,CAAAA,CAAWzB,CAAY9B,CAAAA,KAAAA,CAAM5C,GAC7BoG,CAAAA,CAAAA,CAAW1B,EAAY9B,KAAMT,CAAAA,GAAAA,CAC7BkE,CAAiBK,CAAAA,CAAAA,CAEVA,CAAcjC,CAAAA,CAAS,CAGlC,CAAA,SAASiC,CAAcjC,CAAAA,CAAAA,CAAiB,CACpC,IAAMkC,CAAeR,CAAAA,CAAAA,CAAS1B,CAAS,CAEvC,CAAA,GAAIkC,CACA,CAAA,OAAOA,CAGX,CAAA,IAAM7B,CAASN,CAAAA,EAAAA,CAAeC,CAAWC,CAAAA,CAAW,CACpD0B,CAAAA,OAAAA,CAAS3B,CAAAA,CAAAA,CAAWK,CAAM,CAAA,CAEnBA,CAGX,CAAA,OAAO,UAA0B,CAC7B,OAAOuB,CAAAA,CAAeb,EAAOoB,CAAAA,KAAAA,CAAM,IAAMhB,CAAAA,SAAgB,CAAC,CAC7D,CACL,CC/Ca,IAAAiB,CAGX1K,CAAAA,CAAAA,EAAkF,CAChF,IAAM2K,CAAe9F,CAAAA,CAAAA,EACjBA,CAAM7E,CAAAA,CAAG,CAAK,EAAA,EAElB2K,CAAAA,OAAAA,CAAYhF,CAAAA,aAAAA,CAAgB,KAErBgF,CACX,CAAA,CCZMC,EAAsB,CAAA,4BAAA,CACtBC,EAAgB,CAAA,YAAA,CAChBC,EAAgB,CAAA,IAAIC,GAAI,CAAA,CAAC,IAAM,CAAA,MAAA,CAAQ,QAAQ,CAAC,EAChDC,EAAkB,CAAA,kCAAA,CAClBC,EACF,CAAA,2HAAA,CACEC,EAAqB,CAAA,0CAAA,CAErBC,EAAc,CAAA,iEAAA,CACdC,EACF,CAAA,8FAAA,CAESC,EAAY7K,CAAAA,CAAAA,EACrB8K,EAAS9K,CAAAA,CAAK,CAAKsK,EAAAA,EAAAA,CAAc/E,GAAIvF,CAAAA,CAAK,CAAKqK,EAAAA,EAAAA,CAActG,IAAK/D,CAAAA,CAAK,CAE9D+K,CAAAA,EAAAA,CAAqB/K,CAC9BgL,EAAAA,EAAAA,CAAoBhL,CAAO,CAAA,QAAA,CAAUiL,EAAY,CAAA,CAExCH,GAAY9K,CAAkBqI,EAAAA,CAAAA,CAAQrI,CAAU,EAAA,CAACkL,MAAOC,CAAAA,KAAAA,CAAMD,MAAOlL,CAAAA,CAAK,CAAC,CAAA,CAE3EoL,EAAqBpL,CAAAA,CAAAA,EAAkBgL,EAAoBhL,CAAAA,CAAAA,CAAO,SAAU8K,EAAQ,CAAA,CAEpFO,EAAarL,CAAAA,CAAAA,EAAkBqI,CAAQrI,CAAAA,CAAAA,EAAUkL,MAAOG,CAAAA,SAAAA,CAAUH,MAAOlL,CAAAA,CAAK,CAAC,CAAA,CAE/EsL,EAAatL,CAAAA,CAAAA,EAAkBA,EAAMuL,QAAS,CAAA,GAAG,CAAKT,EAAAA,EAAAA,CAAS9K,CAAMuD,CAAAA,KAAAA,CAAM,CAAG,CAAA,EAAE,CAAC,CAAA,CAEjFiI,CAAoBxL,CAAAA,CAAAA,EAAkBoK,EAAoBrG,CAAAA,IAAAA,CAAK/D,CAAK,CAAA,CAEpEyL,EAAgBzL,CAAAA,CAAAA,EAAkBwK,EAAgBzG,CAAAA,IAAAA,CAAK/D,CAAK,CAAA,CAEnE0L,EAAa,CAAA,IAAInB,GAAI,CAAA,CAAC,QAAU,CAAA,MAAA,CAAQ,YAAY,CAAC,EAE9CoB,EAAmB3L,CAAAA,CAAAA,EAAkBgL,EAAoBhL,CAAAA,CAAAA,CAAO0L,EAAYE,CAAAA,EAAO,CAEnFC,CAAAA,EAAAA,CAAuB7L,CAChCgL,EAAAA,EAAAA,CAAoBhL,CAAO,CAAA,UAAA,CAAY4L,EAAO,CAAA,CAE5CE,GAAc,IAAIvB,GAAAA,CAAI,CAAC,OAAA,CAAS,KAAK,CAAC,CAE/BwB,CAAAA,EAAAA,CAAoB/L,CAAkBgL,EAAAA,EAAAA,CAAoBhL,CAAO8L,CAAAA,EAAAA,CAAaE,EAAO,CAAA,CAErFC,GAAqBjM,CAAkBgL,EAAAA,EAAAA,CAAoBhL,CAAO,CAAA,EAAA,CAAIkM,EAAQ,CAAA,CAE9EC,EAAQA,CAAAA,IAAM,IAErBnB,CAAAA,EAAAA,CAAsBA,CACxBhL,CAAAA,CACAoM,CACAC,CAAAA,CAAAA,GACA,CACA,IAAMlE,CAASiC,CAAAA,EAAAA,CAAoBnG,IAAKjE,CAAAA,CAAK,CAE7C,CAAA,OAAImI,CACIA,CAAAA,CAAAA,CAAO,CAAC,CAAA,CACD,OAAOiE,CAAAA,EAAU,QAAWjE,CAAAA,CAAAA,CAAO,CAAC,CAAMiE,GAAAA,CAAAA,CAAQA,CAAM7G,CAAAA,GAAAA,CAAI4C,CAAO,CAAA,CAAC,CAAC,CAAA,CAGzEkE,CAAUlE,CAAAA,CAAAA,CAAO,CAAC,CAAE,CAGxB,CAAA,KACX,EAEM8C,EAAgBjL,CAAAA,CAAAA,EAIlByK,EAAgB1G,CAAAA,IAAAA,CAAK/D,CAAK,CAAA,EAAK,CAAC0K,EAAAA,CAAmB3G,IAAK/D,CAAAA,CAAK,CAE3D4L,CAAAA,EAAAA,CAAUA,IAAM,KAAA,CAEhBM,GAAYlM,CAAkB2K,EAAAA,EAAAA,CAAY5G,IAAK/D,CAAAA,CAAK,CAEpDgM,CAAAA,EAAAA,CAAWhM,CAAkB4K,EAAAA,EAAAA,CAAW7G,IAAK/D,CAAAA,CAAK,CCvDjD,CAAA,IAAMsM,EAAmBA,CAAAA,IAAK,CACjC,IAAMC,CAASrC,CAAAA,CAAAA,CAAU,QAAQ,CAAA,CAC3BsC,CAAUtC,CAAAA,CAAAA,CAAU,SAAS,CAAA,CAC7BuC,CAAOvC,CAAAA,CAAAA,CAAU,MAAM,CAAA,CACvBwC,CAAaxC,CAAAA,CAAAA,CAAU,YAAY,CACnCyC,CAAAA,CAAAA,CAAczC,CAAU,CAAA,aAAa,CACrC0C,CAAAA,CAAAA,CAAe1C,CAAU,CAAA,cAAc,CACvC2C,CAAAA,CAAAA,CAAgB3C,CAAU,CAAA,eAAe,CACzC4C,CAAAA,CAAAA,CAAc5C,EAAU,aAAa,CAAA,CACrC6C,CAAW7C,CAAAA,CAAAA,CAAU,UAAU,CAAA,CAC/B8C,CAAY9C,CAAAA,CAAAA,CAAU,WAAW,CAAA,CACjC+C,CAAY/C,CAAAA,CAAAA,CAAU,WAAW,CAAA,CACjCgD,EAAShD,CAAU,CAAA,QAAQ,CAC3BiD,CAAAA,CAAAA,CAAMjD,CAAU,CAAA,KAAK,CACrBkD,CAAAA,CAAAA,CAAqBlD,CAAU,CAAA,oBAAoB,CACnDmD,CAAAA,CAAAA,CAA6BnD,CAAU,CAAA,4BAA4B,CACnEoD,CAAAA,CAAAA,CAAQpD,CAAU,CAAA,OAAO,CACzBqD,CAAAA,CAAAA,CAASrD,CAAU,CAAA,QAAQ,CAC3BsD,CAAAA,CAAAA,CAAUtD,CAAU,CAAA,SAAS,CAC7BuD,CAAAA,CAAAA,CAAUvD,CAAU,CAAA,SAAS,EAC7BwD,CAAWxD,CAAAA,CAAAA,CAAU,UAAU,CAAA,CAC/ByD,CAAQzD,CAAAA,CAAAA,CAAU,OAAO,CAAA,CACzB0D,CAAQ1D,CAAAA,CAAAA,CAAU,OAAO,CAAA,CACzB2D,CAAO3D,CAAAA,CAAAA,CAAU,MAAM,CACvB4D,CAAAA,CAAAA,CAAQ5D,CAAU,CAAA,OAAO,CACzB6D,CAAAA,CAAAA,CAAY7D,CAAU,CAAA,WAAW,CAEjC8D,CAAAA,CAAAA,CAAgBA,IAAM,CAAC,MAAQ,CAAA,SAAA,CAAW,MAAM,CAChDC,CAAAA,CAAAA,CAAcA,IAAM,CAAC,MAAQ,CAAA,QAAA,CAAU,MAAQ,CAAA,SAAA,CAAW,QAAQ,CAAA,CAClEC,CAAiCA,CAAAA,IAAM,CAAC,MAAA,CAAQ1C,CAAkBgB,CAAAA,CAAO,CACzE2B,CAAAA,CAAAA,CAA0BA,IAAM,CAAC3C,CAAkBgB,CAAAA,CAAO,CAC1D4B,CAAAA,EAAAA,CAAiCA,IAAM,CAAC,EAAIvD,CAAAA,EAAAA,CAAUE,EAAiB,CAAA,CACvEsD,GAAgCA,IAAM,CAAC,MAAQvD,CAAAA,EAAAA,CAAUU,CAAgB,CAAA,CACzE8C,EAAeA,CAAAA,IACjB,CACI,QAAA,CACA,QACA,CAAA,MAAA,CACA,aACA,CAAA,UAAA,CACA,QACA,cACA,CAAA,WAAA,CACA,KAAK,CAAA,CAEPC,EAAgBA,CAAAA,IAAM,CAAC,OAAA,CAAS,QAAU,CAAA,QAAA,CAAU,QAAU,CAAA,MAAM,CACpEC,CAAAA,EAAAA,CAAgBA,IAClB,CACI,QAAA,CACA,UACA,CAAA,QAAA,CACA,SACA,CAAA,QAAA,CACA,SACA,CAAA,aAAA,CACA,YACA,CAAA,YAAA,CACA,YACA,CAAA,YAAA,CACA,WACA,CAAA,KAAA,CACA,YACA,CAAA,OAAA,CACA,YAAY,CAAA,CAEdC,EAAWA,CAAAA,IACb,CAAC,OAAA,CAAS,KAAO,CAAA,QAAA,CAAU,SAAW,CAAA,QAAA,CAAU,QAAU,CAAA,SAAS,CACjEC,CAAAA,EAAAA,CAAkBA,IAAM,CAAC,EAAA,CAAI,GAAKlD,CAAAA,CAAgB,CAClDmD,CAAAA,EAAAA,CAAYA,IACd,CAAC,MAAQ,CAAA,OAAA,CAAS,KAAO,CAAA,YAAA,CAAc,MAAQ,CAAA,MAAA,CAAQ,QAAS,QAAQ,CAAA,CACtEC,EAAwBA,CAAAA,IAAM,CAAC9D,EAAAA,CAAUU,CAAgB,CAAA,CAE/D,OAAO,CACHxF,SAAW,CAAA,GAAA,CACXpG,SAAW,CAAA,GAAA,CACXyE,MAAO,CACHkI,MAAAA,CAAQ,CAACJ,EAAK,CACdK,CAAAA,OAAAA,CAAS,CAAC3B,EAAAA,CAAUE,EAAiB,CAAA,CACrC0B,IAAM,CAAA,CAAC,MAAQ,CAAA,EAAA,CAAIhB,EAAcD,CAAAA,CAAgB,CACjDkB,CAAAA,UAAAA,CAAYkC,EAAuB,EAAA,CACnCjC,WAAa,CAAA,CAACJ,CAAM,CAAA,CACpBK,YAAc,CAAA,CAAC,MAAQ,CAAA,EAAA,CAAI,MAAQnB,CAAAA,EAAAA,CAAcD,CAAgB,CACjEqB,CAAAA,aAAAA,CAAesB,CAAyB,EAAA,CACxCrB,WAAasB,CAAAA,EAAAA,EACbrB,CAAAA,QAAAA,CAAU6B,EAAuB,EAAA,CACjC5B,SAAW0B,CAAAA,EAAAA,EACXzB,CAAAA,SAAAA,CAAW2B,IACX1B,CAAAA,MAAAA,CAAQwB,EAAiB,EAAA,CACzBvB,GAAKgB,CAAAA,CAAAA,EACLf,CAAAA,kBAAAA,CAAoB,CAACb,CAAM,CAC3Bc,CAAAA,0BAAAA,CAA4B,CAAC/B,EAAAA,CAAWP,EAAiB,CACzDuC,CAAAA,KAAAA,CAAOY,CAAgC,EAAA,CACvCX,MAAQW,CAAAA,CAAAA,EACRV,CAAAA,OAAAA,CAASoB,EAAuB,EAAA,CAChCnB,OAASU,CAAAA,CAAAA,EACTT,CAAAA,QAAAA,CAAUkB,IACVjB,CAAAA,KAAAA,CAAOiB,EAAuB,EAAA,CAC9BhB,KAAOc,CAAAA,EAAAA,EACPb,CAAAA,IAAAA,CAAMe,EAAuB,EAAA,CAC7Bd,KAAOK,CAAAA,CAAAA,EACPJ,CAAAA,SAAAA,CAAWI,GACd,CAAA,CACDvJ,WAAa,CAAA,CAMTiK,MAAQ,CAAA,CAAC,CAAEA,MAAAA,CAAQ,CAAC,MAAA,CAAQ,QAAU,CAAA,OAAA,CAASrD,CAAgB,CAAA,CAAG,EAKlEsD,SAAW,CAAA,CAAC,WAAW,CAAA,CAKvBC,OAAS,CAAA,CAAC,CAAEA,OAAAA,CAAS,CAACtD,EAAY,CAAC,CAAE,CAKrC,CAAA,aAAA,CAAe,CAAC,CAAE,aAAA,CAAekD,EAAW,EAAA,CAAE,CAAA,CAK9C,cAAgB,CAAA,CAAC,CAAE,cAAA,CAAgBA,EAAW,EAAA,CAAE,CAAA,CAKhD,cAAgB,CAAA,CAAC,CAAE,cAAA,CAAgB,CAAC,MAAA,CAAQ,OAAS,CAAA,YAAA,CAAc,cAAc,CAAA,CAAG,CAKpF,CAAA,gBAAA,CAAkB,CAAC,CAAE,gBAAkB,CAAA,CAAC,QAAS,OAAO,CAAC,CAAE,CAAA,CAK3DK,GAAK,CAAA,CAAC,CAAEA,GAAAA,CAAK,CAAC,QAAA,CAAU,SAAS,CAAC,CAAE,CAAA,CAKpCC,QAAS,CACL,OAAA,CACA,cACA,CAAA,QAAA,CACA,MACA,CAAA,aAAA,CACA,OACA,CAAA,cAAA,CACA,eACA,CAAA,YAAA,CACA,cACA,CAAA,oBAAA,CACA,oBACA,CAAA,oBAAA,CACA,kBACA,WACA,CAAA,WAAA,CACA,MACA,CAAA,aAAA,CACA,UACA,CAAA,WAAA,CACA,QAAQ,CAAA,CAMZC,KAAO,CAAA,CAAC,CAAEA,KAAAA,CAAO,CAAC,OAAA,CAAS,MAAQ,CAAA,MAAA,CAAQ,OAAS,CAAA,KAAK,CAAG,CAAA,CAAA,CAK5DC,KAAO,CAAA,CAAC,CAAEA,KAAAA,CAAO,CAAC,MAAA,CAAQ,OAAS,CAAA,MAAA,CAAQ,MAAQ,CAAA,OAAA,CAAS,KAAK,CAAG,CAAA,CAAA,CAKpEC,SAAW,CAAA,CAAC,SAAW,CAAA,gBAAgB,CAKvC,CAAA,YAAA,CAAc,CAAC,CAAEC,MAAQ,CAAA,CAAC,SAAW,CAAA,OAAA,CAAS,OAAQ,MAAQ,CAAA,YAAY,CAAG,CAAA,CAAA,CAK7E,iBAAmB,CAAA,CAAC,CAAEA,MAAAA,CAAQ,CAAC,GAAGf,EAAc,EAAA,CAAE9C,CAAgB,CAAA,CAAG,EAKrE8D,QAAU,CAAA,CAAC,CAAEA,QAAAA,CAAUrB,CAAa,EAAA,CAAE,CAAA,CAKtC,YAAc,CAAA,CAAC,CAAE,YAAA,CAAcA,CAAa,EAAA,CAAE,CAAA,CAK9C,YAAc,CAAA,CAAC,CAAE,YAAA,CAAcA,CAAa,EAAA,CAAE,CAAA,CAK9CsB,UAAY,CAAA,CAAC,CAAEA,UAAAA,CAAYvB,CAAe,EAAA,CAAE,CAK5C,CAAA,cAAA,CAAgB,CAAC,CAAE,cAAgBA,CAAAA,CAAAA,EAAe,CAAE,CAKpD,CAAA,cAAA,CAAgB,CAAC,CAAE,cAAgBA,CAAAA,CAAAA,EAAe,CAAE,CAAA,CAKpDwB,QAAU,CAAA,CAAC,QAAU,CAAA,OAAA,CAAS,UAAY,CAAA,UAAA,CAAY,QAAQ,CAAA,CAK9DlC,KAAO,CAAA,CAAC,CAAEA,KAAAA,CAAO,CAACA,CAAK,CAAC,CAAE,CAAA,CAK1B,SAAW,CAAA,CAAC,CAAE,SAAA,CAAW,CAACA,CAAK,CAAC,CAAE,CAKlC,CAAA,SAAA,CAAW,CAAC,CAAE,SAAW,CAAA,CAACA,CAAK,CAAC,CAAE,CAAA,CAKlCmC,KAAO,CAAA,CAAC,CAAEA,KAAAA,CAAO,CAACnC,CAAK,CAAC,CAAE,EAK1BoC,GAAK,CAAA,CAAC,CAAEA,GAAAA,CAAK,CAACpC,CAAK,CAAC,CAAE,CAKtBqC,CAAAA,GAAAA,CAAK,CAAC,CAAEA,GAAK,CAAA,CAACrC,CAAK,CAAC,CAAE,CAKtBsC,CAAAA,KAAAA,CAAO,CAAC,CAAEA,KAAO,CAAA,CAACtC,CAAK,CAAC,CAAE,CAAA,CAK1BuC,MAAQ,CAAA,CAAC,CAAEA,MAAQ,CAAA,CAACvC,CAAK,CAAC,CAAE,CAAA,CAK5BwC,IAAM,CAAA,CAAC,CAAEA,IAAAA,CAAM,CAACxC,CAAK,CAAC,CAAE,CAKxByC,CAAAA,UAAAA,CAAY,CAAC,SAAA,CAAW,WAAa,CAAA,UAAU,CAK/CC,CAAAA,CAAAA,CAAG,CAAC,CAAEA,CAAG,CAAA,CAAC,MAAQ3E,CAAAA,EAAAA,CAAWG,CAAgB,CAAA,CAAG,EAMhDyE,KAAO,CAAA,CAAC,CAAEA,KAAAA,CAAO/B,CAAgC,EAAA,CAAE,CAAA,CAKnD,gBAAkB,CAAA,CAAC,CAAEgC,IAAAA,CAAM,CAAC,KAAA,CAAO,cAAe,KAAO,CAAA,aAAa,CAAG,CAAA,CAAA,CAKzE,WAAa,CAAA,CAAC,CAAEA,IAAAA,CAAM,CAAC,MAAA,CAAQ,cAAgB,CAAA,QAAQ,CAAG,CAAA,CAAA,CAK1DA,KAAM,CAAC,CAAEA,IAAM,CAAA,CAAC,GAAK,CAAA,MAAA,CAAQ,SAAW,CAAA,MAAA,CAAQ1E,CAAgB,CAAA,CAAG,CAKnE2E,CAAAA,IAAAA,CAAM,CAAC,CAAEA,IAAMzB,CAAAA,EAAAA,EAAiB,CAAE,CAKlC0B,CAAAA,MAAAA,CAAQ,CAAC,CAAEA,MAAQ1B,CAAAA,EAAAA,EAAiB,CAAE,CAKtC2B,CAAAA,KAAAA,CAAO,CAAC,CAAEA,MAAO,CAAC,OAAA,CAAS,MAAQ,CAAA,MAAA,CAAQhF,EAAWG,CAAAA,CAAgB,CAAG,CAAA,CAAA,CAKzE,WAAa,CAAA,CAAC,CAAE,WAAA,CAAa,CAACW,EAAK,CAAC,CAAE,CAAA,CAKtC,eAAiB,CAAA,CACb,CACImE,GAAAA,CAAK,CACD,MAAA,CACA,CAAEC,IAAAA,CAAM,CAAC,MAAA,CAAQlF,EAAWG,CAAAA,CAAgB,CAAG,CAC/CA,CAAAA,CAAgB,CAEvB,CAAA,CAML,CAAA,WAAA,CAAa,CAAC,CAAE,WAAa6C,CAAAA,EAAAA,EAA+B,CAAE,CAK9D,CAAA,SAAA,CAAW,CAAC,CAAE,SAAWA,CAAAA,EAAAA,EAA+B,CAAE,CAK1D,CAAA,WAAA,CAAa,CAAC,CAAE,WAAa,CAAA,CAAClC,EAAK,CAAC,CAAE,CAAA,CAKtC,gBAAiB,CACb,CAAEqE,GAAK,CAAA,CAAC,MAAQ,CAAA,CAAED,IAAM,CAAA,CAAClF,EAAWG,CAAAA,CAAgB,CAAKA,CAAAA,CAAAA,CAAgB,CAAG,CAAA,EAMhF,WAAa,CAAA,CAAC,CAAE,WAAA,CAAa6C,EAA+B,EAAA,CAAE,CAAA,CAK9D,SAAW,CAAA,CAAC,CAAE,SAAA,CAAWA,EAA+B,EAAA,CAAE,CAK1D,CAAA,WAAA,CAAa,CAAC,CAAE,WAAa,CAAA,CAAC,KAAO,CAAA,KAAA,CAAO,OAAS,CAAA,WAAA,CAAa,WAAW,CAAA,CAAG,CAKhF,CAAA,WAAA,CAAa,CAAC,CAAE,WAAa,CAAA,CAAC,MAAQ,CAAA,KAAA,CAAO,KAAO,CAAA,IAAA,CAAM7C,CAAgB,CAAA,CAAG,CAK7E,CAAA,WAAA,CAAa,CAAC,CAAE,WAAa,CAAA,CAAC,OAAQ,KAAO,CAAA,KAAA,CAAO,IAAMA,CAAAA,CAAgB,CAAG,CAAA,CAAA,CAK7E2B,GAAK,CAAA,CAAC,CAAEA,GAAAA,CAAK,CAACA,CAAG,CAAC,CAAE,EAKpB,OAAS,CAAA,CAAC,CAAE,OAAA,CAAS,CAACA,CAAG,CAAC,CAAE,CAK5B,CAAA,OAAA,CAAS,CAAC,CAAE,OAAS,CAAA,CAACA,CAAG,CAAC,CAAE,CAK5B,CAAA,iBAAA,CAAmB,CAAC,CAAEsD,OAAS,CAAA,CAAC,QAAU,CAAA,GAAGhC,EAAU,EAAA,CAAG,CAAA,CAAA,CAK1D,eAAiB,CAAA,CAAC,CAAE,eAAA,CAAiB,CAAC,OAAA,CAAS,KAAO,CAAA,QAAA,CAAU,SAAS,CAAA,CAAG,CAK5E,CAAA,cAAA,CAAgB,CAAC,CAAE,cAAgB,CAAA,CAAC,OAAQ,OAAS,CAAA,KAAA,CAAO,QAAU,CAAA,SAAS,CAAG,CAAA,CAAA,CAKlF,eAAiB,CAAA,CAAC,CAAEiC,OAAAA,CAAS,CAAC,QAAA,CAAU,GAAGjC,EAAAA,GAAY,UAAU,CAAA,CAAG,CAKpE,CAAA,aAAA,CAAe,CAAC,CAAEkC,KAAO,CAAA,CAAC,OAAS,CAAA,KAAA,CAAO,QAAU,CAAA,UAAA,CAAY,SAAS,CAAA,CAAG,EAK5E,YAAc,CAAA,CAAC,CAAEC,IAAAA,CAAM,CAAC,MAAA,CAAQ,OAAS,CAAA,KAAA,CAAO,QAAU,CAAA,SAAA,CAAW,UAAU,CAAA,CAAG,CAKlF,CAAA,eAAA,CAAiB,CAAC,CAAE,eAAiB,CAAA,CAAC,GAAGnC,EAAAA,EAAY,CAAA,UAAU,CAAG,CAAA,CAAA,CAKlE,aAAe,CAAA,CAAC,CAAE,aAAA,CAAe,CAAC,OAAA,CAAS,MAAO,QAAU,CAAA,UAAA,CAAY,SAAS,CAAA,CAAG,CAKpF,CAAA,YAAA,CAAc,CAAC,CAAE,YAAc,CAAA,CAAC,MAAQ,CAAA,OAAA,CAAS,KAAO,CAAA,QAAA,CAAU,SAAS,CAAG,CAAA,CAAA,CAM9EoC,CAAG,CAAA,CAAC,CAAEA,CAAAA,CAAG,CAACpD,CAAO,CAAC,CAAE,CAKpBqD,CAAAA,EAAAA,CAAI,CAAC,CAAEA,GAAI,CAACrD,CAAO,CAAC,CAAE,CAKtBsD,CAAAA,EAAAA,CAAI,CAAC,CAAEA,EAAI,CAAA,CAACtD,CAAO,CAAC,CAAE,CAAA,CAKtBuD,EAAI,CAAA,CAAC,CAAEA,EAAAA,CAAI,CAACvD,CAAO,CAAC,CAAE,CAKtBwD,CAAAA,EAAAA,CAAI,CAAC,CAAEA,EAAI,CAAA,CAACxD,CAAO,CAAC,CAAE,CAKtByD,CAAAA,EAAAA,CAAI,CAAC,CAAEA,EAAI,CAAA,CAACzD,CAAO,CAAC,CAAE,CAAA,CAKtB0D,EAAI,CAAA,CAAC,CAAEA,EAAAA,CAAI,CAAC1D,CAAO,CAAC,CAAE,CAAA,CAKtB2D,EAAI,CAAA,CAAC,CAAEA,EAAAA,CAAI,CAAC3D,CAAO,CAAC,CAAE,CAKtB4D,CAAAA,EAAAA,CAAI,CAAC,CAAEA,EAAAA,CAAI,CAAC5D,CAAO,CAAC,CAAE,CAKtB6D,CAAAA,CAAAA,CAAG,CAAC,CAAEA,CAAG,CAAA,CAAC/D,CAAM,CAAC,CAAE,CAAA,CAKnBgE,EAAI,CAAA,CAAC,CAAEA,EAAAA,CAAI,CAAChE,CAAM,CAAC,CAAE,CAKrBiE,CAAAA,EAAAA,CAAI,CAAC,CAAEA,EAAI,CAAA,CAACjE,CAAM,CAAC,CAAE,CAKrBkE,CAAAA,EAAAA,CAAI,CAAC,CAAEA,EAAI,CAAA,CAAClE,CAAM,CAAC,CAAE,CAAA,CAKrBmE,EAAI,CAAA,CAAC,CAAEA,EAAI,CAAA,CAACnE,CAAM,CAAC,CAAE,CAAA,CAKrBoE,EAAI,CAAA,CAAC,CAAEA,EAAAA,CAAI,CAACpE,CAAM,CAAC,CAAE,EAKrBqE,EAAI,CAAA,CAAC,CAAEA,EAAAA,CAAI,CAACrE,CAAM,CAAC,CAAE,CAKrBsE,CAAAA,EAAAA,CAAI,CAAC,CAAEA,EAAI,CAAA,CAACtE,CAAM,CAAC,CAAE,CAAA,CAKrBuE,EAAI,CAAA,CAAC,CAAEA,EAAAA,CAAI,CAACvE,CAAM,CAAC,CAAE,CAKrB,CAAA,SAAA,CAAW,CAAC,CAAE,UAAW,CAACO,CAAK,CAAC,CAAE,CAKlC,CAAA,iBAAA,CAAmB,CAAC,iBAAiB,CAKrC,CAAA,SAAA,CAAW,CAAC,CAAE,SAAW,CAAA,CAACA,CAAK,CAAC,CAAE,CAKlC,CAAA,iBAAA,CAAmB,CAAC,iBAAiB,CAMrCiE,CAAAA,CAAAA,CAAG,CACC,CACIA,CAAG,CAAA,CACC,MACA,CAAA,KAAA,CACA,MACA,KACA,CAAA,KAAA,CACA,KACA,CAAA,KAAA,CACAvG,CACAgB,CAAAA,CAAO,CAEd,CAAA,CAML,CAAA,OAAA,CAAS,CAAC,CAAE,OAAS,CAAA,CAAChB,CAAkBgB,CAAAA,CAAAA,CAAS,KAAO,CAAA,KAAA,CAAO,KAAK,CAAA,CAAG,CAKvE,CAAA,OAAA,CAAS,CACL,CACI,OAAS,CAAA,CACLhB,CACAgB,CAAAA,CAAAA,CACA,MACA,CAAA,MAAA,CACA,MACA,KACA,CAAA,KAAA,CACA,OACA,CAAA,CAAEwF,MAAQ,CAAA,CAACvG,EAAY,CAAG,CAC1BA,CAAAA,EAAY,CAEnB,CAAA,CAMLwG,CAAAA,CAAAA,CAAG,CACC,CACIA,CAAAA,CAAG,CACCzG,CAAAA,CACAgB,CACA,CAAA,MAAA,CACA,KACA,CAAA,KAAA,CACA,KACA,CAAA,KAAA,CACA,KACA,CAAA,KAAK,CAEZ,CAAA,EAML,OAAS,CAAA,CACL,CAAE,OAAA,CAAS,CAAChB,CAAAA,CAAkBgB,CAAS,CAAA,KAAA,CAAO,KAAO,CAAA,KAAA,CAAO,KAAO,CAAA,KAAA,CAAO,KAAK,CAAG,CAAA,CAAA,CAMtF,OAAS,CAAA,CACL,CAAE,OAAA,CAAS,CAAChB,CAAAA,CAAkBgB,CAAS,CAAA,KAAA,CAAO,KAAO,CAAA,KAAA,CAAO,KAAO,CAAA,KAAA,CAAO,KAAK,CAAG,CAAA,CAMtF0F,CAAAA,IAAAA,CAAM,CAAC,CAAEA,IAAM,CAAA,CAAC1G,CAAkBgB,CAAAA,CAAAA,CAAS,MAAQ,CAAA,KAAA,CAAO,KAAO,CAAA,KAAK,CAAG,CAAA,CAAA,CAMzE,YAAa,CAAC,CAAE2F,IAAM,CAAA,CAAC,MAAQ1G,CAAAA,EAAAA,CAAcV,EAAiB,CAAA,CAAG,CAKjE,CAAA,gBAAA,CAAkB,CAAC,aAAA,CAAe,sBAAsB,CAAA,CAKxD,aAAc,CAAC,QAAA,CAAU,YAAY,CAAA,CAKrC,aAAe,CAAA,CACX,CACIqH,IAAAA,CAAM,CACF,MAAA,CACA,YACA,CAAA,OAAA,CACA,QACA,CAAA,QAAA,CACA,UACA,CAAA,MAAA,CACA,WACA,CAAA,OAAA,CACAhH,EAAiB,CAExB,CAAA,CAAA,CAML,aAAe,CAAA,CAAC,CAAEgH,IAAAA,CAAM,CAACjG,EAAK,CAAC,CAAE,EAKjC,YAAc,CAAA,CAAC,aAAa,CAAA,CAK5B,aAAe,CAAA,CAAC,SAAS,CAAA,CAKzB,kBAAoB,CAAA,CAAC,cAAc,CAAA,CAKnC,YAAc,CAAA,CAAC,cAAe,eAAe,CAAA,CAK7C,aAAe,CAAA,CAAC,mBAAqB,CAAA,cAAc,CAKnD,CAAA,cAAA,CAAgB,CAAC,oBAAA,CAAsB,mBAAmB,CAAA,CAK1DkG,QAAU,CAAA,CACN,CACIA,QAAU,CAAA,CACN,SACA,CAAA,OAAA,CACA,QACA,CAAA,MAAA,CACA,OACA,CAAA,QAAA,CACA7G,CAAgB,CAEvB,CAAA,CAAA,CAML,YAAc,CAAA,CAAC,CAAE,YAAA,CAAc,CAAC,MAAA,CAAQV,EAAUM,CAAAA,EAAiB,CAAG,CAAA,CAAA,CAKtEkH,OAAS,CAAA,CACL,CACIA,OAAAA,CAAS,CACL,MAAA,CACA,OACA,CAAA,MAAA,CACA,SACA,SACA,CAAA,OAAA,CACAzH,EACAW,CAAAA,CAAgB,CAEvB,CAAA,CAML,CAAA,YAAA,CAAc,CAAC,CAAE,YAAc,CAAA,CAAC,MAAQA,CAAAA,CAAgB,CAAC,CAAE,CAAA,CAK3D,iBAAmB,CAAA,CAAC,CAAE+G,IAAAA,CAAM,CAAC,MAAA,CAAQ,MAAQ,CAAA,SAAA,CAAW/G,CAAgB,CAAA,CAAG,CAK3E,CAAA,qBAAA,CAAuB,CAAC,CAAE+G,IAAAA,CAAM,CAAC,QAAA,CAAU,SAAS,CAAC,CAAE,CAAA,CAMvD,mBAAqB,CAAA,CAAC,CAAEC,WAAAA,CAAa,CAACjG,CAAM,CAAC,CAAE,CAK/C,CAAA,qBAAA,CAAuB,CAAC,CAAE,qBAAuB,CAAA,CAACiB,CAAO,CAAC,CAAE,CAAA,CAK5D,gBAAkB,CAAA,CAAC,CAAE2E,IAAAA,CAAM,CAAC,MAAQ,CAAA,QAAA,CAAU,OAAS,CAAA,SAAA,CAAW,OAAS,CAAA,KAAK,CAAG,CAAA,CAAA,CAKnF,YAAc,CAAA,CAAC,CAAEA,IAAAA,CAAM,CAAC5F,CAAM,CAAC,CAAE,CAAA,CAKjC,cAAgB,CAAA,CAAC,CAAE,cAAA,CAAgB,CAACiB,CAAO,CAAC,CAAE,CAK9C,CAAA,iBAAA,CAAmB,CAAC,WAAA,CAAa,WAAY,cAAgB,CAAA,cAAc,CAK3E,CAAA,uBAAA,CAAyB,CAAC,CAAEiF,UAAY,CAAA,CAAC,GAAGlE,EAAAA,EAAiB,CAAA,MAAM,CAAG,CAAA,CAAA,CAKtE,2BAA6B,CAAA,CACzB,CAAEkE,UAAAA,CAAY,CAAC,MAAA,CAAQ,WAAa5H,CAAAA,EAAAA,CAAUE,EAAiB,CAAG,CAAA,CAAA,CAMtE,kBAAoB,CAAA,CAAC,CAAE,kBAAA,CAAoB,CAAC,MAAQF,CAAAA,EAAAA,CAAUW,CAAgB,CAAA,CAAG,CAKjF,CAAA,uBAAA,CAAyB,CAAC,CAAEiH,UAAY,CAAA,CAAClG,CAAM,CAAC,CAAE,CAAA,CAKlD,iBAAkB,CAAC,WAAA,CAAa,WAAa,CAAA,YAAA,CAAc,aAAa,CAAA,CAKxE,eAAiB,CAAA,CAAC,UAAY,CAAA,eAAA,CAAiB,WAAW,CAAA,CAK1D,WAAa,CAAA,CAAC,CAAE4F,IAAM,CAAA,CAAC,MAAQ,CAAA,QAAA,CAAU,SAAW,CAAA,QAAQ,CAAG,CAAA,CAAA,CAK/DO,MAAQ,CAAA,CAAC,CAAEA,MAAAA,CAAQvE,CAAyB,EAAA,CAAE,CAAA,CAK9C,gBAAkB,CAAA,CACd,CACIwE,KAAAA,CAAO,CACH,UAAA,CACA,KACA,CAAA,QAAA,CACA,QACA,CAAA,UAAA,CACA,aACA,CAAA,KAAA,CACA,OACAnH,CAAAA,CAAgB,CAEvB,CAAA,CAAA,CAMLoH,UAAY,CAAA,CACR,CAAEA,UAAAA,CAAY,CAAC,QAAA,CAAU,QAAU,CAAA,KAAA,CAAO,UAAY,CAAA,UAAA,CAAY,cAAc,CAAG,CAAA,CAMvFC,CAAAA,KAAAA,CAAO,CAAC,CAAEA,KAAO,CAAA,CAAC,QAAU,CAAA,OAAA,CAAS,KAAO,CAAA,MAAM,CAAG,CAAA,CAAA,CAKrDC,OAAS,CAAA,CAAC,CAAEA,OAAS,CAAA,CAAC,MAAQ,CAAA,QAAA,CAAU,MAAM,CAAA,CAAG,CAKjDpC,CAAAA,OAAAA,CAAS,CAAC,CAAEA,OAAS,CAAA,CAAC,MAAQlF,CAAAA,CAAgB,CAAC,CAAE,CAMjD,CAAA,eAAA,CAAiB,CAAC,CAAEuH,EAAI,CAAA,CAAC,OAAS,CAAA,OAAA,CAAS,QAAQ,CAAA,CAAG,CAKtD,CAAA,SAAA,CAAW,CAAC,CAAE,UAAW,CAAC,QAAA,CAAU,SAAW,CAAA,SAAA,CAAW,MAAM,CAAA,CAAG,CAMnE,CAAA,YAAA,CAAc,CAAC,CAAE,YAAc,CAAA,CAACvF,CAAO,CAAC,CAAE,CAK1C,CAAA,WAAA,CAAa,CAAC,CAAE,WAAa,CAAA,CAAC,QAAU,CAAA,SAAA,CAAW,SAAS,CAAA,CAAG,CAK/D,CAAA,aAAA,CAAe,CAAC,CAAEuF,GAAI,CAAC,GAAGzE,EAAc,EAAA,CAAEzC,EAAmB,CAAA,CAAG,CAKhE,CAAA,WAAA,CAAa,CAAC,CAAEkH,EAAI,CAAA,CAAC,WAAa,CAAA,CAAEC,MAAQ,CAAA,CAAC,EAAI,CAAA,GAAA,CAAK,GAAK,CAAA,OAAA,CAAS,OAAO,CAAC,CAAE,CAAC,CAAE,CAAA,CAKjF,SAAW,CAAA,CAAC,CAAED,EAAAA,CAAI,CAAC,MAAQ,CAAA,OAAA,CAAS,SAAWpH,CAAAA,EAAe,CAAG,CAAA,CAAA,CAKjE,UAAY,CAAA,CACR,CACIoH,EAAAA,CAAI,CACA,MAAA,CACA,CAAE,aAAA,CAAe,CAAC,GAAK,CAAA,IAAA,CAAM,GAAK,CAAA,IAAA,CAAM,GAAK,CAAA,IAAA,CAAM,GAAK,CAAA,IAAI,CAAG,CAAA,CAC/DhH,EAAgB,CAEvB,CAAA,CAAA,CAML,WAAY,CAAC,CAAEgH,EAAI,CAAA,CAACxG,CAAM,CAAC,CAAE,CAAA,CAK7B,mBAAqB,CAAA,CAAC,CAAE0G,IAAAA,CAAM,CAAC5F,CAA0B,CAAC,CAAE,CAK5D,CAAA,kBAAA,CAAoB,CAAC,CAAE6F,GAAK,CAAA,CAAC7F,CAA0B,CAAC,CAAE,CAAA,CAK1D,iBAAmB,CAAA,CAAC,CAAE8F,EAAAA,CAAI,CAAC9F,CAA0B,CAAC,CAAE,CAAA,CAKxD,eAAiB,CAAA,CAAC,CAAE4F,IAAAA,CAAM,CAAC7F,CAAkB,CAAC,CAAE,CAKhD,CAAA,cAAA,CAAgB,CAAC,CAAE8F,GAAAA,CAAK,CAAC9F,CAAkB,CAAC,CAAE,CAK9C,CAAA,aAAA,CAAe,CAAC,CAAE+F,EAAI,CAAA,CAAC/F,CAAkB,CAAC,CAAE,CAM5CgG,CAAAA,OAAAA,CAAS,CAAC,CAAEA,OAAS,CAAA,CAACxG,CAAY,CAAC,CAAE,CAAA,CAKrC,WAAa,CAAA,CAAC,CAAE,WAAA,CAAa,CAACA,CAAY,CAAC,CAAE,CAK7C,CAAA,WAAA,CAAa,CAAC,CAAE,WAAa,CAAA,CAACA,CAAY,CAAC,CAAE,CAAA,CAK7C,WAAa,CAAA,CAAC,CAAE,WAAa,CAAA,CAACA,CAAY,CAAC,CAAE,CAAA,CAK7C,WAAa,CAAA,CAAC,CAAE,WAAA,CAAa,CAACA,CAAY,CAAC,CAAE,EAK7C,WAAa,CAAA,CAAC,CAAE,WAAA,CAAa,CAACA,CAAY,CAAC,CAAE,CAK7C,CAAA,WAAA,CAAa,CAAC,CAAE,WAAa,CAAA,CAACA,CAAY,CAAC,CAAE,CAK7C,CAAA,YAAA,CAAc,CAAC,CAAE,YAAc,CAAA,CAACA,CAAY,CAAC,CAAE,CAAA,CAK/C,YAAc,CAAA,CAAC,CAAE,YAAA,CAAc,CAACA,CAAY,CAAC,CAAE,CAK/C,CAAA,YAAA,CAAc,CAAC,CAAE,YAAc,CAAA,CAACA,CAAY,CAAC,CAAE,CAAA,CAK/C,aAAc,CAAC,CAAE,YAAc,CAAA,CAACA,CAAY,CAAC,CAAE,CAAA,CAK/C,YAAc,CAAA,CAAC,CAAE,YAAA,CAAc,CAACA,CAAY,CAAC,CAAE,CAAA,CAK/C,YAAc,CAAA,CAAC,CAAE,YAAA,CAAc,CAACA,CAAY,CAAC,CAAE,CAK/C,CAAA,YAAA,CAAc,CAAC,CAAE,aAAc,CAACA,CAAY,CAAC,CAAE,CAK/C,CAAA,YAAA,CAAc,CAAC,CAAE,YAAc,CAAA,CAACA,CAAY,CAAC,CAAE,CAAA,CAK/C,UAAY,CAAA,CAAC,CAAEyG,MAAAA,CAAQ,CAACvG,CAAW,CAAC,CAAE,CAKtC,CAAA,YAAA,CAAc,CAAC,CAAE,UAAY,CAAA,CAACA,CAAW,CAAC,CAAE,CAK5C,CAAA,YAAA,CAAc,CAAC,CAAE,UAAY,CAAA,CAACA,CAAW,CAAC,CAAE,CAAA,CAK5C,YAAc,CAAA,CAAC,CAAE,UAAA,CAAY,CAACA,CAAW,CAAC,CAAE,CAAA,CAK5C,YAAc,CAAA,CAAC,CAAE,UAAA,CAAY,CAACA,CAAW,CAAC,CAAE,CAK5C,CAAA,YAAA,CAAc,CAAC,CAAE,UAAA,CAAY,CAACA,CAAW,CAAC,CAAE,CAK5C,CAAA,YAAA,CAAc,CAAC,CAAE,UAAY,CAAA,CAACA,CAAW,CAAC,CAAE,CAAA,CAK5C,YAAc,CAAA,CAAC,CAAE,UAAA,CAAY,CAACA,CAAW,CAAC,CAAE,CAK5C,CAAA,YAAA,CAAc,CAAC,CAAE,UAAY,CAAA,CAACA,CAAW,CAAC,CAAE,CAK5C,CAAA,gBAAA,CAAkB,CAAC,CAAE,gBAAkB,CAAA,CAACU,CAAO,CAAC,CAAE,CAAA,CAKlD,cAAgB,CAAA,CAAC,CAAE6F,MAAQ,CAAA,CAAC,GAAG9E,EAAAA,EAAiB,CAAA,QAAQ,CAAG,CAAA,CAAA,CAK3D,UAAY,CAAA,CAAC,CAAE,UAAA,CAAY,CAACzB,CAAW,CAAC,CAAE,CAAA,CAK1C,kBAAoB,CAAA,CAAC,kBAAkB,CAAA,CAKvC,UAAY,CAAA,CAAC,CAAE,UAAA,CAAY,CAACA,CAAW,CAAC,CAAE,CAK1C,CAAA,kBAAA,CAAoB,CAAC,kBAAkB,CAKvC,CAAA,gBAAA,CAAkB,CAAC,CAAE,gBAAkB,CAAA,CAACU,CAAO,CAAC,CAAE,CAAA,CAKlD,cAAgB,CAAA,CAAC,CAAE8F,MAAQ/E,CAAAA,EAAAA,EAAe,CAAE,CAK5C,CAAA,cAAA,CAAgB,CAAC,CAAE8E,MAAQ,CAAA,CAAC1G,CAAW,CAAC,CAAE,CAAA,CAK1C,iBAAkB,CAAC,CAAE,UAAY,CAAA,CAACA,CAAW,CAAC,CAAE,CAAA,CAKhD,gBAAkB,CAAA,CAAC,CAAE,UAAA,CAAY,CAACA,CAAW,CAAC,CAAE,CAAA,CAKhD,gBAAkB,CAAA,CAAC,CAAE,UAAA,CAAY,CAACA,CAAW,CAAC,CAAE,CAKhD,CAAA,gBAAA,CAAkB,CAAC,CAAE,UAAY,CAAA,CAACA,CAAW,CAAC,CAAE,CAAA,CAKhD,gBAAkB,CAAA,CAAC,CAAE,UAAA,CAAY,CAACA,CAAW,CAAC,CAAE,CAKhD,CAAA,gBAAA,CAAkB,CAAC,CAAE,UAAA,CAAY,CAACA,CAAW,CAAC,CAAE,CAKhD,CAAA,gBAAA,CAAkB,CAAC,CAAE,UAAY,CAAA,CAACA,CAAW,CAAC,CAAE,CAKhD,CAAA,gBAAA,CAAkB,CAAC,CAAE,UAAY,CAAA,CAACA,CAAW,CAAC,CAAE,CAAA,CAKhD,cAAgB,CAAA,CAAC,CAAE2G,MAAAA,CAAQ,CAAC3G,CAAW,CAAC,CAAE,CAAA,CAK1C,eAAiB,CAAA,CAAC,CAAE4G,OAAAA,CAAS,CAAC,EAAA,CAAI,GAAGhF,EAAAA,EAAe,CAAA,CAAG,CAKvD,CAAA,gBAAA,CAAkB,CAAC,CAAE,gBAAkB,CAAA,CAAC1D,EAAUW,CAAAA,CAAgB,CAAC,CAAE,CAKrE,CAAA,WAAA,CAAa,CAAC,CAAE+H,OAAS,CAAA,CAAC1I,GAAUE,EAAiB,CAAC,CAAE,CAAA,CAKxD,eAAiB,CAAA,CAAC,CAAEwI,OAAAA,CAAS,CAAChH,CAAM,CAAC,CAAE,CAKvC,CAAA,QAAA,CAAU,CAAC,CAAEiH,IAAAA,CAAMpF,EAAgC,EAAA,CAAE,CAAA,CAKrD,cAAgB,CAAA,CAAC,YAAY,CAAA,CAK7B,YAAc,CAAA,CAAC,CAAEoF,IAAAA,CAAM,CAACjH,CAAM,CAAC,CAAE,CAAA,CAKjC,cAAgB,CAAA,CAAC,CAAE,cAAA,CAAgB,CAACiB,CAAO,CAAC,CAAE,CAK9C,CAAA,eAAA,CAAiB,CAAC,CAAE,aAAe,CAAA,CAAC3C,EAAUE,CAAAA,EAAiB,CAAC,CAAE,CAKlE,CAAA,mBAAA,CAAqB,CAAC,CAAE,aAAe,CAAA,CAACwB,CAAM,CAAC,CAAE,CAMjDkH,CAAAA,MAAAA,CAAQ,CAAC,CAAEA,MAAQ,CAAA,CAAC,EAAI,CAAA,OAAA,CAAS,MAAQhI,CAAAA,EAAAA,CAAcQ,EAAiB,CAAA,CAAG,CAK3E,CAAA,cAAA,CAAgB,CAAC,CAAEwH,MAAAA,CAAQ,CAACtH,EAAK,CAAC,CAAE,CAKpCqB,CAAAA,OAAAA,CAAS,CAAC,CAAEA,OAAS,CAAA,CAACA,CAAO,CAAC,CAAE,CAKhC,CAAA,WAAA,CAAa,CAAC,CAAE,WAAa,CAAA,CAAC,GAAGgB,EAAAA,EAAiB,CAAA,cAAA,CAAgB,aAAa,CAAA,CAAG,CAKlF,CAAA,UAAA,CAAY,CAAC,CAAE,UAAA,CAAYA,EAAe,EAAA,CAAE,CAAA,CAO5CkF,MAAQ,CAAA,CAAC,CAAEA,MAAAA,CAAQ,CAAC,EAAA,CAAI,MAAM,CAAC,CAAE,CAKjCjH,CAAAA,IAAAA,CAAM,CAAC,CAAEA,IAAM,CAAA,CAACA,CAAI,CAAC,CAAE,CAAA,CAKvBC,UAAY,CAAA,CAAC,CAAEA,UAAAA,CAAY,CAACA,CAAU,CAAC,CAAE,CAAA,CAKzCK,QAAU,CAAA,CAAC,CAAEA,QAAAA,CAAU,CAACA,CAAQ,CAAC,CAAE,CAKnC,CAAA,aAAA,CAAe,CAAC,CAAE,aAAA,CAAe,CAAC,EAAA,CAAI,MAAQtB,CAAAA,EAAAA,CAAcD,CAAgB,CAAA,CAAG,CAK/EwB,CAAAA,SAAAA,CAAW,CAAC,CAAEA,SAAW,CAAA,CAACA,CAAS,CAAC,CAAE,CAAA,CAKtC,YAAc,CAAA,CAAC,CAAE,YAAA,CAAc,CAACC,CAAS,CAAC,CAAE,CAK5CC,CAAAA,MAAAA,CAAQ,CAAC,CAAEA,OAAQ,CAACA,CAAM,CAAC,CAAE,CAK7BQ,CAAAA,QAAAA,CAAU,CAAC,CAAEA,QAAU,CAAA,CAACA,CAAQ,CAAC,CAAE,CAAA,CAKnCE,MAAO,CAAC,CAAEA,KAAO,CAAA,CAACA,CAAK,CAAC,CAAE,CAAA,CAM1B,iBAAmB,CAAA,CAAC,CAAE,iBAAA,CAAmB,CAAC,EAAA,CAAI,MAAM,CAAC,CAAE,CAKvD,CAAA,eAAA,CAAiB,CAAC,CAAE,eAAiB,CAAA,CAACnB,CAAI,CAAC,CAAE,CAAA,CAK7C,qBAAuB,CAAA,CAAC,CAAE,qBAAA,CAAuB,CAACC,CAAU,CAAC,CAAE,CAK/D,CAAA,mBAAA,CAAqB,CAAC,CAAE,mBAAqB,CAAA,CAACK,CAAQ,CAAC,CAAE,CAAA,CAKzD,qBAAsB,CAAC,CAAE,oBAAsB,CAAA,CAACC,CAAS,CAAC,CAAE,CAAA,CAK5D,qBAAuB,CAAA,CAAC,CAAE,qBAAA,CAAuB,CAACC,CAAS,CAAC,CAAE,CAAA,CAK9D,iBAAmB,CAAA,CAAC,CAAE,iBAAA,CAAmB,CAACC,CAAM,CAAC,CAAE,CAKnD,CAAA,kBAAA,CAAoB,CAAC,CAAE,mBAAoB,CAACM,CAAO,CAAC,CAAE,CAKtD,CAAA,mBAAA,CAAqB,CAAC,CAAE,mBAAqB,CAAA,CAACE,CAAQ,CAAC,CAAE,CAAA,CAKzD,gBAAkB,CAAA,CAAC,CAAE,gBAAA,CAAkB,CAACE,CAAK,CAAC,CAAE,CAMhD,CAAA,iBAAA,CAAmB,CAAC,CAAEyF,MAAQ,CAAA,CAAC,UAAY,CAAA,UAAU,CAAC,CAAE,CAAA,CAKxD,gBAAkB,CAAA,CAAC,CAAE,gBAAA,CAAkB,CAACxG,CAAa,CAAC,CAAE,CAKxD,CAAA,kBAAA,CAAoB,CAAC,CAAE,mBAAoB,CAACA,CAAa,CAAC,CAAE,CAK5D,CAAA,kBAAA,CAAoB,CAAC,CAAE,kBAAoB,CAAA,CAACA,CAAa,CAAC,CAAE,CAAA,CAK5D,eAAgB,CAAC,CAAE8G,KAAO,CAAA,CAAC,MAAQ,CAAA,OAAO,CAAC,CAAE,CAK7CC,CAAAA,OAAAA,CAAS,CAAC,CAAEA,OAAS,CAAA,CAAC,KAAO,CAAA,QAAQ,CAAC,CAAE,CAMxCC,CAAAA,UAAAA,CAAY,CACR,CACIA,UAAY,CAAA,CACR,MACA,CAAA,KAAA,CACA,EACA,CAAA,QAAA,CACA,SACA,CAAA,QAAA,CACA,YACArI,CAAgB,CAEvB,CAAA,CAAA,CAMLsI,QAAU,CAAA,CAAC,CAAEA,QAAAA,CAAUlF,EAAuB,EAAA,CAAE,CAAA,CAKhDmF,IAAM,CAAA,CAAC,CAAEA,IAAM,CAAA,CAAC,QAAU,CAAA,IAAA,CAAM,KAAO,CAAA,QAAA,CAAUvI,CAAgB,CAAA,CAAG,CAKpEwI,CAAAA,KAAAA,CAAO,CAAC,CAAEA,KAAOpF,CAAAA,EAAAA,EAAuB,CAAE,CAAA,CAK1CqF,OAAS,CAAA,CAAC,CAAEA,OAAAA,CAAS,CAAC,MAAA,CAAQ,MAAQ,CAAA,MAAA,CAAQ,OAAS,CAAA,QAAA,CAAUzI,CAAgB,CAAA,CAAG,CAMpF0I,CAAAA,SAAAA,CAAW,CAAC,CAAEA,SAAW,CAAA,CAAC,EAAI,CAAA,KAAA,CAAO,MAAM,CAAA,CAAG,CAK9CvG,CAAAA,KAAAA,CAAO,CAAC,CAAEA,KAAO,CAAA,CAACA,CAAK,CAAC,CAAE,CAK1B,CAAA,SAAA,CAAW,CAAC,CAAE,SAAW,CAAA,CAACA,CAAK,CAAC,CAAE,CAAA,CAKlC,SAAW,CAAA,CAAC,CAAE,SAAW,CAAA,CAACA,CAAK,CAAC,CAAE,CAAA,CAKlCwG,MAAQ,CAAA,CAAC,CAAEA,MAAAA,CAAQ,CAAC9I,EAAAA,CAAWG,CAAgB,CAAC,CAAE,CAKlD,CAAA,aAAA,CAAe,CAAC,CAAE,aAAe,CAAA,CAACuC,CAAS,CAAC,CAAE,CAAA,CAK9C,aAAe,CAAA,CAAC,CAAE,aAAA,CAAe,CAACA,CAAS,CAAC,CAAE,CAK9C,CAAA,QAAA,CAAU,CAAC,CAAE,QAAU,CAAA,CAACF,CAAI,CAAC,CAAE,CAAA,CAK/B,QAAU,CAAA,CAAC,CAAE,QAAU,CAAA,CAACA,CAAI,CAAC,CAAE,CAAA,CAK/B,kBAAoB,CAAA,CAChB,CACIuG,MAAAA,CAAQ,CACJ,QAAA,CACA,KACA,CAAA,WAAA,CACA,QACA,cACA,CAAA,QAAA,CACA,aACA,CAAA,MAAA,CACA,UACA5I,CAAAA,CAAgB,CAEvB,CAAA,CAOL6I,CAAAA,MAAAA,CAAQ,CAAC,CAAEA,MAAQ,CAAA,CAAC,OAAQ9H,CAAM,CAAC,CAAE,CAAA,CAKrC+H,UAAY,CAAA,CAAC,CAAEA,UAAAA,CAAY,CAAC,MAAA,CAAQ,MAAM,CAAC,CAAE,CAAA,CAK7CC,MAAQ,CAAA,CACJ,CACIA,MAAAA,CAAQ,CACJ,MAAA,CACA,SACA,CAAA,SAAA,CACA,MACA,CAAA,MAAA,CACA,MACA,CAAA,MAAA,CACA,aACA,CAAA,MAAA,CACA,cACA,CAAA,UAAA,CACA,OACA,WACA,CAAA,eAAA,CACA,OACA,CAAA,MAAA,CACA,SACA,CAAA,MAAA,CACA,UACA,CAAA,YAAA,CACA,YACA,CAAA,YAAA,CACA,UACA,CAAA,UAAA,CACA,UACA,CAAA,UAAA,CACA,YACA,WACA,CAAA,WAAA,CACA,WACA,CAAA,WAAA,CACA,WACA,CAAA,aAAA,CACA,aACA,CAAA,SAAA,CACA,UACA/I,CAAAA,CAAgB,CAEvB,CAAA,CAML,CAAA,aAAA,CAAe,CAAC,CAAEgJ,KAAAA,CAAO,CAACjI,CAAM,CAAC,CAAE,CAKnC,CAAA,gBAAA,CAAkB,CAAC,CAAE,gBAAkB,CAAA,CAAC,MAAQ,CAAA,MAAM,CAAC,CAAE,CAKzDkI,CAAAA,MAAAA,CAAQ,CAAC,CAAEA,MAAQ,CAAA,CAAC,MAAQ,CAAA,GAAA,CAAK,GAAK,CAAA,EAAE,CAAG,CAAA,CAAA,CAK3C,iBAAmB,CAAA,CAAC,CAAEC,MAAQ,CAAA,CAAC,MAAQ,CAAA,QAAQ,CAAC,CAAE,CAKlD,CAAA,UAAA,CAAY,CAAC,CAAE,UAAYvG,CAAAA,CAAAA,EAAyB,CAAE,EAKtD,WAAa,CAAA,CAAC,CAAE,WAAA,CAAaA,CAAyB,EAAA,CAAE,CAAA,CAKxD,WAAa,CAAA,CAAC,CAAE,WAAA,CAAaA,CAAyB,EAAA,CAAE,CAKxD,CAAA,WAAA,CAAa,CAAC,CAAE,WAAaA,CAAAA,CAAAA,EAAyB,CAAE,CAKxD,CAAA,WAAA,CAAa,CAAC,CAAE,WAAaA,CAAAA,CAAAA,EAAyB,CAAE,CAKxD,CAAA,WAAA,CAAa,CAAC,CAAE,WAAaA,CAAAA,CAAAA,EAAyB,CAAE,CAKxD,CAAA,WAAA,CAAa,CAAC,CAAE,WAAaA,CAAAA,CAAAA,EAAyB,CAAE,CAAA,CAKxD,WAAa,CAAA,CAAC,CAAE,WAAA,CAAaA,CAAyB,EAAA,CAAE,CAAA,CAKxD,WAAa,CAAA,CAAC,CAAE,WAAA,CAAaA,GAAyB,CAAE,CAKxD,CAAA,UAAA,CAAY,CAAC,CAAE,UAAYA,CAAAA,CAAAA,EAAyB,CAAE,CAKtD,CAAA,WAAA,CAAa,CAAC,CAAE,YAAaA,CAAyB,EAAA,CAAE,CAAA,CAKxD,WAAa,CAAA,CAAC,CAAE,WAAA,CAAaA,CAAyB,EAAA,CAAE,CAAA,CAKxD,WAAa,CAAA,CAAC,CAAE,WAAA,CAAaA,CAAyB,EAAA,CAAE,CAAA,CAKxD,WAAa,CAAA,CAAC,CAAE,WAAA,CAAaA,CAAyB,EAAA,CAAE,CAAA,CAKxD,WAAa,CAAA,CAAC,CAAE,WAAaA,CAAAA,CAAAA,EAAyB,CAAE,CAKxD,CAAA,WAAA,CAAa,CAAC,CAAE,WAAaA,CAAAA,CAAAA,EAAyB,CAAE,CAKxD,CAAA,WAAA,CAAa,CAAC,CAAE,WAAA,CAAaA,CAAyB,EAAA,CAAE,CAAA,CAKxD,WAAa,CAAA,CAAC,CAAE,WAAA,CAAaA,CAAyB,EAAA,CAAE,CAAA,CAKxD,aAAc,CAAC,CAAEwG,IAAM,CAAA,CAAC,OAAS,CAAA,KAAA,CAAO,QAAU,CAAA,YAAY,CAAG,CAAA,CAAA,CAKjE,WAAa,CAAA,CAAC,CAAEA,IAAAA,CAAM,CAAC,QAAA,CAAU,QAAQ,CAAC,CAAE,CAAA,CAK5C,WAAa,CAAA,CAAC,CAAEA,IAAAA,CAAM,CAAC,MAAA,CAAQ,GAAK,CAAA,GAAA,CAAK,MAAM,CAAA,CAAG,EAKlD,iBAAmB,CAAA,CAAC,CAAEA,IAAAA,CAAM,CAAC,WAAA,CAAa,WAAW,CAAC,CAAE,CAAA,CAKxDC,KAAO,CAAA,CACH,CACIA,KAAAA,CAAO,CAAC,MAAQ,CAAA,MAAA,CAAQ,cAAc,CACzC,CAAA,CAAA,CAML,SAAW,CAAA,CACP,CACI,WAAA,CAAa,CAAC,GAAA,CAAK,MAAQ,CAAA,OAAO,CACrC,CAAA,CAAA,CAML,SAAW,CAAA,CACP,CACI,WAAA,CAAa,CAAC,GAAA,CAAK,IAAM,CAAA,MAAM,CAClC,CAAA,CAML,CAAA,UAAA,CAAY,CAAC,kBAAkB,CAK/BC,CAAAA,MAAAA,CAAQ,CAAC,CAAEA,MAAQ,CAAA,CAAC,MAAQ,CAAA,MAAA,CAAQ,KAAO,CAAA,MAAM,CAAG,CAAA,CAAA,CAKpD,aAAe,CAAA,CACX,CAAE,aAAe,CAAA,CAAC,MAAQ,CAAA,QAAA,CAAU,UAAY,CAAA,WAAA,CAAarJ,CAAgB,CAAG,CAAA,CAAA,CAOpFsJ,IAAM,CAAA,CAAC,CAAEA,IAAAA,CAAM,CAACvI,CAAQ,CAAA,MAAM,CAAC,CAAE,CAKjC,CAAA,UAAA,CAAY,CAAC,CAAEwI,MAAQ,CAAA,CAAClK,EAAUE,CAAAA,EAAAA,CAAmBK,EAAiB,CAAA,CAAG,EAKzE2J,MAAQ,CAAA,CAAC,CAAEA,MAAAA,CAAQ,CAACxI,CAAAA,CAAQ,MAAM,CAAC,CAAE,CAAA,CAMrCyI,EAAI,CAAA,CAAC,SAAW,CAAA,aAAa,CAK7B,CAAA,qBAAA,CAAuB,CAAC,CAAE,qBAAuB,CAAA,CAAC,MAAQ,CAAA,MAAM,CAAC,CAAE,CACtE,CAAA,CACD5S,sBAAwB,CAAA,CACpBkN,QAAU,CAAA,CAAC,aAAc,YAAY,CAAA,CACrCC,UAAY,CAAA,CAAC,cAAgB,CAAA,cAAc,CAC3CjC,CAAAA,KAAAA,CAAO,CAAC,SAAA,CAAW,SAAW,CAAA,OAAA,CAAS,KAAO,CAAA,KAAA,CAAO,QAAS,QAAU,CAAA,MAAM,CAC9E,CAAA,SAAA,CAAW,CAAC,OAAA,CAAS,MAAM,CAAA,CAC3B,SAAW,CAAA,CAAC,KAAO,CAAA,QAAQ,CAC3B4C,CAAAA,IAAAA,CAAM,CAAC,OAAS,CAAA,MAAA,CAAQ,QAAQ,CAAA,CAChC/C,GAAK,CAAA,CAAC,OAAS,CAAA,OAAO,CACtB0D,CAAAA,CAAAA,CAAG,CAAC,IAAA,CAAM,IAAM,CAAA,IAAA,CAAM,IAAM,CAAA,IAAA,CAAM,IAAM,CAAA,IAAA,CAAM,IAAI,CAAA,CAClDC,EAAI,CAAA,CAAC,IAAM,CAAA,IAAI,CACfC,CAAAA,EAAAA,CAAI,CAAC,IAAA,CAAM,IAAI,CAAA,CACfO,EAAG,CAAC,IAAA,CAAM,IAAM,CAAA,IAAA,CAAM,IAAM,CAAA,IAAA,CAAM,IAAM,CAAA,IAAA,CAAM,IAAI,CAAA,CAClDC,EAAI,CAAA,CAAC,IAAM,CAAA,IAAI,EACfC,EAAI,CAAA,CAAC,IAAM,CAAA,IAAI,CACfU,CAAAA,IAAAA,CAAM,CAAC,GAAA,CAAK,GAAG,CAAA,CACf,WAAa,CAAA,CAAC,SAAS,CAAA,CACvB,aAAc,CACV,aAAA,CACA,kBACA,CAAA,YAAA,CACA,aACA,CAAA,cAAc,CAElB,CAAA,aAAA,CAAe,CAAC,YAAY,CAC5B,CAAA,kBAAA,CAAoB,CAAC,YAAY,CACjC,CAAA,YAAA,CAAc,CAAC,YAAY,CAC3B,CAAA,aAAA,CAAe,CAAC,YAAY,CAC5B,CAAA,cAAA,CAAgB,CAAC,YAAY,CAC7B,CAAA,YAAA,CAAc,CAAC,SAAA,CAAW,UAAU,CACpCkB,CAAAA,OAAAA,CAAS,CACL,WAAA,CACA,WACA,CAAA,WAAA,CACA,WACA,CAAA,WAAA,CACA,WACA,CAAA,YAAA,CACA,YACA,CAAA,YAAA,CACA,YACA,CAAA,YAAA,CACA,aACA,YACA,CAAA,YAAY,CAEhB,CAAA,WAAA,CAAa,CAAC,YAAA,CAAc,YAAY,CAAA,CACxC,WAAa,CAAA,CAAC,YAAc,CAAA,YAAY,CACxC,CAAA,WAAA,CAAa,CAAC,YAAc,CAAA,YAAY,CACxC,CAAA,WAAA,CAAa,CAAC,YAAA,CAAc,YAAY,CAAA,CACxC,WAAa,CAAA,CAAC,YAAc,CAAA,YAAY,CACxC,CAAA,WAAA,CAAa,CAAC,YAAA,CAAc,YAAY,CAAA,CACxC,gBAAkB,CAAA,CAAC,kBAAoB,CAAA,kBAAkB,CACzD,CAAA,UAAA,CAAY,CACR,YAAA,CACA,YACA,CAAA,YAAA,CACA,YACA,CAAA,YAAA,CACA,YAAY,CAEhB,CAAA,YAAA,CAAc,CAAC,YAAA,CAAc,YAAY,CAAA,CACzC,YAAc,CAAA,CAAC,YAAc,CAAA,YAAY,CACzC,CAAA,cAAA,CAAgB,CACZ,gBAAA,CACA,iBACA,gBACA,CAAA,gBAAA,CACA,gBACA,CAAA,gBAAgB,CAEpB,CAAA,gBAAA,CAAkB,CAAC,gBAAA,CAAkB,gBAAgB,CAAA,CACrD,gBAAkB,CAAA,CAAC,gBAAkB,CAAA,gBAAgB,EACrD,UAAY,CAAA,CACR,WACA,CAAA,WAAA,CACA,WACA,CAAA,WAAA,CACA,WACA,CAAA,WAAA,CACA,WACA,CAAA,WAAW,CAEf,CAAA,WAAA,CAAa,CAAC,WAAA,CAAa,WAAW,CAAA,CACtC,WAAa,CAAA,CAAC,WAAa,CAAA,WAAW,CACtC,CAAA,UAAA,CAAY,CACR,WAAA,CACA,WACA,CAAA,WAAA,CACA,WACA,CAAA,WAAA,CACA,WACA,CAAA,WAAA,CACA,WAAW,CAEf,CAAA,WAAA,CAAa,CAAC,WAAA,CAAa,WAAW,CAAA,CACtC,WAAa,CAAA,CAAC,WAAa,CAAA,WAAW,CACtCwB,CAAAA,KAAAA,CAAO,CAAC,SAAA,CAAW,UAAW,UAAU,CAAA,CACxC,SAAW,CAAA,CAAC,OAAO,CAAA,CACnB,SAAW,CAAA,CAAC,OAAO,CAAA,CACnB,UAAY,CAAA,CAAC,OAAO,CACvB,EACDvS,8BAAgC,CAAA,CAC5B,WAAa,CAAA,CAAC,SAAS,CAC1B,CACkE,CAC3E,CCh1Da4S,CAAAA,IAAAA,EAAAA,CAAU5L,EAAoBiD,CAAAA,EAAgB,CCApD,CAAA,SAAS4I,CAAMC,CAAAA,GAAAA,CAAAA,CAAsB,CAC1C,OAAOF,EAAQG,CAAAA,SAAAA,CAAKD,CAAM,CAAC,CAC7B,CCAA,SAASE,EAAAA,CAAgBhV,CAGkC,CAAA,CAHlC,IAAAC,CAAAA,CAAAD,CACvB,CAAA,CAAA,aAAA,CAAAiV,CAAgB,CAAA,CANlB,EAKyBhV,CAEpBiV,CAAAA,CAAAA,CAAAC,CAFoBlV,CAAAA,CAAAA,CAEpB,CADH,eAAA,CAAA,CAAA,CAGA,OACEmV,YAAA,CAAA,aAAA,CAAkBC,aAAjBxV,CAAAA,QAAAA,CAAAA,CAAAA,CAAA,CACC,WAAA,CAAU,kBACV,CAAA,aAAA,CAAeoV,GACXC,CACN,CAAA,CAEJ,CAEA,SAASI,EAAQtV,CAAAA,CAAAA,CAEsC,CAFtC,IACZkV,CAAAC,CAAAA,CAAAA,CADYnV,CACZ,CAAA,EAAA,CAAA,CAEH,OACEoV,YAAA,CAAA,aAAA,CAACJ,EAAA,CAAA,IAAA,CACCI,YAAkB,CAAA,aAAA,CAAAC,aAAA,CAAA,IAAA,CAAjBxV,CAAA,CAAA,CAAsB,WAAU,CAAA,SAAA,CAAA,CAAcqV,CAAO,CAAA,CACxD,CAEJ,CAEA,SAASK,EAAAA,CAAevV,CAEkC,CAAA,CAFlC,IACnBkV,CAAAC,CAAAA,CAAAA,CADmBnV,CACnB,CAAA,EAAA,CAAA,CAEH,OAAOoV,YAAA,CAAA,aAAA,CAAkBC,aAAjBxV,CAAAA,OAAAA,CAAAA,CAAAA,CAAA,CAAyB,WAAA,CAAU,iBAAsBqV,CAAAA,CAAAA,CAAAA,CAAO,CAC1E,CAEA,SAASM,EAAexV,CAAAA,CAAAA,CAKkC,CALlC,IAAAC,CAAAD,CAAAA,CAAAA,CACtB,CAAArB,SAAAA,CAAAA,CAAAA,CACA,UAAA8W,CAAAA,CAAAA,CAAa,CACb,CAAA,QAAA,CAAA5U,CArCF,CAAA,CAkCwBZ,EAInBiV,CAAAC,CAAAA,CAAAA,CAJmBlV,CAInB,CAAA,CAHH,WACA,CAAA,YAAA,CACA,UAGA,CAAA,CAAA,CAAA,OACEmV,YAAkB,CAAA,aAAA,CAAAC,aAAA,CAAA,MAAA,CAAjB,IACC,CAAAD,YAAA,CAAA,aAAA,CAAkBC,aAAjBxV,CAAAA,OAAAA,CAAAA,CAAAA,CAAA,CACC,WAAA,CAAU,iBACV,CAAA,UAAA,CAAY4V,CACZ,CAAA,SAAA,CAAWZ,CACT,CAAA,+bAAA,CACAlW,CACF,CAAA,CAAA,CACIuW,CAEHrU,CAAAA,CAAAA,CAAAA,CACDuU,YAAkB,CAAA,aAAA,CAAAC,aAAA,CAAA,KAAA,CAAjB,CAAuB,SAAA,CAAU,2FAA2F,CAC/H,CACF,CAEJ,CC/CO,SAASC,EAAQ,CAAA,CACtB,QAAAzU,CAAAA,CAAAA,CACA,OAAAwP,CAAAA,CAAAA,CACA,UAAA1R,CACF,CAAA,CAIG,CACD,OACEC,oBAAA,CAAA,aAAA,CAACoW,EAAA,CAAA,IAAA,CACCpW,oBAAA,CAAA,aAAA,CAAC0W,EAAA,CAAA,IAAA,CACC1W,oBAAA,CAAA,aAAA,CAAC2W,GAAA,CAAe,SAAA,CAAU,eAAiB1U,CAAAA,CAAAA,CAAS,CACnDwP,CAAAA,CAAAA,EACCzR,oBAAA,CAAA,aAAA,CAAC4W,EAAA,CAAA,CAAe,SAAWX,CAAAA,CAAAA,CAAG,yBAA2BlW,CAAAA,CAAS,CAChEC,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,MAAA,CAAA,CAAK,SAAU,CAAA,0BAAA,CAAA,CAA4ByR,CAAQ,CACtD,CAEJ,CACF,CAEJ,CC5BO,SAASqF,EAAU,EAAA,CACxB,GAAM,CAACC,CAAQC,CAAAA,CAAS,CAAIC,CAAAA,UAAAA,CAAS,KAAK,CAAA,CAc1C,OAAO,CAAE,MAAAF,CAAAA,CAAAA,CAAQ,OAZF,IAAM,CACnBC,CAAU,CAAA,IAAI,EAChB,CAAA,CAUyB,OART,CAAA,IAAM,CACpBA,CAAAA,CAAU,KAAK,EACjB,CAMkC,CAAA,MAAA,CAJnB,IAAM,CACnBA,CAAAA,CAAU,CAACD,CAAM,EACnB,CAEyC,CAC3C,CChBO,SAASG,EAAAA,CACdC,CACAC,CAAAA,CAAAA,CACA,CACAC,WAAAA,CAAU,IAAM,CACd,IAAMC,CAAAA,CAAeC,CAAsB,EAAA,CACrCJ,CAAI,CAAA,OAAA,EAAW,CAACA,CAAAA,CAAI,OAAQ,CAAA,QAAA,CAASI,EAAM,MAAc,CAAA,EAC3DH,CAAS,GAEb,CAEA,CAAA,OAAA,QAAA,CAAS,gBAAiB,CAAA,OAAA,CAASE,CAAW,CAAA,CAEvC,IAAM,CACX,QAAS,CAAA,mBAAA,CAAoB,QAASA,CAAW,EACnD,CACF,CAAA,CAAG,CAACH,CAAAA,CAAKC,CAAQ,CAAC,EACpB,CCnBO,IAAMI,EAAAA,CAA4B,CACvC,mCAAA,CAAqC,WACrC,+BAAiC,CAAA,yBAAA,CACjC,qCACE,CAAA,gEAAA,CACF,oCAAsC,CAAA,WAAA,CACtC,oCAAsC,CAAA,WAAA,CACtC,gCAAkC,CAAA,OAAA,CAClC,mCAAqC,CAAA,SAAA,CACrC,kCAAoC,CAAA,kBAAA,CACpC,uCAAyC,CAAA,sBAAA,CACzC,gDAAkD,CAAA,WAAA,CAClD,2CAA6C,CAAA,6BAAA,CAC7C,4DACE,CAAA,kBAAA,CACF,uDACE,CAAA,sBAAA,CACF,kDAAoD,CAAA,mBAAA,CAEpD,kDAAoD,CAAA,MAAA,CACpD,oDAAsD,CAAA,kBAAA,CACtD,uDACE,4BAEF,CAAA,wDAAA,CACE,0BACF,CAAA,8DAAA,CACE,mEAEF,CAAA,4DAAA,CACE,gBAEF,CAAA,mDAAA,CAAqD,MACrD,CAAA,qDAAA,CAAuD,QAEvD,CAAA,mEAAA,CACE,uCACF,CAAA,yEAAA,CACE,8EAEF,mEAAqE,CAAA,QAAA,CACrE,mEAAqE,CAAA,QAAA,CAErE,yEACE,CAAA,iCAAA,CACF,+EACE,CAAA,yCAAA,CAEF,uEACE,CAAA,0BAAA,CACF,6EACE,CAAA,mEAAA,CAEF,4CAA8C,CAAA,wBAAA,CAC9C,mDAAoD,MAEpD,CAAA,0DAAA,CACE,iCACF,CAAA,gEAAA,CACE,yCAEF,CAAA,wDAAA,CACE,0BACF,CAAA,8DAAA,CACE,mEAEF,CAAA,+CAAA,CACE,iCACF,CAAA,qDAAA,CACE,2EACF,CAAA,+DAAA,CACE,gBACF,CAAA,sDAAA,CAAwD,aAExD,CAAA,8BAAA,CAAgC,QAChC,CAAA,kBAAA,CAAoB,MACpB,CAAA,iBAAA,CAAmB,KACnB,CAAA,qBAAA,CAAuB,SACvB,CAAA,2BAAA,CAA6B,eAE7B,CAAA,+BAAA,CAAiC,SACjC,CAAA,oCAAA,CAAsC,mBACtC,0CAA4C,CAAA,mBAC9C,CCnFO,CAAA,IAAMC,EAA2B,CAAA,CACtC,mCAAqC,CAAA,SAAA,CACrC,+BAAiC,CAAA,uBAAA,CACjC,qCACE,CAAA,uEAAA,CACF,oCAAsC,CAAA,aAAA,CACtC,qCAAsC,YACtC,CAAA,gCAAA,CAAkC,cAClC,CAAA,mCAAA,CAAqC,UACrC,CAAA,kCAAA,CAAoC,+BACpC,CAAA,uCAAA,CAAyC,sCACzC,CAAA,gDAAA,CAAkD,8BAClD,CAAA,2CAAA,CAA6C,uCAC7C,CAAA,4DAAA,CACE,mDACF,uDACE,CAAA,2CAAA,CACF,kDAAoD,CAAA,sBAAA,CAEpD,kDAAoD,CAAA,QAAA,CACpD,oDACE,CAAA,mCAAA,CACF,sDACE,CAAA,2CAAA,CAEF,wDACE,CAAA,gDAAA,CACF,8DACE,CAAA,yFAAA,CAEF,4DACE,CAAA,mBAAA,CAEF,mDAAqD,CAAA,UAAA,CACrD,qDAAuD,CAAA,WAAA,CAEvD,mEACE,CAAA,oCAAA,CACF,yEACE,CAAA,kFAAA,CAEF,mEACE,CAAA,SAAA,CACF,mEACE,CAAA,WAAA,CAEF,yEACE,CAAA,qCAAA,CACF,gFACE,uDAEF,CAAA,uEAAA,CACE,+BACF,CAAA,6EAAA,CACE,yFAEF,CAAA,4CAAA,CACE,0CACF,CAAA,kDAAA,CAAoD,aAEpD,CAAA,0DAAA,CACE,uCACF,CAAA,gEAAA,CACE,yDAEF,CAAA,wDAAA,CACE,mCACF,8DACE,CAAA,4FAAA,CAEF,+CAAiD,CAAA,oCAAA,CACjD,qDACE,CAAA,6GAAA,CACF,+DACE,CAAA,oBAAA,CACF,sDAAwD,CAAA,wBAAA,CAExD,8BAAgC,CAAA,YAAA,CAChC,kBAAoB,CAAA,SAAA,CACpB,kBAAmB,KACnB,CAAA,qBAAA,CAAuB,UACvB,CAAA,2BAAA,CAA6B,eAE7B,CAAA,+BAAA,CAAiC,mBACjC,CAAA,oCAAA,CAAsC,4BACtC,CAAA,0CAAA,CAA4C,+BAC9C,CAAA,CCtFO,IAAMC,EAAAA,CAA+B,CAC1C,mCAAA,CAAqC,UACrC,CAAA,+BAAA,CAAiC,gCACjC,CAAA,qCAAA,CACE,2DACF,CAAA,oCAAA,CAAsC,UACtC,CAAA,oCAAA,CAAsC,YACtC,CAAA,gCAAA,CAAkC,OAClC,CAAA,mCAAA,CAAqC,UACrC,CAAA,kCAAA,CAAoC,kBACpC,uCAAyC,CAAA,sBAAA,CACzC,gDAAkD,CAAA,YAAA,CAClD,2CAA6C,CAAA,gCAAA,CAC7C,4DACE,CAAA,yBAAA,CACF,uDACE,CAAA,4BAAA,CACF,kDAAoD,CAAA,uBAAA,CAEpD,kDAAoD,CAAA,QAAA,CACpD,qDAAsD,iBACtD,CAAA,sDAAA,CACE,4BAEF,CAAA,wDAAA,CACE,yBACF,CAAA,8DAAA,CACE,mEAEF,CAAA,4DAAA,CACE,sBAEF,CAAA,mDAAA,CAAqD,QACrD,CAAA,qDAAA,CAAuD,SAEvD,CAAA,mEAAA,CACE,uCACF,yEACE,CAAA,+DAAA,CAEF,mEACE,CAAA,UAAA,CACF,mEACE,CAAA,SAAA,CAEF,yEACE,CAAA,iCAAA,CACF,+EACE,CAAA,uCAAA,CAEF,uEACE,CAAA,2BAAA,CACF,6EACE,CAAA,qEAAA,CAEF,4CAA8C,CAAA,6BAAA,CAC9C,kDAAoD,CAAA,QAAA,CAEpD,0DACE,CAAA,mCAAA,CACF,gEACE,CAAA,yCAAA,CAEF,wDACE,CAAA,6BAAA,CACF,8DACE,CAAA,uEAAA,CAEF,+CACE,CAAA,+BAAA,CACF,qDACE,CAAA,4FAAA,CACF,gEACE,eACF,CAAA,sDAAA,CAAwD,YAExD,CAAA,8BAAA,CAAgC,WAChC,CAAA,kBAAA,CAAoB,WACpB,CAAA,iBAAA,CAAmB,KACnB,CAAA,qBAAA,CAAuB,UACvB,CAAA,2BAAA,CAA6B,oBAE7B,CAAA,+BAAA,CAAiC,qBACjC,oCAAsC,CAAA,2BAAA,CACtC,0CAA4C,CAAA,4BAC9C,CCjFA,CAAA,IAAMC,EAAqB,CAAA,CACzB,EAAI1W,CAAAA,CAAAA,CAAA,EACCyW,CAAAA,EAAAA,CAAAA,CAEL,EAAIzW,CAAAA,CAAAA,CAAA,GACCuW,EAEL,CAAA,CAAA,EAAA,CAAIvW,CAAA,CAAA,EAAA,CACCwW,EAEP,CAAA,CAAA,CAEO,SAASG,CAAAA,CACd1V,CACA3B,CAAAA,CAAAA,CACA,CACA,OAAOoX,EAAmBzV,CAAAA,CAAM,CAAE3B,CAAAA,CAAG,CACvC,CCnBO,SAASsX,EAAS,CAAA,CAAE,KAAAC,CAAAA,CAAAA,CAAQ,SAAU,CAAA,CAAuB,CAClE,OACEC,2BAAC,KACC,CAAA,CAAA,KAAA,CAAM,4BACN,CAAA,KAAA,CAAM,IACN,CAAA,MAAA,CAAO,IACP,CAAA,IAAA,CAAK,MACL,CAAA,OAAA,CAAQ,WAER,CAAA,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAMD,EACN,CAAE,CAAA,yHAAA,CACF,OAAQ,CAAA,KAAA,CACT,CACD,CAAAC,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAMD,CACN,CAAA,CAAA,CAAE,gMACH,CAAA,CAAA,CACDC,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,KAAMD,CACN,CAAA,CAAA,CAAE,mNACF,CAAA,OAAA,CAAQ,KACT,CAAA,CACH,CAEJ,CCxBO,SAASE,CAAAA,EAAwB,CACtC,IAAMC,CAAkBC,CAAAA,YAAAA,CAAWvW,EAAyB,CAAA,CAE5D,GAAI,CAACsW,CACH,CAAA,MAAM,IAAI,KAAA,CACR,wEACF,CAAA,CAGF,OAAOA,CACT,CCXO,SAASE,EAAAA,CAAW,CAAE,KAAA,CAAAL,CAAQ,CAAA,SAAU,CAAuB,CAAA,CACpE,OACEM,YAAC,CAAA,aAAA,CAAA,KAAA,CAAA,CACC,KAAM,CAAA,4BAAA,CACN,KAAM,CAAA,IAAA,CACN,MAAO,CAAA,IAAA,CACP,IAAK,CAAA,MAAA,CACL,OAAQ,CAAA,WAAA,CAAA,CAERA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,KAAMN,CACN,CAAA,CAAA,CAAE,ySACF,CAAA,OAAA,CAAQ,KACT,CAAA,CAAA,CACDM,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAMN,CAAAA,CAAAA,CACN,CAAE,CAAA,0QAAA,CACH,CACH,CAEJ,CCtBO,IAAMO,EAAU,CAAA,CASrB,IAAA,CAAM,CACJ,MAAA,CAAQ,SAgBV,CAAA,CA2DA,GAAK,CAAA,CAMH,MAAA,CAAQ,SAEV,CACF,CC9FA,CCQA,IAAMC,EAAyB,CAAAC,YAAA,CAAA,IAAA,CAI/B,IAAMC,EAA+B,CAAAD,YAAA,CAAA,MAAA,CAIrC,IAAME,EAAAA,CAAsBC,YAK1B,CAAA,UAAA,CAAA,CAACtX,CAAyB+V,CAAAA,CAAAA,GAAK,CAA9B,IAAA9V,CAAAD,CAAAA,CAAAA,CAAE,CAAArB,SAAAA,CAAAA,CArBL,EAqBGsB,CAAgBiV,CAAAA,CAAAA,CAAAC,CAAhBlV,CAAAA,CAAAA,CAAgB,CAAd,WAAA,CAAA,CAAA,CACH,OAAiBqX,YAAA,CAAA,aAAA,CAAAH,YAAA,CAAA,OAAA,CAAhBtX,CAAA,CAAA,CACC,GAAKkW,CAAAA,CAAAA,CACL,SAAWlB,CAAAA,CAAAA,CACT,yJACAlW,CACF,CAAA,CAAA,CACIuW,CACN,CAAA,CAAA,CACD,CACDmC,CAAAA,EAAAA,CAAc,WAA8B,CAAAF,YAAA,CAAA,OAAA,CAAQ,WAEpD,CAAA,IAAMI,EAAsB,CAAAD,YAAA,CAAA,UAAA,CAS1B,CACEtX,CAAAA,CASA+V,CACA,GAAA,CAVA,IAAA9V,CAAAA,CAAAD,CACE,CAAA,CAAA,SAAA,CAAArB,CACA,CAAA,QAAA,CAAAkC,CACA,CAAA,OAAA,CAAA2W,CACA,CAAA,gBAAA,CAAAC,CACA,CAAA,mBAAA,CAAAC,CAAsB,CAAA,IAAA,CACtB,gBAAAC,CAAkB,CAAA,KAjDxB,CA2CI1X,CAAAA,CAAAA,CAOKiV,CAAAC,CAAAA,CAAAA,CAPLlV,CAOK,CAAA,CANH,WACA,CAAA,UAAA,CACA,SACA,CAAA,kBAAA,CACA,qBACA,CAAA,iBAAA,CAAA,CAAA,CAKF,kCAACmX,EAAA,CAAA,IAAA,CACCE,YAACD,CAAAA,aAAAA,CAAAA,EAAAA,CAAA,CACC,SAAA,CAAW,CAAGI,EAAAA,CAAgB,CAC9B,sBAAA,CAAA,CAAA,OAAA,CAAUrY,CAAM,EAAA,CACTsY,CACHtY,GAAAA,CAAAA,CAAE,gBACFA,CAAAA,CAAAA,CAAE,eAAgB,EAAA,EAEtB,CACF,CAAA,CAAA,CACAkY,YAAiB,CAAA,aAAA,CAAAH,YAAA,CAAA,OAAA,CAAhBtX,CAAA,CAAA,CACC,GAAKkW,CAAAA,CAAAA,CACL,SAAWlB,CAAAA,CAAAA,CACT,kgBACAlW,CAAAA,CACF,CACIuW,CAAAA,CAAAA,CAAAA,CAAAA,CAEHrU,CACA,CAAA,CAAC8W,CACA,EAAAL,YAAA,CAAA,aAAA,CAAC,QACC,CAAA,CAAA,OAAA,CAASE,CACT,CAAA,SAAA,CAAU,iEAEV,CAAA,CAAAF,YAAA,CAAA,aAAA,CAACM,aAAA,CAAA,CAAE,UAAU,SAAU,CAAA,CACzB,CAEJ,CACF,CAEJ,CAAA,CAAA,CACAL,EAAc,CAAA,WAAA,CAA8BJ,YAAQ,CAAA,OAAA,CAAA,WAAA,CAEpD,IAAMU,EAAAA,CAAgB7X,CAGmB,EAAA,CAHnB,IAAAC,CAAAD,CAAAA,CAAAA,CACpB,CAAArB,SAAAA,CAAAA,CAxFF,CAuFsBsB,CAAAA,CAAAA,CAEjBiV,CAAAC,CAAAA,CAAAA,CAFiBlV,CAEjB,CAAA,CADH,WAGA,CAAA,CAAA,CAAA,OAAAqX,YAAA,CAAA,aAAA,CAAC,KAAAzX,CAAAA,CAAAA,CAAA,CACC,SAAWgV,CAAAA,CAAAA,CACT,oDACAlW,CAAAA,CACF,CACIuW,CAAAA,CAAAA,CAAAA,CACN,CAEF2C,CAAAA,CAAAA,EAAAA,CAAa,WAAc,CAAA,cAAA,CAgB3B,IAAMC,EAAoB,CAAAR,YAAA,CAAA,UAAA,CAGxB,CAACtX,CAAAA,CAAyB+V,IAAK,CAA9B,IAAA9V,CAAAD,CAAAA,CAAAA,CAAE,CAAArB,SAAAA,CAAAA,CAtHL,CAsHGsB,CAAAA,CAAAA,CAAgBiV,CAAAC,CAAAA,CAAAA,CAAhBlV,CAAgB,CAAA,CAAd,WACH,CAAA,CAAA,CAAA,OAAAqX,YAAA,CAAA,aAAA,CAAiBH,mBAAhBtX,CAAA,CAAA,CACC,GAAKkW,CAAAA,CAAAA,CACL,SAAWlB,CAAAA,CAAAA,CACT,mDACAlW,CAAAA,CACF,CACIuW,CAAAA,CAAAA,CAAAA,CACN,CACD,CAAA,CAAA,CACD4C,EAAY,CAAA,WAAA,CAA8BX,YAAM,CAAA,KAAA,CAAA,WAAA,CAEhD,IAAMY,EAAAA,CAA0BT,YAG9B,CAAA,UAAA,CAAA,CAACtX,CAAyB+V,CAAAA,CAAAA,GAAK,CAA9B,IAAA9V,CAAAD,CAAAA,CAAAA,CAAE,CAAArB,SAAAA,CAAAA,CArIL,CAqIGsB,CAAAA,CAAAA,CAAgBiV,EAAAC,CAAhBlV,CAAAA,CAAAA,CAAgB,CAAd,WAAA,CAAA,CAAA,CACH,OAAiBqX,YAAA,CAAA,aAAA,CAAAH,YAAA,CAAA,WAAA,CAAhBtX,CAAA,CAAA,CACC,GAAKkW,CAAAA,CAAAA,CACL,SAAWlB,CAAAA,CAAAA,CAAG,+BAAiClW,CAAAA,CAAS,GACpDuW,CACN,CAAA,CAAA,CACD,CACD6C,CAAAA,EAAAA,CAAkB,WAA8B,CAAAZ,YAAA,CAAA,WAAA,CAAY,WCpI5D,CAeO,SAASa,EAAM,CAAA,CACpB,OAAArC,CACA,CAAA,MAAA,CAAAsC,CACA,CAAA,OAAA,CAAAT,CACA,CAAA,SAAA,CAAAU,CACA,CAAA,QAAA,CAAArX,CACA,CAAA,eAAA,CAAA8W,CAAkB,CAAA,KAAA,CAClB,mBAAAQ,CAAAA,CAAAA,CAAsB,IACtB,CAAA,SAAA,CAAAxZ,CACA,CAAA,iBAAA,CAAAyZ,CAAoB,CAAA,KACtB,CAAe,CAAA,CACb,OACExZ,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,SAAU,CAAA,UAAA,CAAA,CACbA,oBAAA,CAAA,aAAA,CAACsY,GAAA,CACC,IAAA,CAAMvB,CACN,CAAA,YAAA,CAAe0C,CAAS,EAAA,CAClB,CAACA,CAAAA,EAAQF,CACXX,EAAAA,CAAAA,GAEJ,CAAA,CAAA,CAEA5Y,oBAAA,CAAA,aAAA,CAACiZ,GAAA,IAAa,CAAA,CAEdjZ,oBAAA,CAAA,aAAA,CAAC2Y,EAAA,CAAA,CACC,eAAiBI,CAAAA,CAAAA,CACjB,OAASH,CAAAA,CAAAA,CACT,SAAW,CAAA,CAAA,yBAAA,EACT,CAACY,CAAAA,EAAqB,kCACxB,CAAwGzZ,qGAAAA,EAAAA,CAAS,CACjH,CAAA,CAAA,iBAAA,CAAoBS,CAAM,EAAA,CACnB+Y,CACH/Y,EAAAA,CAAAA,CAAE,cAAe,GAErB,CAEC8Y,CAAAA,CAAAA,CAAAA,EAAatZ,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,aAAc,CAAA,CAAA,CAE1C,CAACwZ,CAAAA,EACAxZ,oBAAA,CAAA,aAAA,CAAC,QAAO,CAAA,CAAA,SAAA,CAAU,0EAChBA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,QAAA,CAAA,CAAO,OAAS,CAAA,IAAM4Y,GAAW,CAAA,SAAA,CAAU,gBAC1C5Y,CAAAA,CAAAA,oBAAAA,CAAA,aAACgZ,CAAAA,aAAAA,CAAA,CAAE,SAAA,CAAU,SAAU,CAAA,CACzB,CAECK,CAAAA,CACH,CAGFrZ,CAAAA,oBAAAA,CAAA,cAACkZ,EAAA,CAAA,IAAY,CACZjX,CAAAA,CACH,CACF,CACF,CAEJ,CC1EO,IAAMyX,EAAc,CAAA,CAAC,CAAE,KAAA,CAAA5B,CAAQ,CAAA,SAAU,CAC9C,GAAA6B,YAAA,CAAA,aAAA,CAAC,KACC,CAAA,CAAA,KAAA,CAAM,4BACN,CAAA,KAAA,CAAM,IACN,CAAA,MAAA,CAAO,IACP,CAAA,IAAA,CAAK,MACL,CAAA,OAAA,CAAQ,WAER,CAAA,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,EAAA,CAAG,mBACH,CAAA,KAAA,CAAM,IACN,CAAA,MAAA,CAAO,IACP,CAAA,CAAA,CAAE,GACF,CAAA,CAAA,CAAE,IACF,SAAU,CAAA,gBAAA,CACV,KAAO,CAAA,CAAE,QAAU,CAAA,OAAQ,CAE3B,CAAA,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,iMACH,CAAA,CACH,EACAA,YAAC,CAAA,aAAA,CAAA,GAAA,CAAA,CAAE,IAAK,CAAA,yBAAA,CAAA,CACNA,YAAC,CAAA,aAAA,CAAA,GAAA,CAAA,CACC,QAAS,CAAA,4CAAA,CACT,uBAAsB,CAAA,MAAA,CAAA,CAEtBA,YAAC,CAAA,aAAA,CAAA,eAAA,CAAA,CACC,KAAM,CAAA,SAAA,CACN,OAAO,SACP,CAAA,CAAA,CAAE,UACF,CAAA,CAAA,CAAE,UACF,CAAA,SAAA,CAAU,uCAEV,CAAA,CAAAA,YAAA,CAAA,aAAA,CAAC,KACC,CAAA,CAAA,KAAA,CAAO,CACL,UAAA,CAAY,CAA6B7B,0BAAAA,EAAAA,CAAK,CAC9C,gCAAA,CAAA,CAAA,MAAA,CAAQ,MACR,CAAA,KAAA,CAAO,MACT,CAAA,CACD,CACH,CACF,CACA,CAAA6B,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,CAAA,CAAE,qCACF,CAAA,0BAAA,CAAyB,6rBAC1B,CAAA,CAAA,CACDA,2BAAC,QAAO,CAAA,CAAA,EAAA,CAAG,QAAS,CAAA,EAAA,CAAG,QAAS,CAAA,CAAA,CAAE,OAAQ,CAAA,IAAA,CAAM7B,CAAO,CAAA,CACzD,CACA,CAAA6B,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,IAAA,CAAAA,YAAA,CAAA,aAAA,CAAC,YAAS,EAAG,CAAA,sCAAA,CAAA,CACXA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CAAK,CAAE,CAAA,qCAAA,CAAsC,CAChD,CACF,CACF,CAAA,CC3CK,SAASC,EAAAA,CAAO,CACrB,QAAA,CAAA3X,EACA,SAAAlC,CAAAA,CAAAA,CACA,QAAA8Z,CAAAA,CAAAA,CACA,SAAAP,CAAAA,CAAAA,CACA,OAAAQ,CAAAA,CAAAA,CACA,IAAAC,CAAAA,CAAAA,CAAO,QACT,CAAA,CAAgB,CACd,OACE/Z,oBAAA,CAAA,aAAA,CAAC,QACC,CAAA,CAAA,QAAA,CAAU6Z,CAAYP,EAAAA,CAAAA,CACtB,IAAMS,CAAAA,CAAAA,CACN,OAAUvZ,CAAAA,CAAAA,EAAM,CACdA,CAAAA,CAAE,cAAe,EAAA,CACjBA,CAAE,CAAA,eAAA,GAEFsZ,CAAA,EAAA,IAAA,EAAAA,CACF,GAAA,CAAA,CACA,SAAW7D,CAAAA,CAAAA,CACT,qFACAlW,CAAAA,CACF,CAECkC,CAAAA,CAAAA,CAAAA,CACAqX,CACCtZ,EAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,UAAU,0CACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC0Z,CAAAA,EAAAA,CAAA,CAAY,KAAA,CAAM,MAAO,CAAA,CAC5B,CAEJ,CAEJ,CJrCO,SAASM,EAAa,CAAA,CAC3B,OAAAjD,CACA,CAAA,OAAA,CAAA6B,CACA,CAAA,SAAA,CAAAqB,CACA,CAAA,KAAA,CAAAC,CACA,CAAA,WAAA,CAAAC,CACA,CAAA,YAAA,CAAAC,CACA,CAAA,SAAA,CAAAd,CACF,CAAA,CAQG,CACD,GAAM,CAAE,MAAA,CAAApX,CAAO,CAAA,CAAI8V,CAAsB,EAAA,CAGzC,OACEhY,oBAAAA,CAAA,aAACoZ,CAAAA,EAAAA,CAAA,CACC,SAAA,CAAWE,CACX,CAAA,mBAAA,CAAqB,MACrB,eAAe,CAAA,IAAA,CACf,SAAU,CAAA,kBAAA,CACV,iBAAiB,CAAA,IAAA,CACjB,MAAQvC,CAAAA,CAAAA,CACR,OAAS6B,CAAAA,CAAAA,CAAAA,CAET5Y,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,6CACZoa,CAAgBpa,EAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,IAAA,CAAKoa,CAAa,CAAA,CAEpCpa,oBAAA,CAAA,aAAA,CAAC,IAAG,CAAA,CAAA,SAAA,CAAU,mCAAqCka,CAAAA,CAAAA,CAAM,CAEzDla,CAAAA,oBAAAA,CAAA,cAAC,GAAE,CAAA,CAAA,SAAA,CAAU,sCAAwCma,CAAAA,CAAAA,CAAY,CAEjEna,CAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,SAAU,CAAA,qBAAA,CAAA,CACbA,oBAAA,CAAA,aAAA,CAAC4Z,EAAA,CAAA,CACC,QAAUN,CAAAA,CAAAA,CACV,SAAU,CAAA,6CAAA,CACV,OAASV,CAAAA,CAAAA,CAAAA,CAERhB,CACC1V,CAAAA,CAAAA,CACA,mEACF,CACF,CACAlC,CAAAA,oBAAAA,CAAA,aAAC4Z,CAAAA,EAAAA,CAAA,CAAO,QAAA,CAAUN,EAAW,OAASW,CAAAA,CAAAA,CAAAA,CACnCrC,CACC1V,CAAAA,CAAAA,CACA,mEACF,CACF,CACF,CACF,CACF,CAEJ,CKjEO,IAAMmY,EAAN,CAAA,KAA+C,CAGpD,WAAc,EAAA,CAFd,IAAU,CAAA,SAAA,CAAY,IAAI,GAAA,CAGxB,IAAK,CAAA,SAAA,CAAY,IAAK,CAAA,SAAA,CAAU,IAAK,CAAA,IAAI,EAC3C,CAEA,UAAUC,CAAiC,CAAA,CACzC,OAAK,IAAA,CAAA,SAAA,CAAU,GAAIA,CAAAA,CAAQ,CAE3B,CAAA,IAAA,CAAK,WAAY,EAAA,CAEV,IAAM,CACX,IAAK,CAAA,SAAA,CAAU,MAAOA,CAAAA,CAAQ,CAC9B,CAAA,IAAA,CAAK,aAAc,GACrB,CACF,CAEA,YAAwB,EAAA,CACtB,OAAO,IAAA,CAAK,SAAU,CAAA,IAAA,CAAO,CAC/B,CAEU,aAAoB,EAIpB,aAAsB,EAAA,EAGlC,CAAA,CC8CO,IAAMC,EAAAA,CAAW,OAAO,MAAA,EAAW,WAAe,EAAA,MAAA,GAAU,UAI5D,CAAA,SAASC,GAAO,EAEhB,SAASC,EAAAA,CACdC,CACAC,CAAAA,CAAAA,CACS,CACT,OAAO,OAAOD,CAAAA,EAAY,UACrBA,CAAAA,CAAAA,CAAmCC,CAAK,CAAA,CACzCD,CACN,CAEO,SAASE,EAAe7Z,CAAAA,CAAAA,CAAiC,CAC9D,OAAO,OAAOA,CAAAA,EAAU,QAAYA,EAAAA,CAAAA,EAAS,CAAKA,EAAAA,CAAAA,GAAU,CAC9D,CAAA,CAAA,CAEO,SAAS8Z,EAAAA,CAAeC,CAAmBC,CAAAA,CAAAA,CAA4B,CAC5E,OAAO,IAAK,CAAA,GAAA,CAAID,CAAaC,EAAAA,CAAAA,EAAa,CAAK,CAAA,CAAA,IAAA,CAAK,GAAI,EAAA,CAAG,CAAC,CAC9D,CAEO,SAASC,EAAAA,CAMdD,CACA3a,CAAAA,CAAAA,CACoB,CACpB,OAAO,OAAO2a,CAAAA,EAAc,UAAaA,CAAAA,CAAAA,CAAU3a,CAAK,CAAA,CAAI2a,CAC9D,CAEO,SAASE,EAMdC,CAAAA,CAAAA,CACA9a,CACqB,CAAA,CACrB,OAAO,OAAO8a,CAAY,EAAA,UAAA,CAAaA,CAAQ9a,CAAAA,CAAK,CAAI8a,CAAAA,CAC1D,CAEO,SAASC,GACdC,CACAhb,CAAAA,CAAAA,CACS,CACT,GAAM,CACJ,IAAA,CAAA2Z,CAAO,CAAA,KAAA,CACP,KAAAsB,CAAAA,CAAAA,CACA,WAAAC,CAAAA,CAAAA,CACA,SAAAC,CAAAA,CAAAA,CACA,QAAAC,CAAAA,CAAAA,CACA,KAAAC,CAAAA,CACF,CAAIL,CAAAA,CAAAA,CAEJ,GAAII,CAAAA,CAAAA,CACF,GAAIH,CAAAA,CAAAA,CACF,GAAIjb,CAAAA,CAAM,SAAcsb,GAAAA,EAAAA,CAAsBF,CAAUpb,CAAAA,CAAAA,CAAM,OAAO,CACnE,CAAA,OAAO,MAEA,CAAA,KAAA,GAAA,CAACub,EAAgBvb,CAAAA,CAAAA,CAAM,QAAUob,CAAAA,CAAQ,CAClD,CAAA,OAAO,MAIX,CAAA,GAAIzB,CAAS,GAAA,KAAA,CAAO,CAClB,IAAM6B,CAAAA,CAAWxb,CAAM,CAAA,QAAA,EAIvB,CAAA,GAHI2Z,CAAS,GAAA,QAAA,EAAY,CAAC6B,CAAAA,EAGtB7B,CAAS,GAAA,UAAA,EAAc6B,CACzB,CAAA,OAAO,MAEX,CAUA,OARI,EAAOH,OAAAA,CAAAA,EAAU,SAAarb,EAAAA,CAAAA,CAAM,OAAQ,EAAA,GAAMqb,CAIlDH,EAAAA,CAAAA,EAAeA,CAAgBlb,GAAAA,CAAAA,CAAM,KAAM,CAAA,WAAA,EAI3Cmb,CAAa,EAAA,CAACA,CAAUnb,CAAAA,CAAK,CAKnC,CAAA,CAEO,SAASyb,EAAAA,CACdT,CACAU,CAAAA,CAAAA,CACS,CACT,GAAM,CAAE,KAAA,CAAAT,CAAO,CAAA,MAAA,CAAAU,EAAQ,SAAAR,CAAAA,CAAAA,CAAW,WAAAS,CAAAA,CAAY,CAAIZ,CAAAA,CAAAA,CAClD,GAAIY,CAAAA,CAAa,CACf,GAAI,CAACF,CAAAA,CAAS,OAAQ,CAAA,WAAA,CACpB,OAAO,MAET,CAAA,GAAIT,CACF,CAAA,CAAA,GAAIY,EAAQH,CAAAA,CAAAA,CAAS,OAAQ,CAAA,WAAW,CAAMG,GAAAA,EAAAA,CAAQD,CAAW,CAAA,CAC/D,OAAO,MAAA,CAAA,KAAA,GAEA,CAACL,EAAgBG,CAAAA,CAAAA,CAAS,OAAQ,CAAA,WAAA,CAAaE,CAAW,CAAA,CACnE,OAAO,MAEX,CAMA,OAJI,EAAAD,CAAAA,EAAUD,CAAS,CAAA,KAAA,CAAM,MAAWC,GAAAA,CAAAA,EAIpCR,CAAa,EAAA,CAACA,CAAUO,CAAAA,CAAQ,CAKtC,CAAA,CAEO,SAASJ,EAAAA,CACdF,CACAU,CAAAA,CAAAA,CACQ,CAER,OAAA,CAAA,CADeA,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAS,cAAkBD,GAAAA,EAAAA,EAC5BT,CAAQ,CACxB,CAMO,SAASS,EAAQT,CAAAA,CAAAA,CAA0C,CAChE,OAAO,IAAK,CAAA,SAAA,CAAUA,CAAU,CAAA,CAACW,EAAGC,CAClCC,GAAAA,EAAAA,CAAcD,CAAG,CAAA,CACb,MAAO,CAAA,IAAA,CAAKA,CAAG,CAAA,CACZ,IAAK,EAAA,CACL,MAAO,CAAA,CAAClT,CAAQ3I,CAAAA,CAAAA,IACf2I,EAAO3I,CAAG,CAAA,CAAI6b,CAAI7b,CAAAA,CAAG,CACd2I,CAAAA,CAAAA,CAAAA,CACN,EAAS,CACdkT,CAAAA,CACN,CACF,CAMO,SAAST,EAAAA,CAAgBW,CAAQC,CAAAA,CAAAA,CAAiB,CACvD,OAAID,CAAMC,GAAAA,CAAAA,CACD,IAGL,CAAA,OAAOD,CAAM,EAAA,OAAOC,CACf,CAAA,KAAA,CAGLD,CAAKC,EAAAA,CAAAA,EAAK,OAAOD,CAAAA,EAAM,UAAY,OAAOC,CAAAA,EAAM,QAC3C,CAAA,MAAA,CAAO,IAAKA,CAAAA,CAAC,CAAE,CAAA,KAAA,CAAOhc,CAAQob,EAAAA,EAAAA,CAAgBW,CAAE/b,CAAAA,CAAG,CAAGgc,CAAAA,CAAAA,CAAEhc,CAAG,CAAC,CAAC,CAG/D,CAAA,KACT,CAQO,SAASic,EAAiBF,CAAAA,CAAAA,CAAQC,CAAa,CAAA,CACpD,GAAID,CAAAA,GAAMC,CACR,CAAA,OAAOD,EAGT,IAAMG,CAAAA,CAAQC,EAAaJ,CAAAA,CAAC,CAAKI,EAAAA,EAAAA,CAAaH,CAAC,CAAA,CAE/C,GAAIE,CAAAA,EAAUJ,EAAcC,CAAAA,CAAC,CAAKD,EAAAA,EAAAA,CAAcE,CAAC,CAAA,CAAI,CACnD,IAAMI,CAASF,CAAAA,CAAAA,CAAQH,CAAI,CAAA,MAAA,CAAO,IAAKA,CAAAA,CAAC,CAClCM,CAAAA,CAAAA,CAAQD,CAAO,CAAA,MAAA,CACfE,CAASJ,CAAAA,CAAAA,CAAQF,EAAI,MAAO,CAAA,IAAA,CAAKA,CAAC,CAAA,CAClCO,CAAQD,CAAAA,CAAAA,CAAO,MACfE,CAAAA,CAAAA,CAAYN,CAAQ,CAAA,EAAK,CAAA,EAE3BO,CAAAA,CAAAA,CAAa,EAEjB,IAAStT,IAAAA,CAAAA,CAAI,CAAGA,CAAAA,CAAAA,CAAIoT,CAAOpT,CAAAA,CAAAA,EAAAA,CAAK,CAC9B,IAAMnJ,CAAMkc,CAAAA,CAAAA,CAAQ/S,CAAImT,CAAAA,CAAAA,CAAOnT,CAAC,CAAA,CAAA,CAE5B,CAAC+S,CAASE,EAAAA,CAAAA,CAAO,QAASpc,CAAAA,CAAG,CAAMkc,EAAAA,CAAAA,GACrCH,CAAE/b,CAAAA,CAAG,CAAM,GAAA,MAAA,EACXgc,CAAEhc,CAAAA,CAAG,CAAM,GAAA,MAAA,EAEXwc,CAAKxc,CAAAA,CAAG,CAAI,CAAA,MAAA,CACZyc,CAEAD,EAAAA,GAAAA,CAAAA,CAAKxc,CAAG,CAAA,CAAIic,EAAiBF,CAAAA,CAAAA,CAAE/b,CAAG,CAAA,CAAGgc,CAAEhc,CAAAA,CAAG,CAAC,CAAA,CACvCwc,EAAKxc,CAAG,CAAA,GAAM+b,CAAE/b,CAAAA,CAAG,CAAK+b,EAAAA,CAAAA,CAAE/b,CAAG,CAAA,GAAM,MACrCyc,EAAAA,CAAAA,EAAAA,EAGN,CAEA,OAAOJ,CAAUE,GAAAA,CAAAA,EAASE,IAAeJ,CAAQN,CAAAA,CAAAA,CAAIS,CACvD,CAEA,OAAOR,CACT,CAKO,SAASU,EACdX,CAAAA,CAAAA,CACAC,CACS,CAAA,CACT,GAAI,CAACA,GAAK,MAAO,CAAA,IAAA,CAAKD,CAAC,CAAA,CAAE,MAAW,GAAA,MAAA,CAAO,IAAKC,CAAAA,CAAC,CAAE,CAAA,MAAA,CACjD,OAAO,MAAA,CAGT,IAAWhc,IAAAA,CAAAA,IAAO+b,CAChB,CAAA,GAAIA,CAAE/b,CAAAA,CAAG,CAAMgc,GAAAA,CAAAA,CAAEhc,CAAG,CAAA,CAClB,OAAO,MAAA,CAIX,OAAO,KACT,CAEO,SAASmc,EAAa3b,CAAAA,CAAAA,CAAgB,CAC3C,OAAO,KAAA,CAAM,OAAQA,CAAAA,CAAK,CAAKA,EAAAA,CAAAA,CAAM,MAAW,GAAA,MAAA,CAAO,IAAKA,CAAAA,CAAK,CAAE,CAAA,MACrE,CAIO,SAASsb,GAAca,CAAqB,CAAA,CACjD,GAAI,CAACC,EAAmBD,CAAAA,CAAC,CACvB,CAAA,OAAO,MAIT,CAAA,IAAME,CAAOF,CAAAA,CAAAA,CAAE,WACf,CAAA,GAAIE,IAAS,MACX,CAAA,OAAO,KAIT,CAAA,IAAMC,CAAOD,CAAAA,CAAAA,CAAK,SAWlB,CAAA,OAVI,EAACD,CAAAA,EAAAA,CAAmBE,CAAI,CAAA,EAKxB,CAACA,CAAAA,CAAK,cAAe,CAAA,eAAe,CAKpC,EAAA,MAAA,CAAO,cAAeH,CAAAA,CAAC,CAAM,GAAA,MAAA,CAAO,SAM1C,CAAA,CAEA,SAASC,EAAAA,CAAmBD,CAAiB,CAAA,CAC3C,OAAO,MAAA,CAAO,UAAU,QAAS,CAAA,IAAA,CAAKA,CAAC,CAAA,GAAM,iBAC/C,CAEO,SAASI,EAAAA,CAAMC,CAAgC,CAAA,CACpD,OAAO,IAAI,OAASC,CAAAA,CAAAA,EAAY,CAC9B,UAAWA,CAAAA,CAAAA,CAASD,CAAO,EAC7B,CAAC,CACH,CAEO,SAASE,EAGdC,CAAAA,CAAAA,CAA6BC,CAAazB,CAAAA,CAAAA,CAA0B,CACpE,GAAI,OAAOA,CAAQ,CAAA,iBAAA,EAAsB,UACvC,CAAA,OAAOA,CAAQ,CAAA,iBAAA,CAAkBwB,CAAUC,CAAAA,CAAI,CACjD,CAAA,GAAWzB,CAAQ,CAAA,iBAAA,GAAsB,KAAO,CAAA,CAC9C,GAAI,OAAA,CAAQ,GAAI,CAAA,QAAA,GAAa,YAC3B,CAAA,GAAI,CACF,OAAOM,EAAiBkB,CAAAA,CAAAA,CAAUC,CAAI,CACxC,CAASC,MAAAA,CAAAA,CAAO,CACd,MAAA,OAAA,CAAQ,MACN,CAA0J1B,uJAAAA,EAAAA,CAAAA,CAAQ,SAAS,CAAA,GAAA,EAAM0B,CAAK,CAAA,CACxL,CAGMA,CAAAA,CACR,CAGF,OAAOpB,EAAiBkB,CAAAA,CAAAA,CAAUC,CAAI,CACxC,CACA,OAAOA,CACT,CAQO,SAASE,EAAYnM,CAAAA,CAAAA,CAAiBoM,CAASC,CAAAA,CAAAA,CAAM,CAAa,CAAA,CACvE,IAAMC,CAAAA,CAAW,CAAC,GAAGtM,EAAOoM,CAAI,CAAA,CAChC,OAAOC,CAAAA,EAAOC,CAAS,CAAA,MAAA,CAASD,CAAMC,CAAAA,CAAAA,CAAS,KAAM,CAAA,CAAC,CAAIA,CAAAA,CAC5D,CAEO,SAASC,EAAcvM,CAAAA,CAAAA,CAAiBoM,CAASC,CAAAA,CAAAA,CAAM,CAAa,CAAA,CACzE,IAAMC,CAAAA,CAAW,CAACF,CAAAA,CAAM,GAAGpM,CAAK,CAChC,CAAA,OAAOqM,CAAOC,EAAAA,CAAAA,CAAS,OAASD,CAAMC,CAAAA,CAAAA,CAAS,KAAM,CAAA,CAAA,CAAG,EAAE,CAAA,CAAIA,CAChE,CAEO,IAAME,EAAAA,CAAY,MAAO,EAAA,CAGzB,SAASC,EAAAA,CAIdjC,EAIAkC,CACwC,CAAA,CAYxC,OAXI,OAAA,CAAQ,GAAI,CAAA,QAAA,GAAa,YACvBlC,EAAAA,CAAAA,CAAQ,OAAYgC,GAAAA,EAAAA,EACtB,OAAQ,CAAA,KAAA,CACN,CAAyGhC,sGAAAA,EAAAA,CAAAA,CAAQ,SAAS,CAC5H,CAAA,CAAA,CAAA,CAOA,CAACA,CAAAA,CAAQ,OAAWkC,GAAAA,CAAAA,EAAA,IAAAA,EAAAA,CAAAA,CAAc,cAC7B,CAAA,CAAA,IAAMA,CAAa,CAAA,cAAA,CAGxB,CAAClC,CAAAA,CAAQ,OAAWA,EAAAA,CAAAA,CAAQ,OAAYgC,GAAAA,EAAAA,CACnC,IACL,OAAA,CAAQ,MAAO,CAAA,IAAI,KAAM,CAAA,CAAA,kBAAA,EAAqBhC,CAAQ,CAAA,SAAS,CAAG,CAAA,CAAA,CAAC,CAGhEA,CAAAA,CAAAA,CAAQ,OACjB,CAEO,SAASmC,EACdC,CAAAA,CAAAA,CACAC,CACS,CAAA,CAET,OAAI,OAAOD,CAAiB,EAAA,UAAA,CACnBA,CAAa,CAAA,GAAGC,CAAM,CAAA,CAGxB,CAAC,CAACD,CACX,CClbaE,IAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,EAANpd,EAAA,CAAA,cAA2BiZ,EAAuB,CAMvD,WAAc,EAAA,CACZ,KAAM,EAAA,CANRoE,CAAA,CAAA,IAAA,CAAAC,IACAD,CAAA,CAAA,IAAA,CAAAE,EAEAF,CAAAA,CAAAA,CAAAA,CAAA,IAAAG,CAAAA,EAAAA,CAAAA,CAIEC,CAAA,CAAA,IAAA,CAAKD,EAAUE,CAAAA,CAAAA,EAAY,CAGzB,GAAI,CAACvE,EAAAA,EAAY,MAAO,CAAA,gBAAA,CAAkB,CACxC,IAAMD,CAAW,CAAA,IAAMwE,CAAQ,EAAA,CAE/B,OAAO,MAAA,CAAA,gBAAA,CAAiB,kBAAoBxE,CAAAA,CAAAA,CAAU,KAAK,CAAA,CAEpD,IAAM,CAEX,OAAO,mBAAoB,CAAA,kBAAA,CAAoBA,CAAQ,EACzD,CACF,CAEF,CACF,EAAA,CAEU,WAAoB,EAAA,CACvByE,CAAA,CAAA,IAAA,CAAKJ,EACR,CAAA,EAAA,IAAA,CAAK,iBAAiBI,CAAA,CAAA,IAAA,CAAKH,EAAM,CAAA,EAErC,CAEU,aAAA,EAAgB,CACnB,IAAA,CAAA,CAAA,IAAA,CAAK,YAAa,EAAA,GAAA,CACrBxd,CAAA2d,CAAAA,CAAAA,CAAA,IAAKJ,CAAAA,EAAAA,CAAAA,GAAL,MAAAvd,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CACAyd,CAAA,CAAA,IAAA,CAAKF,EAAW,CAAA,MAAA,CAAA,EAEpB,CAEA,gBAAA,CAAiBK,CAAsB,CAAA,CAAA,IAAA,CAAA,CACrCH,CAAA,CAAA,IAAA,CAAKD,EAASI,CAAAA,CAAAA,CAAAA,CAAAA,CACd5d,CAAA2d,CAAAA,CAAAA,CAAA,IAAKJ,CAAAA,EAAAA,CAAAA,GAAL,IAAAvd,EAAAA,CAAAA,CAAA,IACAyd,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAA,IAAKF,CAAAA,EAAAA,CAAWK,CAAOC,CAAAA,CAAAA,EAAY,CAC7B,OAAOA,CAAY,EAAA,SAAA,CACrB,KAAK,UAAWA,CAAAA,CAAO,CAEvB,CAAA,IAAA,CAAK,OAAQ,GAEjB,CAAC,CAAA,EACH,CAEA,UAAA,CAAWA,CAAyB,CAAA,CAClBF,CAAA,CAAA,IAAA,CAAKL,MAAaO,CAEhCJ,GAAAA,CAAAA,CAAA,IAAKH,CAAAA,EAAAA,CAAWO,CAChB,CAAA,CAAA,IAAA,CAAK,OAAQ,EAAA,EAEjB,CAEA,OAAA,EAAgB,CACd,IAAMC,CAAY,CAAA,IAAA,CAAK,WACvB,CAAA,IAAA,CAAK,SAAU,CAAA,OAAA,CAAS5E,CAAa,EAAA,CACnCA,CAAS4E,CAAAA,CAAS,EACpB,CAAC,EACH,CAEA,SAAqB,EAAA,CAAA,IAAA,CAAA,CACnB,OAAI,OAAOH,CAAA,CAAA,IAAA,CAAKL,EAAa,CAAA,EAAA,SAAA,CACpBK,CAAA,CAAA,IAAA,CAAKL,EAKPtd,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,UAAW,CAAA,QAAA,GAAX,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAqB,eAAoB,IAAA,QAClD,CACF,CAzEEsd,CAAAA,EAAAA,CAAA,IACAC,OAAAA,CAAAA,EAAAA,CAAA,IAEAC,OAAAA,CAAAA,EAAAA,CAAA,IAJKxd,OAAAA,CAAAA,EAAAA,CAAAA,CA4EM+d,EAAe,CAAA,IAAIX,EC/EnBY,CAAAA,IAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,EAANhe,EAAA,CAAA,cAA4BiZ,EAAuB,CAMxD,WAAA,EAAc,CACZ,KAAA,EANFoE,CAAAA,CAAAA,CAAA,IAAAY,CAAAA,EAAAA,CAAU,IACVZ,CAAAA,CAAAA,CAAAA,CAAA,IAAAE,CAAAA,EAAAA,CAAAA,CAEAF,CAAA,CAAA,IAAA,CAAAG,IAIEC,CAAA,CAAA,IAAA,CAAKD,EAAUU,CAAAA,CAAAA,EAAa,CAG1B,GAAI,CAAC/E,EAAAA,EAAY,MAAO,CAAA,gBAAA,CAAkB,CACxC,IAAMgF,CAAiB,CAAA,IAAMD,CAAS,CAAA,IAAI,CACpCE,CAAAA,CAAAA,CAAkB,IAAMF,CAAAA,CAAS,KAAK,CAAA,CAE5C,OAAO,MAAA,CAAA,gBAAA,CAAiB,QAAUC,CAAAA,CAAAA,CAAgB,KAAK,CAAA,CACvD,MAAO,CAAA,gBAAA,CAAiB,UAAWC,CAAiB,CAAA,KAAK,CAElD,CAAA,IAAM,CAEX,MAAA,CAAO,mBAAoB,CAAA,QAAA,CAAUD,CAAc,CAAA,CACnD,MAAO,CAAA,mBAAA,CAAoB,SAAWC,CAAAA,CAAe,EACvD,CACF,CAGF,CACF,EAAA,CAEU,WAAoB,EAAA,CACvBT,CAAA,CAAA,IAAA,CAAKJ,EACR,CAAA,EAAA,IAAA,CAAK,gBAAiBI,CAAAA,CAAAA,CAAA,IAAKH,CAAAA,EAAAA,CAAM,EAErC,CAEU,aAAA,EAAgB,CACnB,IAAA,CAAA,CAAA,IAAA,CAAK,YAAa,EAAA,GAAA,CACrBxd,CAAA2d,CAAAA,CAAAA,CAAA,IAAKJ,CAAAA,EAAAA,CAAAA,GAAL,IAAAvd,EAAAA,CAAAA,CAAA,IACAyd,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAA,IAAKF,CAAAA,EAAAA,CAAW,MAEpB,CAAA,EAAA,CAEA,gBAAiBK,CAAAA,CAAAA,CAAsB,CACrCH,IAAAA,CAAAA,CAAAA,CAAAA,CAAA,IAAKD,CAAAA,EAAAA,CAASI,CACd5d,CAAAA,CAAAA,CAAAA,CAAAA,CAAA2d,CAAA,CAAA,IAAA,CAAKJ,EAAL,CAAA,GAAA,IAAA,EAAAvd,EAAA,IACAyd,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAA,IAAKF,CAAAA,EAAAA,CAAWK,CAAM,CAAA,IAAA,CAAK,SAAU,CAAA,IAAA,CAAK,IAAI,CAAC,CACjD,EAAA,CAEA,SAAUS,CAAAA,CAAAA,CAAuB,CACfV,CAAA,CAAA,IAAA,CAAKM,EAAYI,CAAAA,GAAAA,CAAAA,GAG/BZ,CAAA,CAAA,IAAA,CAAKQ,EAAUI,CAAAA,CAAAA,CAAAA,CACf,IAAK,CAAA,SAAA,CAAU,OAASnF,CAAAA,CAAAA,EAAa,CACnCA,CAAAA,CAASmF,CAAM,EACjB,CAAC,CAEL,EAAA,CAEA,QAAoB,EAAA,CAClB,OAAOV,CAAAA,CAAA,IAAKM,CAAAA,EAAAA,CACd,CACF,CAAA,CA7DEA,EAAA,CAAA,IAAA,OAAA,CACAV,EAAA,CAAA,IAAA,OAAA,CAEAC,EAAA,CAAA,IAAA,OAAA,CAJKxd,EAgEMse,CAAAA,CAAAA,EAAAA,CAAgB,IAAIN,EAAAA,CC7B1B,SAASO,EAAAA,EAAyC,CACvD,IAAInC,CACAoC,CAAAA,CAAAA,CAEEC,CAAW,CAAA,IAAI,QAAQ,CAACC,CAAAA,CAAUC,CAAY,GAAA,CAClDvC,CAAUsC,CAAAA,CAAAA,CACVF,CAASG,CAAAA,EACX,CAAC,CAAA,CAEDF,CAAS,CAAA,MAAA,CAAS,SAClBA,CAAAA,CAAAA,CAAS,MAAM,IAAM,EAEpB,CAAA,CAED,SAASG,CAAAA,CAASrC,CAA+B,CAAA,CAC/C,MAAO,CAAA,MAAA,CAAOkC,CAAUlC,CAAAA,CAAI,CAG5B,CAAA,OAAQkC,EAAyC,OACjD,CAAA,OAAQA,CAAyC,CAAA,OACnD,CAEA,OAAAA,CAAS,CAAA,OAAA,CAAW9e,CAAU,EAAA,CAC5Bif,CAAS,CAAA,CACP,MAAQ,CAAA,WAAA,CACR,MAAAjf,CACF,CAAC,CAEDyc,CAAAA,CAAAA,CAAQzc,CAAK,EACf,CACA8e,CAAAA,CAAAA,CAAS,MAAUI,CAAAA,CAAAA,EAAW,CAC5BD,CAAAA,CAAS,CACP,MAAA,CAAQ,WACR,MAAAC,CAAAA,CACF,CAAC,CAAA,CAEDL,CAAOK,CAAAA,CAAM,EACf,CAAA,CAEOJ,CACT,CClCA,SAASK,EAAAA,CAAkBC,CAAsB,CAAA,CAC/C,OAAO,IAAK,CAAA,GAAA,CAAI,GAAOC,CAAAA,EAAAA,CAAA,CAAKD,CAAAA,CAAAA,CAAAA,CAAc,GAAK,CACjD,CAEO,SAASE,EAASC,CAAAA,CAAAA,CAA+C,CACtE,OAAA,CAAQA,GAAA,IAAAA,CAAAA,CAAAA,CAAe,QAAc,IAAA,QAAA,CACjCZ,EAAc,CAAA,QAAA,EACd,CAAA,IACN,CAEO,IAAMa,EAAN,CAAA,cAA6B,KAAM,CAGxC,WAAYrE,CAAAA,CAAAA,CAAyB,CACnC,KAAA,CAAM,gBAAgB,CAAA,CACtB,IAAK,CAAA,MAAA,CAASA,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAS,CAAA,MAAA,CACvB,IAAK,CAAA,MAAA,CAASA,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAS,OACzB,CACF,CAEO,CAAA,SAASsE,EAAiBzf,CAAAA,CAAAA,CAAqC,CACpE,OAAOA,CAAiBwf,YAAAA,EAC1B,CAEO,SAASE,EACdzd,CAAAA,CAAAA,CACgB,CAChB,IAAI0d,CAAAA,CAAmB,KACnBP,CAAAA,CAAAA,CAAe,CACfQ,CAAAA,CAAAA,CAAa,KACbC,CAAAA,CAAAA,CAEEf,CAAWF,CAAAA,EAAAA,EAEXkB,CAAAA,CAAAA,CAAUC,CAAwC,EAAA,CAAA,IAAA,CAAA,CACjDH,IACHf,CAAO,CAAA,IAAIW,EAAeO,CAAAA,CAAa,CAAC,CAAA,CAAA,CAExC1f,CAAA4B,CAAAA,CAAAA,CAAO,KAAP,GAAA,IAAA,EAAA5B,CAAA,CAAA,IAAA,CAAA4B,CAEJ,CAAA,EAAA,CAAA,CACM+d,CAAc,CAAA,IAAM,CACxBL,CAAAA,CAAmB,KACrB,CAAA,CAEMM,CAAgB,CAAA,IAAM,CAC1BN,CAAAA,CAAmB,MACrB,CAAA,CAEMO,CAAc,CAAA,IAClB9B,EAAa,CAAA,SAAA,KACZnc,CAAO,CAAA,WAAA,GAAgB,QAAY0c,EAAAA,EAAAA,CAAc,QAAS,EAAA,CAAA,EAC3D1c,CAAO,CAAA,MAAA,EAEHke,CAAAA,CAAAA,CAAW,IAAMb,EAAAA,CAASrd,CAAO,CAAA,WAAW,GAAKA,CAAO,CAAA,MAAA,EAExDwa,CAAAA,CAAAA,CAAWzc,CAAe,EAAA,CAAA,IAAA,CAAA,CACzB4f,CACHA,GAAAA,CAAAA,CAAa,IACbvf,CAAAA,CAAAA,CAAAA,CAAA4B,CAAO,CAAA,SAAA,GAAP,IAAA5B,EAAAA,CAAAA,CAAA,KAAA4B,CAAmBjC,CAAAA,CAAAA,CAAAA,CACnB6f,CAAA,EAAA,IAAA,EAAAA,CACAf,EAAAA,CAAAA,CAAAA,CAAS,OAAQ9e,CAAAA,CAAK,CAE1B,EAAA,CAAA,CAEM6e,CAAU7e,CAAAA,CAAAA,EAAe,CACxB4f,IAAAA,CAAAA,CAAAA,CAAAA,GACHA,CAAa,CAAA,IAAA,CAAA,CACbvf,CAAA4B,CAAAA,CAAAA,CAAO,OAAP,GAAA,IAAA,EAAA5B,CAAA,CAAA,IAAA,CAAA4B,CAAiBjC,CAAAA,CAAAA,CAAAA,CACjB6f,CAAA,EAAA,IAAA,EAAAA,CACAf,EAAAA,CAAAA,CAAAA,CAAS,MAAO9e,CAAAA,CAAK,GAEzB,CAEMogB,CAAAA,CAAAA,CAAQ,IACL,IAAI,OAASC,CAAAA,CAAAA,EAAoB,CACtCR,IAAAA,CAAAA,CAAAA,CAAAA,CAAc7f,CAAU,EAAA,CAAA,CAClB4f,CAAcM,EAAAA,CAAAA,EAChBG,GAAAA,CAAAA,CAAgBrgB,CAAK,EAEzB,CAAA,CAAA,CACAK,CAAA4B,CAAAA,CAAAA,CAAO,OAAP,GAAA,IAAA,EAAA5B,CAAA,CAAA,IAAA,CAAA4B,CACF,EAAA,CAAC,CAAE,CAAA,IAAA,CAAK,IAAM,CAAA,IAAA,CAAA,CACZ4d,EAAa,MACRD,CAAAA,CAAAA,EAAAA,CACHvf,CAAA4B,CAAAA,CAAAA,CAAO,UAAP,GAAA,IAAA,EAAA5B,CAAA,CAAA,IAAA,CAAA4B,CAEJ,EAAA,CAAC,CAIGqe,CAAAA,CAAAA,CAAM,IAAM,CAEhB,GAAIV,CAAAA,CACF,OAGF,IAAIW,CAGEC,CAAAA,CAAAA,CACJpB,CAAiB,GAAA,CAAA,CAAInd,CAAO,CAAA,cAAA,CAAiB,MAG/C,CAAA,GAAI,CACFse,CAAAA,CAAiBC,CAAA,EAAA,IAAA,CAAAA,EAAkBve,CAAO,CAAA,EAAA,GAC5C,CAAA,MAAS4a,CAAO,CAAA,CACd0D,CAAiB,CAAA,OAAA,CAAQ,MAAO1D,CAAAA,CAAK,EACvC,CAEA,OAAQ,CAAA,OAAA,CAAQ0D,CAAc,CAC3B,CAAA,IAAA,CAAK9D,CAAO,CAAA,CACZ,KAAOI,CAAAA,CAAAA,EAAU,CAEhB,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAI+C,CACF,CAAA,OAIF,IAAMa,CAAAA,CAAAA,CAAQpgB,CAAA4B,CAAAA,CAAAA,CAAO,QAAP,IAAA5B,CAAAA,CAAAA,CAAiBmZ,EAAW,CAAA,CAAA,CAAI,CACxCkH,CAAAA,CAAAA,CAAAA,CAAapgB,CAAA2B,CAAAA,CAAAA,CAAO,UAAP,GAAA,IAAA,CAAA3B,CAAqB6e,CAAAA,EAAAA,CAClCnL,CACJ,CAAA,OAAO0M,CAAe,EAAA,UAAA,CAClBA,CAAWtB,CAAAA,CAAAA,CAAcvC,CAAK,CAAA,CAC9B6D,CACAC,CAAAA,CAAAA,CACJF,CAAU,GAAA,IAAA,EACT,OAAOA,CAAAA,EAAU,QAAYrB,EAAAA,CAAAA,CAAeqB,CAC5C,EAAA,OAAOA,GAAU,UAAcA,EAAAA,CAAAA,CAAMrB,CAAcvC,CAAAA,CAAK,CAE3D,CAAA,GAAI8C,CAAoB,EAAA,CAACgB,CAAa,CAAA,CAEpC9B,CAAOhC,CAAAA,CAAK,CACZ,CAAA,MACF,CAEAuC,CAGA7e,EAAAA,CAAAA,CAAAA,CAAAA,CAAA0B,CAAO,CAAA,MAAA,GAAP,IAAA1B,EAAAA,CAAAA,CAAA,IAAA0B,CAAAA,CAAAA,CAAgBmd,CAAcvC,CAAAA,CAAAA,CAAAA,CAG9BN,EAAMvI,CAAAA,CAAK,CAER,CAAA,IAAA,CAAK,IACGkM,CAAY,EAAA,CAAI,MAAYE,CAAAA,CAAAA,EACpC,CAAA,CACA,IAAK,CAAA,IAAM,CACNT,CAAAA,CACFd,CAAOhC,CAAAA,CAAK,CAEZyD,CAAAA,CAAAA,GAEJ,CAAC,EACL,CAAC,EACL,CAAA,CAEA,OAAO,CACL,OAASxB,CAAAA,CAAAA,CACT,MAAAgB,CAAAA,CAAAA,CACA,QAAU,CAAA,KACRD,CAAA,EAAA,IAAA,EAAAA,IACOf,CAET,CAAA,CAAA,WAAA,CAAAkB,CACA,CAAA,aAAA,CAAAC,CACA,CAAA,QAAA,CAAAE,CACA,CAAA,KAAA,CAAO,KAEDA,CAAAA,EACFG,CAAAA,CAAAA,EAEAF,CAAAA,CAAAA,GAAQ,IAAKE,CAAAA,CAAG,CAEXxB,CAAAA,CAAAA,CAEX,CACF,CCpNO,IAAM8B,EAAAA,CAAsCC,CAAO,EAAA,UAAA,CAAWA,CAAI,CAAA,CAAC,CAEnE,CAAA,SAASC,IAAsB,CACpC,IAAIC,CAA+B,CAAA,EAC/BC,CAAAA,CAAAA,CAAe,CACfC,CAAAA,CAAAA,CAA4B5K,CAAa,EAAA,CAC3CA,CAAS,GACX,CACI6K,CAAAA,CAAAA,CAAsC7K,CAAyB,EAAA,CACjEA,CAAS,GACX,CACI8K,CAAAA,CAAAA,CAAaP,EAEXQ,CAAAA,CAAAA,CAAY/K,CAAmC,EAAA,CAC/C2K,CACFD,CAAAA,CAAAA,CAAM,IAAK1K,CAAAA,CAAQ,CAEnB8K,CAAAA,CAAAA,CAAW,IAAM,CACfF,CAAAA,CAAS5K,CAAQ,EACnB,CAAC,EAEL,CACMgL,CAAAA,CAAAA,CAAQ,IAAY,CACxB,IAAMC,CAAAA,CAAgBP,CACtBA,CAAAA,CAAAA,CAAQ,EACJO,CAAAA,CAAAA,CAAc,MAChBH,EAAAA,CAAAA,CAAW,IAAM,CACfD,CAAc,CAAA,IAAM,CAClBI,CAAAA,CAAc,OAASjL,CAAAA,CAAAA,EAAa,CAClC4K,CAAAA,CAAS5K,CAAQ,EACnB,CAAC,EACH,CAAC,EACH,CAAC,EAEL,CAAA,CAEA,OAAO,CACL,KAAWA,CAAAA,CAAAA,EAAyB,CAClC,IAAIlO,CACJ6Y,CAAAA,CAAAA,EAAAA,CACA,GAAI,CACF7Y,CAASkO,CAAAA,CAAAA,GACX,CAAA,OAAA,CACE2K,CAAAA,EAAAA,CACKA,CACHK,EAAAA,CAAAA,GAEJ,CACA,OAAOlZ,CACT,EAIA,UACEkO,CAAAA,CAAAA,EAEO,CAAIkL,GAAAA,CAAAA,GAAS,CAClBH,CAAAA,CAAS,IAAM,CACb/K,CAAS,CAAA,GAAGkL,CAAI,EAClB,CAAC,EACH,EAEF,QAAAH,CAAAA,CAAAA,CAKA,iBAAoBI,CAAAA,CAAAA,EAAuB,CACzCP,CAAAA,CAAWO,EACb,CAAA,CAKA,sBAAyBA,CAAAA,CAAAA,EAA4B,CACnDN,CAAAA,CAAgBM,EAClB,CAAA,CACA,aAAeA,CAAyB,EAAA,CACtCL,CAAaK,CAAAA,EACf,CACF,CACF,CAGO,IAAMC,CAAgBX,CAAAA,EAAAA,EC9FPY,CAAAA,IAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,EAAfrhB,EAAA,CAAA,KAAyB,CAAzB,WAAA,EAAA,CAELqd,CAAA,CAAA,IAAA,CAAAiE,EAEA,EAAA,CAAA,OAAA,EAAgB,CACd,IAAA,CAAK,cAAe,GACtB,CAEU,UAAA,EAAmB,CAC3B,IAAA,CAAK,cAAe,EAAA,CAEhB9H,GAAe,IAAK,CAAA,MAAM,CAC5BiE,EAAAA,CAAAA,CAAA,IAAK6D,CAAAA,EAAAA,CAAa,UAAW,CAAA,IAAM,CACjC,IAAA,CAAK,cAAe,GACtB,CAAG,CAAA,IAAA,CAAK,MAAM,CAElB,EAAA,CAEU,YAAaC,CAAAA,CAAAA,CAAqC,CAE1D,IAAA,CAAK,MAAS,CAAA,IAAA,CAAK,GACjB,CAAA,IAAA,CAAK,MAAU,EAAA,CAAA,CACfA,CAAA,EAAA,IAAA,CAAAA,EAAcpI,EAAW,CAAA,CAAA,CAAA,CAAA,CAAW,CAAI,CAAA,EAAA,CAAK,GAC/C,EACF,CAEU,cAAA,EAAiB,CACrBwE,CAAAA,CAAA,IAAK2D,CAAAA,EAAAA,CAAAA,GACP,YAAa3D,CAAAA,CAAAA,CAAA,IAAK2D,CAAAA,EAAAA,CAAU,CAC5B7D,CAAAA,CAAAA,CAAA,IAAK6D,CAAAA,EAAAA,CAAa,MAEtB,CAAA,EAAA,CAGF,CAhCEA,CAAAA,EAAAA,CAAA,IAFKthB,OAAAA,CAAAA,EAAAA,CAAAA,CAAAA,IAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CC2JMwhB,EAANxhB,EAAAA,EAAAA,CAAA,cAKGqhB,EAAU,CAelB,WAAYzf,CAAAA,CAAAA,CAA6D,CACvE,IAAA,CAAA,CAAA,KAAA,EArBGyb,CAAAA,CAAAA,CAAA,IAAAoE,CAAAA,EAAAA,CAAAA,CAWLpE,CAAA,CAAA,IAAA,CAAAqE,EACArE,CAAAA,CAAAA,CAAAA,CAAA,IAAAsE,CAAAA,EAAAA,CAAAA,CACAtE,EAAA,IAAAuE,CAAAA,EAAAA,CAAAA,CACAvE,CAAA,CAAA,IAAA,CAAAwE,EACAxE,CAAAA,CAAAA,CAAAA,CAAA,IAAAyE,CAAAA,EAAAA,CAAAA,CAEAzE,CAAA,CAAA,IAAA,CAAA0E,EACA1E,CAAAA,CAAAA,CAAAA,CAAA,IAAA2E,CAAAA,EAAAA,CAAAA,CAKEvE,EAAA,IAAKuE,CAAAA,EAAAA,CAAuB,KAC5BvE,CAAAA,CAAAA,CAAAA,CAAA,IAAKsE,CAAAA,EAAAA,CAAkBngB,CAAO,CAAA,cAAA,CAAA,CAC9B,IAAK,CAAA,UAAA,CAAWA,CAAO,CAAA,OAAO,CAC9B,CAAA,IAAA,CAAK,SAAY,CAAA,EACjB6b,CAAAA,CAAAA,CAAA,IAAKoE,CAAAA,EAAAA,CAAUjgB,CAAO,CAAA,MAAA,CAAA,CACtB6b,CAAA,CAAA,IAAA,CAAKmE,EAASjE,CAAAA,CAAAA,CAAA,IAAKkE,CAAAA,EAAAA,CAAAA,CAAQ,aAAc,EAAA,CAAA,CACzC,KAAK,QAAWjgB,CAAAA,CAAAA,CAAO,QACvB,CAAA,IAAA,CAAK,SAAYA,CAAAA,CAAAA,CAAO,SACxB6b,CAAAA,CAAAA,CAAA,IAAKiE,CAAAA,EAAAA,CAAgBO,EAAgB,CAAA,IAAA,CAAK,OAAO,CAAA,CAAA,CACjD,KAAK,KAAQjiB,CAAAA,CAAAA,CAAAA,CAAA4B,CAAO,CAAA,KAAA,GAAP,IAAA5B,CAAAA,CAAAA,CAAgB2d,CAAA,CAAA,IAAA,CAAK+D,EAClC,CAAA,CAAA,IAAA,CAAK,UAAW,GAClB,CACA,IAAI,MAA8B,CAChC,OAAO,IAAK,CAAA,OAAA,CAAQ,IACtB,CAEA,IAAI,OAAA,EAAsC,CACxC,IAAA,CAAA,CAAA,OAAA,CAAO1hB,CAAA2d,CAAAA,CAAAA,CAAA,IAAKmE,CAAAA,EAAAA,CAAAA,GAAL,IAAA9hB,CAAAA,MAAAA,CAAAA,CAAAA,CAAe,OACxB,CAEA,UACE8a,CAAAA,CAAAA,CACM,CACN,IAAA,CAAK,OAAUjb,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,EAAK8d,CAAAA,CAAAA,CAAA,IAAKoE,CAAAA,EAAAA,CAAAA,CAAAA,CAAoBjH,CAE7C,CAAA,CAAA,IAAA,CAAK,aAAa,IAAK,CAAA,OAAA,CAAQ,MAAM,EACvC,CAEU,cAAA,EAAiB,CACrB,CAAC,IAAK,CAAA,SAAA,CAAU,MAAU,EAAA,IAAA,CAAK,KAAM,CAAA,WAAA,GAAgB,QACvD6C,CAAA,CAAA,IAAA,CAAKiE,EAAO,CAAA,CAAA,MAAA,CAAO,IAAI,EAE3B,CAEA,OAAA,CACEM,CACApH,CAAAA,CAAAA,CACO,CACP,IAAMyB,CAAOF,CAAAA,EAAAA,CAAY,KAAK,KAAM,CAAA,IAAA,CAAM6F,CAAS,CAAA,IAAA,CAAK,OAAO,CAAA,CAG/D,OAAAC,CAAAA,CAAA,IAAKV,CAAAA,EAAAA,CAAAW,EAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAe,CACb,IAAA,CAAA7F,CACA,CAAA,IAAA,CAAM,SACN,CAAA,aAAA,CAAezB,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAS,CAAA,SAAA,CACxB,MAAQA,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAS,MACnB,CAAA,CAAA,CAEOyB,CACT,CAEA,SACE8F,CACAC,CAAAA,CAAAA,CACM,CACNH,CAAAA,CAAA,IAAKV,CAAAA,EAAAA,CAAAW,EAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAe,CAAE,IAAA,CAAM,UAAY,CAAA,KAAA,CAAAC,CAAO,CAAA,eAAA,CAAAC,CAAgB,CAC5D,EAAA,CAEA,MAAOxH,CAAAA,CAAAA,CAAwC,CAC7C,IAAA,CAAA,CAAA,CAAA,CAAA,IAAMyH,CAAUviB,CAAAA,CAAAA,CAAAA,CAAA2d,CAAA,CAAA,IAAA,CAAKmE,EAAL,CAAA,GAAA,IAAA,CAAA,MAAA,CAAA9hB,CAAe,CAAA,OAAA,CAC/B,QAAAC,CAAA0d,CAAAA,CAAAA,CAAA,IAAKmE,CAAAA,EAAAA,CAAAA,GAAL,IAAA7hB,EAAAA,CAAAA,CAAe,MAAO6a,CAAAA,CAAAA,CAAAA,CACfyH,CAAUA,CAAAA,CAAAA,CAAQ,IAAKnJ,CAAAA,CAAI,CAAE,CAAA,KAAA,CAAMA,CAAI,CAAA,CAAI,OAAQ,CAAA,OAAA,EAC5D,CAEA,OAAgB,EAAA,CACd,KAAM,CAAA,OAAA,EAEN,CAAA,IAAA,CAAK,MAAO,CAAA,CAAE,MAAQ,CAAA,IAAK,CAAC,EAC9B,CAEA,KAAc,EAAA,CACZ,IAAK,CAAA,OAAA,EACL,CAAA,IAAA,CAAK,QAASuE,CAAAA,CAAAA,CAAA,IAAK+D,CAAAA,EAAAA,CAAa,EAClC,CAEA,UAAoB,CAClB,OAAO,IAAK,CAAA,SAAA,CAAU,IACnBc,CAAAA,CAAAA,EAAa3I,EAAe2I,CAAAA,CAAAA,CAAS,OAAQ,CAAA,OAAA,CAAS,IAAI,CAAA,GAAM,KACnE,CACF,CAEA,UAAsB,EAAA,CACpB,OAAI,IAAA,CAAK,iBAAkB,EAAA,CAAI,CACtB,CAAA,CAAC,IAAK,CAAA,QAAA,EAIb,CAAA,IAAA,CAAK,OAAQ,CAAA,OAAA,GAAY1F,EACzB,EAAA,IAAA,CAAK,KAAM,CAAA,eAAA,CAAkB,IAAK,CAAA,KAAA,CAAM,gBAAqB,GAAA,CAEjE,CAEA,OAAA,EAAmB,CACjB,OAAI,IAAK,CAAA,KAAA,CAAM,aACN,CAAA,IAAA,CAGL,KAAK,iBAAkB,EAAA,CAAI,CACtB,CAAA,IAAA,CAAK,SAAU,CAAA,IAAA,CACnB0F,CAAaA,EAAAA,CAAAA,CAAS,gBAAiB,EAAA,CAAE,OAC5C,CAAA,CAGK,IAAK,CAAA,KAAA,CAAM,OAAS,MAC7B,CAEA,aAAc7I,CAAAA,CAAAA,CAAY,CAAY,CAAA,CACpC,OACE,IAAA,CAAK,KAAM,CAAA,aAAA,EACX,IAAK,CAAA,KAAA,CAAM,IAAS,GAAA,MAAA,EACpB,CAACF,EAAe,CAAA,IAAA,CAAK,KAAM,CAAA,aAAA,CAAeE,CAAS,CAEvD,CAEA,OAAA,EAAgB,CACd,IAAA,CAAA,CAAA,IAAM6I,CAAW,CAAA,IAAA,CAAK,SAAU,CAAA,IAAA,CAAMC,CAAMA,EAAAA,CAAAA,CAAE,wBAAyB,EAAC,CAExED,CAAAA,CAAAA,EAAA,IAAAA,EAAAA,CAAAA,CAAU,OAAQ,CAAA,CAAE,aAAe,CAAA,KAAM,CAGzCxiB,CAAAA,CAAAA,CAAAA,CAAAA,CAAA2d,CAAA,CAAA,IAAA,CAAKmE,MAAL,IAAA9hB,EAAAA,CAAAA,CAAe,QACjB,GAAA,CAEA,QAAiB,EAAA,CAAA,IAAA,CAAA,CACf,IAAMwiB,CAAAA,CAAW,IAAK,CAAA,SAAA,CAAU,IAAMC,CAAAA,CAAAA,EAAMA,CAAE,CAAA,sBAAA,EAAwB,CAEtED,CAAAA,CAAAA,EAAA,IAAAA,EAAAA,CAAAA,CAAU,OAAQ,CAAA,CAAE,aAAe,CAAA,KAAM,CAGzCxiB,CAAAA,CAAAA,CAAAA,CAAAA,CAAA2d,CAAA,CAAA,IAAA,CAAKmE,EAAL,CAAA,GAAA,IAAA,EAAA9hB,EAAe,QACjB,GAAA,CAEA,WAAYwiB,CAAAA,CAAAA,CAAwD,CAC7D,IAAA,CAAK,SAAU,CAAA,QAAA,CAASA,CAAQ,CAAA,GACnC,IAAK,CAAA,SAAA,CAAU,IAAKA,CAAAA,CAAQ,CAG5B,CAAA,IAAA,CAAK,cAAe,EAAA,CAEpB7E,CAAA,CAAA,IAAA,CAAKiE,EAAO,CAAA,CAAA,MAAA,CAAO,CAAE,IAAA,CAAM,eAAiB,CAAA,KAAA,CAAO,IAAM,CAAA,QAAA,CAAAY,CAAS,CAAC,GAEvE,CAEA,cAAA,CAAeA,CAAwD,CAAA,CACjE,IAAK,CAAA,SAAA,CAAU,QAASA,CAAAA,CAAQ,CAClC,GAAA,IAAA,CAAK,SAAY,CAAA,IAAA,CAAK,SAAU,CAAA,MAAA,CAAQC,GAAMA,CAAMD,GAAAA,CAAQ,CAEvD,CAAA,IAAA,CAAK,SAAU,CAAA,MAAA,GAGd7E,CAAA,CAAA,IAAA,CAAKmE,EACHnE,CAAAA,GAAAA,CAAAA,CAAA,IAAKqE,CAAAA,EAAAA,CAAAA,CACPrE,CAAA,CAAA,IAAA,CAAKmE,IAAS,MAAO,CAAA,CAAE,MAAQ,CAAA,IAAK,CAAC,CAAA,CAErCnE,CAAA,CAAA,IAAA,CAAKmE,EAAS,CAAA,CAAA,WAAA,EAIlB,CAAA,CAAA,IAAA,CAAK,UAAW,EAAA,CAAA,CAGlBnE,CAAA,CAAA,IAAA,CAAKiE,EAAO,CAAA,CAAA,MAAA,CAAO,CAAE,IAAA,CAAM,iBAAmB,CAAA,KAAA,CAAO,IAAM,CAAA,QAAA,CAAAY,CAAS,CAAC,CAEzE,EAAA,CAEA,iBAA4B,EAAA,CAC1B,OAAO,IAAK,CAAA,SAAA,CAAU,MACxB,CAEA,UAAmB,EAAA,CACZ,IAAK,CAAA,KAAA,CAAM,aACdL,EAAAA,CAAAA,CAAA,IAAKV,CAAAA,EAAAA,CAAAW,EAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAe,CAAE,IAAM,CAAA,YAAa,CAExC,EAAA,CAEA,KACEtH,CAAAA,CAAAA,CACAkC,CACgB,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAChB,GAAI,IAAA,CAAK,KAAM,CAAA,WAAA,GAAgB,MAC7B,CAAA,CAAA,GAAI,KAAK,KAAM,CAAA,IAAA,GAAS,MAAaA,GAAAA,CAAAA,EAAA,IAAAA,EAAAA,CAAAA,CAAc,aAEjD,CAAA,CAAA,IAAA,CAAK,MAAO,CAAA,CAAE,MAAQ,CAAA,IAAK,CAAC,CAAA,CAAA,KAAA,GACnBW,CAAA,CAAA,IAAA,CAAKmE,EAEd,CAAA,CAAA,OAAAnE,CAAA,CAAA,IAAA,CAAKmE,EAAS,CAAA,CAAA,aAAA,EAEPnE,CAAAA,CAAAA,CAAA,IAAKmE,CAAAA,EAAAA,CAAAA,CAAS,OAWzB,CAAA,GANIhH,CACF,EAAA,IAAA,CAAK,WAAWA,CAAO,CAAA,CAKrB,CAAC,IAAA,CAAK,OAAQ,CAAA,OAAA,CAAS,CACzB,IAAM0H,CAAW,CAAA,IAAA,CAAK,SAAU,CAAA,IAAA,CAAMC,CAAMA,EAAAA,CAAAA,CAAE,QAAQ,OAAO,CAAA,CACzDD,CACF,EAAA,IAAA,CAAK,UAAWA,CAAAA,CAAAA,CAAS,OAAO,EAEpC,CAEI,OAAA,CAAQ,GAAI,CAAA,QAAA,GAAa,YACtB,GAAA,KAAA,CAAM,QAAQ,IAAK,CAAA,OAAA,CAAQ,QAAQ,CAAA,EACtC,OAAQ,CAAA,KAAA,CACN,qIACF,CAAA,CAAA,CAIJ,IAAME,CAAAA,CAAkB,IAAI,eAAA,CAKtBC,CAAqB3T,CAAAA,CAAAA,EAAoB,CAC7C,MAAA,CAAO,cAAeA,CAAAA,CAAAA,CAAQ,QAAU,CAAA,CACtC,UAAY,CAAA,IAAA,CACZ,GAAK,CAAA,KACHyO,CAAA,CAAA,IAAA,CAAKuE,EAAuB,CAAA,IAAA,CAAA,CACrBU,CAAgB,CAAA,MAAA,CAE3B,CAAC,EACH,CAAA,CAGME,CAAU,CAAA,IAAM,CACpB,IAAMC,CAAU9F,CAAAA,EAAAA,CAAc,IAAK,CAAA,OAAA,CAASC,CAAY,CAAA,CAGlD8F,CAGF,CAAA,CACF,OAAQnF,CAAA,CAAA,IAAA,CAAKkE,EACb,CAAA,CAAA,QAAA,CAAU,IAAK,CAAA,QAAA,CACf,IAAM,CAAA,IAAA,CAAK,IACb,CAAA,CAKA,OAHAc,CAAAA,CAAkBG,CAAc,CAAA,CAEhCrF,EAAA,IAAKuE,CAAAA,EAAAA,CAAuB,KACxB,CAAA,CAAA,IAAA,CAAK,OAAQ,CAAA,SAAA,CACR,IAAK,CAAA,OAAA,CAAQ,SAClBa,CAAAA,CAAAA,CACAC,CACA,CAAA,IACF,CAGKD,CAAAA,CAAAA,CAAQC,CAAiD,CAClE,CAGMC,CAAAA,CAAAA,CAGF,CACF,YAAA,CAAA/F,CACA,CAAA,OAAA,CAAS,IAAK,CAAA,OAAA,CACd,QAAU,CAAA,IAAA,CAAK,QACf,CAAA,MAAA,CAAQW,CAAA,CAAA,IAAA,CAAKkE,IACb,KAAO,CAAA,IAAA,CAAK,KACZ,CAAA,OAAA,CAAAe,CACF,CAAA,CAEAD,CAAkBI,CAAAA,CAAO,CAEzB/iB,CAAAA,CAAAA,CAAAA,CAAA,IAAK,CAAA,OAAA,CAAQ,QAAb,GAAA,IAAA,EAAAA,EAAuB,OACrB+iB,CAAAA,CAAAA,CACA,IAIFtF,CAAAA,CAAAA,CAAAA,CAAA,IAAKkE,CAAAA,EAAAA,CAAe,IAAK,CAAA,KAAA,CAAA,CAAA,CAIvB,IAAK,CAAA,KAAA,CAAM,WAAgB,GAAA,MAAA,EAC3B,IAAK,CAAA,KAAA,CAAM,cAAc1hB,CAAA8iB,CAAAA,CAAAA,CAAQ,YAAR,GAAA,IAAA,CAAA,MAAA,CAAA9iB,CAAsB,CAAA,IAAA,CAAA,GAE/CkiB,CAAA,CAAA,IAAA,CAAKV,EAAAW,CAAAA,EAAAA,CAAAA,CAAL,IAAe,CAAA,IAAA,CAAA,CAAE,IAAM,CAAA,OAAA,CAAS,IAAMliB,CAAAA,CAAAA,CAAAA,CAAA6iB,CAAQ,CAAA,YAAA,GAAR,IAAA7iB,CAAAA,MAAAA,CAAAA,CAAAA,CAAsB,IAAK,CAAA,CAAA,CAGnE,IAAM8iB,CAAAA,CAAWxG,CAAyC,EAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAElD4C,EAAiB5C,CAAAA,CAAK,CAAKA,EAAAA,CAAAA,CAAM,QACrC2F,CAAA,CAAA,IAAA,CAAKV,EAAAW,CAAAA,EAAAA,CAAAA,CAAL,IAAe,CAAA,IAAA,CAAA,CACb,IAAM,CAAA,OAAA,CACN,KAAA5F,CAAAA,CACF,CAGG4C,CAAAA,CAAAA,EAAAA,CAAiB5C,CAAK,CAAA,GAAA,CAEzBvc,GAAAD,CAAA2d,CAAAA,CAAAA,CAAA,IAAKiE,CAAAA,EAAAA,CAAAA,CAAO,MAAO,EAAA,OAAA,GAAnB,IAAA3hB,EAAAA,CAAAA,CAAA,IAAAD,CAAAA,CAAAA,CACEwc,CACA,CAAA,IAAA,CAAA,CAAA,CAEFrc,CAAAD,CAAAA,CAAAA,CAAAA,CAAAyd,EAAA,IAAKiE,CAAAA,EAAAA,CAAAA,CAAO,MAAO,EAAA,SAAA,GAAnB,IAAAzhB,EAAAA,CAAAA,CAAA,IAAAD,CAAAA,CAAAA,CACE,IAAK,CAAA,KAAA,CAAM,IACXsc,CAAAA,CAAAA,CACA,IAKJ,CAAA,CAAA,CAAA,IAAA,CAAK,UAAW,GAClB,CAGA,CAAA,OAAAiB,CAAA,CAAA,IAAA,CAAKqE,EAAWzC,CAAAA,EAAAA,CAAc,CAC5B,cAAA,CAAgBrC,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAc,CAAA,cAAA,CAG9B,EAAI+F,CAAAA,CAAAA,CAAQ,QACZ,KAAOL,CAAAA,CAAAA,CAAgB,KAAM,CAAA,IAAA,CAAKA,CAAe,CAAA,CACjD,SAAYnG,CAAAA,CAAAA,EAAS,CACnB,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAIA,CAAS,GAAA,MAAA,CAAW,CAClB,OAAA,CAAQ,IAAI,QAAa,GAAA,YAAA,EAC3B,OAAQ,CAAA,KAAA,CACN,CAAyI,sIAAA,EAAA,IAAA,CAAK,SAAS,CAAA,CACzJ,CAEFyG,CAAAA,CAAAA,CAAQ,IAAI,KAAA,CAAM,CAAG,EAAA,IAAA,CAAK,SAAS,CAAoB,kBAAA,CAAA,CAAQ,CAC/D,CAAA,MACF,CAEA,GAAI,CACF,IAAA,CAAK,OAAQzG,CAAAA,CAAI,EACnB,CAAA,MAASC,CAAO,CAAA,CACdwG,CAAQxG,CAAAA,CAAe,CACvB,CAAA,MACF,CAGAvc,CAAAA,CAAAA,CAAAA,CAAAD,CAAA2d,CAAAA,CAAAA,CAAA,IAAKiE,CAAAA,EAAAA,CAAAA,CAAO,MAAO,EAAA,SAAA,GAAnB,IAAA3hB,EAAAA,CAAAA,CAAA,IAAAD,CAAAA,CAAAA,CAA+Buc,EAAM,IACrCpc,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAD,CAAAyd,CAAAA,CAAAA,CAAA,IAAKiE,CAAAA,EAAAA,CAAAA,CAAO,MAAO,EAAA,SAAA,GAAnB,IAAAzhB,EAAAA,CAAAA,CAAA,IAAAD,CAAAA,CAAAA,CACEqc,CACA,CAAA,IAAA,CAAK,MAAM,KACX,CAAA,IAAA,CAAA,CAIF,IAAK,CAAA,UAAA,GACP,CAAA,CACA,OAAAyG,CAAAA,CAAAA,CACA,MAAQ,CAAA,CAACjE,CAAcvC,CAAAA,CAAAA,GAAU,CAC/B2F,CAAAA,CAAA,KAAKV,EAAAW,CAAAA,EAAAA,CAAAA,CAAL,IAAe,CAAA,IAAA,CAAA,CAAE,IAAM,CAAA,QAAA,CAAU,YAAArD,CAAAA,CAAAA,CAAc,KAAAvC,CAAAA,CAAM,CACvD,EAAA,CAAA,CACA,OAAS,CAAA,IAAM,CACb2F,CAAAA,CAAA,IAAKV,CAAAA,EAAAA,CAAAW,EAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAe,CAAE,IAAA,CAAM,OAAQ,CAAA,EACjC,CACA,CAAA,UAAA,CAAY,IAAM,CAChBD,CAAA,CAAA,IAAA,CAAKV,GAAAW,EAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAe,CAAE,IAAA,CAAM,UAAW,CAAA,EACpC,CACA,CAAA,KAAA,CAAOW,CAAQ,CAAA,OAAA,CAAQ,KACvB,CAAA,UAAA,CAAYA,CAAQ,CAAA,OAAA,CAAQ,WAC5B,WAAaA,CAAAA,CAAAA,CAAQ,OAAQ,CAAA,WAAA,CAC7B,MAAQ,CAAA,IAAM,IAChB,CAAC,CAEMpF,CAAAA,CAAAA,CAAAA,CAAA,IAAKmE,CAAAA,EAAAA,CAAAA,CAAS,KAAM,EAC7B,CAoFF,CA9cEJ,CAAAA,EAAAA,CAAA,IACAC,OAAAA,CAAAA,EAAAA,CAAA,IACAC,OAAAA,CAAAA,EAAAA,CAAA,IACAC,OAAAA,CAAAA,EAAAA,CAAA,IACAC,OAAAA,CAAAA,EAAAA,CAAA,IAEAC,OAAAA,CAAAA,EAAAA,CAAA,IACAC,OAAAA,CAAAA,EAAAA,CAAA,IAlBKP,OAAAA,CAAAA,EAAAA,CAAA,IAuYLW,OAAAA,CAAAA,EAAAA,CAAA,SAAUa,CAAAA,CAAqC,CAC7C,IAAMC,CACJb,CAAAA,CAAAA,EAC8B,CAC9B,IAAA,CAAA,CAAA,CAAA,CAAA,OAAQY,CAAO,CAAA,IAAA,EACb,KAAK,SACH,OAAOrjB,CAAAA,CAAAC,CAAA,CAAA,EAAA,CACFwiB,CADE,CAAA,CAAA,CAEL,iBAAmBY,CAAAA,CAAAA,CAAO,YAC1B,CAAA,kBAAA,CAAoBA,CAAO,CAAA,KAC7B,CACF,CAAA,CAAA,KAAK,QACH,OAAOrjB,CAAAA,CAAAC,CAAA,CAAA,EAAA,CACFwiB,CADE,CAAA,CAAA,CAEL,WAAa,CAAA,QACf,CACF,CAAA,CAAA,KAAK,UACH,CAAA,OAAOziB,CAAAC,CAAAA,CAAAA,CAAA,GACFwiB,CADE,CAAA,CAAA,CAEL,WAAa,CAAA,UACf,CACF,CAAA,CAAA,KAAK,OACH,CAAA,OAAOziB,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,EACFwiB,CAAAA,CAAAA,CAAAA,CACAc,EAAWd,CAAAA,CAAAA,CAAM,IAAM,CAAA,IAAA,CAAK,OAAO,CAAA,CAAA,CAFjC,CAGL,SAAA,CAAA,CAAWriB,CAAAijB,CAAAA,CAAAA,CAAO,IAAP,GAAA,IAAA,CAAAjjB,CAAe,CAAA,IAC5B,CACF,CAAA,CAAA,KAAK,SACH,CAAA,OAAOH,EAAAD,CAAAC,CAAAA,CAAAA,CAAA,EACFwiB,CAAAA,CAAAA,CAAAA,CADE,CAEL,IAAA,CAAMY,CAAO,CAAA,IAAA,CACb,eAAiBZ,CAAAA,CAAAA,CAAM,eAAkB,CAAA,CAAA,CACzC,aAAepiB,CAAAA,CAAAA,CAAAA,CAAAgjB,EAAO,aAAP,GAAA,IAAA,CAAAhjB,CAAwB,CAAA,IAAA,CAAK,GAAI,EAAA,CAChD,KAAO,CAAA,IAAA,CACP,aAAe,CAAA,KAAA,CACf,MAAQ,CAAA,SAAA,CAAA,CAAA,CACJ,CAACgjB,CAAAA,CAAO,QAAU,CACpB,WAAA,CAAa,MACb,CAAA,iBAAA,CAAmB,CACnB,CAAA,kBAAA,CAAoB,IACtB,CAAA,CAAA,CAEJ,KAAK,OAAA,CACH,IAAMzG,CAAAA,CAAQyG,CAAO,CAAA,KAAA,CAErB,OAAI7D,EAAAA,CAAiB5C,CAAK,CAAA,EAAKA,CAAM,CAAA,MAAA,EAAUmB,CAAA,CAAA,IAAA,CAAKgE,EAC3C/hB,CAAAA,CAAAA,CAAAA,CAAAC,CAAA,CAAA,EAAA,CAAK8d,CAAA,CAAA,IAAA,CAAKgE,EAAV,CAAA,CAAA,CAAA,CAAwB,YAAa,MAAO,CAAA,CAAA,CAG9C/hB,CAAAC,CAAAA,CAAAA,CAAA,EACFwiB,CAAAA,CAAAA,CAAAA,CADE,CAEL,KAAA,CAAA7F,CACA,CAAA,gBAAA,CAAkB6F,CAAM,CAAA,gBAAA,CAAmB,CAC3C,CAAA,cAAA,CAAgB,KAAK,GAAI,EAAA,CACzB,iBAAmBA,CAAAA,CAAAA,CAAM,iBAAoB,CAAA,CAAA,CAC7C,kBAAoB7F,CAAAA,CAAAA,CACpB,WAAa,CAAA,MAAA,CACb,MAAQ,CAAA,OACV,CACF,CAAA,CAAA,KAAK,aACH,OAAO5c,CAAAA,CAAAC,CAAA,CAAA,EAAA,CACFwiB,CADE,CAAA,CAAA,CAEL,aAAe,CAAA,IACjB,CACF,CAAA,CAAA,KAAK,UACH,CAAA,OAAOxiB,CAAA,CAAA,CAAA,CAAA,EAAA,CACFwiB,CACAY,CAAAA,CAAAA,CAAAA,CAAO,KAEhB,CAAA,CACF,CAEA,CAAA,IAAA,CAAK,KAAQC,CAAAA,CAAAA,CAAQ,IAAK,CAAA,KAAK,CAE/B9B,CAAAA,CAAAA,CAAc,KAAM,CAAA,IAAM,CACxB,IAAA,CAAK,UAAU,OAASoB,CAAAA,CAAAA,EAAa,CACnCA,CAAAA,CAAS,aAAc,GACzB,CAAC,CAAA,CAED7E,CAAA,CAAA,IAAA,CAAKiE,EAAO,CAAA,CAAA,MAAA,CAAO,CAAE,KAAA,CAAO,KAAM,IAAM,CAAA,SAAA,CAAW,MAAAqB,CAAAA,CAAO,CAAC,EAC7D,CAAC,EACH,CAxdKjjB,CAAAA,EAAAA,CAAAA,CA2dA,SAASmjB,EAAAA,CAMd5G,CACAzB,CAAAA,CAAAA,CACA,CACA,OAAOjb,CAAAA,CAAA,CACL,iBAAA,CAAmB,CACnB,CAAA,kBAAA,CAAoB,IACpB,CAAA,WAAA,CAAaof,EAASnE,CAAAA,CAAAA,CAAQ,WAAW,CAAA,CAAI,UAAa,CAAA,QAAA,CAAA,CACtDyB,CAAS,GAAA,MAAA,EACV,CACC,KAAA,CAAO,IACP,CAAA,MAAA,CAAQ,SACV,CAAA,CAEN,CAEA,SAAS0F,EAMPnH,CAAAA,CAAAA,CAC2B,CAC3B,IAAMyB,CACJ,CAAA,OAAOzB,EAAQ,WAAgB,EAAA,UAAA,CAC1BA,CAAQ,CAAA,WAAA,EACTA,CAAAA,CAAAA,CAAQ,WAERsI,CAAAA,CAAAA,CAAU7G,CAAS,GAAA,MAAA,CAEnB8G,CAAuBD,CAAAA,CAAAA,CACzB,OAAOtI,CAAAA,CAAQ,sBAAyB,UACrCA,CAAAA,CAAAA,CAAQ,oBAAkD,EAAA,CAC3DA,CAAQ,CAAA,oBAAA,CACV,CAEJ,CAAA,OAAO,CACL,IAAA,CAAAyB,CACA,CAAA,eAAA,CAAiB,CACjB,CAAA,aAAA,CAAe6G,EAAWC,CAAA,EAAA,IAAA,CAAAA,CAAwB,CAAA,IAAA,CAAK,GAAI,EAAA,CAAK,CAChE,CAAA,KAAA,CAAO,IACP,CAAA,gBAAA,CAAkB,CAClB,CAAA,cAAA,CAAgB,CAChB,CAAA,iBAAA,CAAmB,CACnB,CAAA,kBAAA,CAAoB,IACpB,CAAA,SAAA,CAAW,IACX,CAAA,aAAA,CAAe,KACf,CAAA,MAAA,CAAQD,CAAU,CAAA,SAAA,CAAY,SAC9B,CAAA,WAAA,CAAa,MACf,CACF,CCrlBaE,IAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,EAANtjB,GAAA,cAAyBiZ,EAAiC,CAG/D,WAAA,CAAmBrX,CAA2B,CAAA,EAAI,CAAA,CAChD,KAAM,EAAA,CAHRyb,CAAA,CAAA,IAAA,CAAAkG,EAEmB,CAAA,CAAA,IAAA,CAAA,OAAA3hB,CAEjB6b,CAAAA,CAAAA,CAAA,IAAK8F,CAAAA,EAAAA,CAAW,IAAI,GAAA,EACtB,CAEA,KAAA,CAMEC,CACA1I,CAAAA,CAAAA,CAIAuH,CAC+C,CAAA,CAAA,IAAA,CAAA,CAC/C,IAAMjI,CAAAA,CAAWU,EAAQ,QACnB2I,CAAAA,CAAAA,CAAAA,CACJzjB,CAAA8a,CAAAA,CAAAA,CAAQ,SAAR,GAAA,IAAA,CAAA9a,CAAqBsa,CAAAA,EAAAA,CAAsBF,CAAUU,CAAAA,CAAO,CAC1D9b,CAAAA,CAAAA,CAAQ,IAAK,CAAA,GAAA,CAA4CykB,CAAS,CAEtE,CAAA,OAAKzkB,CACHA,GAAAA,CAAAA,CAAQ,IAAIwiB,EAAAA,CAAM,CAChB,MAAA,CAAAgC,CACA,CAAA,QAAA,CAAApJ,CACA,CAAA,SAAA,CAAAqJ,CACA,CAAA,OAAA,CAASD,EAAO,mBAAoB1I,CAAAA,CAAO,CAC3C,CAAA,KAAA,CAAAuH,CACA,CAAA,cAAA,CAAgBmB,CAAO,CAAA,gBAAA,CAAiBpJ,CAAQ,CAClD,CAAC,CAAA,CACD,IAAK,CAAA,GAAA,CAAIpb,CAAK,CAGTA,CAAAA,CAAAA,CACT,CAEA,GAAA,CAAIA,CAAwC,CAAA,CACrC2e,CAAA,CAAA,IAAA,CAAK4F,EAAS,CAAA,CAAA,GAAA,CAAIvkB,CAAM,CAAA,SAAS,CACpC2e,GAAAA,CAAAA,CAAA,KAAK4F,EAAS,CAAA,CAAA,GAAA,CAAIvkB,CAAM,CAAA,SAAA,CAAWA,CAAK,CAAA,CAExC,IAAK,CAAA,MAAA,CAAO,CACV,IAAA,CAAM,OACN,CAAA,KAAA,CAAAA,CACF,CAAC,CAEL,EAAA,CAEA,MAAOA,CAAAA,CAAAA,CAAwC,CAC7C,IAAM0kB,CAAa/F,CAAAA,CAAAA,CAAA,IAAK4F,CAAAA,EAAAA,CAAAA,CAAS,GAAIvkB,CAAAA,CAAAA,CAAM,SAAS,CAAA,CAEhD0kB,CACF1kB,GAAAA,CAAAA,CAAM,SAEF0kB,CAAAA,CAAAA,GAAe1kB,CACjB2e,EAAAA,CAAAA,CAAA,IAAK4F,CAAAA,EAAAA,CAAAA,CAAS,MAAOvkB,CAAAA,CAAAA,CAAM,SAAS,CAAA,CAGtC,IAAK,CAAA,MAAA,CAAO,CAAE,IAAA,CAAM,UAAW,KAAAA,CAAAA,CAAM,CAAC,CAAA,EAE1C,CAEA,KAAA,EAAc,CACZoiB,CAAAA,CAAc,KAAM,CAAA,IAAM,CACxB,IAAA,CAAK,MAAO,EAAA,CAAE,QAASpiB,CAAU,EAAA,CAC/B,IAAK,CAAA,MAAA,CAAOA,CAAK,EACnB,CAAC,EACH,CAAC,EACH,CAEA,GAAA,CAMEykB,CAC2D,CAAA,CAC3D,OAAO9F,CAAAA,CAAA,IAAK4F,CAAAA,EAAAA,CAAAA,CAAS,GAAIE,CAAAA,CAAS,CAGpC,CAEA,MAAuB,EAAA,CACrB,OAAO,CAAC,GAAG9F,CAAAA,CAAA,IAAK4F,CAAAA,EAAAA,CAAAA,CAAS,QAAQ,CACnC,CAEA,IAAA,CACEvJ,CACgD,CAAA,CAChD,IAAM2J,CAAAA,CAAmB9jB,CAAA,CAAA,CAAE,KAAO,CAAA,IAAA,CAAA,CAASma,CAE3C,CAAA,CAAA,OAAO,KAAK,MAAO,EAAA,CAAE,IAAMhb,CAAAA,CAAAA,EACzB+a,EAAW4J,CAAAA,CAAAA,CAAkB3kB,CAAK,CACpC,CACF,CAEA,OAAQgb,CAAAA,CAAAA,CAA6B,EAAC,CAAiB,CACrD,IAAM4J,CAAAA,CAAU,IAAK,CAAA,MAAA,EACrB,CAAA,OAAO,MAAO,CAAA,IAAA,CAAK5J,CAAO,CAAA,CAAE,MAAS,CAAA,CAAA,CACjC4J,CAAQ,CAAA,MAAA,CAAQ5kB,CAAU+a,EAAAA,EAAAA,CAAWC,CAAShb,CAAAA,CAAK,CAAC,CAAA,CACpD4kB,CACN,CAEA,MAAOzN,CAAAA,CAAAA,CAAoC,CACzCiL,CAAAA,CAAc,KAAM,CAAA,IAAM,CACxB,IAAA,CAAK,UAAU,OAASlI,CAAAA,CAAAA,EAAa,CACnCA,CAAAA,CAAS/C,CAAK,EAChB,CAAC,EACH,CAAC,EACH,CAEA,OAAA,EAAgB,CACdiL,CAAAA,CAAc,MAAM,IAAM,CACxB,IAAK,CAAA,MAAA,EAAS,CAAA,OAAA,CAASpiB,CAAU,EAAA,CAC/BA,CAAM,CAAA,OAAA,GACR,CAAC,EACH,CAAC,EACH,CAEA,QAAA,EAAiB,CACfoiB,CAAAA,CAAc,KAAM,CAAA,IAAM,CACxB,IAAA,CAAK,MAAO,EAAA,CAAE,OAASpiB,CAAAA,CAAAA,EAAU,CAC/BA,CAAAA,CAAM,QAAS,GACjB,CAAC,EACH,CAAC,EACH,CACF,CAAA,CAlIEukB,EAAA,CAAA,IAAA,OAAA,CADKvjB,ECXM6jB,CAAAA,CAAAA,IAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,EAAN7jB,EAAA,CAAA,cAKGqhB,EAAU,CASlB,YAAYzf,CAA6D,CAAA,CACvE,KAAM,EAAA,CAfHyb,CAAA,CAAA,IAAA,CAAAyG,EAULzG,CAAAA,CAAAA,CAAAA,CAAA,IAAA0G,CAAAA,EAAAA,CAAAA,CACA1G,CAAA,CAAA,IAAA,CAAA2G,EACA3G,CAAAA,CAAAA,CAAAA,CAAA,KAAAyE,EAKE,CAAA,CAAA,IAAA,CAAK,UAAalgB,CAAAA,CAAAA,CAAO,UACzB6b,CAAAA,CAAAA,CAAA,IAAKuG,CAAAA,EAAAA,CAAiBpiB,CAAO,CAAA,aAAA,CAAA,CAC7B6b,CAAA,CAAA,IAAA,CAAKsG,EAAa,CAAA,IAClB,IAAK,CAAA,KAAA,CAAQniB,CAAO,CAAA,KAAA,EAASqgB,EAAgB,EAAA,CAE7C,IAAK,CAAA,UAAA,CAAWrgB,CAAO,CAAA,OAAO,CAC9B,CAAA,IAAA,CAAK,UAAW,GAClB,CAEA,UAAA,CACEkZ,CACM,CAAA,CACN,IAAK,CAAA,OAAA,CAAUA,CAEf,CAAA,IAAA,CAAK,YAAa,CAAA,IAAA,CAAK,OAAQ,CAAA,MAAM,EACvC,CAEA,IAAI,IAAA,EAAiC,CACnC,OAAO,IAAA,CAAK,OAAQ,CAAA,IACtB,CAEA,WAAA,CAAY0H,CAAsD,CAAA,CAC3D7E,CAAA,CAAA,IAAA,CAAKoG,EAAW,CAAA,CAAA,QAAA,CAASvB,CAAQ,CAAA,GACpC7E,EAAA,IAAKoG,CAAAA,EAAAA,CAAAA,CAAW,IAAKvB,CAAAA,CAAQ,CAG7B,CAAA,IAAA,CAAK,cAAe,EAAA,CAEpB7E,CAAA,CAAA,IAAA,CAAKqG,EAAe,CAAA,CAAA,MAAA,CAAO,CACzB,IAAA,CAAM,gBACN,QAAU,CAAA,IAAA,CACV,QAAAxB,CAAAA,CACF,CAAC,CAAA,EAEL,CAEA,cAAA,CAAeA,CAAsD,CAAA,CACnE/E,CAAA,CAAA,IAAA,CAAKsG,EAAapG,CAAAA,CAAAA,CAAA,IAAKoG,CAAAA,EAAAA,CAAAA,CAAW,MAAQtB,CAAAA,CAAAA,EAAMA,CAAMD,GAAAA,CAAQ,CAE9D,CAAA,CAAA,IAAA,CAAK,UAAW,EAAA,CAEhB7E,CAAA,CAAA,IAAA,CAAKqG,EAAe,CAAA,CAAA,MAAA,CAAO,CACzB,IAAA,CAAM,kBACN,QAAU,CAAA,IAAA,CACV,QAAAxB,CAAAA,CACF,CAAC,EACH,CAEU,cAAA,EAAiB,CACpB7E,CAAAA,CAAA,IAAKoG,CAAAA,EAAAA,CAAAA,CAAW,MACf,GAAA,IAAA,CAAK,MAAM,MAAW,GAAA,SAAA,CACxB,IAAK,CAAA,UAAA,EAELpG,CAAAA,CAAAA,CAAA,IAAKqG,CAAAA,EAAAA,CAAAA,CAAe,MAAO,CAAA,IAAI,CAGrC,EAAA,CAEA,QAA6B,EAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAC3B,QACE/jB,CAAAD,CAAAA,CAAAA,CAAAA,CAAA2d,CAAA,CAAA,IAAA,CAAKmE,EAAL,CAAA,GAAA,IAAA,CAAA,MAAA,CAAA9hB,CAAe,CAAA,QAAA,EAAA,GAAf,IAAAC,CAAAA,CAAAA,CAEA,IAAK,CAAA,OAAA,CAAQ,IAAK,CAAA,KAAA,CAAM,SAAU,CAEtC,CAEM,OAAA,CAAQgkB,CAAuC,CAAA,CAAA,OAAAC,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,WAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACnD,IAAMC,CAAAA,CAAa,IAAM,CACvBhC,CAAA,CAAA,IAAA,CAAK2B,EAAA1B,CAAAA,EAAAA,CAAAA,CAAL,UAAe,CAAE,IAAA,CAAM,UAAW,CAAA,EACpC,CAEA3E,CAAAA,CAAAA,CAAA,IAAKqE,CAAAA,EAAAA,CAAWzC,EAAc,CAAA,CAC5B,EAAI,CAAA,IACG,IAAK,CAAA,OAAA,CAAQ,WAGX,IAAK,CAAA,OAAA,CAAQ,UAAW4E,CAAAA,CAAS,CAF/B,CAAA,OAAA,CAAQ,MAAO,CAAA,IAAI,KAAM,CAAA,qBAAqB,CAAC,CAAA,CAI1D,MAAQ,CAAA,CAAClF,EAAcvC,CAAU,GAAA,CAC/B2F,CAAA,CAAA,IAAA,CAAK2B,EAAA1B,CAAAA,EAAAA,CAAAA,CAAL,IAAe,CAAA,IAAA,CAAA,CAAE,IAAM,CAAA,QAAA,CAAU,YAAArD,CAAAA,CAAAA,CAAc,KAAAvC,CAAAA,CAAM,CACvD,EAAA,CAAA,CACA,OAAS,CAAA,IAAM,CACb2F,CAAAA,CAAA,IAAK2B,CAAAA,EAAAA,CAAA1B,EAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAe,CAAE,IAAA,CAAM,OAAQ,CAAA,EACjC,CACA,CAAA,UAAA,CAAA+B,EACA,KAAOnkB,CAAAA,CAAAA,CAAAA,CAAA,IAAK,CAAA,OAAA,CAAQ,KAAb,GAAA,IAAA,CAAAA,CAAsB,CAAA,CAAA,CAC7B,UAAY,CAAA,IAAA,CAAK,OAAQ,CAAA,UAAA,CACzB,WAAa,CAAA,IAAA,CAAK,QAAQ,WAC1B,CAAA,MAAA,CAAQ,IAAM2d,CAAAA,CAAA,IAAKqG,CAAAA,EAAAA,CAAAA,CAAe,MAAO,CAAA,IAAI,CAC/C,CAAC,CAED,CAAA,CAAA,IAAMI,CAAW,CAAA,IAAA,CAAK,MAAM,MAAW,GAAA,SAAA,CACjCC,CAAW,CAAA,CAAC1G,CAAA,CAAA,IAAA,CAAKmE,EAAS,CAAA,CAAA,QAAA,EAEhC,CAAA,GAAI,CACF,GAAIsC,CAEFD,CAAAA,CAAAA,EACK,CAAA,KAAA,CACLhC,CAAA,CAAA,IAAA,CAAK2B,EAAA1B,CAAAA,EAAAA,CAAAA,CAAL,IAAe,CAAA,IAAA,CAAA,CAAE,IAAM,CAAA,SAAA,CAAW,SAAA6B,CAAAA,CAAAA,CAAW,QAAAI,CAAAA,CAAS,CAEtD,CAAA,CAAA,MAAA,CAAMnkB,GAAAD,CAAA0d,CAAAA,CAAAA,CAAA,IAAKqG,CAAAA,EAAAA,CAAAA,CAAe,MAAO,EAAA,QAAA,GAA3B,IAAA9jB,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA,CAAA,IAAAD,CAAAA,CAAAA,CACJgkB,CACA,CAAA,IAAA,CAAA,CAEF,IAAMlB,CAAAA,CAAU,OAAMuB,CAAAnkB,CAAAA,CAAAA,CAAAA,CAAA,IAAK,CAAA,OAAA,EAAQ,QAAb,GAAA,IAAA,CAAA,KAAA,CAAA,CAAAmkB,CAAA,CAAA,IAAA,CAAAnkB,CAAwB8jB,CAAAA,CAAAA,CAAAA,CAC1ClB,CAAY,GAAA,IAAA,CAAK,KAAM,CAAA,OAAA,EACzBZ,EAAA,IAAK2B,CAAAA,EAAAA,CAAA1B,EAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAe,CACb,IAAA,CAAM,SACN,CAAA,OAAA,CAAAW,CACA,CAAA,SAAA,CAAAkB,CACA,CAAA,QAAA,CAAAI,CACF,CAAA,EAEJ,CACA,IAAM9H,CAAO,CAAA,MAAMoB,CAAA,CAAA,IAAA,CAAKmE,EAAS,CAAA,CAAA,KAAA,EAGjC,CAAA,OAAA,MAAA,CAAMyC,CAAAC,CAAAA,CAAAA,CAAAA,CAAA7G,CAAA,CAAA,IAAA,CAAKqG,EAAe,CAAA,CAAA,MAAA,EAAO,YAA3B,IAAAO,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA,CAAA,IAAAC,CAAAA,CAAAA,CACJjI,CACA0H,CAAAA,CAAAA,CACA,IAAK,CAAA,KAAA,CAAM,OACX,CAAA,IAAA,CAAA,CAGF,MAAMQ,CAAAA,CAAAA,CAAAA,CAAAC,CAAA,CAAA,IAAA,CAAK,SAAQ,SAAb,GAAA,IAAA,CAAA,KAAA,CAAA,CAAAD,CAAA,CAAA,IAAA,CAAAC,CAAyBnI,CAAAA,CAAAA,CAAM0H,CAAW,CAAA,IAAA,CAAK,KAAM,CAAA,OAAA,CAAA,CAG3D,MAAMU,CAAAA,CAAAA,CAAAA,CAAAC,CAAAjH,CAAAA,CAAAA,CAAA,KAAKqG,EAAe,CAAA,CAAA,MAAA,EAAO,SAA3B,GAAA,IAAA,CAAA,KAAA,CAAA,CAAAW,CAAA,CAAA,IAAA,CAAAC,CACJrI,CAAAA,CAAAA,CACA,IACA,CAAA,IAAA,CAAK,KAAM,CAAA,SAAA,CACX,IAAK,CAAA,KAAA,CAAM,OACX,CAAA,IAAA,CAAA,CAGF,MAAMsI,CAAAA,CAAAA,CAAAA,CAAAC,CAAA,CAAA,IAAA,CAAK,OAAQ,EAAA,SAAA,GAAb,IAAAD,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA,CAAA,IAAAC,CAAAA,CAAAA,CAAyBvI,CAAM,CAAA,IAAA,CAAM0H,CAAW,CAAA,IAAA,CAAK,MAAM,OAEjE9B,CAAAA,CAAAA,CAAAA,CAAA,IAAK2B,CAAAA,EAAAA,CAAA1B,EAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAe,CAAE,IAAA,CAAM,SAAW,CAAA,IAAA,CAAA7F,CAAK,CAAA,CAAA,CAChCA,CACT,CAAA,MAASC,EAAO,CACd,GAAI,CAEF,MAAA,MAAA,CAAMuI,CAAAC,CAAAA,CAAAA,CAAAA,CAAArH,CAAA,CAAA,IAAA,CAAKqG,EAAe,CAAA,CAAA,MAAA,EAAO,OAA3B,GAAA,IAAA,CAAA,KAAA,CAAA,CAAAe,CAAA,CAAA,IAAA,CAAAC,EACJxI,CACAyH,CAAAA,CAAAA,CACA,IAAK,CAAA,KAAA,CAAM,OACX,CAAA,IAAA,CAAA,CAGF,MAAMgB,CAAAA,CAAAA,CAAAA,CAAAC,CAAA,CAAA,IAAA,CAAK,OAAQ,EAAA,OAAA,GAAb,IAAAD,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA,CAAA,IAAAC,CAAAA,CAAAA,CACJ1I,CACAyH,CAAAA,CAAAA,CACA,IAAK,CAAA,KAAA,CAAM,OAIb,CAAA,CAAA,MAAA,CAAMkB,CAAAC,CAAAA,CAAAA,CAAAA,CAAAzH,CAAA,CAAA,IAAA,CAAKqG,EAAe,CAAA,CAAA,MAAA,EAAO,SAA3B,GAAA,IAAA,CAAA,KAAA,CAAA,CAAAmB,EAAA,IAAAC,CAAAA,CAAAA,CACJ,KACA5I,CAAAA,CAAAA,CAAAA,CACA,IAAK,CAAA,KAAA,CAAM,SACX,CAAA,IAAA,CAAK,KAAM,CAAA,OAAA,CACX,IAGF,CAAA,CAAA,MAAA,CAAM6I,CAAAC,CAAAA,CAAAA,CAAAA,CAAA,KAAK,OAAQ,EAAA,SAAA,GAAb,IAAAD,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA,CAAA,IAAAC,CAAAA,CAAAA,CACJ,KACA9I,CAAAA,CAAAA,CAAAA,CACAyH,CACA,CAAA,IAAA,CAAK,KAAM,CAAA,OAAA,CAAA,CAEPzH,CACR,CAAA,OAAA,CACE2F,CAAA,CAAA,IAAA,CAAK2B,EAAA1B,CAAAA,EAAAA,CAAAA,CAAL,IAAe,CAAA,IAAA,CAAA,CAAE,IAAM,CAAA,OAAA,CAAS,KAAA5F,CAAAA,CAAuB,CACzD,EAAA,CACF,CAAA,OAAA,CACEmB,CAAA,CAAA,IAAA,CAAKqG,EAAe,CAAA,CAAA,OAAA,CAAQ,IAAI,EAClC,CACF,CAAA,CAAA,CAuEF,CAhQED,CAAAA,EAAAA,CAAA,IACAC,OAAAA,CAAAA,EAAAA,CAAA,IACAlC,OAAAA,CAAAA,EAAAA,CAAA,IAZKgC,OAAAA,CAAAA,EAAAA,CAAA,YAqML1B,EAAA,CAAA,SAAUa,CAA2D,CAAA,CACnE,IAAMC,CAAAA,CACJb,CACuD,EAAA,CACvD,OAAQY,CAAAA,CAAO,IAAM,EACnB,KAAK,QAAA,CACH,OAAOrjB,CAAAC,CAAAA,CAAAA,CAAA,EACFwiB,CAAAA,CAAAA,CAAAA,CADE,CAEL,YAAA,CAAcY,CAAO,CAAA,YAAA,CACrB,aAAeA,CAAAA,CAAAA,CAAO,KACxB,CAAA,CAAA,CACF,KAAK,OAAA,CACH,OAAOrjB,CAAAC,CAAAA,CAAAA,CAAA,EACFwiB,CAAAA,CAAAA,CAAAA,CADE,CAEL,QAAA,CAAU,IACZ,CAAA,CAAA,CACF,KAAK,UAAA,CACH,OAAOziB,CAAAA,CAAAC,CAAA,CAAA,EAAA,CACFwiB,CADE,CAAA,CAAA,CAEL,QAAU,CAAA,KACZ,CACF,CAAA,CAAA,KAAK,SACH,CAAA,OAAOziB,CAAAC,CAAAA,CAAAA,CAAA,EACFwiB,CAAAA,CAAAA,CAAAA,CADE,CAEL,OAAA,CAASY,CAAO,CAAA,OAAA,CAChB,KAAM,MACN,CAAA,YAAA,CAAc,CACd,CAAA,aAAA,CAAe,IACf,CAAA,KAAA,CAAO,IACP,CAAA,QAAA,CAAUA,CAAO,CAAA,QAAA,CACjB,MAAQ,CAAA,SAAA,CACR,SAAWA,CAAAA,CAAAA,CAAO,UAClB,WAAa,CAAA,IAAA,CAAK,GAAI,EACxB,CACF,CAAA,CAAA,KAAK,SACH,CAAA,OAAOrjB,CAAAC,CAAAA,CAAAA,CAAA,EACFwiB,CAAAA,CAAAA,CAAAA,CADE,CAEL,IAAA,CAAMY,EAAO,IACb,CAAA,YAAA,CAAc,CACd,CAAA,aAAA,CAAe,IACf,CAAA,KAAA,CAAO,IACP,CAAA,MAAA,CAAQ,SACR,CAAA,QAAA,CAAU,KACZ,CAAA,CAAA,CACF,KAAK,OAAA,CACH,OAAOrjB,CAAAA,CAAAC,CAAA,CAAA,EAAA,CACFwiB,CADE,CAAA,CAAA,CAEL,IAAM,CAAA,MAAA,CACN,KAAOY,CAAAA,CAAAA,CAAO,KACd,CAAA,YAAA,CAAcZ,CAAM,CAAA,YAAA,CAAe,CACnC,CAAA,aAAA,CAAeY,EAAO,KACtB,CAAA,QAAA,CAAU,KACV,CAAA,MAAA,CAAQ,OACV,CAAA,CACJ,CACF,CAAA,CACA,IAAK,CAAA,KAAA,CAAQC,CAAQ,CAAA,IAAA,CAAK,KAAK,CAAA,CAE/B9B,EAAc,KAAM,CAAA,IAAM,CACxBzD,CAAAA,CAAA,IAAKoG,CAAAA,EAAAA,CAAAA,CAAW,OAASvB,CAAAA,CAAAA,EAAa,CACpCA,CAAAA,CAAS,gBAAiBS,CAAAA,CAAM,EAClC,CAAC,EACDtF,CAAA,CAAA,IAAA,CAAKqG,EAAe,CAAA,CAAA,MAAA,CAAO,CACzB,QAAA,CAAU,IACV,CAAA,IAAA,CAAM,SACN,CAAA,MAAA,CAAAf,CACF,CAAC,EACH,CAAC,EACH,CAAA,CAzQKjjB,EA4QA,CAAA,CAAA,SAASiiB,EAKwC,EAAA,CACtD,OAAO,CACL,OAAS,CAAA,MAAA,CACT,IAAM,CAAA,MAAA,CACN,KAAO,CAAA,IAAA,CACP,YAAc,CAAA,CAAA,CACd,cAAe,IACf,CAAA,QAAA,CAAU,KACV,CAAA,MAAA,CAAQ,MACR,CAAA,SAAA,CAAW,MACX,CAAA,WAAA,CAAa,CACf,CACF,CC1RasD,IAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,EAANvlB,EAAA,CAAA,cAA4BiZ,EAAoC,CAKrE,WAAA,CAAmBrX,CAA8B,CAAA,EAAI,CAAA,CACnD,KAAM,EAAA,CALRyb,CAAA,CAAA,IAAA,CAAAmI,EACAnI,CAAAA,CAAAA,CAAAA,CAAA,IAAAoI,CAAAA,EAAAA,CAAAA,CACApI,EAAA,IAAAqI,CAAAA,EAAAA,CAAAA,CAEmB,IAAA,CAAA,MAAA,CAAA9jB,CAEjB6b,CAAAA,CAAAA,CAAA,IAAK+H,CAAAA,EAAAA,CAAa,IAAI,GAAA,CAAA,CACtB/H,CAAA,CAAA,IAAA,CAAKgI,EAAU,CAAA,IAAI,GACnBhI,CAAAA,CAAAA,CAAAA,CAAA,IAAKiI,CAAAA,EAAAA,CAAc,CACrB,EAAA,CAEA,KACElC,CAAAA,CAAAA,CACA1I,CACAuH,CAAAA,CAAAA,CAC+C,CAC/C,IAAM3H,CAAW,CAAA,IAAImJ,EAAS,CAAA,CAC5B,cAAe,IACf,CAAA,UAAA,CAAmB,EAAL8B,EAAAA,CAAA,IAAKD,CAAAA,EAAAA,CAAAA,CAAL,CACd,CAAA,OAAA,CAASlC,CAAO,CAAA,sBAAA,CAAuB1I,CAAO,CAAA,CAC9C,KAAAuH,CAAAA,CACF,CAAC,CAED,CAAA,OAAA,IAAA,CAAK,GAAI3H,CAAAA,CAAQ,CAEVA,CAAAA,CACT,CAEA,GAAA,CAAIA,CAA8C,CAAA,CAChDiD,CAAA,CAAA,IAAA,CAAK6H,EAAW,CAAA,CAAA,GAAA,CAAI9K,CAAQ,CAC5B,CAAA,IAAMkL,CAAQC,CAAAA,EAAAA,CAASnL,CAAQ,CAAA,CAC/B,GAAI,OAAOkL,CAAU,EAAA,QAAA,CAAU,CAC7B,IAAME,CAAkBnI,CAAAA,CAAAA,CAAA,IAAK8H,CAAAA,EAAAA,CAAAA,CAAQ,GAAIG,CAAAA,CAAK,CAC1CE,CAAAA,CAAAA,CACFA,CAAgB,CAAA,IAAA,CAAKpL,CAAQ,CAAA,CAE7BiD,CAAA,CAAA,IAAA,CAAK8H,EAAQ,CAAA,CAAA,GAAA,CAAIG,CAAO,CAAA,CAAClL,CAAQ,CAAC,EAEtC,CACA,IAAA,CAAK,MAAO,CAAA,CAAE,IAAM,CAAA,OAAA,CAAS,QAAAA,CAAAA,CAAS,CAAC,EACzC,CAEA,MAAA,CAAOA,EAA8C,CACnD,GAAIiD,CAAA,CAAA,IAAA,CAAK6H,EAAW,CAAA,CAAA,MAAA,CAAO9K,CAAQ,CAAA,CAAG,CACpC,IAAMkL,CAAQC,CAAAA,EAAAA,CAASnL,CAAQ,CAAA,CAC/B,GAAI,OAAOkL,CAAAA,EAAU,QAAU,CAAA,CAC7B,IAAME,CAAAA,CAAkBnI,CAAA,CAAA,IAAA,CAAK8H,EAAQ,CAAA,CAAA,GAAA,CAAIG,CAAK,CAAA,CAC9C,GAAIE,CAAAA,CACF,GAAIA,CAAAA,CAAgB,MAAS,CAAA,CAAA,CAAG,CAC9B,IAAMpf,CAAQof,CAAAA,CAAAA,CAAgB,OAAQpL,CAAAA,CAAQ,CAC1ChU,CAAAA,CAAAA,GAAU,EACZof,EAAAA,CAAAA,CAAgB,MAAOpf,CAAAA,CAAAA,CAAO,CAAC,EAEnC,CAAA,KAAWof,CAAgB,CAAA,CAAC,CAAMpL,GAAAA,CAAAA,EAChCiD,CAAA,CAAA,IAAA,CAAK8H,EAAQ,CAAA,CAAA,MAAA,CAAOG,CAAK,EAG/B,CACF,CAIA,KAAK,MAAO,CAAA,CAAE,IAAM,CAAA,SAAA,CAAW,QAAAlL,CAAAA,CAAS,CAAC,EAC3C,CAEA,MAAA,CAAOA,CAAiD,CAAA,CACtD,IAAMkL,CAAAA,CAAQC,GAASnL,CAAQ,CAAA,CAC/B,GAAI,OAAOkL,CAAU,EAAA,QAAA,CAAU,CAC7B,IAAMG,CAAyBpI,CAAAA,CAAAA,CAAA,IAAK8H,CAAAA,EAAAA,CAAAA,CAAQ,GAAIG,CAAAA,CAAK,CAC/CI,CAAAA,CAAAA,CAAuBD,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAwB,CAAA,IAAA,CAClD9U,CAAMA,EAAAA,CAAAA,CAAE,KAAM,CAAA,MAAA,GAAW,SAI5B,CAAA,CAAA,OAAO,CAAC+U,CAAAA,EAAwBA,CAAyBtL,GAAAA,CAC3D,MAGS,OAAA,KAEX,CAEA,OAAA,CAAQA,CAA0D,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAChE,IAAMkL,CAAAA,CAAQC,EAASnL,CAAAA,CAAQ,CAC/B,CAAA,GAAI,OAAOkL,CAAAA,EAAU,SAAU,CAC7B,IAAMK,CAAgBjmB,CAAAA,CAAAA,CAAAA,CAAA2d,CAAA,CAAA,IAAA,CAAK8H,EACxB,CAAA,CAAA,GAAA,CAAIG,CAAK,CAAA,GADU,IAAA5lB,CAAAA,MAAAA,CAAAA,CAAAA,CAElB,IAAMiR,CAAAA,CAAAA,EAAMA,IAAMyJ,CAAYzJ,EAAAA,CAAAA,CAAE,KAAM,CAAA,QAAA,CAAA,CAE1C,OAAOhR,CAAAA,CAAAA,CAAAgmB,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAe,CAAA,QAAA,EAAA,GAAf,IAAAhmB,CAAAA,CAAAA,CAA6B,OAAQ,CAAA,OAAA,EAC9C,CAAA,KACS,OAAA,OAAA,CAAQ,OAAQ,EAE3B,CAEA,KAAA,EAAc,CACZmhB,CAAAA,CAAc,KAAM,CAAA,IAAM,CACxBzD,CAAAA,CAAA,IAAK6H,CAAAA,EAAAA,CAAAA,CAAW,QAAS9K,CAAa,EAAA,CACpC,IAAK,CAAA,MAAA,CAAO,CAAE,IAAA,CAAM,SAAW,CAAA,QAAA,CAAAA,CAAS,CAAC,EAC3C,CAAC,CACDiD,CAAAA,CAAAA,CAAA,KAAK6H,EAAW,CAAA,CAAA,KAAA,EAChB7H,CAAAA,CAAAA,CAAA,IAAK8H,CAAAA,EAAAA,CAAAA,CAAQ,KAAM,GACrB,CAAC,EACH,CAEA,MAAA,EAA0B,CACxB,OAAO,MAAM,IAAK9H,CAAAA,CAAAA,CAAA,IAAK6H,CAAAA,EAAAA,CAAU,CACnC,CAEA,IAMExL,CAAAA,CAAAA,CAC2D,CAC3D,IAAM2J,CAAmB9jB,CAAAA,CAAAA,CAAA,CAAE,KAAA,CAAO,IAASma,CAAAA,CAAAA,CAAAA,CAAAA,CAE3C,OAAO,IAAA,CAAK,MAAO,EAAA,CAAE,IAAMU,CAAAA,CAAAA,EACzBD,EAAckJ,CAAAA,CAAAA,CAAkBjJ,CAAQ,CAC1C,CACF,CAEA,OAAQV,CAAAA,CAAAA,CAA2B,EAAqB,CAAA,CACtD,OAAO,IAAA,CAAK,MAAO,EAAA,CAAE,MAAQU,CAAAA,CAAAA,EAAaD,EAAcT,CAAAA,CAAAA,CAASU,CAAQ,CAAC,CAC5E,CAEA,OAAOvE,CAAiC,CAAA,CACtCiL,CAAc,CAAA,KAAA,CAAM,IAAM,CACxB,IAAK,CAAA,SAAA,CAAU,OAASlI,CAAAA,CAAAA,EAAa,CACnCA,CAAAA,CAAS/C,CAAK,EAChB,CAAC,EACH,CAAC,EACH,CAEA,qBAA0C,EAAA,CACxC,IAAM+P,CAAAA,CAAkB,IAAK,CAAA,MAAA,EAAS,CAAA,MAAA,CAAQzD,CAAMA,EAAAA,CAAAA,CAAE,KAAM,CAAA,QAAQ,CAEpE,CAAA,OAAOrB,CAAc,CAAA,KAAA,CAAM,IACzB,OAAA,CAAQ,GACN8E,CAAAA,CAAAA,CAAgB,GAAKxL,CAAAA,CAAAA,EAAaA,CAAS,CAAA,QAAA,EAAW,CAAA,KAAA,CAAMtB,CAAI,CAAC,CACnE,CACF,CACF,CACF,CAAA,CAjJEoM,EAAA,CAAA,IAAA,OAAA,CACAC,EAAA,CAAA,IAAA,OAAA,CACAC,EAAA,CAAA,IAAA,OAAA,CAHK1lB,EAoJP,CAAA,CAAA,SAAS6lB,GAASnL,CAAwC,CAAA,CAAA,IAAA,CAAA,CACxD,OAAO1a,CAAAA,CAAAA,CAAA0a,CAAS,CAAA,OAAA,CAAQ,KAAjB,GAAA,IAAA,CAAA,MAAA,CAAA1a,CAAwB,CAAA,EACjC,CC/NO,SAASmmB,EACdC,CAAAA,CAAAA,CACsE,CACtE,OAAO,CACL,OAAS,CAAA,CAACrD,CAAS/jB,CAAAA,CAAAA,GAAU,CAC3B,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAM8b,CAAUiI,CAAAA,CAAAA,CAAQ,OAClBsD,CAAAA,CAAAA,CAAAA,CAAYnmB,CAAAD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAD,CAAA+iB,CAAAA,CAAAA,CAAQ,YAAR,GAAA,IAAA,CAAA,MAAA,CAAA/iB,CAAsB,CAAA,IAAA,GAAtB,IAAAC,CAAAA,MAAAA,CAAAA,CAAAA,CAA4B,SAA5B,GAAA,IAAA,CAAA,MAAA,CAAAC,CAAuC,CAAA,SAAA,CACnDomB,CAAWnmB,CAAAA,CAAAA,CAAAA,CAAAA,CAAA4iB,CAAQ,CAAA,KAAA,CAAM,OAAd,IAAA5iB,CAAAA,MAAAA,CAAAA,CAAAA,CAAoB,KAAS,GAAA,EACxComB,CAAAA,CAAAA,CAAAA,CAAAA,CAAgBjC,CAAAvB,CAAAA,CAAAA,CAAQ,KAAM,CAAA,IAAA,GAAd,IAAAuB,CAAAA,MAAAA,CAAAA,CAAAA,CAAoB,UAAc,GAAA,GACpDxc,CAAgC,CAAA,CAAE,KAAO,CAAA,EAAI,CAAA,UAAA,CAAY,EAAG,CAC5D0e,CAAAA,CAAAA,CAAc,CAEZ5D,CAAAA,CAAAA,CAAU,IAAYsB,CAAAA,CAAA,4BAC1B,IAAIuC,CAAAA,CAAY,KACV9D,CAAAA,CAAAA,CAAqB3T,CAAoB,EAAA,CAC7C,MAAO,CAAA,cAAA,CAAeA,CAAQ,CAAA,QAAA,CAAU,CACtC,UAAA,CAAY,IACZ,CAAA,GAAA,CAAK,KACC+T,CAAAA,CAAQ,MAAO,CAAA,OAAA,CACjB0D,CAAY,CAAA,IAAA,CAEZ1D,CAAQ,CAAA,MAAA,CAAO,gBAAiB,CAAA,OAAA,CAAS,IAAM,CAC7C0D,CAAY,CAAA,KACd,CAAC,CAAA,CAEI1D,EAAQ,MAEnB,CAAA,CAAC,EACH,CAAA,CAEMF,CAAU9F,CAAAA,EAAAA,CAAcgG,CAAQ,CAAA,OAAA,CAASA,CAAQ,CAAA,YAAY,CAG7D2D,CAAAA,CAAAA,CAAY,CAChBnK,CAAAA,CACAoK,EACAC,CACmC1C,GAAAA,CAAAA,CAAA,IACnC,CAAA,IAAA,CAAA,WAAA,CAAA,GAAIuC,CACF,CAAA,OAAO,OAAQ,CAAA,MAAA,EAGjB,CAAA,GAAIE,CAAS,EAAA,IAAA,EAAQpK,CAAK,CAAA,KAAA,CAAM,OAC9B,OAAO,OAAA,CAAQ,OAAQA,CAAAA,CAAI,CAG7B,CAAA,IAAMuG,CAGF,CAAA,CACF,MAAQC,CAAAA,CAAAA,CAAQ,MAChB,CAAA,QAAA,CAAUA,CAAQ,CAAA,QAAA,CAClB,SAAW4D,CAAAA,CAAAA,CACX,SAAWC,CAAAA,CAAAA,CAAW,UAAa,CAAA,SAAA,CACnC,IAAM7D,CAAAA,CAAAA,CAAQ,OAAQ,CAAA,IACxB,CAEAJ,CAAAA,CAAAA,CAAkBG,CAAc,CAAA,CAEhC,IAAM+D,CAAAA,CAAO,MAAMhE,CACjBC,CAAAA,CACF,CAEM,CAAA,CAAE,QAAAgE,CAAAA,CAAS,CAAI/D,CAAAA,CAAAA,CAAQ,OACvBgE,CAAAA,CAAAA,CAAQH,CAAW/J,CAAAA,EAAAA,CAAaJ,EAEtC,CAAA,OAAO,CACL,KAAOsK,CAAAA,CAAAA,CAAMxK,CAAK,CAAA,KAAA,CAAOsK,CAAMC,CAAAA,CAAQ,CACvC,CAAA,UAAA,CAAYC,CAAMxK,CAAAA,CAAAA,CAAK,UAAYoK,CAAAA,CAAAA,CAAOG,CAAQ,CACpD,CACF,CAGA,CAAA,CAAA,GAAIT,CAAaC,EAAAA,CAAAA,CAAS,MAAQ,CAAA,CAChC,IAAMM,CAAAA,CAAWP,CAAc,GAAA,UAAA,CACzBW,CAAcJ,CAAAA,CAAAA,CAAWK,EAAuBC,CAAAA,EAAAA,CAChDC,CAAU,CAAA,CACd,KAAOb,CAAAA,CAAAA,CACP,UAAYC,CAAAA,CACd,CACMI,CAAAA,CAAAA,CAAQK,CAAYlM,CAAAA,CAAAA,CAASqM,CAAO,CAAA,CAE1Crf,CAAS,CAAA,MAAM4e,CAAUS,CAAAA,CAAAA,CAASR,EAAOC,CAAQ,EACnD,CAAO,KAAA,CACL,IAAMQ,CAAAA,CAAiBhB,CAAA,EAAA,IAAA,CAAAA,CAASE,CAAAA,CAAAA,CAAS,MAGzC,CAAA,EAAG,CACD,IAAMK,EACJH,CAAgB,GAAA,CAAA,CAAA,CACXxmB,CAAAumB,CAAAA,CAAAA,CAAc,CAAC,CAAA,GAAf,IAAAvmB,CAAAA,CAAAA,CAAoB8a,CAAQ,CAAA,gBAAA,CAC7BoM,EAAiBpM,CAAAA,CAAAA,CAAShT,CAAM,CAAA,CACtC,GAAI0e,CAAc,CAAA,CAAA,EAAKG,CAAS,EAAA,IAAA,CAC9B,MAEF7e,CAAAA,CAAS,MAAM4e,CAAAA,CAAU5e,CAAQ6e,CAAAA,CAAK,CACtCH,CAAAA,CAAAA,GACF,CAASA,MAAAA,CAAAA,CAAcY,CACzB,CAAA,CAEA,OAAOtf,CACT,CACIib,CAAAA,CAAAA,CAAAA,CAAQ,OAAQ,CAAA,SAAA,CAClBA,CAAQ,CAAA,OAAA,CAAU,IAAM,CAAA,IAAA,CAAA,CAAA,CAAA,CACtB,OAAO9iB,CAAAA,CAAAA,CAAAA,CAAAD,CAAA+iB,CAAAA,CAAAA,CAAQ,SAAQ,SAAhB,GAAA,IAAA,CAAA,MAAA,CAAA9iB,CAAA,CAAA,IAAA,CAAAD,CACL4iB,CAAAA,CAAAA,CACA,CACE,MAAA,CAAQG,CAAQ,CAAA,MAAA,CAChB,QAAUA,CAAAA,CAAAA,CAAQ,QAClB,CAAA,IAAA,CAAMA,EAAQ,OAAQ,CAAA,IAAA,CACtB,MAAQA,CAAAA,CAAAA,CAAQ,MAClB,CAAA,CACA/jB,CAEJ,CAAA,CAAA,CAEA+jB,CAAQ,CAAA,OAAA,CAAUH,EAEtB,CACF,CACF,CAEA,SAASsE,EACPpM,CAAAA,CAAAA,CACA,CAAE,KAAA,CAAAsL,CAAO,CAAA,UAAA,CAAAiB,CAAW,CAAA,CACC,CACrB,IAAMC,CAAYlB,CAAAA,CAAAA,CAAM,MAAS,CAAA,CAAA,CACjC,OAAOA,CAAAA,CAAM,MAAS,CAAA,CAAA,CAClBtL,CAAQ,CAAA,gBAAA,CACNsL,CAAMkB,CAAAA,CAAS,CACflB,CAAAA,CAAAA,CACAiB,CAAWC,CAAAA,CAAS,CACpBD,CAAAA,CACF,CACA,CAAA,MACN,CAEA,SAASJ,EAAAA,CACPnM,CACA,CAAA,CAAE,KAAAsL,CAAAA,CAAAA,CAAO,UAAAiB,CAAAA,CAAW,CACC,CAAA,CAAA,IAAA,CAAA,CACrB,OAAOjB,CAAAA,CAAM,MAAS,CAAA,CAAA,CAAA,CAClBpmB,EAAA8a,CAAQ,CAAA,oBAAA,GAAR,IAAA9a,CAAAA,MAAAA,CAAAA,CAAAA,CAAA,IAAA8a,CAAAA,CAAAA,CAA+BsL,CAAM,CAAA,CAAC,CAAGA,CAAAA,CAAAA,CAAOiB,CAAW,CAAA,CAAC,CAAGA,CAAAA,CAAAA,CAAAA,CAC/D,MACN,CAKO,SAASE,EACdzM,CAAAA,CAAAA,CACAyB,CACS,CAAA,CACT,OAAKA,CAAAA,CACE2K,EAAiBpM,CAAAA,CAAAA,CAASyB,CAAI,CAAA,EAAK,IADxB,CAAA,KAEpB,CAKO,SAASiL,EACd1M,CAAAA,CAAAA,CACAyB,CACS,CAAA,CACT,OAAI,CAACA,CAAQ,EAAA,CAACzB,CAAQ,CAAA,oBAAA,CAA6B,KAC5CmM,CAAAA,EAAAA,CAAqBnM,CAASyB,CAAAA,CAAI,GAAK,IAChD,CAAA,IAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CCpHakL,EAANznB,EAAAA,EAAAA,CAAA,KAAkB,CAUvB,WAAY4B,CAAAA,CAAAA,CAA4B,EAAC,CAAG,CAT5Cyb,CAAAA,CAAA,IAAAqK,CAAAA,CAAAA,CAAAA,CACArK,EAAA,IAAA2G,CAAAA,EAAAA,CAAAA,CACA3G,CAAA,CAAA,IAAA,CAAA0E,EACA1E,CAAAA,CAAAA,CAAAA,CAAA,IAAAsK,CAAAA,EAAAA,CAAAA,CACAtK,CAAA,CAAA,IAAA,CAAAuK,EACAvK,CAAAA,CAAAA,CAAAA,CAAA,IAAAwK,CAAAA,EAAAA,CAAAA,CACAxK,EAAA,IAAAyK,CAAAA,EAAAA,CAAAA,CACAzK,CAAA,CAAA,IAAA,CAAA0K,EAGEtK,CAAAA,CAAAA,CAAAA,CAAA,IAAKiK,CAAAA,CAAAA,CAAc9lB,CAAO,CAAA,UAAA,EAAc,IAAI0hB,EAAAA,CAAAA,CAC5C7F,CAAA,CAAA,IAAA,CAAKuG,EAAiBpiB,CAAAA,CAAAA,CAAO,aAAiB,EAAA,IAAI2jB,EAClD9H,CAAAA,CAAAA,CAAAA,CAAA,IAAKsE,CAAAA,EAAAA,CAAkBngB,CAAO,CAAA,cAAA,EAAkB,EAAC,CAAA,CACjD6b,CAAA,CAAA,IAAA,CAAKkK,EAAiB,CAAA,IAAI,KAC1BlK,CAAA,CAAA,IAAA,CAAKmK,EAAoB,CAAA,IAAI,GAC7BnK,CAAAA,CAAAA,CAAAA,CAAA,IAAKoK,CAAAA,EAAAA,CAAc,CACrB,EAAA,CAEA,KAAc,EAAA,CACZlC,EAAA,CAAA,IAAA,CAAKkC,IAAL,CACIlK,EAAAA,CAAAA,CAAAA,CAAA,IAAKkK,CAAAA,EAAAA,CAAAA,GAAgB,CAEzBpK,GAAAA,CAAAA,CAAA,IAAKqK,CAAAA,EAAAA,CAAoB/J,EAAa,CAAA,SAAA,CAAiBF,CAAYqG,EAAAA,CAAAA,CAAA,IAC7DrG,CAAAA,IAAAA,CAAAA,WAAAA,CAAAA,CAAAA,GACF,MAAM,IAAK,CAAA,qBAAA,EACXF,CAAAA,CAAAA,CAAA,IAAK+J,CAAAA,CAAAA,CAAAA,CAAY,OAAQ,EAAA,EAE7B,CAAC,CAAA,CAAA,CAAA,CACDjK,CAAA,CAAA,IAAA,CAAKsK,EAAqBzJ,CAAAA,EAAAA,CAAc,UAAiBD,CAAW6F,EAAAA,CAAAA,CAAA,IAC9D7F,CAAAA,IAAAA,CAAAA,WAAAA,CAAAA,CAAAA,GACF,MAAM,IAAA,CAAK,qBAAsB,EAAA,CACjCV,CAAA,CAAA,IAAA,CAAK+J,CAAY,CAAA,CAAA,QAAA,EAErB,EAAA,CAAA,CAAC,IACH,CAEA,OAAA,EAAgB,CACd/B,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAA,IAAKkC,CAAAA,EAAAA,CAAAA,CAAL,CACIlK,EAAAA,CAAAA,CAAAA,CAAA,IAAKkK,CAAAA,EAAAA,CAAAA,GAAgB,CAEzB7nB,GAAAA,CAAAA,CAAAA,CAAA2d,CAAA,CAAA,IAAA,CAAKmK,MAAL,IAAA9nB,EAAAA,CAAAA,CAAA,IACAyd,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAA,IAAKqK,CAAAA,EAAAA,CAAoB,MAEzB7nB,CAAAA,CAAAA,CAAAA,CAAAA,CAAA0d,CAAA,CAAA,IAAA,CAAKoK,EAAL,CAAA,GAAA,IAAA,EAAA9nB,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CACAwd,EAAA,IAAKsK,CAAAA,EAAAA,CAAqB,MAC5B,CAAA,EAAA,CAEA,UACE/N,CAAAA,CAAAA,CACQ,CACR,OAAO2D,CAAA,CAAA,IAAA,CAAK+J,CAAY,CAAA,CAAA,OAAA,CAAQ9nB,CAAAC,CAAAA,CAAAA,CAAA,EAAKma,CAAAA,CAAAA,CAAAA,CAAL,CAAc,WAAA,CAAa,UAAW,CAAA,CAAC,CACpE,CAAA,MACL,CAEA,UAAA,CAEEA,CAAoC,CAAA,CACpC,OAAO2D,CAAAA,CAAA,IAAKqG,CAAAA,EAAAA,CAAAA,CAAe,QAAQpkB,CAAAC,CAAAA,CAAAA,CAAA,EAAKma,CAAAA,CAAAA,CAAAA,CAAL,CAAc,MAAA,CAAQ,SAAU,CAAA,CAAC,CAAE,CAAA,MACxE,CASA,YAAA,CAIEI,CAA6D,CAAA,CAAA,IAAA,CAAA,CAC7D,IAAMU,CAAU,CAAA,IAAA,CAAK,mBAAoB,CAAA,CAAE,QAAAV,CAAAA,CAAS,CAAC,CAAA,CAErD,OAAOpa,CAAAA,CAAAA,CAAA2d,CAAA,CAAA,IAAA,CAAK+J,CAAY,CAAA,CAAA,GAAA,CAAI5M,EAAQ,SAAS,CAAA,GAAtC,IAAA9a,CAAAA,MAAAA,CAAAA,CAAAA,CAAyC,KAAM,CAAA,IAGxD,CAEA,eAAA,CAME8a,CACgB,CAAA,CAChB,IAAMkN,CAAAA,CAAmB,IAAK,CAAA,mBAAA,CAAoBlN,CAAO,CAAA,CACnD9b,CAAQ2e,CAAAA,CAAAA,CAAA,IAAK+J,CAAAA,CAAAA,CAAAA,CAAY,KAAM,CAAA,IAAA,CAAMM,CAAgB,CAAA,CACrDC,CAAajpB,CAAAA,CAAAA,CAAM,KAAM,CAAA,IAAA,CAE/B,OAAIipB,CAAAA,GAAe,OACV,IAAK,CAAA,UAAA,CAAWnN,CAAO,CAAA,EAI9BA,CAAQ,CAAA,iBAAA,EACR9b,CAAM,CAAA,aAAA,CAAc4a,EAAiBoO,CAAAA,CAAAA,CAAiB,SAAWhpB,CAAAA,CAAK,CAAC,CAAA,EAElE,KAAK,aAAcgpB,CAAAA,CAAgB,CAGnC,CAAA,OAAA,CAAQ,OAAQC,CAAAA,CAAU,CACnC,CAAA,CAEA,cAGEjO,CAAAA,CAAAA,CAAqE,CACrE,OAAO2D,CAAA,CAAA,IAAA,CAAK+J,GAAY,OAAQ1N,CAAAA,CAAO,CAAE,CAAA,GAAA,CAAI,CAAC,CAAE,QAAAI,CAAAA,CAAAA,CAAU,KAAAiI,CAAAA,CAAM,CAAM,GAAA,CACpE,IAAM9F,CAAAA,CAAO8F,CAAM,CAAA,IAAA,CACnB,OAAO,CAACjI,CAAUmC,CAAAA,CAAI,CACxB,CAAC,CACH,CAEA,YAKEnC,CAAAA,CAAAA,CACAd,CAIAwB,CAAAA,CAAAA,CAC2C,CAC3C,IAAMkN,EAAmB,IAAK,CAAA,mBAAA,CAM5B,CAAE,QAAA,CAAA5N,CAAS,CAAC,CAERpb,CAAAA,CAAAA,CAAQ2e,CAAA,CAAA,IAAA,CAAK+J,CAAY,CAAA,CAAA,GAAA,CAC7BM,CAAiB,CAAA,SACnB,EACM1L,CAAWtd,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAO,KAAM,CAAA,IAAA,CACxBud,CAAOlD,CAAAA,EAAAA,CAAiBC,CAASgD,CAAAA,CAAQ,CAE/C,CAAA,GAAIC,CAAS,GAAA,MAAA,CAIb,OAAOoB,CAAA,CAAA,IAAA,CAAK+J,CACT,CAAA,CAAA,KAAA,CAAM,IAAMM,CAAAA,CAAgB,CAC5B,CAAA,OAAA,CAAQzL,CAAM3c,CAAAA,CAAAA,CAAAC,CAAA,CAAA,EAAA,CAAKib,CAAL,CAAA,CAAA,CAAc,MAAQ,CAAA,IAAK,CAAC,CAAA,CAC/C,CAEA,cAAA,CAIEd,CACAV,CAAAA,CAAAA,CAIAwB,CAC6C,CAAA,CAC7C,OAAOsG,CAAAA,CAAc,KAAM,CAAA,IACzBzD,CAAA,CAAA,IAAA,CAAK+J,GACF,OAAQ1N,CAAAA,CAAO,CACf,CAAA,GAAA,CAAI,CAAC,CAAE,QAAAI,CAAAA,CAAS,CAAM,GAAA,CACrBA,CACA,CAAA,IAAA,CAAK,YAA2BA,CAAAA,CAAAA,CAAUd,EAASwB,CAAO,CAC5D,CAAC,CACL,CACF,CAEA,aAOEV,CAAAA,CAAAA,CAC8D,CAC9D,IAAA,CAAA,CAAA,IAAMU,CAAU,CAAA,IAAA,CAAK,mBAAoB,CAAA,CAAE,SAAAV,CAAS,CAAC,CACrD,CAAA,OAAA,CAAOpa,CAAA2d,CAAAA,CAAAA,CAAA,IAAK+J,CAAAA,CAAAA,CAAAA,CAAY,GACtB5M,CAAAA,CAAAA,CAAQ,SACV,CAAA,GAFO,IAAA9a,CAAAA,MAAAA,CAAAA,CAAAA,CAEJ,KACL,CAEA,aACEga,CAAAA,CAAAA,CACM,CACN,IAAMkO,CAAavK,CAAAA,CAAAA,CAAA,IAAK+J,CAAAA,CAAAA,CAAAA,CACxBtG,CAAc,CAAA,KAAA,CAAM,IAAM,CACxB8G,CAAW,CAAA,OAAA,CAAQlO,CAAO,CAAE,CAAA,OAAA,CAAShb,CAAU,EAAA,CAC7CkpB,CAAW,CAAA,MAAA,CAAOlpB,CAAK,EACzB,CAAC,EACH,CAAC,EACH,CAEA,YAAA,CACEgb,EACAc,CACe,CAAA,CACf,IAAMoN,CAAAA,CAAavK,CAAA,CAAA,IAAA,CAAK+J,CAExB,CAAA,CAAA,OAAOtG,CAAc,CAAA,KAAA,CAAM,KACzB8G,CAAAA,CAAW,OAAQlO,CAAAA,CAAO,EAAE,OAAShb,CAAAA,CAAAA,EAAU,CAC7CA,CAAAA,CAAM,KAAM,GACd,CAAC,CAAA,CACM,IAAK,CAAA,cAAA,CACVa,CAAA,CAAA,CACE,IAAM,CAAA,QAAA,CAAA,CACHma,CAELc,CAAAA,CAAAA,CACF,CACD,CAAA,CACH,CAEA,aAAA,CACEd,CACA0F,CAAAA,CAAAA,CAA+B,EAAC,CACjB,CACf,IAAMyI,CAAyBtoB,CAAAA,CAAAA,CAAA,CAAE,MAAA,CAAQ,MAAS6f,CAE5C0I,CAAAA,CAAAA,CAAAA,CAAWhH,CAAc,CAAA,KAAA,CAAM,IACnCzD,CAAAA,CAAA,IAAK+J,CAAAA,CAAAA,CAAAA,CACF,OAAQ1N,CAAAA,CAAO,CACf,CAAA,GAAA,CAAKhb,CAAUA,EAAAA,CAAAA,CAAM,OAAOmpB,CAAsB,CAAC,CACxD,CAAA,CAEA,OAAO,OAAA,CAAQ,GAAIC,CAAAA,CAAQ,CAAE,CAAA,IAAA,CAAKhP,CAAI,CAAA,CAAE,KAAMA,CAAAA,CAAI,CACpD,CAEA,iBAAA,CACEY,CACAc,CAAAA,CAAAA,CAA6B,EAAC,CACf,CACf,OAAOsG,CAAc,CAAA,KAAA,CAAM,IAAM,CAAA,IAAA,CAAA,CAAA,CAAA,CAK/B,OAJAzD,CAAAA,CAAA,IAAK+J,CAAAA,CAAAA,CAAAA,CAAY,OAAQ1N,CAAAA,CAAO,CAAE,CAAA,OAAA,CAAShb,CAAU,EAAA,CACnDA,CAAM,CAAA,UAAA,GACR,CAAC,CAEGgb,CAAAA,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAS,eAAgB,MACpB,CAAA,OAAA,CAAQ,OAAQ,EAAA,CAElB,IAAK,CAAA,cAAA,CACVpa,CAAAC,CAAAA,CAAAA,CAAA,EACKma,CAAAA,CAAAA,CAAAA,CADL,CAEE,IAAA,CAAA,CAAM/Z,CAAAD,CAAAA,CAAAA,CAAAA,CAAAga,GAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAS,WAAT,GAAA,IAAA,CAAAha,CAAwBga,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAS,IAAjC,GAAA,IAAA,CAAA/Z,CAAyC,CAAA,QACjD,CACA6a,CAAAA,CAAAA,CACF,CACF,CAAC,CACH,CAEA,cAAA,CACEd,CACAc,CAAAA,CAAAA,CAA0B,EAAC,CACZ,CACf,IAAA,CAAA,CAAA,IAAMkC,CAAepd,CAAAA,CAAAA,CAAAC,CAAA,CAAA,EAAA,CAChBib,CADgB,CAAA,CAAA,CAEnB,aAAe9a,CAAAA,CAAAA,CAAAA,CAAA8a,CAAQ,CAAA,aAAA,GAAR,IAAA9a,CAAAA,CAAAA,CAAyB,IAC1C,CAAA,CAAA,CACMooB,CAAWhH,CAAAA,CAAAA,CAAc,KAAM,CAAA,IACnCzD,CAAA,CAAA,IAAA,CAAK+J,GACF,OAAQ1N,CAAAA,CAAO,CACf,CAAA,MAAA,CAAQhb,CAAU,EAAA,CAACA,CAAM,CAAA,UAAA,EAAY,CAAA,CACrC,GAAKA,CAAAA,CAAAA,EAAU,CACd,IAAIujB,EAAUvjB,CAAM,CAAA,KAAA,CAAM,MAAWge,CAAAA,CAAY,CACjD,CAAA,OAAKA,CAAa,CAAA,YAAA,GAChBuF,CAAUA,CAAAA,CAAAA,CAAQ,KAAMnJ,CAAAA,CAAI,CAEvBpa,CAAAA,CAAAA,CAAAA,CAAM,MAAM,WAAgB,GAAA,QAAA,CAC/B,OAAQ,CAAA,OAAA,EACRujB,CAAAA,CACN,CAAC,CACL,CAEA,CAAA,OAAO,OAAQ,CAAA,GAAA,CAAI6F,CAAQ,CAAA,CAAE,IAAKhP,CAAAA,CAAI,CACxC,CAEA,UAOE0B,CAAAA,CAAAA,CAOgB,CAChB,IAAMkN,CAAmB,CAAA,IAAA,CAAK,mBAAoBlN,CAAAA,CAAO,CAGrDkN,CAAAA,CAAAA,CAAiB,KAAU,GAAA,MAAA,GAC7BA,EAAiB,KAAQ,CAAA,KAAA,CAAA,CAG3B,IAAMhpB,CAAAA,CAAQ2e,CAAA,CAAA,IAAA,CAAK+J,CAAY,CAAA,CAAA,KAAA,CAAM,IAAMM,CAAAA,CAAgB,CAE3D,CAAA,OAAOhpB,CAAM,CAAA,aAAA,CACX4a,GAAiBoO,CAAiB,CAAA,SAAA,CAAWhpB,CAAK,CACpD,CACIA,CAAAA,CAAAA,CAAM,KAAMgpB,CAAAA,CAAgB,CAC5B,CAAA,OAAA,CAAQ,OAAQhpB,CAAAA,CAAAA,CAAM,KAAM,CAAA,IAAa,CAC/C,CAEA,aAAA,CAME8b,CACe,CAAA,CACf,OAAO,IAAA,CAAK,UAAWA,CAAAA,CAAO,CAAE,CAAA,IAAA,CAAK1B,CAAI,CAAA,CAAE,KAAMA,CAAAA,CAAI,CACvD,CAEA,kBAOE0B,CAAAA,CAAAA,CAO0C,CAC1C,OAAAA,CAAQ,CAAA,QAAA,CAAWqL,EAKjBrL,CAAAA,CAAAA,CAAQ,KAAK,CAAA,CACR,IAAK,CAAA,UAAA,CAAWA,CAAc,CACvC,CAEA,qBAOEA,CAAAA,CAAAA,CAOe,CACf,OAAO,IAAK,CAAA,kBAAA,CAAmBA,CAAO,CAAA,CAAE,IAAK1B,CAAAA,CAAI,CAAE,CAAA,KAAA,CAAMA,CAAI,CAC/D,CAEA,uBAOE0B,CAAAA,CAAAA,CAO0C,CAC1C,OAAAA,CAAQ,CAAA,QAAA,CAAWqL,EAKjBrL,CAAAA,CAAAA,CAAQ,KAAK,CAAA,CAER,IAAK,CAAA,eAAA,CAAgBA,CAAc,CAC5C,CAEA,qBAA0C,EAAA,CACxC,OAAIwD,EAAAA,CAAc,QAAS,EAAA,CAClBX,CAAA,CAAA,IAAA,CAAKqG,EAAe,CAAA,CAAA,qBAAA,EAEtB,CAAA,OAAA,CAAQ,OAAQ,EACzB,CAEA,aAAA,EAA4B,CAC1B,OAAOrG,CAAA,CAAA,IAAA,CAAK+J,CACd,CAAA,CAEA,gBAAkC,EAAA,CAChC,OAAO/J,CAAAA,CAAA,IAAKqG,CAAAA,EAAAA,CACd,CAEA,iBAAA,EAAoC,CAClC,OAAOrG,CAAAA,CAAA,IAAKoE,CAAAA,EAAAA,CACd,CAEA,iBAAA,CAAkBjH,CAA+B,CAAA,CAC/C2C,CAAA,CAAA,IAAA,CAAKsE,EAAkBjH,CAAAA,CAAAA,EACzB,CAEA,gBAAA,CAMEV,EACAU,CAMM,CAAA,CACN6C,CAAA,CAAA,IAAA,CAAKgK,EAAe,CAAA,CAAA,GAAA,CAAI9M,EAAQT,CAAAA,CAAQ,CAAG,CAAA,CACzC,QAAAA,CAAAA,CAAAA,CACA,cAAgBU,CAAAA,CAClB,CAAC,EACH,CAEA,gBACEV,CAAAA,CAAAA,CACsE,CACtE,IAAMiO,CAAW,CAAA,CAAC,GAAG1K,CAAAA,CAAA,IAAKgK,CAAAA,EAAAA,CAAAA,CAAe,MAAO,EAAC,CAE3C7f,CAAAA,CAAAA,CAGF,EAAC,CAEL,OAAAugB,CAAAA,CAAS,OAASC,CAAAA,CAAAA,EAAiB,CAC7B/N,EAAAA,CAAgBH,CAAUkO,CAAAA,CAAAA,CAAa,QAAQ,CAAA,EACjD,MAAO,CAAA,MAAA,CAAOxgB,EAAQwgB,CAAa,CAAA,cAAc,EAErD,CAAC,CACMxgB,CAAAA,CACT,CAEA,mBAAA,CAME8S,CACAE,CAAAA,CAAAA,CAIM,CACN6C,CAAAA,CAAA,IAAKiK,CAAAA,EAAAA,CAAAA,CAAkB,IAAI/M,EAAQD,CAAAA,CAAW,CAAG,CAAA,CAC/C,WAAAA,CAAAA,CAAAA,CACA,cAAgBE,CAAAA,CAClB,CAAC,EACH,CAEA,mBAAA,CACEF,CACuE,CAAA,CACvE,IAAMyN,CAAW,CAAA,CAAC,GAAG1K,CAAAA,CAAA,IAAKiK,CAAAA,EAAAA,CAAAA,CAAkB,MAAO,EAAC,CAE9C9f,CAAAA,CAAAA,CAGF,EAAC,CAEL,OAAAugB,CAAAA,CAAS,OAASC,CAAAA,CAAAA,EAAiB,CAC7B/N,EAAAA,CAAgBK,CAAa0N,CAAAA,CAAAA,CAAa,WAAW,CAAA,EACvD,MAAO,CAAA,MAAA,CAAOxgB,CAAQwgB,CAAAA,CAAAA,CAAa,cAAc,EAErD,CAAC,CAAA,CAEMxgB,CACT,CAEA,mBAAA,CAQEgT,CAsBA,CAAA,CACA,GAAIA,CAAAA,CAAQ,UACV,CAAA,OAAOA,CAST,CAAA,IAAMkN,CAAmBpoB,CAAAA,CAAAA,CAAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CACpB8d,EAAA,IAAKoE,CAAAA,EAAAA,CAAAA,CAAgB,OACrB,CAAA,CAAA,IAAA,CAAK,gBAAiBjH,CAAAA,CAAAA,CAAQ,QAAQ,CAAA,CAAA,CACtCA,CAHoB,CAAA,CAAA,CAIvB,UAAY,CAAA,IACd,CAEA,CAAA,CAAA,OAAKkN,EAAiB,SACpBA,GAAAA,CAAAA,CAAiB,SAAY1N,CAAAA,EAAAA,CAC3B0N,CAAiB,CAAA,QAAA,CACjBA,CACF,CAAA,CAAA,CAIEA,CAAiB,CAAA,kBAAA,GAAuB,MAC1CA,GAAAA,CAAAA,CAAiB,kBACfA,CAAAA,CAAAA,CAAiB,WAAgB,GAAA,QAAA,CAAA,CAEjCA,CAAiB,CAAA,YAAA,GAAiB,MACpCA,GAAAA,CAAAA,CAAiB,YAAe,CAAA,CAAC,CAACA,CAAAA,CAAiB,QAGjD,CAAA,CAAA,CAACA,CAAiB,CAAA,WAAA,EAAeA,CAAiB,CAAA,SAAA,GACpDA,EAAiB,WAAc,CAAA,cAAA,CAAA,CAG7BA,CAAiB,CAAA,OAAA,GAAYlL,EAC/BkL,GAAAA,CAAAA,CAAiB,OAAU,CAAA,KAAA,CAAA,CAGtBA,CAOT,CAEA,sBACElN,CAAAA,CAAAA,CACG,CACH,OAAIA,GAAA,IAAAA,EAAAA,CAAAA,CAAS,UACJA,CAAAA,CAAAA,CAEFlb,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,EACF8d,CAAAA,CAAAA,CAAA,IAAKoE,CAAAA,EAAAA,CAAAA,CAAgB,SACpBjH,CAAAA,CAAAA,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAS,cACX,IAAK,CAAA,mBAAA,CAAoBA,CAAQ,CAAA,WAAW,CAC3CA,CAAAA,CAAAA,CAAAA,CAAAA,CAJE,CAKL,UAAA,CAAY,IACd,CAAA,CACF,CAEA,KAAA,EAAc,CACZ6C,CAAAA,CAAA,IAAK+J,CAAAA,CAAAA,CAAAA,CAAY,KAAM,EAAA,CACvB/J,CAAA,CAAA,IAAA,CAAKqG,EAAe,CAAA,CAAA,KAAA,GACtB,CACF,CA3kBE0D,CAAAA,CAAAA,CAAA,IACA1D,OAAAA,CAAAA,EAAAA,CAAA,IACAjC,OAAAA,CAAAA,EAAAA,CAAA,YACA4F,EAAA,CAAA,IAAA,OAAA,CACAC,EAAA,CAAA,IAAA,OAAA,CACAC,EAAA,CAAA,IAAA,OAAA,CACAC,EAAA,CAAA,IAAA,OAAA,CACAC,EAAA,CAAA,IAAA,OAAA,CARK/nB,ECtBMuoB,CAAAA,CAAAA,IAAAA,EAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,EAANtoB,EAAA,CAAA,cAMGgZ,EAAmD,CAyB3D,WAAA,CACEuK,CACO1I,CAAAA,CAAAA,CAOP,CACA,KAAA,EAzCGuC,CAAAA,CAAAA,CAAA,IAAAmL,CAAAA,CAAAA,CAAAA,CAOLnL,CAAA,CAAA,IAAA,CAAAwE,EACAxE,CAAAA,CAAAA,CAAAA,CAAA,KAAAoL,CACApL,CAAAA,CAAAA,CAAAA,CAAA,IAAAqL,CAAAA,EAAAA,CAAAA,CACArL,CAAA,CAAA,IAAA,CAAAsL,EACAtL,CAAAA,CAAAA,CAAAA,CAAA,IAAAuL,CAAAA,EAAAA,CAAAA,CACAvL,CAAA,CAAA,IAAA,CAAAwL,EAOAxL,CAAAA,CAAAA,CAAAA,CAAA,IAAAyL,CAAAA,EAAAA,CAAAA,CACAzL,CAAA,CAAA,IAAA,CAAA0L,EACA1L,CAAAA,CAAAA,CAAAA,CAAA,IAAA2L,CAAAA,EAAAA,CAAAA,CACA3L,CAAA,CAAA,IAAA,CAAA4L,EAGA5L,CAAAA,CAAAA,CAAAA,CAAA,IAAA6L,CAAAA,EAAAA,CAAAA,CACA7L,CAAA,CAAA,IAAA,CAAA8L,IACA9L,CAAA,CAAA,IAAA,CAAA+L,EACA/L,CAAAA,CAAAA,CAAAA,CAAA,IAAAgM,CAAAA,EAAAA,CAAAA,CACAhM,CAAA,CAAA,IAAA,CAAAiM,EAAgB,CAAA,IAAI,GAIX,CAAA,CAAA,IAAA,CAAA,OAAAxO,CAAAA,CAAAA,CAUP2C,EAAA,IAAKoE,CAAAA,EAAAA,CAAU2B,CACf/F,CAAAA,CAAAA,CAAAA,CAAA,IAAKsL,CAAAA,EAAAA,CAAe,IACpBtL,CAAAA,CAAAA,CAAAA,CAAA,IAAKqL,CAAAA,EAAAA,CAAmBvK,EAAgB,EAAA,CAAA,CACnC,IAAK,CAAA,OAAA,CAAQ,+BAChBZ,CAAA,CAAA,IAAA,CAAKmL,EAAiB,CAAA,CAAA,MAAA,CACpB,IAAI,KAAA,CAAM,2DAA2D,CACvE,CAGF,CAAA,IAAA,CAAK,WAAY,EAAA,CACjB,IAAK,CAAA,UAAA,CAAWhO,CAAO,EACzB,CAEU,WAAA,EAAoB,CAC5B,IAAA,CAAK,OAAU,CAAA,IAAA,CAAK,OAAQ,CAAA,IAAA,CAAK,IAAI,EACvC,CAEU,WAAA,EAAoB,CACxB,IAAA,CAAK,UAAU,IAAS,GAAA,CAAA,GAC1B6C,CAAA,CAAA,IAAA,CAAK8K,CAAc,CAAA,CAAA,WAAA,CAAY,IAAI,CAAA,CAE/Bc,EAAmB5L,CAAAA,CAAAA,CAAA,IAAK8K,CAAAA,CAAAA,CAAAA,CAAe,IAAK,CAAA,OAAO,EACrDtG,CAAA,CAAA,IAAA,CAAKqG,CAAAgB,CAAAA,EAAAA,CAAAA,CAAL,IAEA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAK,YAAa,EAAA,CAGpBrH,CAAA,CAAA,IAAA,CAAKqG,CAAAiB,CAAAA,EAAAA,CAAAA,CAAL,IAEJ,CAAA,IAAA,CAAA,EAAA,CAEU,eAAsB,CACzB,IAAA,CAAK,YAAa,EAAA,EACrB,IAAK,CAAA,OAAA,GAET,CAEA,sBAAkC,EAAA,CAChC,OAAOC,EAAAA,CACL/L,CAAA,CAAA,IAAA,CAAK8K,CACL,CAAA,CAAA,IAAA,CAAK,OACL,CAAA,IAAA,CAAK,OAAQ,CAAA,kBACf,CACF,CAEA,wBAAoC,EAAA,CAClC,OAAOiB,EAAAA,CACL/L,CAAA,CAAA,IAAA,CAAK8K,CACL,CAAA,CAAA,IAAA,CAAK,QACL,IAAK,CAAA,OAAA,CAAQ,oBACf,CACF,CAEA,OAAA,EAAgB,CACd,IAAA,CAAK,SAAY,CAAA,IAAI,GACrBtG,CAAAA,CAAAA,CAAA,IAAKqG,CAAAA,CAAAA,CAAAmB,IAAL,IACAxH,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAA,IAAKqG,CAAAA,CAAAA,CAAAoB,EAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CACAjM,CAAA,CAAA,IAAA,CAAK8K,CAAc,CAAA,CAAA,cAAA,CAAe,IAAI,EACxC,CAEA,UAAA,CACE3N,EAOM,CACN,IAAM+O,CAAc,CAAA,IAAA,CAAK,OACnBC,CAAAA,CAAAA,CAAYnM,CAAA,CAAA,IAAA,CAAK8K,CAIvB,CAAA,CAAA,GAFA,IAAK,CAAA,OAAA,CAAU9K,CAAA,CAAA,IAAA,CAAKkE,EAAQ,CAAA,CAAA,mBAAA,CAAoB/G,CAAO,CAAA,CAGrD,IAAK,CAAA,OAAA,CAAQ,OAAY,GAAA,MAAA,EACzB,OAAO,IAAA,CAAK,OAAQ,CAAA,OAAA,EAAY,SAChC,EAAA,OAAO,IAAK,CAAA,OAAA,CAAQ,SAAY,UAChC,EAAA,OAAOjB,EAAe,CAAA,IAAA,CAAK,OAAQ,CAAA,OAAA,CAAS8D,CAAA,CAAA,IAAA,CAAK8K,CAAa,CAAA,CAAA,EAC5D,SAEF,CAAA,MAAM,IAAI,KAAA,CACR,uEACF,CAGFtG,CAAAA,CAAAA,CAAA,IAAKqG,CAAAA,CAAAA,CAAAuB,EAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CACApM,CAAA,CAAA,IAAA,CAAK8K,CAAc,CAAA,CAAA,UAAA,CAAW,IAAK,CAAA,OAAO,CAGxCoB,CAAAA,CAAAA,CAAY,YACZ,CAAChO,EAAAA,CAAoB,IAAK,CAAA,OAAA,CAASgO,CAAW,CAAA,EAE9ClM,CAAA,CAAA,IAAA,CAAKkE,EAAQ,CAAA,CAAA,aAAA,EAAgB,CAAA,MAAA,CAAO,CAClC,IAAA,CAAM,wBACN,CAAA,KAAA,CAAOlE,CAAA,CAAA,IAAA,CAAK8K,CACZ,CAAA,CAAA,QAAA,CAAU,IACZ,CAAC,CAGH,CAAA,IAAMuB,CAAU,CAAA,IAAA,CAAK,YAAa,EAAA,CAIhCA,CACAC,EAAAA,EAAAA,CACEtM,EAAA,IAAK8K,CAAAA,CAAAA,CAAAA,CACLqB,CACA,CAAA,IAAA,CAAK,OACLD,CAAAA,CACF,CAEA1H,EAAAA,CAAAA,CAAA,IAAKqG,CAAAA,CAAAA,CAAAgB,EAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAIF,IAAK,CAAA,YAAA,GAIHQ,CACCrM,GAAAA,CAAAA,CAAA,IAAK8K,CAAAA,CAAAA,CAAAA,GAAkBqB,CACtBjQ,EAAAA,EAAAA,CAAe,IAAK,CAAA,OAAA,CAAQ,OAAS8D,CAAAA,CAAAA,CAAA,IAAK8K,CAAAA,CAAAA,CAAa,CACrD5O,GAAAA,EAAAA,CAAegQ,EAAY,OAASlM,CAAAA,CAAAA,CAAA,IAAK8K,CAAAA,CAAAA,CAAa,CACxD7O,EAAAA,EAAAA,CAAiB,IAAK,CAAA,OAAA,CAAQ,SAAW+D,CAAAA,CAAAA,CAAA,IAAK8K,CAAAA,CAAAA,CAAa,CACzD7O,GAAAA,EAAAA,CAAiBiQ,CAAY,CAAA,SAAA,CAAWlM,CAAA,CAAA,IAAA,CAAK8K,CAAa,CAAA,CAAA,CAAA,EAE9DtG,CAAA,CAAA,IAAA,CAAKqG,CAAA0B,CAAAA,EAAAA,CAAAA,CAAL,IAGF,CAAA,IAAA,CAAA,CAAA,IAAMC,CAAsBhI,CAAAA,CAAAA,CAAA,IAAKqG,CAAAA,CAAAA,CAAA4B,IAAL,IAI1BJ,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,GACCrM,CAAA,CAAA,IAAA,CAAK8K,CAAkBqB,CAAAA,GAAAA,CAAAA,EACtBjQ,EAAe,CAAA,IAAA,CAAK,OAAQ,CAAA,OAAA,CAAS8D,CAAA,CAAA,IAAA,CAAK8K,CAAa,CAAA,CAAA,GACrD5O,GAAegQ,CAAY,CAAA,OAAA,CAASlM,CAAA,CAAA,IAAA,CAAK8K,CAAa,CAAA,CAAA,EACxD0B,CAAwBxM,GAAAA,CAAAA,CAAA,IAAK0L,CAAAA,EAAAA,CAAAA,CAAAA,EAE/BlH,CAAA,CAAA,IAAA,CAAKqG,CAAA6B,CAAAA,EAAAA,CAAAA,CAAL,UAA4BF,CAEhC,EAAA,CAEA,mBACErP,CAAAA,CAAAA,CAOoC,CACpC,IAAM9b,CAAQ2e,CAAAA,CAAAA,CAAA,IAAKkE,CAAAA,EAAAA,CAAAA,CAAQ,aAAc,EAAA,CAAE,KAAMlE,CAAAA,CAAAA,CAAA,IAAKkE,CAAAA,EAAAA,CAAAA,CAAS/G,CAAO,CAAA,CAEhEhT,CAAS,CAAA,IAAA,CAAK,YAAa9I,CAAAA,CAAAA,CAAO8b,CAAO,CAAA,CAE/C,OAAIwP,EAAAA,CAAsC,IAAMxiB,CAAAA,CAAM,CAiBpD2V,GAAAA,CAAAA,CAAA,KAAKkL,EAAiB7gB,CAAAA,CAAAA,CAAAA,CACtB2V,CAAA,CAAA,IAAA,CAAKoL,EAAwB,CAAA,IAAA,CAAK,OAClCpL,CAAAA,CAAAA,CAAAA,CAAA,IAAKmL,CAAAA,EAAAA,CAAsBjL,CAAA,CAAA,IAAA,CAAK8K,CAAc,CAAA,CAAA,KAAA,CAAA,CAAA,CAEzC3gB,CACT,CAEA,gBAAA,EAAuD,CACrD,OAAO6V,CAAA,CAAA,IAAA,CAAKgL,EACd,CAAA,CAEA,WACE7gB,CAAAA,CAAAA,CACAyiB,CACoC,CAAA,CACpC,OAAO,IAAI,MAAMziB,CAAQ,CAAA,CACvB,GAAK,CAAA,CAAC0iB,CAAQrrB,CAAAA,CAAAA,IACZ,IAAK,CAAA,SAAA,CAAUA,CAAgC,CAAA,CAC/CorB,CAAA,EAAA,IAAA,EAAAA,CAAgBprB,CAAAA,CAAAA,CAAAA,CACT,OAAQ,CAAA,GAAA,CAAIqrB,CAAQrrB,CAAAA,CAAG,CAElC,CAAA,CAAC,CACH,CAEA,SAAUA,CAAAA,CAAAA,CAAgC,CACxCwe,CAAAA,CAAA,IAAK2L,CAAAA,EAAAA,CAAAA,CAAc,GAAInqB,CAAAA,CAAG,EAC5B,CAEA,eAAA,EAAsE,CACpE,OAAOwe,CAAA,CAAA,IAAA,CAAK8K,CACd,CAAA,CAEA,OAAQzoB,CAAAA,CAAAA,CAAiC,EAAC,CAExC,CAFM,IAAK8a,EAAA3F,CAALnV,CAAAA,CAAAA,CAAK,EAGX,CAAA,CAAA,OAAO,IAAK,CAAA,KAAA,CAAMH,CAAA,CAAA,EAAA,CACbib,CACJ,CAAA,CACH,CAEA,eAAA,CACEA,CAO6C,CAAA,CAC7C,IAAMkN,CAAmBrK,CAAAA,CAAAA,CAAA,IAAKkE,CAAAA,EAAAA,CAAAA,CAAQ,mBAAoB/G,CAAAA,CAAO,CAE3D9b,CAAAA,CAAAA,CAAQ2e,CAAA,CAAA,IAAA,CAAKkE,EAChB,CAAA,CAAA,aAAA,EACA,CAAA,KAAA,CAAMlE,CAAA,CAAA,IAAA,CAAKkE,EAASmG,CAAAA,CAAAA,CAAgB,CAEvC,CAAA,OAAOhpB,CAAM,CAAA,KAAA,EAAQ,CAAA,IAAA,CAAK,IAAM,IAAA,CAAK,YAAaA,CAAAA,CAAAA,CAAOgpB,CAAgB,CAAC,CAC5E,CAEU,KAAA,CACRhL,CAC6C,CAAA,CAAA,IAAA,CAAA,CAC7C,OAAOmF,CAAAA,CAAA,IAAKqG,CAAAA,CAAAA,CAAAgB,EAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAmB5pB,CAAAC,CAAAA,CAAAA,CAAA,EACrBmd,CAAAA,CAAAA,CAAAA,CADqB,CAExB,aAAehd,CAAAA,CAAAA,CAAAA,CAAAgd,CAAa,CAAA,aAAA,GAAb,IAAAhd,CAAAA,CAAAA,CAA8B,IAC/C,CAAA,CAAA,CAAA,CAAG,IAAK,CAAA,KACN,IAAK,CAAA,YAAA,EACE2d,CAAAA,CAAAA,CAAA,KAAKgL,EACb,CAAA,CAAA,CACH,CAgGU,YAAA,CACR3pB,CACA8b,CAAAA,CAAAA,CAOoC,CACpC,IAAA,CAAA,CAAA,IAAMgP,CAAYnM,CAAAA,CAAAA,CAAA,IAAK8K,CAAAA,CAAAA,CAAAA,CACjBoB,CAAc,CAAA,IAAA,CAAK,OACnBY,CAAAA,CAAAA,CAAa9M,CAAA,CAAA,IAAA,CAAKgL,EAGlB+B,CAAAA,CAAAA,CAAAA,CAAkB/M,CAAA,CAAA,IAAA,CAAKiL,EACvB+B,CAAAA,CAAAA,CAAAA,CAAoBhN,CAAA,CAAA,IAAA,CAAKkL,EAEzB+B,CAAAA,CAAAA,CAAAA,CADc5rB,CAAU8qB,GAAAA,CAAAA,CAE1B9qB,EAAM,KACN2e,CAAAA,CAAAA,CAAA,IAAK+K,CAAAA,EAAAA,CAAAA,CAEH,CAAE,KAAA,CAAArG,CAAM,CAAA,CAAIrjB,CACd6rB,CAAAA,CAAAA,CAAWhrB,CAAA,CAAA,EAAA,CAAKwiB,CAChByI,CAAAA,CAAAA,CAAAA,CAAoB,MACpBvO,CAGJ,CAAA,GAAIzB,CAAQ,CAAA,kBAAA,CAAoB,CAC9B,IAAMkP,CAAU,CAAA,IAAA,CAAK,YAAa,EAAA,CAE5Be,CAAe,CAAA,CAACf,CAAWT,EAAAA,EAAAA,CAAmBvqB,EAAO8b,CAAO,CAAA,CAE5DkQ,CACJhB,CAAAA,CAAAA,EAAWC,EAAsBjrB,CAAAA,CAAAA,CAAO8qB,CAAWhP,CAAAA,CAAAA,CAAS+O,CAAW,CAAA,CAAA,CAErEkB,CAAgBC,EAAAA,CAAAA,IAClBH,CAAWhrB,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,EACNgrB,CAAAA,CAAAA,CAAAA,CACA1H,EAAWd,CAAAA,CAAAA,CAAM,IAAMrjB,CAAAA,CAAAA,CAAM,OAAO,CAAA,CAAA,CAAA,CAGvC8b,CAAQ,CAAA,kBAAA,GAAuB,aACjC+P,GAAAA,CAAAA,CAAS,WAAc,CAAA,MAAA,EAE3B,CAEA,GAAI,CAAE,KAAArO,CAAAA,CAAAA,CAAO,cAAAyO,CAAAA,CAAAA,CAAgB,MAAAtQ,CAAAA,CAAO,CAAIkQ,CAAAA,CAAAA,CAGxCtO,CAAOsO,CAAAA,CAAAA,CAAS,IAChB,CAAA,IAAIK,CAAa,CAAA,KAAA,CAGjB,GACEpQ,CAAQ,CAAA,eAAA,GAAoB,MAC5ByB,EAAAA,CAAAA,GAAS,MACT5B,EAAAA,CAAAA,GAAW,SACX,CAAA,CACA,IAAIwQ,CAAAA,CAIFV,CAAA,EAAA,IAAA,EAAAA,CAAY,CAAA,iBAAA,EACZ3P,EAAQ,eAAoB6P,IAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAmB,eAE/CQ,CAAAA,EAAAA,CAAAA,CAAkBV,CAAW,CAAA,IAAA,CAG7BS,CAAa,CAAA,IAAA,EAGbC,CACE,CAAA,OAAOrQ,CAAQ,CAAA,eAAA,EAAoB,UAE7BA,CAAAA,CAAAA,CAAQ,eAER9a,CAAAA,CAAAA,CAAAA,CAAA2d,CAAA,CAAA,IAAA,CAAKuL,EAAL,CAAA,GAAA,IAAA,CAAA,MAAA,CAAAlpB,CAAgC,CAAA,KAAA,CAAM,IACtC2d,CAAAA,CAAAA,CAAA,IAAKuL,CAAAA,EAAAA,CACP,CACApO,CAAAA,CAAAA,CAAQ,gBAGZqQ,CAAoB,GAAA,MAAA,GACtBxQ,CAAS,CAAA,SAAA,CACT4B,CAAOF,CAAAA,EAAAA,CACLoO,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAY,CAAA,IAAA,CACZU,CACArQ,CAAAA,CACF,CACAgQ,CAAAA,CAAAA,CAAoB,MAExB,CAIA,GAAIhQ,CAAQ,CAAA,MAAA,EAAUyB,CAAS,GAAA,MAAA,EAAa,CAAC2O,CAAAA,CAE3C,GACET,CAAAA,EACAlO,CAASmO,IAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAiB,OAC1B5P,CAAQ,CAAA,MAAA,GAAW6C,CAAA,CAAA,IAAA,CAAKqL,EAExBzM,CAAAA,CAAAA,CAAAA,CAAOoB,CAAA,CAAA,IAAA,CAAKsL,EAEZ,CAAA,CAAA,KAAA,GAAI,CACFxL,CAAAA,CAAA,IAAKuL,CAAAA,EAAAA,CAAYlO,CAAQ,CAAA,MAAA,CAAA,CACzByB,CAAOzB,CAAAA,CAAAA,CAAQ,MAAOyB,CAAAA,CAAW,CACjCA,CAAAA,CAAAA,CAAOF,EAAYoO,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA,CAAY,IAAMlO,CAAAA,CAAAA,CAAMzB,CAAO,CAAA,CAClD2C,EAAA,IAAKwL,CAAAA,EAAAA,CAAgB1M,CACrBkB,CAAAA,CAAAA,CAAAA,CAAA,IAAKsL,CAAAA,EAAAA,CAAe,IACtB,EAAA,CAAA,MAASqC,CAAa,CAAA,CACpB3N,CAAA,CAAA,IAAA,CAAKsL,EAAeqC,CAAAA,CAAAA,EACtB,CAIAzN,CAAA,CAAA,IAAA,CAAKoL,EACPvM,CAAAA,GAAAA,CAAAA,CAAQmB,CAAA,CAAA,IAAA,CAAKoL,EACbxM,CAAAA,CAAAA,CAAAA,CAAOoB,CAAA,CAAA,IAAA,CAAKsL,EACZgC,CAAAA,CAAAA,CAAAA,CAAiB,IAAK,CAAA,GAAA,GACtBtQ,CAAS,CAAA,OAAA,CAAA,CAGX,IAAM0Q,CAAAA,CAAaR,CAAS,CAAA,WAAA,GAAgB,UACtCS,CAAAA,CAAAA,CAAY3Q,CAAW,GAAA,SAAA,CACvB4Q,CAAU5Q,CAAAA,CAAAA,GAAW,OAErBzC,CAAAA,CAAAA,CAAYoT,CAAaD,EAAAA,CAAAA,CACzBjI,CAAU7G,CAAAA,CAAAA,GAAS,MAgCnBiP,CAAAA,CAAAA,CA9BiD,CACrD,MAAA,CAAA7Q,CACA,CAAA,WAAA,CAAakQ,CAAS,CAAA,WAAA,CACtB,SAAAS,CAAAA,CAAAA,CACA,SAAW3Q,CAAAA,CAAAA,GAAW,UACtB,OAAA4Q,CAAAA,CAAAA,CACA,gBAAkBrT,CAAAA,CAAAA,CAClB,SAAAA,CAAAA,CAAAA,CACA,IAAAqE,CAAAA,CAAAA,CACA,aAAesO,CAAAA,CAAAA,CAAS,aACxB,CAAA,KAAA,CAAArO,CACA,CAAA,cAAA,CAAAyO,EACA,YAAcJ,CAAAA,CAAAA,CAAS,iBACvB,CAAA,aAAA,CAAeA,CAAS,CAAA,kBAAA,CACxB,gBAAkBA,CAAAA,CAAAA,CAAS,gBAC3B,CAAA,SAAA,CAAWA,CAAS,CAAA,eAAA,CAAkB,CAAKA,EAAAA,CAAAA,CAAS,iBAAmB,CACvE,CAAA,mBAAA,CACEA,CAAS,CAAA,eAAA,CAAkBD,CAAkB,CAAA,eAAA,EAC7CC,CAAS,CAAA,gBAAA,CAAmBD,CAAkB,CAAA,gBAAA,CAChD,UAAAS,CAAAA,CAAAA,CACA,YAAcA,CAAAA,CAAAA,EAAc,CAACC,CAAAA,CAC7B,cAAgBC,CAAAA,CAAAA,EAAW,CAACnI,CAAAA,CAC5B,QAAUyH,CAAAA,CAAAA,CAAS,WAAgB,GAAA,QAAA,CACnC,iBAAAC,CAAAA,CAAAA,CACA,cAAgBS,CAAAA,CAAAA,EAAWnI,CAC3B,CAAA,OAAA,CAASqI,GAAQzsB,CAAO8b,CAAAA,CAAO,CAC/B,CAAA,OAAA,CAAS,IAAK,CAAA,OAAA,CACd,OAAS6C,CAAAA,CAAAA,CAAA,IAAKmL,CAAAA,EAAAA,CAChB,CAIA,CAAA,GAAI,IAAK,CAAA,OAAA,CAAQ,8BAA+B,CAC9C,IAAM4C,CAA8BjN,CAAAA,EAAAA,EAAqC,CACnE+M,CAAAA,CAAW,MAAW,GAAA,OAAA,CACxB/M,EAAS,CAAA,MAAA,CAAO+M,CAAW,CAAA,KAAK,CACvBA,CAAAA,CAAAA,CAAW,OAAS,MAC7B/M,EAAAA,EAAAA,CAAS,OAAQ+M,CAAAA,CAAAA,CAAW,IAAI,EAEpC,CAKMG,CAAAA,CAAAA,CAAmB,IAAM,CAC7B,IAAMC,EAAAA,CACHnO,CAAA,CAAA,IAAA,CAAKqL,EACN0C,CAAAA,CAAAA,CAAW,OACTjN,CAAAA,EAAAA,EAEJmN,CAAAA,CAAAA,CAAAA,CAA2BE,EAAO,EACpC,CAEMC,CAAAA,CAAAA,CAAelO,CAAA,CAAA,IAAA,CAAKmL,EAC1B,CAAA,CAAA,OAAQ+C,CAAa,CAAA,MAAA,EACnB,KAAK,SAAA,CAGC7sB,CAAM,CAAA,SAAA,GAAc8qB,CAAU,CAAA,SAAA,EAChC4B,CAA2BG,CAAAA,CAAY,CAEzC,CAAA,MACF,KAAK,WAAA,CAAA,CAEDL,CAAW,CAAA,MAAA,GAAW,SACtBA,CAAW,CAAA,IAAA,GAASK,CAAa,CAAA,KAAA,GAEjCF,CAAiB,EAAA,CAEnB,MACF,KAAK,UAEDH,CAAAA,CAAAA,CAAAA,CAAW,MAAW,GAAA,OAAA,EACtBA,CAAW,CAAA,KAAA,GAAUK,EAAa,MAElCF,GAAAA,CAAAA,EAEF,CAAA,KACJ,CACF,CAEA,OAAOH,CACT,CAEA,YAAA,EAAqB,CACnB,IAAMf,CAAa9M,CAAAA,CAAAA,CAAA,IAAKgL,CAAAA,EAAAA,CAAAA,CAIlB6C,CAAa,CAAA,IAAA,CAAK,YAAa7N,CAAAA,CAAAA,CAAA,IAAK8K,CAAAA,CAAAA,CAAAA,CAAe,IAAK,CAAA,OAAO,CAUrE,CAAA,GARAhL,CAAA,CAAA,IAAA,CAAKmL,EAAsBjL,CAAAA,CAAAA,CAAA,KAAK8K,CAAc,CAAA,CAAA,KAAA,CAAA,CAC9ChL,CAAA,CAAA,IAAA,CAAKoL,EAAwB,CAAA,IAAA,CAAK,OAE9BlL,CAAAA,CAAAA,CAAAA,CAAA,IAAKiL,CAAAA,EAAAA,CAAAA,CAAoB,IAAS,GAAA,MAAA,EACpCnL,CAAA,CAAA,IAAA,CAAKyL,GAA4BvL,CAAA,CAAA,IAAA,CAAK8K,CAIpC5M,CAAAA,CAAAA,CAAAA,EAAAA,CAAoB2P,CAAYf,CAAAA,CAAU,CAC5C,CAAA,OAGFhN,CAAA,CAAA,IAAA,CAAKkL,EAAiB6C,CAAAA,CAAAA,CAAAA,CAEtB,IAAMM,CAAAA,CAAwB,IAAe,CAC3C,GAAI,CAACrB,CAAAA,CACH,OAAO,KAAA,CAGT,GAAM,CAAE,mBAAAsB,CAAAA,CAAoB,CAAI,CAAA,IAAA,CAAK,OAC/BC,CAAAA,CAAAA,CACJ,OAAOD,CAAAA,EAAwB,UAC3BA,CAAAA,CAAAA,EACAA,CAAAA,CAAAA,CAEN,GACEC,CAAAA,GAA6B,KAC5B,EAAA,CAACA,CAA4B,EAAA,CAACrO,CAAA,CAAA,IAAA,CAAK2L,EAAc,CAAA,CAAA,IAAA,CAElD,OAAO,KAGT,CAAA,IAAM2C,CAAgB,CAAA,IAAI,GACxBD,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,CAAAA,CAA4BrO,CAAA,CAAA,IAAA,CAAK2L,EACnC,CAAA,CAAA,CAEA,OAAI,IAAA,CAAK,QAAQ,YACf2C,EAAAA,CAAAA,CAAc,GAAI,CAAA,OAAO,CAGpB,CAAA,MAAA,CAAO,IAAKtO,CAAAA,CAAAA,CAAA,IAAKgL,CAAAA,EAAAA,CAAc,CAAE,CAAA,IAAA,CAAMxpB,CAAQ,EAAA,CACpD,IAAM+sB,CAAW/sB,CAAAA,CAAAA,CAGjB,OAFgBwe,CAAAA,CAAA,IAAKgL,CAAAA,EAAAA,CAAAA,CAAeuD,CAAQ,CAAA,GAAMzB,CAAWyB,CAAAA,CAAQ,CAEnDD,EAAAA,CAAAA,CAAc,GAAIC,CAAAA,CAAQ,CAC9C,CAAC,CACH,CAAA,CAEA/J,CAAA,CAAA,IAAA,CAAKqG,CAAA2D,CAAAA,EAAAA,CAAAA,CAAL,IAAa,CAAA,IAAA,CAAA,CAAE,SAAWL,CAAAA,CAAAA,EAAwB,CAAA,EACpD,CAqBA,aAAA,EAAsB,CACpB,IAAK,CAAA,YAAA,EAED,CAAA,IAAA,CAAK,YAAa,EAAA,EACpB3J,CAAA,CAAA,IAAA,CAAKqG,CAAAiB,CAAAA,EAAAA,CAAAA,CAAL,IAEJ,CAAA,IAAA,EAAA,CAkBF,CAlrBE5H,CAAAA,EAAAA,CAAA,YACA4G,CAAA,CAAA,IAAA,OAAA,CACAC,EAAA,CAAA,IAAA,OAAA,CACAC,EAAA,CAAA,IAAA,OAAA,CACAC,EAAA,CAAA,IAAA,OAAA,CACAC,EAAA,CAAA,IAAA,OAAA,CAOAC,EAAA,CAAA,IAAA,OAAA,CACAC,EAAA,CAAA,IAAA,OAAA,CACAC,GAAA,IACAC,OAAAA,CAAAA,EAAAA,CAAA,IAGAC,OAAAA,CAAAA,EAAAA,CAAA,IACAC,OAAAA,CAAAA,EAAAA,CAAA,IACAC,OAAAA,CAAAA,EAAAA,CAAA,IACAC,OAAAA,CAAAA,EAAAA,CAAA,IACAC,OAAAA,CAAAA,EAAAA,CAAA,IA7BKd,OAAAA,CAAAA,CAAAA,CAAA,IA+RLgB,OAAAA,CAAAA,EAAAA,CAAA,SACExM,CAAAA,CACiC,CAEjCmF,CAAAA,CAAA,IAAKqG,CAAAA,CAAAA,CAAAuB,EAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAGA,IAAIxH,CAAAA,CAA2C5E,CAAA,CAAA,IAAA,CAAK8K,CAAc,CAAA,CAAA,KAAA,CAChE,KAAK,OACLzL,CAAAA,CACF,CAEA,CAAA,OAAKA,CAAA,EAAA,IAAA,EAAAA,CAAc,CAAA,YAAA,GACjBuF,CAAUA,CAAAA,CAAAA,CAAQ,KAAMnJ,CAAAA,CAAI,CAGvBmJ,CAAAA,CAAAA,CACT,EAEA2H,EAAA,CAAA,UAA4B,CAC1B/H,CAAAA,CAAA,IAAKqG,CAAAA,CAAAA,CAAAmB,EAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CACA,IAAMhQ,CAAAA,CAAYC,EAChB,CAAA,IAAA,CAAK,OAAQ,CAAA,SAAA,CACb+D,EAAA,IAAK8K,CAAAA,CAAAA,CACP,CAEA,CAAA,GAAItP,EAAYwE,EAAAA,CAAAA,CAAA,IAAKgL,CAAAA,EAAAA,CAAAA,CAAe,OAAW,EAAA,CAACnP,EAAeG,CAAAA,CAAS,CACtE,CAAA,OAOF,IAAMwC,CAAAA,CAJO1C,EAAekE,CAAAA,CAAAA,CAAA,IAAKgL,CAAAA,EAAAA,CAAAA,CAAe,aAAehP,CAAAA,CAAS,CAIjD,CAAA,CAAA,CAEvB8D,CAAA,CAAA,IAAA,CAAK0L,EAAkB,CAAA,UAAA,CAAW,IAAM,CACjCxL,EAAA,IAAKgL,CAAAA,EAAAA,CAAAA,CAAe,OACvB,EAAA,IAAA,CAAK,YAAa,GAEtB,CAAGxM,CAAAA,CAAO,CACZ,EAAA,CAAA,CAEAiO,EAAA,CAAA,UAA0B,CACxB,IAAA,CAAA,CAAA,OAAA,CACGpqB,EAAA,OAAO,IAAA,CAAK,OAAQ,CAAA,eAAA,EAAoB,UACrC,CAAA,IAAA,CAAK,OAAQ,CAAA,eAAA,CAAgB2d,CAAA,CAAA,IAAA,CAAK8K,CAAa,CAAA,CAAA,CAC/C,IAAK,CAAA,OAAA,CAAQ,kBAFhB,IAAAzoB,CAAAA,CAAAA,CAEoC,KAEzC,CAAA,CAEAqqB,EAAA,CAAA,SAAuB+B,CAAoC,CAAA,CACzDjK,CAAA,CAAA,IAAA,CAAKqG,CAAAoB,CAAAA,EAAAA,CAAAA,CAAL,IAEAnM,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAA,IAAK4L,CAAAA,EAAAA,CAA0B+C,CAG7B,CAAA,CAAA,EAAAjT,EACAU,EAAAA,EAAAA,CAAe,IAAK,CAAA,OAAA,CAAQ,OAAS8D,CAAAA,CAAAA,CAAA,IAAK8K,CAAAA,CAAAA,CAAa,CAAM,GAAA,KAAA,EAC7D,CAACjP,EAAAA,CAAemE,EAAA,IAAK0L,CAAAA,EAAAA,CAAuB,CAC5C1L,EAAAA,CAAAA,CAAA,IAAK0L,CAAAA,EAAAA,CAAAA,GAA4B,CAKnC5L,CAAAA,EAAAA,CAAAA,CAAA,IAAK2L,CAAAA,EAAAA,CAAqB,WAAY,CAAA,IAAM,CAExC,CAAA,IAAA,CAAK,QAAQ,2BACbrL,EAAAA,EAAAA,CAAa,SAAU,EAAA,GAEvBoE,CAAA,CAAA,IAAA,CAAKqG,CAAAgB,CAAAA,EAAAA,CAAAA,CAAL,IAEJ,CAAA,IAAA,EAAA,CAAA,CAAG7L,CAAA,CAAA,IAAA,CAAK0L,EAAuB,CAAA,CAAA,EACjC,EAEAI,EAAA,CAAA,UAAsB,CACpBtH,CAAAA,CAAA,IAAKqG,CAAAA,CAAAA,CAAA0B,EAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CACA/H,CAAA,CAAA,IAAA,CAAKqG,CAAA6B,CAAAA,EAAAA,CAAAA,CAAL,IAA4BlI,CAAAA,IAAAA,CAAAA,CAAAA,CAAA,IAAKqG,CAAAA,CAAAA,CAAA4B,EAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,EAC9B,CAEAT,CAAAA,EAAAA,CAAA,UAA2B,CACrBhM,CAAA,CAAA,IAAA,CAAKwL,EACP,CAAA,GAAA,YAAA,CAAaxL,CAAA,CAAA,IAAA,CAAKwL,EAAe,CAAA,CAAA,CACjC1L,EAAA,IAAK0L,CAAAA,EAAAA,CAAkB,MAE3B,CAAA,EAAA,CAAA,CAEAS,EAAA,CAAA,UAA8B,CACxBjM,CAAAA,CAAA,IAAKyL,CAAAA,EAAAA,CAAAA,GACP,aAAczL,CAAAA,CAAAA,CAAA,IAAKyL,CAAAA,EAAAA,CAAkB,EACrC3L,CAAA,CAAA,IAAA,CAAK2L,EAAqB,CAAA,MAAA,CAAA,EAE9B,CAmRAW,CAAAA,EAAAA,CAAA,UAAqB,CACnB,IAAM/qB,CAAAA,CAAQ2e,CAAA,CAAA,IAAA,CAAKkE,EAAQ,CAAA,CAAA,aAAA,GAAgB,KAAMlE,CAAAA,CAAAA,CAAA,IAAKkE,CAAAA,EAAAA,CAAAA,CAAS,IAAK,CAAA,OAAO,CAE3E,CAAA,GAAI7iB,CAAU2e,GAAAA,CAAAA,CAAA,IAAK8K,CAAAA,CAAAA,CAAAA,CACjB,OAGF,IAAMqB,CAAYnM,CAAAA,CAAAA,CAAA,IAAK8K,CAAAA,CAAAA,CAAAA,CAGvBhL,CAAA,CAAA,IAAA,CAAKgL,CAAgBzpB,CAAAA,CAAAA,CAAAA,CACrBye,CAAA,CAAA,IAAA,CAAKiL,EAA4B1pB,CAAAA,CAAAA,CAAM,KAEnC,CAAA,CAAA,IAAA,CAAK,YAAa,EAAA,GACpB8qB,GAAA,IAAAA,EAAAA,CAAAA,CAAW,cAAe,CAAA,IAAA,CAAA,CAC1B9qB,CAAM,CAAA,WAAA,CAAY,IAAI,CAAA,EAE1B,CAUAmtB,CAAAA,EAAAA,CAAA,SAAQE,CAAAA,CAA6C,CACnDjL,CAAAA,CAAc,MAAM,IAAM,CAEpBiL,CAAc,CAAA,SAAA,EAChB,IAAK,CAAA,SAAA,CAAU,OAASnT,CAAAA,CAAAA,EAAa,CACnCA,CAAAA,CAASyE,CAAA,CAAA,IAAA,CAAKgL,EAAc,CAAA,EAC9B,CAAC,CAIHhL,CAAAA,CAAAA,CAAA,IAAKkE,CAAAA,EAAAA,CAAAA,CAAQ,aAAc,EAAA,CAAE,MAAO,CAAA,CAClC,KAAOlE,CAAAA,CAAAA,CAAA,IAAK8K,CAAAA,CAAAA,CAAAA,CACZ,IAAM,CAAA,wBACR,CAAC,EACH,CAAC,EACH,CAxrBKxoB,CAAAA,EAAAA,CAAAA,CA2rBP,SAASqsB,EAAAA,CACPttB,CACA8b,CAAAA,CAAAA,CACS,CACT,OACEjB,EAAeiB,CAAAA,CAAAA,CAAQ,OAAS9b,CAAAA,CAAK,IAAM,KAC3CA,EAAAA,CAAAA,CAAM,KAAM,CAAA,IAAA,GAAS,MACrB,EAAA,EAAEA,CAAM,CAAA,KAAA,CAAM,MAAW,GAAA,OAAA,EAAW8b,CAAQ,CAAA,YAAA,GAAiB,KAEjE,CAAA,CAEA,SAASyO,EACPvqB,CAAAA,CAAAA,CACA8b,CACS,CAAA,CACT,OACEwR,EAAAA,CAAkBttB,CAAO8b,CAAAA,CAAO,CAC/B9b,EAAAA,CAAAA,CAAM,KAAM,CAAA,IAAA,GAAS,MACpB0qB,EAAAA,EAAAA,CAAc1qB,EAAO8b,CAASA,CAAAA,CAAAA,CAAQ,cAAc,CAE1D,CAEA,SAAS4O,EACP1qB,CAAAA,CAAAA,CACA8b,CACAyR,CAAAA,CAAAA,CAGA,CACA,GAAI1S,EAAeiB,CAAAA,CAAAA,CAAQ,OAAS9b,CAAAA,CAAK,CAAM,GAAA,KAAA,CAAO,CACpD,IAAMW,CAAQ,CAAA,OAAO4sB,CAAU,EAAA,UAAA,CAAaA,CAAMvtB,CAAAA,CAAK,CAAIutB,CAAAA,CAAAA,CAE3D,OAAO5sB,CAAAA,GAAU,UAAaA,CAAU,GAAA,KAAA,EAAS8rB,EAAQzsB,CAAAA,CAAAA,CAAO8b,CAAO,CACzE,CACA,OAAO,MACT,CAEA,SAASmP,EAAAA,CACPjrB,CACA8qB,CAAAA,CAAAA,CACAhP,EACA+O,CACS,CAAA,CACT,OACG7qB,CAAAA,CAAAA,GAAU8qB,CACTjQ,EAAAA,EAAAA,CAAegQ,CAAY,CAAA,OAAA,CAAS7qB,CAAK,CAAA,GAAM,KAChD,IAAA,CAAC8b,CAAQ,CAAA,QAAA,EAAY9b,EAAM,KAAM,CAAA,MAAA,GAAW,OAC7CysB,CAAAA,EAAAA,EAAAA,CAAQzsB,CAAO8b,CAAAA,CAAO,CAE1B,CAEA,SAAS2Q,EAAAA,CACPzsB,CACA8b,CAAAA,CAAAA,CACS,CACT,OACEjB,EAAeiB,CAAAA,CAAAA,CAAQ,OAAS9b,CAAAA,CAAK,CAAM,GAAA,KAAA,EAC3CA,CAAM,CAAA,aAAA,CAAc4a,EAAiBkB,CAAAA,CAAAA,CAAQ,SAAW9b,CAAAA,CAAK,CAAC,CAElE,CAIA,SAASsrB,GAOP9H,CACAgK,CAAAA,CAAAA,CACA,CAGA,OAAK,CAAA3Q,EAAAA,CAAoB2G,CAAS,CAAA,gBAAA,EAAoBgK,CAAAA,CAAgB,CAMxE,CCzxBO,IAAMC,EAAAA,CAAN,cAOGlE,EAMR,CA8BA,WACE/E,CAAAA,CAAAA,CACA1I,CAQA,CAAA,CACA,KAAM0I,CAAAA,CAAAA,CAAQ1I,CAAO,EACvB,CAEU,WAAA,EAAoB,CAC5B,KAAA,CAAM,aACN,CAAA,IAAA,CAAK,aAAgB,CAAA,IAAA,CAAK,aAAc,CAAA,IAAA,CAAK,IAAI,CAAA,CACjD,IAAK,CAAA,iBAAA,CAAoB,IAAK,CAAA,iBAAA,CAAkB,IAAK,CAAA,IAAI,EAC3D,CAEA,UACEA,CAAAA,CAAAA,CAQM,CACN,KAAA,CAAM,UAAWlb,CAAAA,CAAAA,CAAAC,CAAA,CAAA,EAAA,CACZib,CADY,CAAA,CAAA,CAEf,QAAUqL,CAAAA,EAAAA,EACZ,CAAA,CAAC,EACH,CAEA,mBAAA,CACErL,CAQ4C,CAAA,CAC5C,OAAAA,CAAAA,CAAQ,QAAWqL,CAAAA,EAAAA,EACZ,CAAA,KAAA,CAAM,mBAAoBrL,CAAAA,CAAO,CAI1C,CAEA,cACEA,CACqD,CAAA,CACrD,OAAO,IAAA,CAAK,KAAMlb,CAAAA,CAAAA,CAAAC,CAAA,CAAA,EAAA,CACbib,CADa,CAAA,CAAA,CAEhB,IAAM,CAAA,CACJ,SAAW,CAAA,CAAE,UAAW,SAAU,CACpC,CACF,CAAA,CAAC,CACH,CAEA,iBACEA,CAAAA,CAAAA,CACqD,CACrD,OAAO,IAAK,CAAA,KAAA,CAAMlb,CAAAC,CAAAA,CAAAA,CAAA,EACbib,CAAAA,CAAAA,CAAAA,CADa,CAEhB,IAAA,CAAM,CACJ,SAAA,CAAW,CAAE,SAAA,CAAW,UAAW,CACrC,CACF,CAAA,CAAC,CACH,CAEU,YACR9b,CAAAA,CAAAA,CAMA8b,EAQ4C,CAC5C,IAAA,CAAA,CAAA,CAAA,CAAA,GAAM,CAAE,KAAA,CAAAuH,CAAM,CAAA,CAAIrjB,CACZ0tB,CAAAA,CAAAA,CAAe,KAAM,CAAA,YAAA,CAAa1tB,CAAO8b,CAAAA,CAAO,CAEhD,CAAA,CAAE,WAAAuQ,CAAY,CAAA,YAAA,CAAAsB,CAAc,CAAA,OAAA,CAAApB,CAAS,CAAA,cAAA,CAAAqB,CAAe,CAAA,CAAIF,CACxDG,CAAAA,CAAAA,CAAAA,CAAiB5sB,CAAAD,CAAAA,CAAAA,CAAAA,CAAAqiB,CAAM,CAAA,SAAA,GAAN,YAAAriB,CAAiB,CAAA,SAAA,GAAjB,IAAAC,CAAAA,MAAAA,CAAAA,CAAAA,CAA4B,SAE7C6sB,CAAAA,CAAAA,CAAuBvB,CAAWsB,EAAAA,CAAAA,GAAmB,SACrDE,CAAAA,CAAAA,CAAqB1B,CAAcwB,EAAAA,CAAAA,GAAmB,SAEtDG,CAAAA,CAAAA,CAA2BzB,CAAWsB,EAAAA,CAAAA,GAAmB,UACzDI,CAAAA,CAAAA,CAAyB5B,CAAcwB,EAAAA,CAAAA,GAAmB,UAkBhE,CAAA,OAhB+DjtB,CAAAC,CAAAA,CAAAA,CAAA,EAC1D6sB,CAAAA,CAAAA,CAAAA,CAD0D,CAE7D,aAAA,CAAe,IAAK,CAAA,aAAA,CACpB,kBAAmB,IAAK,CAAA,iBAAA,CACxB,WAAanF,CAAAA,EAAAA,CAAYzM,CAASuH,CAAAA,CAAAA,CAAM,IAAI,CAAA,CAC5C,eAAiBmF,CAAAA,EAAAA,CAAgB1M,CAASuH,CAAAA,CAAAA,CAAM,IAAI,CAAA,CACpD,qBAAAyK,CACA,CAAA,kBAAA,CAAAC,CACA,CAAA,wBAAA,CAAAC,CACA,CAAA,sBAAA,CAAAC,CACA,CAAA,cAAA,CACEL,CAAkB,EAAA,CAACE,CAAwB,EAAA,CAACE,CAC9C,CAAA,YAAA,CACEL,GAAgB,CAACI,CAAAA,EAAsB,CAACE,CAC5C,CAGF,CAAA,CACF,CCxKaC,CAAAA,IAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,CAAAA,EAAAA,EAANltB,EAAA,CAAA,cAKGiZ,EAER,CASA,WACEuK,CAAAA,CAAAA,CACA1I,CACA,CAAA,CACA,KAAM,EAAA,CApBHuC,CAAA,CAAA,IAAA,CAAA8P,EAUL9P,CAAAA,CAAAA,CAAAA,CAAA,IAAAwE,CAAAA,EAAAA,CAAAA,CACAxE,CAAA,CAAA,IAAA,CAAAsL,EAEAtL,CAAAA,CAAAA,CAAAA,CAAA,IAAA+P,CAAAA,EAAAA,CAAAA,CACA/P,EAAA,IAAAgQ,CAAAA,EAAAA,CAAAA,CAQE5P,CAAA,CAAA,IAAA,CAAKoE,EAAU2B,CAAAA,CAAAA,CAAAA,CACf,IAAK,CAAA,UAAA,CAAW1I,CAAO,CAAA,CACvB,IAAK,CAAA,WAAA,EACLqH,CAAAA,CAAAA,CAAA,KAAKgL,EAAAG,CAAAA,EAAAA,CAAAA,CAAL,IACF,CAAA,IAAA,EAAA,CAEU,WAAoB,EAAA,CAC5B,IAAK,CAAA,MAAA,CAAS,IAAK,CAAA,MAAA,CAAO,IAAK,CAAA,IAAI,CACnC,CAAA,IAAA,CAAK,MAAQ,IAAK,CAAA,KAAA,CAAM,IAAK,CAAA,IAAI,EACnC,CAEA,UACExS,CAAAA,CAAAA,CACA,CACA,IAAA,CAAA,CAAA,IAAM+O,CAAc,CAAA,IAAA,CAAK,OAGzB,CAAA,IAAA,CAAK,OAAUlM,CAAAA,CAAAA,CAAA,IAAKkE,CAAAA,EAAAA,CAAAA,CAAQ,sBAAuB/G,CAAAA,CAAO,CACrDe,CAAAA,EAAAA,CAAoB,IAAK,CAAA,OAAA,CAASgO,CAAW,CAAA,EAChDlM,CAAA,CAAA,IAAA,CAAKkE,EAAQ,CAAA,CAAA,gBAAA,GAAmB,MAAO,CAAA,CACrC,IAAM,CAAA,wBAAA,CACN,QAAUlE,CAAAA,CAAAA,CAAA,IAAKyP,CAAAA,EAAAA,CAAAA,CACf,QAAU,CAAA,IACZ,CAAC,CAAA,CAIDvD,CAAA,EAAA,IAAA,EAAAA,EAAa,WACb,EAAA,IAAA,CAAK,OAAQ,CAAA,WAAA,EACbhP,EAAQgP,CAAAA,CAAAA,CAAY,WAAW,CAAA,GAAMhP,EAAQ,CAAA,IAAA,CAAK,OAAQ,CAAA,WAAW,CAErE,CAAA,IAAA,CAAK,OACI7a,CAAAA,CAAAA,CAAAA,CAAAA,CAAA2d,CAAA,CAAA,IAAA,CAAKyP,EAAL,CAAA,GAAA,IAAA,CAAA,MAAA,CAAAptB,CAAuB,CAAA,KAAA,CAAM,MAAW,IAAA,SAAA,EACjD2d,CAAA,CAAA,IAAA,CAAKyP,EAAiB,CAAA,CAAA,UAAA,CAAW,IAAK,CAAA,OAAO,EAEjD,CAEU,aAAsB,EAAA,CAAA,IAAA,CAAA,CACzB,IAAK,CAAA,YAAA,EACRptB,EAAAA,CAAAA,CAAAA,CAAA2d,CAAA,CAAA,IAAA,CAAKyP,EAAL,CAAA,GAAA,IAAA,EAAAptB,CAAuB,CAAA,cAAA,CAAe,MAE1C,CAEA,gBAAA,CAAiBijB,CAA2D,CAAA,CAC1Ed,CAAA,CAAA,IAAA,CAAKgL,EAAAG,CAAAA,EAAAA,CAAAA,CAAL,IAEAnL,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAA,IAAKgL,CAAAA,EAAAA,CAAAhB,EAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAalJ,GACf,CAEA,gBAAA,EAKE,CACA,OAAOtF,CAAA,CAAA,IAAA,CAAKgL,EACd,CAAA,CAEA,KAAc,EAAA,CAAA,IAAA,CAAA,CAAA,CAGZ3oB,CAAA2d,CAAAA,CAAAA,CAAA,IAAKyP,CAAAA,EAAAA,CAAAA,GAAL,MAAAptB,CAAuB,CAAA,cAAA,CAAe,IACtCyd,CAAAA,CAAAA,CAAAA,CAAA,IAAK2P,CAAAA,EAAAA,CAAmB,MACxBjL,CAAAA,CAAAA,CAAAA,CAAA,IAAKgL,CAAAA,EAAAA,CAAAG,EAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CACAnL,CAAA,CAAA,IAAA,CAAKgL,EAAAhB,CAAAA,EAAAA,CAAAA,CAAL,IACF,CAAA,IAAA,EAAA,CAEA,MACElI,CAAAA,CAAAA,CACAnJ,CACgB,CAAA,CAAA,IAAA,CAAA,CAChB,OAAA2C,CAAAA,CAAA,IAAK4P,CAAAA,EAAAA,CAAiBvS,CAEtB9a,CAAAA,CAAAA,CAAAA,CAAAA,CAAA2d,CAAA,CAAA,IAAA,CAAKyP,MAAL,IAAAptB,EAAAA,CAAAA,CAAuB,cAAe,CAAA,IAAA,CAAA,CAEtCyd,CAAA,CAAA,IAAA,CAAK2P,EAAmBzP,CAAAA,CAAAA,CAAA,IAAKkE,CAAAA,EAAAA,CAAAA,CAC1B,gBAAiB,EAAA,CACjB,KAAMlE,CAAAA,CAAAA,CAAA,KAAKkE,EAAS,CAAA,CAAA,IAAA,CAAK,OAAO,CAAA,CAAA,CAEnClE,CAAA,CAAA,IAAA,CAAKyP,EAAiB,CAAA,CAAA,WAAA,CAAY,IAAI,CAAA,CAE/BzP,CAAA,CAAA,IAAA,CAAKyP,EAAiB,CAAA,CAAA,OAAA,CAAQnJ,CAAS,CAChD,CA6CF,CA3IEpC,CAAAA,EAAAA,CAAA,IACA8G,OAAAA,CAAAA,EAAAA,CAAA,IAEAyE,OAAAA,CAAAA,EAAAA,CAAA,IACAC,OAAAA,CAAAA,EAAAA,CAAA,IAdKF,OAAAA,CAAAA,EAAAA,CAAA,IA0GLG,OAAAA,CAAAA,EAAAA,CAAA,UAAsB,CAAA,IAAA,CAAA,CAAA,CAAA,CACpB,IAAMjL,CAAAA,CAAAA,CACJpiB,CAAAD,CAAAA,CAAAA,CAAAA,CAAA2d,CAAA,CAAA,IAAA,CAAKyP,EAAL,CAAA,GAAA,IAAA,CAAA,MAAA,CAAAptB,CAAuB,CAAA,KAAA,GAAvB,IAAAC,CAAAA,CAAAA,CACAgiB,EAAqD,EAAA,CAEvDxE,EAAA,IAAKkL,CAAAA,EAAAA,CAAiB/oB,CAAAC,CAAAA,CAAAA,CAAA,EACjBwiB,CAAAA,CAAAA,CAAAA,CADiB,CAEpB,SAAA,CAAWA,CAAM,CAAA,MAAA,GAAW,SAC5B,CAAA,SAAA,CAAWA,CAAM,CAAA,MAAA,GAAW,UAC5B,OAASA,CAAAA,CAAAA,CAAM,MAAW,GAAA,OAAA,CAC1B,MAAQA,CAAAA,CAAAA,CAAM,MAAW,GAAA,MAAA,CACzB,MAAQ,CAAA,IAAA,CAAK,MACb,CAAA,KAAA,CAAO,IAAK,CAAA,KACd,IACF,CAEA8J,CAAAA,EAAAA,CAAA,SAAQlJ,CAAAA,CAA4D,CAClE7B,CAAAA,CAAc,KAAM,CAAA,IAAM,CAExB,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAIzD,CAAA,CAAA,IAAA,CAAK0P,EAAkB,CAAA,EAAA,IAAA,CAAK,YAAa,EAAA,CAAG,CAC9C,IAAMpJ,CAAYtG,CAAAA,CAAAA,CAAA,IAAKgL,CAAAA,EAAAA,CAAAA,CAAe,SAChC5F,CAAAA,CAAAA,CAAUpF,CAAA,CAAA,IAAA,CAAKgL,EAAe,CAAA,CAAA,OAAA,CAAA,CAEhC1F,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAQ,IAAS,IAAA,SAAA,EAAA,CACnBhjB,CAAAD,CAAAA,CAAAA,CAAAA,CAAA2d,CAAA,CAAA,IAAA,CAAK0P,EAAe,CAAA,EAAA,SAAA,GAApB,IAAAptB,EAAAA,CAAAA,CAAA,IAAAD,CAAAA,CAAAA,CAAgCijB,CAAO,CAAA,IAAA,CAAMgB,EAAWlB,CACxD5iB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAD,CAAAyd,CAAAA,CAAAA,CAAA,IAAK0P,CAAAA,EAAAA,CAAAA,EAAe,SAApB,GAAA,IAAA,EAAAltB,CAAA,CAAA,IAAA,CAAAD,CAAgC+iB,CAAAA,CAAAA,CAAO,IAAM,CAAA,IAAA,CAAMgB,EAAWlB,CACrDE,CAAAA,EAAAA,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAQ,IAAS,IAAA,OAAA,GAAA,CAC1BuB,CAAAF,CAAAA,CAAAA,CAAAA,CAAA3G,CAAA,CAAA,IAAA,CAAK0P,EAAe,CAAA,EAAA,OAAA,GAApB,IAAA7I,EAAAA,CAAAA,CAAA,IAAAF,CAAAA,CAAAA,CAA8BrB,CAAO,CAAA,KAAA,CAAOgB,CAAWlB,CAAAA,CAAAA,CAAAA,CAAAA,CACvD2B,CAAAH,CAAAA,CAAAA,CAAAA,CAAA5G,CAAA,CAAA,IAAA,CAAK0P,EAAe,CAAA,EAAA,SAAA,GAApB,IAAA3I,EAAAA,CAAAA,CAAA,IAAAH,CAAAA,CAAAA,CACE,OACAtB,CAAO,CAAA,KAAA,CACPgB,CACAlB,CAAAA,CAAAA,CAAAA,EAGN,CAGA,IAAA,CAAK,SAAU,CAAA,OAAA,CAAS7J,CAAa,EAAA,CACnCA,CAASyE,CAAAA,CAAAA,CAAA,IAAKgL,CAAAA,EAAAA,CAAc,EAC9B,CAAC,EACH,CAAC,EACH,CApJK3oB,CAAAA,EAAAA,CAAAA,CChBA,IAAMutB,GAA2BC,YACtC,CAAA,aAAA,CAAA,MACF,CAEaC,CAAAA,EAAAA,CAAkBC,CAA8B,EAAA,CAC3D,IAAMlK,CAAAA,CAAegK,YAAWD,CAAAA,UAAAA,CAAAA,EAAkB,CAElD,CAIA,GAAI,CAAC/J,CAAAA,CACH,MAAM,IAAI,KAAM,CAAA,wDAAwD,CAG1E,CAAA,OAAOA,CACT,CAAA,CClBA,IAAMmK,GAA2BC,YAAc,CAAA,aAAA,CAAA,KAAK,CAEvCC,CAAAA,EAAAA,CAAiB,IAAYD,YAAA,CAAA,UAAA,CAAWD,EAAkB,CAAA,CACpCA,EAAAA,CAAmB,SCQtD,SAASG,EAA4C,EAAA,CACnD,IAAIC,CAAAA,CAAU,KACd,CAAA,OAAO,CACL,UAAA,CAAY,IAAM,CAChBA,EAAU,MACZ,CAAA,CACA,KAAO,CAAA,IAAM,CACXA,CAAAA,CAAU,KACZ,CAAA,CACA,OAAS,CAAA,IACAA,CAEX,CACF,CAEA,IAAMC,EAAuC,CAAAC,YAAA,CAAA,aAAA,CAAcH,EAAY,EAAC,CAI3DI,CAAAA,EAAAA,CAA6B,IAClCD,YAAA,CAAA,UAAA,CAAWD,EAA8B,CAAA,CCtB1C,IAAMG,EAAkC,CAAA,CAO7CrT,EAOAsT,CACG,GAAA,CAAA,CAEDtT,CAAQ,CAAA,QAAA,EACRA,CAAQ,CAAA,YAAA,EACRA,CAAQ,CAAA,6BAAA,IAGHsT,CAAmB,CAAA,OAAA,EACtBtT,GAAAA,CAAAA,CAAQ,YAAe,CAAA,KAAA,CAAA,EAG7B,EAEauT,EACXD,CAAAA,CAAAA,EACG,CACGE,YAAA,CAAA,SAAA,CAAU,IAAM,CACpBF,CAAmB,CAAA,UAAA,GACrB,CAAA,CAAG,CAACA,CAAkB,CAAC,EACzB,EAEaG,EAAc,CAAA,CAMzB,CACA,MAAA,CAAAzmB,CACA,CAAA,kBAAA,CAAAsmB,CACA,CAAA,YAAA,CAAAlR,CACA,CAAA,KAAA,CAAAle,CACA,CAAA,QAAA,CAAAwvB,CACF,CAAA,GAQI1mB,CAAO,CAAA,OAAA,EACP,CAACsmB,CAAAA,CAAmB,OAAQ,EAAA,EAC5B,CAACtmB,CAAAA,CAAO,UACR9I,EAAAA,CAAAA,GACEwvB,CAAY1mB,EAAAA,CAAAA,CAAO,IAAS,GAAA,MAAA,EAC5BmV,EAAiBC,CAAAA,CAAAA,CAAc,CAACpV,CAAO,CAAA,KAAA,CAAO9I,CAAK,CAAC,CCrDnD,CAAA,CAAA,IAAMyvB,EACXzG,CAAAA,CAAAA,EACG,CACH,IAAM0G,CAAoB1G,CAAAA,CAAAA,CAAiB,SAEvCA,CAAAA,CAAAA,CAAiB,WAGnBA,CAAiB,CAAA,SAAA,CACf,OAAO0G,CAAAA,EAAsB,UACzB,CAAA,CAAA,GAAIxN,CAAS,GAAA,IAAA,CAAK,GAAIwN,CAAAA,CAAAA,CAAkB,GAAGxN,CAAI,CAAG,CAAA,GAAI,EACtD,IAAK,CAAA,GAAA,CAAIwN,CAAA,EAAA,IAAA,CAAAA,CAAqB,CAAA,GAAA,CAAM,GAAI,CAAA,CAE1C,OAAO1G,CAAAA,CAAiB,MAAW,EAAA,QAAA,GACrCA,CAAiB,CAAA,MAAA,CAAS,IAAK,CAAA,GAAA,CAAIA,CAAiB,CAAA,MAAA,CAAQ,GAAI,CAAA,CAAA,EAGtE,CAEa2G,CAAAA,EAAAA,CAAY,CACvB7mB,CAAAA,CACA8mB,CACG9mB,GAAAA,CAAAA,CAAO,SAAaA,EAAAA,CAAAA,CAAO,UAAc,EAAA,CAAC8mB,EAElCC,EAAgB,CAAA,CAC3B7G,CAGAlgB,CAAAA,CAAAA,GAAAA,CACGkgB,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAkB,CAAA,QAAA,GAAYlgB,CAAO,CAAA,SAAA,CAE7BgnB,EAAkB,CAAA,CAO7B9G,CAOAxF,CAAAA,CAAAA,CACA4L,IAEA5L,CAAS,CAAA,eAAA,CAAgBwF,CAAgB,CAAA,CAAE,KAAM,CAAA,IAAM,CACrDoG,CAAAA,CAAmB,UAAW,GAChC,CAAC,CAAA,CC5CI,SAASW,EAAAA,CAOdjU,CAOAkU,CAAAA,CAAAA,CACAtB,CACoC,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACpC,GAAI,OAAA,CAAQ,GAAI,CAAA,QAAA,GAAa,YACvB,GAAA,OAAO5S,CAAY,EAAA,QAAA,EAAY,KAAM,CAAA,OAAA,CAAQA,CAAO,CAAA,CAAA,CACtD,MAAM,IAAI,KACR,CAAA,8RACF,CAIJ,CAAA,IAAM0I,CAASiK,CAAAA,EAAAA,CAA0B,CAAA,CACnCmB,CAAcf,CAAAA,EAAAA,GACdO,CAAqBF,CAAAA,EAAAA,EACrBlG,CAAAA,CAAAA,CAAmBxE,CAAO,CAAA,mBAAA,CAAoB1I,CAAO,CAAA,CAAA,CAEzD7a,CAAAD,CAAAA,CAAAA,CAAAA,CAAAwjB,CAAO,CAAA,iBAAA,EAAoB,CAAA,OAAA,GAA3B,YAAAxjB,CAA4C,CAAA,yBAAA,GAA5C,IAAAC,EAAAA,CAAAA,CAAA,IAAAD,CAAAA,CAAAA,CACAgoB,CAGE,CAAA,CAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,GAAa,YACtBA,GAAAA,CAAAA,CAAiB,OACpB,EAAA,OAAA,CAAQ,MACN,CAAIA,CAAAA,EAAAA,CAAAA,CAAiB,SAAS,CAAA,kPAAA,CAChC,CAKJA,CAAAA,CAAAA,CAAAA,CAAiB,kBAAqB4G,CAAAA,CAAAA,CAClC,aACA,CAAA,YAAA,CAEJH,EAAqBzG,CAAAA,CAAgB,CACrCmG,CAAAA,EAAAA,CAAgCnG,CAAkBoG,CAAAA,CAAkB,CAEpEC,CAAAA,EAAAA,CAA2BD,CAAkB,CAAA,CAG7C,IAAMa,CAAAA,CAAkB,CAACzL,CAAAA,CACtB,aAAc,EAAA,CACd,GAAIwE,CAAAA,CAAAA,CAAiB,SAAS,CAAA,CAE3B,CAACxF,CAAQ,CAAA,CAAU0M,YACvB,CAAA,QAAA,CAAA,IACE,IAAIF,CAAAA,CACFxL,CACAwE,CAAAA,CACF,CACJ,CAAA,CAGMlgB,CAAS0a,CAAAA,CAAAA,CAAS,mBAAoBwF,CAAAA,CAAgB,EAEtDmH,CAAkB,CAAA,CAACP,CAAe9T,EAAAA,CAAAA,CAAQ,UAAe,GAAA,KAAA,CAyB/D,GAxBMoU,YAAA,CAAA,oBAAA,CACEA,YACHE,CAAAA,WAAAA,CAAAA,CAAAA,EAAkB,CACjB,IAAMC,CAAcF,CAAAA,CAAAA,CAChB3M,EAAS,SAAUpB,CAAAA,CAAAA,CAAc,UAAWgO,CAAAA,CAAa,CAAC,CAAA,CAC1DhW,CAIJ,CAAA,OAAAoJ,CAAS,CAAA,YAAA,EAEF6M,CAAAA,CACT,CACA,CAAA,CAAC7M,CAAU2M,CAAAA,CAAe,CAC5B,CAAA,CACA,IAAM3M,CAAAA,CAAS,gBAAiB,EAAA,CAChC,IAAMA,CAAAA,CAAS,gBAAiB,EAClC,CAEM,CAAA0M,YAAA,CAAA,SAAA,CAAU,IAAM,CACpB1M,EAAS,UAAWwF,CAAAA,CAAgB,EACtC,CAAA,CAAG,CAACA,CAAAA,CAAkBxF,CAAQ,CAAC,CAG3BqM,CAAAA,EAAAA,CAAc7G,CAAkBlgB,CAAAA,CAAM,CACxC,CAAA,MAAMgnB,GAAgB9G,CAAkBxF,CAAAA,CAAAA,CAAU4L,CAAkB,CAAA,CAItE,GACEG,EAAAA,CAAY,CACV,MAAA,CAAAzmB,CACA,CAAA,kBAAA,CAAAsmB,CACA,CAAA,YAAA,CAAcpG,CAAiB,CAAA,YAAA,CAC/B,MAAOxE,CACJ,CAAA,aAAA,EACA,CAAA,GAAA,CAKCwE,CAAiB,CAAA,SAAS,CAC9B,CAAA,QAAA,CAAUA,CAAiB,CAAA,QAC7B,CAAC,CAAA,CAED,MAAMlgB,CAAAA,CAAO,KAQf,CAAA,GAAA,CALE3H,CAAAD,CAAAA,CAAAA,CAAAA,CAAAsjB,CAAO,CAAA,iBAAA,EAAoB,CAAA,OAAA,GAA3B,IAAAtjB,CAAAA,MAAAA,CAAAA,CAAAA,CAA4C,wBAA5C,GAAA,IAAA,EAAAC,CAAA,CAAA,IAAA,CAAAD,CACA8nB,CAAAA,CAAAA,CACAlgB,GAIAkgB,CAAiB,CAAA,6BAAA,EACjB,CAAC7O,EAAAA,EACDwV,EAAU7mB,CAAAA,CAAAA,CAAQ8mB,CAAW,CAAA,CAC7B,CACA,IAAMrM,CAAU0M,CAAAA,CAAAA,CAEZH,EAAgB9G,CAAAA,CAAAA,CAAkBxF,EAAU4L,CAAkB,CAAA,CAAA,CAE9D9J,CAAAd,CAAAA,CAAAA,CAAO,aAAc,EAAA,CAAE,GAAIwE,CAAAA,CAAAA,CAAiB,SAAS,CAAA,GAArD,IAAA1D,CAAAA,MAAAA,CAAAA,CAAAA,CAAwD,OAE5D/B,CAAAA,CAAAA,EAAA,MAAAA,CAAS,CAAA,KAAA,CAAMnJ,CAAM,CAAA,CAAA,OAAA,CAAQ,IAAM,CAEjCoJ,CAAS,CAAA,YAAA,GACX,CAAA,EACF,CAGA,OAAQwF,CAAiB,CAAA,mBAAA,CAErBlgB,CADA0a,CAAAA,CAAAA,CAAS,WAAY1a,CAAAA,CAAM,CAEjC,CCvJO,SAASwnB,EAMdxU,CAAAA,CAAAA,CACA4S,CACwD,CAAA,CACxD,IAAMlK,CAAAA,CAASiK,GAA0B,CAAA,CAEnC,CAACjL,CAAQ,CAAU,CAAA+M,YAAA,CAAA,QAAA,CACvB,IACE,IAAIrC,EACF1J,CAAAA,CAAAA,CACA1I,CACF,CACJ,CAEM,CAAAyU,YAAA,CAAA,SAAA,CAAU,IAAM,CACpB/M,CAAAA,CAAS,UAAW1H,CAAAA,CAAO,EAC7B,CAAA,CAAG,CAAC0H,CAAAA,CAAU1H,CAAO,CAAC,CAEtB,CAAA,IAAMhT,CAAe,CAAAynB,YAAA,CAAA,oBAAA,CACbA,yBACHH,CACC5M,EAAAA,CAAAA,CAAS,SAAUpB,CAAAA,CAAAA,CAAc,UAAWgO,CAAAA,CAAa,CAAC,CAAA,CAC5D,CAAC5M,CAAQ,CACX,CAAA,CACA,IAAMA,CAAAA,CAAS,gBAAiB,EAAA,CAChC,IAAMA,CAAAA,CAAS,gBAAiB,EAClC,CAEMgN,CAAAA,CAAAA,CAAeD,YAGnB,CAAA,WAAA,CAAA,CAACtL,CAAWwL,CAAAA,CAAAA,GAAkB,CAC5BjN,CAAAA,CAAS,MAAOyB,CAAAA,CAAAA,CAAWwL,CAAa,CAAE,CAAA,KAAA,CAAMrW,CAAI,EACtD,CACA,CAAA,CAACoJ,CAAQ,CACX,CAEA,CAAA,GACE1a,CAAO,CAAA,KAAA,EACPmV,EAAiBuF,CAAAA,CAAAA,CAAS,QAAQ,YAAc,CAAA,CAAC1a,CAAO,CAAA,KAAK,CAAC,CAAA,CAE9D,MAAMA,CAAAA,CAAO,KAGf,CAAA,OAAOlI,CAAAC,CAAAA,CAAAA,CAAA,EAAKiI,CAAAA,CAAAA,CAAAA,CAAL,CAAa,MAAA0nB,CAAAA,CAAAA,CAAQ,WAAa1nB,CAAAA,CAAAA,CAAO,MAAO,CAAA,CACzD,CCIO,SAAS4nB,EACd5U,CAAAA,CAAAA,CACA4S,CACA,CAAA,CACA,OAAOqB,EAAAA,CACLjU,CACA2R,CAAAA,EAEF,CACF,CC/EO,IAAMkD,EAAiBC,CAAAA,kBAAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAyCjBC,EAA6BD,CAAAA,kBAAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAiC7BE,EAA4BF,CAAAA,kBAAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAQ5BG,EAA4BH,CAAAA,kBAAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EClFlC,IAAMlC,EAAAA,CAAc,IAAIjG,EAAAA,CAAY,CACzC,cAAA,CAAgB,CACd,OAAS,CAAA,CACP,KAAO,CAAA,CAAA,CACP,SAAW,CAAA,CAAA,CACX,eAAgB,KAChB,CAAA,oBAAA,CAAsB,KACxB,CACF,CACF,CAAC,ECCD,IAAMuI,EAAAA,CAAoBC,CAQpB/L,EAAAA,CAAAA,CAAA,MARoB+L,CAAAA,CAAAA,CAAAA,CAAAA,CAQpB,UARoB,CACxB,EAAA,CAAAC,CACA,CAAA,MAAA,CAAAC,CACA,CAAA,WAAA,CAAAC,CACF,CAIM,CAAA,CAUJ,OATiB,CAAA,MAAMC,sBACrBF,CAAAA,CAAAA,CACAL,GACA,CAAE,EAAA,CAAAI,CAAG,CAAA,CACL,CACE,gBAAA,CAAkBE,CACpB,CACF,CAEgB,EAAA,eAClB,CAEO,CAAA,CAAA,SAASE,EAAwB,EAAA,CACtC,GAAM,CAAE,MAAA,CAAQC,CAAiB,CAAA,SAAA,CAAWC,CAAoB,CAAA,CAC9DlB,GAAY,CACV,WAAA,CAAa,CAAC,kBAAkB,CAChC,CAAA,UAAA,CAAAU,GACA,QAAiBC,CAAAA,CAAAA,EAAW/L,CAAA,CAAA,IAAA,CAAA,CAAX+L,CAAW,CAAA,CAAA,UAAX,CAAE,EAAA,CAAAC,CAAG,CAAA,CAAM,CAC1B,MAAMxC,EAAY,CAAA,aAAA,CAAc,CAAE,QAAU,CAAA,CAAC,YAAY,CAAE,CAAC,CAAA,CAE5D,IAAM+C,CAAe/C,CAAAA,EAAAA,CAAY,YAAkB,CAAA,CAAC,YAAY,CAAC,EAEjE,OAAAA,EAAAA,CAAY,YAAkB,CAAA,CAAC,YAAY,CAAA,CAAIvG,CACxCA,EAAAA,CAAAA,EAEEvnB,CAAAC,CAAAA,CAAAA,CAAA,EACFsnB,CAAAA,CAAAA,CAAAA,CADE,CAEL,KAAA,CAAOA,EAAQ,KAAM,CAAA,GAAA,CAAKN,CAAejnB,EAAAA,CAAAA,CAAAC,CAAA,CAAA,EAAA,CACpCgnB,GADoC,CAEvC,IAAA,CAAMA,CAAK,CAAA,IAAA,CAAK,MACb6J,CAAAA,CAAAA,EAA8BA,EAAU,EAAOR,GAAAA,CAClD,CACA,CAAA,IAAA,CAAMtwB,CAAAC,CAAAA,CAAAA,CAAA,GACDgnB,CAAK,CAAA,IAAA,CAAA,CADJ,CAEJ,KAAA,CAAOA,CAAK,CAAA,IAAA,CAAK,MAAQ,CAC3B,CAAA,CACF,CAAE,CAAA,CACJ,CACD,CAAA,CAAA,CAEM,CAAE,YAAA4J,CAAAA,CAAa,CACxB,CAAA,CAAA,CACA,SAAW,CAAA,IAAM,CACf/C,EAAY,CAAA,iBAAA,CAAkB,CAAE,QAAA,CAAU,CAAC,YAAY,CAAE,CAAC,EAC5D,CACF,CAAC,CAAA,CAEH,OAAO,CACL,gBAAA6C,CACA,CAAA,mBAAA,CAAAC,CACF,CACF,CC5DA,IAAMG,GAAW,wBAEV,CAAA,SAASC,EAAW,EAAA,CAuCzB,OAAO,CACL,UAvCiB,CAAA,CAAC,CAAE,KAAA,CAAA9X,CAAO,CAAA,OAAA,CAAA+X,CAAQ,CAAA,GACnCC,oBAAM,KACJlyB,CAAAA,oBAAAA,CAAA,aAACmyB,CAAAA,EAAAA,CAAA,CAAe,IAAA,CAAK,QAAQ,OAASF,CAAAA,CAAAA,CAAS,KAAO/X,CAAAA,CAAAA,CAAO,CAC/D,CAAA,CAqCA,aAnCmB,CAAC,CAAE,KAAAA,CAAAA,CAAAA,CAAO,OAAA+X,CAAAA,CAAQ,CACrCC,GAAAA,mBAAAA,CAAM,OACJlyB,CAAAA,oBAAAA,CAAA,aAACmyB,CAAAA,EAAAA,CAAA,CAAe,IAAA,CAAK,UAAU,OAASF,CAAAA,CAAAA,CAAS,KAAO/X,CAAAA,CAAAA,CAAO,CACjE,CAAA,CAiCA,UA5BgB,CAAC,CAAE,KAAAA,CAAAA,CAAAA,CAAO,OAAA+X,CAAAA,CAAQ,IAClCC,mBAAM,CAAA,IAAA,CAAKlyB,oBAAA,CAAA,aAAA,CAACmyB,EAAA,CAAA,CAAe,KAAK,MAAO,CAAA,OAAA,CAASF,CAAS,CAAA,KAAA,CAAO/X,CAAO,CAAA,CAAE,EA4BzE,SAhCgB,CAAA,CAAC,CAAE,KAAA,CAAAA,CAAO,CAAA,OAAA,CAAA+X,CAAQ,CAClCC,GAAAA,mBAAAA,CAAM,IAAKlyB,CAAAA,oBAAAA,CAAA,aAACmyB,CAAAA,EAAAA,CAAA,CAAe,IAAK,CAAA,MAAA,CAAO,OAASF,CAAAA,CAAAA,CAAS,KAAO/X,CAAAA,CAAAA,CAAO,CAAE,CAAA,CAgCzE,oBA3B2B,CAAA,CAAC,CAC5B,KAAA,CAAAA,CACA,CAAA,OAAA,CAAA+X,EACA,IAAAxY,CAAAA,CAAAA,CAAO,IACT,CAAA,GAA6B,CACvBA,CAAAA,CACGyY,oBAAM,QAASH,CAAAA,EAAQ,CAC1BG,EAAAA,mBAAAA,CAAM,IACJlyB,CAAAA,oBAAAA,CAAA,cAACmyB,EAAA,CAAA,CAAe,IAAK,CAAA,MAAA,CAAO,OAASF,CAAAA,CAAAA,CAAS,KAAO/X,CAAAA,CAAAA,CAAO,CAC5D,CAAA,CACE,OAAS6X,CAAAA,EAAAA,CACT,SAAW,CAAA,KAAA,CACX,aAAc,KACd,CAAA,SAAA,CAAW,KACb,CACF,CAGFG,CAAAA,mBAAAA,CAAM,QAAQH,EAAQ,EAE1B,CAQA,CACF,CAEA,IAAMI,GAAiB,CAAC,CACtB,KAAAjY,CAAAA,CAAAA,CACA,OAAA+X,CAAAA,CAAAA,CACA,IAAAlY,CAAAA,CACF,CACE/Z,GAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,SAAU,CAAA,4BAAA,CAAA,CACbA,qBAAA,aAAC,CAAA,IAAA,CAAA,CACC,SAAW,CAAA,CAAA,qCAAA,EACT+Z,CAAQ,EAAA,OAAA,CACJ,kBACAA,CAAQ,EAAA,SAAA,CACN,mBACAA,CAAAA,CAAAA,EAAQ,MACN,CAAA,kBAAA,CACA,oBACV,CAECG,CAAAA,CAAAA,CAAAA,CACH,CAEC+X,CAAAA,CAAAA,EACCjyB,oBAAA,CAAA,aAAA,CAAC,MAAK,CAAA,CAAA,SAAA,CAAU,kCAAoCiyB,CAAAA,CAAAA,CAAQ,CAEhE,CAAA,CCnFK,IAAMG,EAAAA,CAAoB,IAC/BC,YAAA,CAAA,aAAA,CAAC,KACC,CAAA,CAAA,KAAA,CAAM,6BACN,KAAM,CAAA,IAAA,CACN,MAAO,CAAA,IAAA,CACP,IAAK,CAAA,MAAA,CACL,QAAQ,WAER,CAAA,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,sLACH,CAAA,CACH,CCbF,CASO,IAAMC,GAAuBC,cAA2BhsB,CAAAA,CAAAA,GAAS,CACtE,IAAA,CAAM,MACN,CAAA,OAAA,CAAUisB,GAASjsB,CAAI,CAAA,CAAE,IAAAisB,CAAAA,CAAK,CAAC,CAAA,CAC/B,UAAW,MACX,CAAA,YAAA,CAAeV,CAAcvrB,EAAAA,CAAAA,CAAI,CAAE,SAAA,CAAAurB,CAAU,CAAC,CAChD,CAAA,CAAE,CCfF,CCEO,IAAMW,EAA8B,CAAA,IACzCC,YAAC,CAAA,aAAA,CAAA,KAAA,CAAA,CACC,MAAM,4BACN,CAAA,KAAA,CAAM,KACN,CAAA,MAAA,CAAO,KACP,CAAA,IAAA,CAAK,MACL,CAAA,OAAA,CAAQ,aAER,CAAA,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,2PACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,MAAA,CAAO,SACP,CAAA,WAAA,CAAY,QACZ,CAAE,CAAA,wLAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,QAAO,CAAA,CAAA,EAAA,CAAG,UAAU,EAAG,CAAA,QAAA,CAAS,CAAE,CAAA,OAAA,CAAQ,IAAK,CAAA,SAAA,CAAU,EAC1DA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,MAAO,CAAA,SAAA,CACP,WAAY,CAAA,OAAA,CACZ,EAAE,sEACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,MAAO,CAAA,SAAA,CACP,YAAY,OACZ,CAAA,CAAA,CAAE,uIACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CAAK,KAAK,SAAU,CAAA,CAAA,CAAE,yCAA0C,CAAA,CAAA,CACjEA,YAAC,CAAA,aAAA,CAAA,QAAA,CAAA,CAAO,EAAG,CAAA,SAAA,CAAU,EAAG,CAAA,QAAA,CAAS,CAAE,CAAA,OAAA,CAAQ,IAAK,CAAA,SAAA,CAAU,EAC1DA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,wHAAA,CACH,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,2GAAA,CACH,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,KAAM,CAAA,KAAA,CACN,MAAO,CAAA,KAAA,CACP,CAAE,CAAA,QAAA,CACF,CAAE,CAAA,QAAA,CACF,IAAK,CAAA,SAAA,CACL,EAAG,CAAA,IAAA,CACJ,EACDA,YAAC,CAAA,aAAA,CAAA,GAAA,CAAA,CAAE,MAAO,CAAA,6BAAA,CAAA,CACRA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,MAAM,IACN,CAAA,MAAA,CAAO,IACP,CAAA,CAAA,CAAE,SACF,CAAA,CAAA,CAAE,SACF,IAAK,CAAA,MAAA,CACL,EAAG,CAAA,IAAA,CACH,cAAe,CAAA,YAAA,CAChB,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,QAAA,CAAS,SACT,CAAA,CAAA,CAAE,qKACF,QAAS,CAAA,SAAA,CACV,CACH,CAAA,CACAA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,IAAA,CACCA,2BAAC,QACC,CAAA,CAAA,EAAA,CAAG,uBACH,CAAA,KAAA,CAAM,KACN,CAAA,MAAA,CAAO,MACP,CAAE,CAAA,QAAA,CACF,CAAE,CAAA,QAAA,CACF,yBAA0B,CAAA,MAAA,CAC1B,WAAY,CAAA,gBAAA,CAAA,CAEZA,YAAC,CAAA,aAAA,CAAA,SAAA,CAAA,CAAQ,YAAa,CAAA,GAAA,CAAI,MAAO,CAAA,oBAAA,CAAqB,EACtDA,YAAC,CAAA,aAAA,CAAA,eAAA,CAAA,CACC,EAAG,CAAA,aAAA,CACH,MAAO,CAAA,WAAA,CACP,OAAO,2CACR,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,UAAA,CAAA,CAAS,EAAG,CAAA,IAAA,CAAK,EAClBA,YAAC,CAAA,aAAA,CAAA,gBAAA,CAAA,CAAe,YAAa,CAAA,IAAA,CAAK,CAClC,CAAAA,YAAA,CAAA,aAAA,CAAC,aAAY,CAAA,CAAA,GAAA,CAAI,WAAY,CAAA,QAAA,CAAS,KAAM,CAAA,CAAA,CAC5CA,YAAC,CAAA,aAAA,CAAA,eAAA,CAAA,CAAc,OAAO,2CAA4C,CAAA,CAAA,CAClEA,YAAC,CAAA,aAAA,CAAA,SAAA,CAAA,CACC,GAAI,CAAA,oBAAA,CACJ,OAAO,gCACR,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,SAAA,CAAA,CACC,EAAG,CAAA,eAAA,CACH,IAAI,gCACJ,CAAA,MAAA,CAAO,OACR,CAAA,CACH,CACF,CACF,CC5FF,CAGO,SAASC,EAAiB,CAAA,CAAE,OAAA/Z,CAAAA,CAAQ,CAA4B,CAAA,CACrE,GAAM,CAAE,MAAA,CAAA1W,CAAO,CAAA,CAAI8V,CAAsB,EAAA,CACzC,OACEhY,oBAAA,CAAA,aAAA,CAAC4yB,YAAO,CAAA,GAAA,CAAP,CACC,OAAA,CAAS,CAAE,OAAA,CAAS,CAAG,CAAA,CAAA,CAAG,EAAG,CAAA,CAC7B,OAAS,CAAA,CAAE,QAAS,CAAG,CAAA,CAAA,CAAG,CAAE,CAAA,CAC5B,UAAY,CAAA,CAAE,SAAU,EAAK,CAAA,IAAA,CAAM,WAAa,CAAA,KAAA,CAAO,EAAI,CAAA,CAC3D,UAAU,2CAEV5yB,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,SAAU,CAAA,gEAAA,CAAA,CACbA,qBAAA,aAACyyB,CAAAA,EAAAA,CAAA,IAA4B,CAC/B,CAEAzyB,CAAAA,oBAAAA,CAAA,cAAC,IAAG,CAAA,CAAA,SAAA,CAAU,iEACX4X,CAAAA,CAAAA,CAAAA,CACC1V,CACA,CAAA,+CACF,CACF,CAEAlC,CAAAA,oBAAAA,CAAA,aAAC,CAAA,GAAA,CAAA,CAAE,SAAU,CAAA,8BAAA,CAAA,CACV4X,EACC1V,CACA,CAAA,qDACF,CACF,CAAA,CAEAlC,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,0DACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,QAAA,CAAA,CACC,IAAK,CAAA,QAAA,CACL,QAAS4Y,CACT,CAAA,SAAA,CAAU,mFAEThB,CAAAA,CAAAA,CAAAA,CACC1V,CACA,CAAA,sDACF,CACF,CAEAlC,CAAAA,oBAAAA,CAAA,aAAC,CAAA,QAAA,CAAA,CACC,OAAS4Y,CAAAA,CAAAA,CACT,UAAU,4FAEThB,CAAAA,CAAAA,CAAAA,CACC1V,CACA,CAAA,+DACF,CACF,CACF,CACF,CAEJ,CC1CA,IAAMkvB,EAAAA,CAAoBC,CAQpB/L,EAAAA,CAAAA,CAAA,MARoB+L,CAAAA,CAAAA,CAAAA,CAAAA,CAQpB,UARoB,CACxB,KAAA,CAAA1W,CACA,CAAA,MAAA,CAAA4W,CACA,CAAA,WAAA,CAAAC,CACF,CAIM,CAAA,CAUJ,OATiB,CAAA,MAAMC,sBACrBF,CAAAA,CAAAA,CACAN,GACA,CAAE,oBAAA,CAAsBtW,CAAM,CAAA,CAC9B,CACE,gBAAA,CAAkB6W,CACpB,CACF,CAEgB,EAAA,eAClB,CAEO,CAAA,CAAA,SAASqB,EAAwB,EAAA,CACtC,IAAM/D,CAAcD,CAAAA,EAAAA,EAEd,CAAA,CAAE,MAAQiE,CAAAA,CAAAA,CAAiB,UAAWC,CAAoB,CAAA,CAC9DrC,EAAY,CAAA,CACV,WAAa,CAAA,CAAC,kBAAkB,CAChC,CAAA,UAAA,CAAAU,EACA,CAAA,SAAA,CAAY4B,CAAiB,EAAA,CAC3BlE,CAAY,CAAA,YAAA,CAAkB,CAAC,YAAY,CAAIvG,CAAAA,CAAAA,EACxCA,CAEEvnB,EAAAA,CAAAA,CAAAC,EAAA,EACFsnB,CAAAA,CAAAA,CAAAA,CADE,CAEL,KAAA,CAAOA,CAAQ,CAAA,KAAA,CAAM,IAAI,CAACN,CAAAA,CAAWngB,CAC/BA,GAAAA,CAAAA,GAAU,CACL9G,CAAAA,CAAAA,CAAAC,EAAA,EACFgnB,CAAAA,CAAAA,CAAAA,CADE,CAEL,IAAA,CAAM,CAAC+K,CAAAA,CAAc,GAAG/K,CAAAA,CAAK,IAAI,CAAA,CACjC,IAAMjnB,CAAAA,CAAAA,CAAAC,CAAA,CAAA,EAAA,CACDgnB,EAAK,IADJ,CAAA,CAAA,CAEJ,KAAOA,CAAAA,CAAAA,CAAK,IAAK,CAAA,KAAA,CAAQ,CAC3B,CACF,CAAA,CAAA,CAAA,CAEKA,CACR,CACH,CACD,CAAA,EACH,CACF,CAAC,CAAA,CAEH,OAAO,CACL,eAAA6K,CAAAA,CAAAA,CACA,mBAAAC,CAAAA,CACF,CACF,CCtDA,IAAM3B,EAAoBC,CAAAA,CAAAA,EAQpB/L,CAAA,CAAA,MAAA,CAAA,CARoB+L,CAQpB,CAAA,CAAA,UARoB,CACxB,KAAA1W,CAAAA,CAAAA,CACA,MAAA4W,CAAAA,CAAAA,CACA,WAAAC,CAAAA,CACF,EAIM,CAUJ,OAAA,CATiB,MAAMC,sBAAAA,CACrBF,CACAJ,CAAAA,EAAAA,CACA,CAAE,oBAAsBxW,CAAAA,CAAM,CAC9B,CAAA,CACE,gBAAkB6W,CAAAA,CACpB,CACF,CAEgB,EAAA,eAClB,CAEO,CAAA,CAAA,SAASyB,EAAwB,EAAA,CACtC,GAAM,CAAE,MAAA,CAAQC,CAAiB,CAAA,SAAA,CAAWC,CAAoB,CAAA,CAC9DzC,GAAY,CACV,WAAA,CAAa,CAAC,kBAAkB,CAChC,CAAA,UAAA,CAAAU,EACA,CAAA,SAAA,CAAYgC,CAAqB,EAAA,CAC/BtE,EAAY,CAAA,YAAA,CAAkB,CAAC,YAAY,EAAIvG,CACxCA,EAAAA,CAAAA,EAEEvnB,CAAAC,CAAAA,CAAAA,CAAA,EACFsnB,CAAAA,CAAAA,CAAAA,CADE,CAEL,KAAOA,CAAAA,CAAAA,CAAQ,KAAM,CAAA,GAAA,CAAKN,CAAejnB,EAAAA,CAAAA,CAAAC,EAAA,EACpCgnB,CAAAA,CAAAA,CAAAA,CADoC,CAEvC,IAAA,CAAMA,CAAK,CAAA,IAAA,CAAK,GAAK6J,CAAAA,CAAAA,EACnBA,CAAU,CAAA,EAAA,GAAOsB,CAAiB,CAAA,EAAA,CAC9BA,CACAtB,CAAAA,CACN,CACF,CAAE,CAAA,CACJ,CACD,CAAA,EACH,CACF,CAAC,EAEH,OAAO,CACL,eAAAoB,CAAAA,CAAAA,CACA,mBAAAC,CAAAA,CACF,CACF,CCvDA,IAAME,EAAkC,CAAAC,aAAA,CAAA,MAAA,CAAO,CAC7C,IAAA,CAAUA,aAAO,CAAA,MAAA,EAAA,CAAE,QAAS,CAAA,gBAAgB,CAC5C,CAAA,SAAA,CAAeA,aAAM,CAAA,KAAA,EAAA,CAAE,GAAOA,aAAO,CAAA,MAAA,EAAC,CAAE,CAAA,QAAA,EACxC,CAAA,WAAA,CAAiBA,sBAAS,CAAA,QAAA,EAC1B,CAAA,IAAA,CAAUA,aAAO,CAAA,MAAA,EAAA,CAAE,UACrB,CAAC,CAEM,CAAA,SAASC,EAAuB,EAAA,CACrC,GAAM,CAAE,eAAA,CAAAL,CAAiB,CAAA,mBAAA,CAAAC,CAAoB,CAAA,CAAIF,IAC3C,CAAA,CAAE,MAAA/wB,CAAAA,CAAO,CAAI8V,CAAAA,CAAAA,GACb,CAAE,OAAA,CAAAwb,CAAS,CAAA,SAAA,CAAA1B,CAAU,CAAA,CAAIQ,IACzB,CAAA,CAAE,UAAAmB,CAAAA,CAAW,CAAIzB,CAAAA,EAAAA,EAEjB,CAAA,CAAE,IAAA3vB,CAAAA,CAAAA,CAAM,UAAAG,CAAAA,CAAW,CAAIwV,CAAAA,CAAAA,GACvB,CAAE,eAAA,CAAA8a,CAAiB,CAAA,mBAAA,CAAAC,CAAoB,CAAA,CAAIF,IAC3C,CAAA,CAACa,CAAmBC,CAAAA,CAAoB,CAAI1c,CAAAA,UAAAA,CAAmB,EAAE,CAAA,CACjE2c,CAAY,CAAA,CAChB,CACE,EAAA,CAAI,GACJ,CAAA,IAAA,CAAM,mBACR,CAAA,CACA,CACE,EAAA,CAAI,GACJ,CAAA,IAAA,CAAM,wBACR,CACA,CAAA,CACE,EAAI,CAAA,GAAA,CACJ,IAAM,CAAA,uBACR,EACA,CACE,EAAA,CAAI,GACJ,CAAA,IAAA,CAAM,qBACR,CACF,EAEM,CACJ,KAAA,CAAAC,CACA,CAAA,QAAA,CAAAC,CACA,CAAA,WAAA,CAAAC,CACA,CAAA,YAAA,CAAAC,CACA,CAAA,SAAA,CAAW,CAAE,MAAA,CAAAC,CAAO,CACtB,EAAIC,qBAAQ,CAAA,CACV,QAAUC,CAAAA,eAAAA,CAAYd,EAA2B,CACnD,CAAC,CAEDhc,CAAAA,WAAAA,CAAU,IAAM,CACVya,CACFgC,GAAAA,CAAAA,CAAS,OAAQhC,CAAU,CAAA,IAAI,CAC/BgC,CAAAA,CAAAA,CAAS,aAAehC,CAAAA,CAAAA,CAAU,WAAW,CAEjD,EAAA,CAAA,CAAG,CAACA,CAAS,CAAC,CAAA,CAEd,IAAMsC,CAAYzG,CAAAA,CAAAA,EAChBA,CACI/V,CAAAA,CAAAA,CACE1V,CACA,CAAA,CAAA,4CAAA,EAA+CyrB,CAAK,CACtD,CAAA,CAAA,CACA,MAEA0G,CAAAA,CAAAA,CAAoB/C,CAAe,EAAA,CACvCqC,EAAqB,CAAC,GAAGD,CAAmBpC,CAAAA,CAAE,CAAC,EACjD,CAEMgD,CAAAA,CAAAA,CAAoBhD,CAAe,EAAA,CACvCqC,CAAqBD,CAAAA,CAAAA,CAAkB,MAAQ5V,CAAAA,CAAAA,EAASA,IAASwT,CAAE,CAAC,EACtE,CAAA,CAEMiD,CAAgBxzB,CAAAA,CAAAA,EAAkB,CAhF1C,IAAAK,CAAAA,CAAAA,CAiFQA,CAAA6yB,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAQ,OAAR,IAAA7yB,EAAAA,CAAAA,CAAc,OAAWL,EAAAA,CAAAA,EAC3BgzB,CAAY,CAAA,MAAM,CAGpBD,CAAAA,CAAAA,CAAS,MAAQ/yB,CAAAA,CAAK,EACxB,CAAA,CAEMyzB,CAAuBzzB,CAAAA,CAAAA,EAAkB,CAxFjD,IAAAK,CAAAA,CAAAA,CAyFQA,CAAA6yB,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAQ,cAAR,IAAA7yB,EAAAA,CAAAA,CAAqB,OAAWL,EAAAA,CAAAA,EAClCgzB,CAAY,CAAA,aAAa,EAG3BD,CAAS,CAAA,aAAA,CAAe/yB,CAAK,EAC/B,CAEM0zB,CAAAA,CAAAA,CAAWT,CAAcrW,CAAAA,CAAAA,EAAS,CACtC,IAA+Bvc,CAAAuc,CAAAA,CAAAA,CAAvB,CAAAiW,SAAAA,CAAAA,CAjGZ,EAiGmCxyB,CAATszB,CAAAA,CAAAA,CAAAne,CAASnV,CAAAA,CAAAA,CAAT,CAAd,WAAA,CAAA,CAAA,CAGR,GAFAoyB,CAAQ,CAAA,SAAS,CAEb1B,CAAAA,CAAAA,EAAA,IAAAA,EAAAA,CAAAA,CAAW,GAAI,CACjBoB,CAAAA,CACE,CACE,KAAA,CAAOlyB,CAAAC,CAAAA,CAAAA,CAAA,EACFyzB,CAAAA,CAAAA,CAAAA,CADE,CAEL,EAAA,CAAI5C,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAW,CAAA,EACjB,GACA,WAAazvB,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAM,WACnB,CAAA,MAAA,CAAQG,CACV,CACA,CAAA,CACE,SAAY,EAAA,CACVgxB,CAAQ,CAAA,SAAS,EACnB,CACA,CAAA,OAAA,EAAU,CACRA,CAAAA,CAAQ,MAAM,CAAA,CACdC,CAAW,CAAA,CACT,KAAO7b,CAAAA,CAAAA,CACL1V,CACA,CAAA,wDACF,CACA,CAAA,OAAA,CAAS0V,EACP1V,CACA,CAAA,8DACF,CACF,CAAC,EACH,CACF,CACF,CAEA,CAAA,MACF,CACA4wB,CAAAA,CACE,CACE,KAAA,CAAO7xB,EAAA,EACFyzB,CAAAA,CAAAA,CAAAA,CAEL,WAAaryB,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAM,WACnB,CAAA,MAAA,CAAQG,CACV,CAAA,CACA,CACE,SAAA,EAAY,CACVgxB,CAAAA,CAAQ,SAAS,EACnB,CAAA,CACA,OAAU,EAAA,CACRA,CAAQ,CAAA,MAAM,EACdC,CAAW,CAAA,CACT,KAAO7b,CAAAA,CAAAA,CACL1V,CACA,CAAA,wDACF,EACA,OAAS0V,CAAAA,CAAAA,CACP1V,CACA,CAAA,8DACF,CACF,CAAC,EACH,CACF,CACF,EACF,CAAC,CAAA,CAED,OAAO,CACL,aAAAqyB,CACA,CAAA,mBAAA,CAAAC,CACA,CAAA,MAAA,CAAAP,CACA,CAAA,KAAA,CAAAJ,EACA,gBAAAQ,CAAAA,CAAAA,CACA,gBAAAC,CAAAA,CAAAA,CACA,SAAAV,CAAAA,CAAAA,CACA,SAAAQ,CACA,CAAA,iBAAA,CAAAV,CACA,CAAA,QAAA,CAAAe,CACA,CAAA,mBAAA,CAAqB1B,GAAuBI,CAC5C,CAAA,QAAA,CAAAW,CACF,CACF,CC7KO,IAAMa,EAAAA,CACX30B,qBAAA,aAAC,CAAA,KAAA,CAAA,CACC,KAAM,CAAA,4BAAA,CACN,KAAM,CAAA,IAAA,CACN,OAAO,IACP,CAAA,IAAA,CAAK,MACL,CAAA,OAAA,CAAQ,WAERA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,QAAS,CAAA,SAAA,CACT,CAAE,CAAA,gIAAA,CACF,SAAS,SACV,CAAA,CAAA,CACDA,oBAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,UACL,QAAS,CAAA,SAAA,CACT,CAAE,CAAA,iLAAA,CACF,QAAS,CAAA,SAAA,CACV,CACH,CCTF,CAAA,IAAM40B,EAAc,CAAAC,YAAA,CAAA,UAAA,CAClB,CACEzzB,CAAAA,CAUA+V,CACG,GAAA,CAXH,IAAA9V,CAAAA,CAAAD,CACE,CAAA,CAAA,SAAA,CAAArB,CACA,CAAA,IAAA,CAAAga,EACA,WAAA+a,CAAAA,CAAAA,CACA,YAAAC,CAAAA,CAAAA,CACA,oBAAAC,CAAAA,CAAAA,CACA,sBAAAC,CACA,CAAA,cAAA,CAAAC,CAtBN,CAAA,CAeI7zB,CAQKiV,CAAAA,CAAAA,CAAAC,EARLlV,CAQK,CAAA,CAPH,WACA,CAAA,MAAA,CACA,aACA,CAAA,cAAA,CACA,sBACA,CAAA,uBAAA,CACA,gBAKF,CAAA,CAAA,CAAA,OACEwzB,YAAC,CAAA,aAAA,CAAA,KAAA,CAAA,CAAI,SAAU,CAAA,sBAAA,CAAA,CACbA,2BAAC,KACC,CAAA,CAAA,SAAA,CAAW5e,CACT,CAAA,qEAAA,CACA,CAAC,EAACK,GAAA,IAAAA,EAAAA,CAAAA,CAAO,KAAS,CAAA,EAAA,qBAAA,CAClBvW,CACF,CAAA,CAAA,CAEC+0B,GACCD,YAAC,CAAA,aAAA,CAAA,KAAA,CAAA,CAAI,SAAWG,CAAAA,CAAAA,CAAAA,CAAuBF,CAAY,CAAA,CAGrDD,YAAC,CAAA,aAAA,CAAA,OAAA,CAAA5zB,CAAA,CAAA,CACC,IAAM8Y,CAAAA,CAAAA,CACN,SAAW9D,CAAAA,CAAAA,CACT,kRACA,CAAC,CAAC6e,CAAe,EAAA,OAAA,CACjB,CAAC,CAACC,GAAgB,OAClBG,CAAAA,CACF,CACA,CAAA,GAAA,CAAK/d,CACDb,CAAAA,CAAAA,CAAAA,CACN,EAECye,CACC,EAAAF,YAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAWI,CAAwBF,CAAAA,CAAAA,CAAa,CAEzD,CAAA,CAAA,CAECze,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAO,CAAA,KAAA,GACNue,YAAC,CAAA,aAAA,CAAA,KAAA,CAAA,CAAI,UAAU,2CACZF,CAAAA,CAAAA,EAAAA,CAEDE,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CAAK,SAAU,CAAA,iCAAA,CAAA,CACbve,GAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAO,KACV,CACF,CAEJ,CAEJ,CACF,CACAse,CAAAA,EAAAA,CAAM,WAAc,CAAA,OAAA,CCnEb,SAAS3e,EAAAA,CAAAA,GAAMC,CAAsB,CAAA,CAC1C,OAAOF,EAAAA,CAAQG,UAAKD,CAAM,CAAC,CAC7B,CCiBO,SAASif,EAAAA,CAAU,CACxB,WAAA5hB,CAAAA,CAAAA,CACA,KAAAxS,CAAAA,CAAAA,CACA,QAAAq0B,CAAAA,CAAAA,CACA,SAAAC,CAAAA,CAAAA,CACA,QAAAC,CAAAA,CAAAA,CACA,KAAAnoB,CAAAA,CAAAA,CACA,SAAApN,CAAAA,CAAAA,CACA,MAAA6d,CACA,CAAA,QAAA,CAAA/D,CACA,CAAA,IAAA,CAAAE,CACA,CAAA,IAAA,CAAAwb,EACA,EAAAjE,CAAAA,CAAAA,CACA,QAAArvB,CAAAA,CAAAA,CACA,QAAAuzB,CAAAA,CAAAA,CACA,iBAAAC,CACF,CAAA,CAAmB,CACjB,GAAM,CAACC,CAAAA,CAAYC,CAAa,CAAI1e,CAAAA,UAAAA,CAAS,KAAK,CAAA,CAC5C2e,CAAWC,CAAAA,QAAAA,CAAyB,IAAI,CAExCC,CAAAA,CAAAA,CAAc,IAAM,CACxBH,CAAc,CAAA,IAAI,EACpB,CAEMI,CAAAA,CAAAA,CAAa,IAAM,CACvBJ,CAAc,CAAA,KAAK,EACrB,CAEA,CAAA,OACE31B,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAWiW,EAAG,CAAA,uBAAA,CAAyBwf,CAAgB,CAAA,CAAA,CAC1Dz1B,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,6BACZmN,CAASnN,EAAAA,oBAAAA,CAAA,aAAC,CAAA,OAAA,CAAA,CAAM,SAAU,CAAA,cAAA,CAAA,CAAgBmN,CAAM,CAChDqoB,CAAAA,CAAAA,EAAYx1B,oBAAA,CAAA,aAAA,CAAC,MAAK,CAAA,CAAA,SAAA,CAAU,gBAAe,GAAC,CAC/C,CAEAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CACC,OAAS81B,CAAAA,CAAAA,CACT,MAAQC,CAAAA,CAAAA,CACR,GAAKH,CAAAA,CAAAA,CACL,SAAW3f,CAAAA,EAAAA,CACT,6EACAlW,CACA,CAAA,CAAC,CAAC6d,CAAAA,EAAS,0BACb,CAAA,CAAA,CAEC0X,GAAYt1B,oBAAA,CAAA,aAAA,CAAC,KAAKs1B,CAAAA,IAAAA,CAAAA,CAAS,CAE5Bt1B,CAAAA,oBAAAA,CAAA,cAAC40B,EAAA,CAAA,CACC,SAAW3e,CAAAA,EAAAA,CAAG,SAAWlW,CAAAA,CAAS,CAClC,CAAA,WAAA,CAAawT,CACb,CAAA,KAAA,CAAOxS,CACP,CAAA,QAAA,CAAUq0B,CACZ,CAAA,CAAA,CAECC,GAAar1B,oBAAA,CAAA,aAAA,CAAC,KAAKq1B,CAAAA,IAAAA,CAAAA,CAAU,CAChC,CAAA,CAECzX,GAAS5d,oBAAA,CAAA,aAAA,CAAC,GAAE,CAAA,CAAA,SAAA,CAAU,8BAAgC4d,CAAAA,CAAAA,CAAM,CAC/D,CAEJ,CC5EA,IAAMoY,EAAAA,CAAiBC,0BACrB,CAAA,6bAAA,CACA,CACE,QAAA,CAAU,CACR,OAAS,CAAA,CACP,OACE,CAAA,kEAAA,CACF,WACE,CAAA,6JAAA,CACF,OACE,CAAA,uIAAA,CACF,SACE,CAAA,wEAAA,CACF,KACE,CAAA,sEAAA,CACF,IAAM,CAAA,iDACR,EACA,IAAM,CAAA,CACJ,OAAS,CAAA,+BAAA,CACT,EAAI,CAAA,+CAAA,CACJ,GAAI,sCACJ,CAAA,IAAA,CAAM,QACR,CACF,CACA,CAAA,eAAA,CAAiB,CACf,OAAS,CAAA,SAAA,CACT,IAAM,CAAA,SACR,CACF,CACF,CAEA,CAAA,SAASrc,EAAOxY,CAAAA,CAAAA,CASX,CATW,IAAAC,CAAAD,CAAAA,CAAAA,CACd,WAAArB,CACA,CAAA,OAAA,CAAAm2B,CACA,CAAA,IAAA,CAAAjjB,CACA,CAAA,OAAA,CAAAkjB,EAAU,KAzCZ,CAAA,CAqCgB90B,CAKXiV,CAAAA,CAAAA,CAAAC,CALWlV,CAAAA,CAAAA,CAKX,CAJH,WACA,CAAA,SAAA,CACA,MACA,CAAA,SAAA,CAAA,CAAA,CAQA,OACED,YAAA,CAAA,aAAA,CAHW+0B,CAAUC,CAAAA,cAAAA,CAAO,QAG3Bn1B,CAAAA,CAAAA,CAAA,CACC,WAAA,CAAU,QACV,CAAA,SAAA,CAAWgV,EAAG+f,EAAe,CAAA,CAAE,OAAAE,CAAAA,CAAAA,CAAS,IAAAjjB,CAAAA,CAAAA,CAAM,UAAAlT,CAAU,CAAC,CAAC,CAAA,CAAA,CACtDuW,CACN,CAAA,CAEJ,CC3CA,SAAS+f,EAAAA,CAAQj1B,EAGiC,CAHjC,IAAAC,CAAAD,CAAAA,CAAAA,CACf,CAAArB,SAAAA,CAAAA,CAdF,EAaiBsB,CAEZiV,CAAAA,CAAAA,CAAAC,CAFYlV,CAAAA,CAAAA,CAEZ,CADH,WAAA,CAAA,CAAA,CAGA,OACEi1B,YAACC,CAAAA,aAAAA,CAAAA,YAAAA,CAAAt1B,CAAA,CAAA,CACC,WAAU,CAAA,SAAA,CACV,SAAWgV,CAAAA,CAAAA,CACT,2FACAlW,CAAAA,CACF,CACIuW,CAAAA,CAAAA,CAAAA,CACN,CAEJ,CA0BA,SAASkgB,EAAap1B,CAAAA,CAAAA,CAGkC,CAHlC,IAAAC,CAAAD,CAAAA,CAAAA,CACpB,WAAArB,CAtDF,CAAA,CAqDsBsB,CAEjBiV,CAAAA,CAAAA,CAAAC,CAFiBlV,CAAAA,CAAAA,CAEjB,CADH,WAGA,CAAA,CAAA,CAAA,OACEi1B,YAAC,CAAA,aAAA,CAAA,KAAA,CAAA,CACC,WAAU,CAAA,uBAAA,CACV,SAAU,CAAA,2CAAA,CAAA,CAEVA,YAACG,CAAAA,aAAAA,CAAAA,sBAAAA,CAAA,CAAW,SAAA,CAAU,4BAA6B,CAAA,CAAA,CACnDH,2BAACC,YAAiB,CAAA,KAAA,CAAjBt1B,CAAA,CAAA,CACC,WAAU,CAAA,eAAA,CACV,UAAWgV,CACT,CAAA,0JAAA,CACAlW,CACF,CAAA,CAAA,CACIuW,CACN,CAAA,CACF,CAEJ,CAEA,SAASogB,EAAYt1B,CAAAA,CAAAA,CAGkC,CAHlC,IAAAC,CAAAD,CAAAA,CAAAA,CACnB,CAAArB,SAAAA,CAAAA,CA5EF,CA2EqBsB,CAAAA,CAAAA,CAEhBiV,CAAAC,CAAAA,CAAAA,CAFgBlV,EAEhB,CADH,WAAA,CAAA,CAAA,CAGA,OACEi1B,YAAA,CAAA,aAAA,CAACC,YAAiB,CAAA,IAAA,CAAjBt1B,EAAA,CACC,WAAA,CAAU,cACV,CAAA,SAAA,CAAWgV,CACT,CAAA,6DAAA,CACAlW,CACF,CACIuW,CAAAA,CAAAA,CAAAA,CACN,CAEJ,CAEA,SAASqgB,EAAAA,CAAav1B,EAEkC,CAFlC,IACjBkV,CAAAC,CAAAA,CAAAA,CADiBnV,CACjB,CAAA,EAAA,CAAA,CAEH,OACEk1B,YAACC,CAAAA,aAAAA,CAAAA,YAAAA,CAAiB,KAAjBt1B,CAAAA,CAAAA,CAAA,CACC,WAAA,CAAU,gBACV,SAAU,CAAA,0BAAA,CAAA,CACNqV,CACN,CAAA,CAEJ,CAEA,SAASsgB,GAAax1B,CAGkC,CAAA,CAHlC,IAAAC,CAAAA,CAAAD,CACpB,CAAA,CAAA,SAAA,CAAArB,CAxGF,CAAA,CAuGsBsB,CAEjBiV,CAAAA,CAAAA,CAAAC,CAFiBlV,CAAAA,CAAAA,CAEjB,CADH,WAAA,CAAA,CAAA,CAGA,OACEi1B,YAACC,CAAAA,aAAAA,CAAAA,YAAAA,CAAiB,KAAjBt1B,CAAAA,CAAAA,CAAA,CACC,WAAA,CAAU,gBACV,SAAWgV,CAAAA,CAAAA,CACT,wNACAlW,CAAAA,CACF,CACIuW,CAAAA,CAAAA,CAAAA,CACN,CAEJ,CAeA,SAASugB,EAAYz1B,CAAAA,CAAAA,CAGkC,CAHlC,IAAAC,CAAAD,CAAAA,CAAAA,CACnB,CAAArB,SAAAA,CAAAA,CArIF,CAoIqBsB,CAAAA,CAAAA,CAEhBiV,CAAAC,CAAAA,CAAAA,CAFgBlV,EAEhB,CADH,WAAA,CAAA,CAAA,CAGA,OACEi1B,YAAA,CAAA,aAAA,CAACC,YAAiB,CAAA,IAAA,CAAjBt1B,EAAA,CACC,WAAA,CAAU,cACV,CAAA,SAAA,CAAWgV,CACT,CAAA,qYAAA,CACAlW,CACF,CACIuW,CAAAA,CAAAA,CAAAA,CACN,CAEJ,CC7IA,SAASwgB,EAAAA,CAAQ11B,CAEsC,CAAA,CAFtC,IACZkV,CAAAC,CAAAA,CAAAA,CADYnV,CACZ,CAAA,EAAA,CAAA,CAEH,OAAO21B,YAAA,CAAA,aAAA,CAAkBC,mBAAjB/1B,CAAA,CAAA,CAAsB,WAAU,CAAA,SAAA,CAAA,CAAcqV,CAAO,CAAA,CAC/D,CAEA,SAAS2gB,EAAAA,CAAe71B,CAEkC,CAAA,CAFlC,IACnBkV,CAAAA,CAAAC,EADmBnV,CACnB,CAAA,EAAA,CAAA,CAEH,OAAO21B,YAAA,CAAA,aAAA,CAAkBC,aAAjB/1B,CAAAA,OAAAA,CAAAA,CAAAA,CAAA,CAAyB,WAAU,CAAA,iBAAA,CAAA,CAAsBqV,CAAO,CAAA,CAC1E,CAEA,SAAS4gB,GAAe91B,CAKkC,CAAA,CALlC,IAAAC,CAAAA,CAAAD,CACtB,CAAA,CAAA,SAAA,CAAArB,EACA,KAAA2T,CAAAA,CAAAA,CAAQ,QACR,CAAA,UAAA,CAAAmD,CAAa,CAAA,CApBf,CAiBwBxV,CAAAA,CAAAA,CAInBiV,CAAAC,CAAAA,CAAAA,CAJmBlV,CAInB,CAAA,CAHH,WACA,CAAA,OAAA,CACA,eAGA,OACE01B,YAAA,CAAA,aAAA,CAAkBC,aAAjB,CAAA,MAAA,CAAA,IAAA,CACCD,YAAkB,CAAA,aAAA,CAAAC,aAAA,CAAA,OAAA,CAAjB/1B,EAAA,CACC,WAAA,CAAU,iBACV,CAAA,KAAA,CAAOyS,CACP,CAAA,UAAA,CAAYmD,EACZ,SAAWZ,CAAAA,CAAAA,CACT,geACAlW,CAAAA,CACF,CACIuW,CAAAA,CAAAA,CAAAA,CACN,CACF,CAEJ,CCSO,SAAS6gB,EAAY,CAAA,CAC1B,OAAAjb,CAAAA,CAAAA,CACA,MAAA/O,CACA,CAAA,WAAA,CAAAoG,CACA,CAAA,SAAA,CAAAxT,CACA,CAAA,KAAA,CAAA6d,EACA,QAAA4X,CAAAA,CAAAA,CAAW,KACX,CAAA,KAAA,CAAAz0B,CACA,CAAA,QAAA,CAAAq0B,EACA,QAAAgC,CAAAA,CAAAA,CACA,IAAA7B,CAAAA,CAAAA,CAAO,aACP,CAAA,QAAA,CAAA1b,CAAW,CAAA,KAAA,CACX,YAAAwd,CAAAA,CAAAA,CACA,mBAAAC,CAAAA,CAAAA,CAAsB,KACxB,CAAA,CAAqB,CACnB,GAAM,CAAE,MAAAp1B,CAAAA,CAAO,CAAI8V,CAAAA,CAAAA,GACb,CAACyB,CAAAA,CAAM8d,CAAO,CAAA,CAAUpb,YAAS,CAAA,QAAA,CAAA,KAAK,EACtC,CAACqb,CAAAA,CAAeC,CAAgB,CAAA,CAAUtb,YAASpb,CAAAA,QAAAA,CAAAA,CAAAA,EAAS,EAAE,CAAA,CAG9Dob,YAAU,CAAA,SAAA,CAAA,IAAM,CAChBpb,CAAAA,GAAU,MACZ02B,EAAAA,CAAAA,CAAiB12B,CAAK,EAE1B,CAAA,CAAG,CAACA,CAAK,CAAC,CAAA,CAEV,IAAM22B,CAAqB,CAAAvb,YAAA,CAAA,WAAA,CACxBwb,CAAyB,EAAA,CACxB,IAAMC,CAAAA,CAAe1b,EAAQ,IAAM2b,CAAAA,CAAAA,EAAWA,CAAO,CAAA,EAAA,GAAOF,CAAY,CAAA,CACxEF,CAAiBE,CAAAA,CAAY,CAC7BJ,CAAAA,CAAAA,CAAQ,KAAK,CAAA,CAETnC,CACFA,EAAAA,CAAAA,CAASuC,CAAY,CAGnBN,CAAAA,CAAAA,EAAgBO,CAClBP,EAAAA,CAAAA,CAAaO,CAAY,EAE7B,EACA,CAACxC,CAAAA,CAAUiC,CAAcnb,CAAAA,CAAO,CAClC,CAAA,CAEM4b,EAAuB3b,YAC3B,CAAA,OAAA,CAAA,IAAMD,CAAQ,CAAA,IAAA,CAAM2b,CAAWA,EAAAA,CAAAA,CAAO,EAAOL,GAAAA,CAAa,CAC1D,CAAA,CAACtb,CAASsb,CAAAA,CAAa,CACzB,CAAA,CAEMO,EAAuB5b,YAAyB,CAAA,MAAA,CAAA,IAAI,CAE1D,CAAA,OACEA,YAAC,CAAA,aAAA,CAAA,KAAA,CAAA,CAAI,UAAU,WACZhP,CAAAA,CAAAA,CAAAA,EACCgP,YAAC,CAAA,aAAA,CAAA,OAAA,CAAA,CAAM,SAAU,CAAA,0BAAA,CAAA,CACdhP,EACAqoB,CAAY,EAAArZ,YAAA,CAAA,aAAA,CAAC,MAAK,CAAA,CAAA,SAAA,CAAU,mBAAoB,CAAA,CAAA,GAAC,CACpD,CAAA,CAEFA,YAAC2a,CAAAA,aAAAA,CAAAA,EAAAA,CAAA,CAAQ,IAAA,CAAMrd,CAAM,CAAA,YAAA,CAAc8d,GACjCpb,YAAC8a,CAAAA,aAAAA,CAAAA,EAAAA,CAAA,CAAe,OAAA,CAAO,IACrB,CAAA,CAAA9a,YAAA,CAAA,aAAA,CAACvC,GAAA,CACC,OAAA,CAAQ,SACR,CAAA,IAAA,CAAK,UACL,CAAA,eAAA,CAAeH,EACf,SAAWxD,CAAAA,CAAAA,CACT,qGACA,CAAA,iFAAA,CACA,CAACuhB,CAAAA,EAAiB,wBAClB5Z,CAAS,EAAA,2CAAA,CACT7d,CACF,CAAA,CACA,QAAU8Z,CAAAA,CAAAA,CAAAA,CAEVsC,2BAAC,KAAI,CAAA,CAAA,SAAA,CAAU,kCACZmb,CAAAA,CAAAA,CAAAA,EAAuBQ,CAAkBA,EAAAA,CAAAA,CAAe,MACvD3b,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CAAK,SAAU,CAAA,wEAAA,CAAA,CACb2b,CAAe,CAAA,IAClB,EAEF3b,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CAAK,SAAU,CAAA,wCAAA,CAAA,CACbmb,CACI/jB,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,CAAAA,CACDqE,CACE1V,CAAAA,CAAAA,CACA,oCACF,CAAA,CACA41B,CACEA,CAAAA,CAAAA,CAAe,MACdvkB,CAAA,EAAA,IAAA,CAAAA,CACDqE,CAAAA,CAAAA,CACE1V,CACA,CAAA,oCACF,CACR,CACF,CAAA,CACAia,YAAC6b,CAAAA,aAAAA,CAAAA,uBAAAA,CAAA,CAAY,SAAA,CAAU,mCAAmC,CAC5D,CACF,CACA,CAAA7b,YAAA,CAAA,aAAA,CAAC+a,EAAA,CAAA,CAAe,SAAU,CAAA,wDAAA,CAAA,CACxB/a,YAACka,CAAAA,aAAAA,CAAAA,EAAAA,CAAA,IACC,CAAAla,YAAA,CAAA,aAAA,CAACqa,EAAA,CAAA,CACC,UAAU,cACV,CAAA,WAAA,CACEjjB,CAAA,EAAA,IAAA,CAAAA,CACAqE,CAAAA,CAAAA,CACE1V,EACA,oCACF,CAAA,CAEJ,CACA,CAAAia,YAAA,CAAA,aAAA,CAACua,EAAA,CAAA,IAAA,CACCva,2BAACwa,EAAA,CAAA,IAAA,CACE/e,CACC1V,CAAAA,CAAAA,CACA,0CACF,CACF,CACA,CAAAia,YAAA,CAAA,aAAA,CAACya,EAAA,CAAA,CAAa,SAAU,CAAA,6BAAA,CAAA,CACrB1a,CAAQ,CAAA,GAAA,CAAK2b,GACZ1b,YAAC0a,CAAAA,aAAAA,CAAAA,EAAAA,CAAA,CACC,GAAA,CAAKgB,CAAO,CAAA,EAAA,CACZ,MAAOA,CAAO,CAAA,EAAA,CACd,QAAU,CAAA,IAAMH,CAAaG,CAAAA,CAAAA,CAAO,EAAE,CACtC,CAAA,SAAA,CAAU,kEAETA,CAAAA,CAAAA,CAAAA,CAAO,IACN,EAAA1b,YAAA,CAAA,aAAA,CAAC,MAAK,CAAA,CAAA,SAAA,CAAU,0CACb0b,CAAAA,CAAAA,CAAAA,CAAO,IACV,CAAA,CAEF1b,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CAAK,UAAU,cAAgB0b,CAAAA,CAAAA,CAAAA,CAAO,KAAM,CAAA,CAC5CA,CAAO,CAAA,EAAA,GAAOL,GACbrb,YAAC8b,CAAAA,aAAAA,CAAAA,iBAAAA,CAAA,CAAM,SAAA,CAAU,iBAAkB,CAAA,CAEvC,CACD,CACH,CACF,CACF,CACF,CACF,CAAA,CAEA9b,YAAC,CAAA,aAAA,CAAA,OAAA,CAAAlb,CAAA,CAAA,CACC,IAAK,CAAA,QAAA,CACL,GAAK82B,CAAAA,CAAAA,CACL,KAAMxC,CACN,CAAA,KAAA,CAAOiC,CACHJ,CAAAA,CAAAA,CAAAA,CACN,CAECxZ,CAAAA,CAAAA,EAASzB,2BAAC,GAAE,CAAA,CAAA,SAAA,CAAU,2BAA6ByB,CAAAA,CAAAA,CAAM,CAC5D,CAEJ,CCnMO,SAASsa,EAAM,CAAA,CACpB,KAAA/qB,CAAAA,CAAAA,CACA,QAAAgrB,CAAAA,CAAAA,CACA,UAAAp4B,CACA,CAAA,aAAA,CAAAq4B,CACF,CAAA,CAKG,CACD,OACEp4B,qBAAA,aAAC,CAAA,MAAA,CAAA,CACC,SAAWiW,CAAAA,CAAAA,CACT,0FACAlW,CAAAA,CACF,GAECoN,CACDnN,CAAAA,oBAAAA,CAAA,aAAC,CAAA,QAAA,CAAA,CACC,IAAK,CAAA,QAAA,CACL,SAAU,CAAA,wCAAA,CACV,OAASm4B,CAAAA,CAAAA,CAAAA,CAETn4B,oBAAA,CAAA,aAAA,CAACgZ,aAAA,CAAA,CAAE,UAAW/C,CAAG,CAAA,SAAA,CAAWmiB,CAAa,CAAA,CAAG,CAC9C,CACF,CAEJ,CC5BA,SAASC,EAASj3B,CAAAA,CAAAA,CAA2D,CAA3D,IAAAC,CAAAD,CAAAA,CAAAA,CAAE,WAAArB,CAJpB,CAAA,CAIkBsB,CAAgBiV,CAAAA,CAAAA,CAAAC,CAAhBlV,CAAAA,CAAAA,CAAgB,CAAd,WAClB,CAAA,CAAA,CAAA,OACEi3B,YAAC,CAAA,aAAA,CAAA,UAAA,CAAAr3B,CAAA,CAAA,CACC,YAAU,UACV,CAAA,SAAA,CAAWgV,CACT,CAAA,qcAAA,CACAlW,CACF,CAAA,CAAA,CACIuW,CACN,CAAA,CAEJ,CCQO,SAASiiB,EAAiB,CAAA,CAC/B,KAAAprB,CAAAA,CAAAA,CAAQ,kBACR,KAAApM,CAAAA,CAAAA,CAAQ,EACR,CAAA,QAAA,CAAAq0B,CACA,CAAA,QAAA,CAAAI,EAAW,KACX,CAAA,SAAA,CAAAz1B,CACA,CAAA,QAAA,CAAA8Z,CAAW,CAAA,KAAA,CACX,UAAA2e,CAAY,CAAA,GAAA,CACZ,KAAA5a,CAAAA,CAAAA,CACA,iBAAA6a,CAAAA,CACF,CAA0B,CAAA,CACxB,GAAM,CAACvlB,CAAMwlB,CAAAA,CAAO,CAAIzhB,CAAAA,UAAAA,CAASlW,CAAK,CAChC,CAAA,CAAE,MAAAmB,CAAAA,CAAO,CAAI8V,CAAAA,CAAAA,GAEnBX,WAAU,CAAA,IAAM,CACdqhB,CAAAA,CAAQ33B,CAAK,EACf,EAAG,CAACA,CAAK,CAAC,CAAA,CAEV,IAAM43B,CAAAA,CAAgBn4B,CAA8C,EAAA,CAClE,IAAMo4B,CAAAA,CAAWp4B,CAAE,CAAA,MAAA,CAAO,KACtBo4B,CAAAA,CAAAA,CAAS,QAAUJ,CACrBE,GAAAA,CAAAA,CAAQE,CAAQ,CAAA,CAChBxD,CAAA,EAAA,IAAA,EAAAA,EAAWwD,CAEf,CAAA,EAAA,CAAA,CAEA,OACE54B,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,UAAWiW,CAAG,CAAA,WAAA,CAAalW,CAAS,CAAA,CAAA,CACtCoN,CACCnN,EAAAA,oBAAAA,CAAA,aAAC,CAAA,OAAA,CAAA,CAAM,SAAU,CAAA,0BAAA,CAAA,CACdmN,CAAM,CAAA,GAAA,CAAEqoB,CAAYx1B,EAAAA,oBAAAA,CAAA,cAAC,MAAK,CAAA,CAAA,SAAA,CAAU,iBAAkB,CAAA,CAAA,GAAC,CAC1D,CAAA,CAEFA,qBAAA,aAAC,CAAA,KAAA,CAAA,CAAI,SAAU,CAAA,UAAA,CAAA,CACbA,oBAAA,CAAA,aAAA,CAACq4B,GAAA,CACC,WAAA,CAAazgB,CACX1V,CAAAA,CAAAA,CACA,kDACF,CAAA,CACA,KAAOgR,CAAAA,CAAAA,CACP,QAAUylB,CAAAA,CAAAA,CACV,QAAU9e,CAAAA,CAAAA,CACV,SAAW5D,CAAAA,CAAAA,CACT,8HACAwiB,CACA7a,CAAAA,CAAAA,EAAS,gBACX,CAAA,CACF,CACA5d,CAAAA,oBAAAA,CAAA,cAAC,KAAI,CAAA,CAAA,SAAA,CAAU,gEACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,UAAU,wCACZkT,CAAAA,CAAAA,CAAAA,CAAK,MAAO,CAAA,GAAA,CAAEslB,CACjB,CACF,CACF,CAAA,CACC5a,CAAS5d,EAAAA,oBAAAA,CAAA,aAAC,CAAA,GAAA,CAAA,CAAE,SAAU,CAAA,sBAAA,CAAA,CAAwB4d,CAAM,CACvD,CAEJ,CC9EO,IAAMib,EAAgC,CAAA,IAC3CC,YAAC,CAAA,aAAA,CAAA,KAAA,CAAA,CACC,KAAM,CAAA,4BAAA,CACN,MAAM,KACN,CAAA,MAAA,CAAO,KACP,CAAA,IAAA,CAAK,MACL,CAAA,OAAA,CAAQ,aAER,CAAA,CAAAA,YAAA,CAAA,aAAA,CAAC,MAAK,CAAA,CAAA,IAAA,CAAK,MAAO,CAAA,CAAA,CAAE,sCAAuC,CAAA,CAAA,CAC3DA,2BAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,WAAA,CAAY,KACZ,CAAA,CAAA,CAAE,uCACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,MACL,CAAA,CAAA,CAAE,+YACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,MACL,CAAA,CAAA,CAAE,0XACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,MACL,CAAA,CAAA,CAAE,gRACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,WAAA,CAAY,MACZ,CAAE,CAAA,uEAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,UACL,WAAY,CAAA,KAAA,CACZ,CAAE,CAAA,uEAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,MACL,CAAA,CAAA,CAAE,kHACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CAAK,KAAK,MAAO,CAAA,CAAA,CAAE,kCAAmC,CAAA,CAAA,CACvDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,KAAK,MACL,CAAA,CAAA,CAAE,+DACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CAAK,KAAK,MAAO,CAAA,CAAA,CAAE,uCAAwC,CAAA,CAAA,CAC5DA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,MAAA,CACL,CAAE,CAAA,sSAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,OACL,CAAE,CAAA,siBAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,UACL,CAAE,CAAA,mKAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,OACL,CAAE,CAAA,utHAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,iNACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,EAAE,6MACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,EAAE,o/DACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,EAAE,46BACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,wUAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,m7DACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,q9CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MAAK,CAAA,CAAA,IAAA,CAAK,SAAU,CAAA,CAAA,CAAE,wCAAwC,CAC/D,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,mDACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,gmBAAA,CACH,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,+EAAA,CACH,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,MAAA,CACL,CAAE,CAAA,oHAAA,CACH,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,2VAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,4bACH,CAAA,CAAA,CACDA,2BAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,iiBACH,CAAA,CAAA,CACDA,2BAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,8iEACH,CAAA,CAAA,CACDA,2BAAC,MACC,CAAA,CAAA,IAAA,CAAK,MACL,CAAA,CAAA,CAAE,2sFACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,MAAA,CACL,CAAE,CAAA,gTAAA,CACF,OAAQ,CAAA,KAAA,CACT,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,yFAAA,CACH,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,wQAAA,CACH,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,gFAAA,CACH,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,qNAAA,CACH,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,MAAA,CACL,CAAE,CAAA,mKAAA,CACH,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,kvBAAA,CACH,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,MAAA,CACL,CAAE,CAAA,8FAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,MACL,CAAA,CAAA,CAAE,oXACH,CAAA,CAAA,CACDA,2BAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,8fACH,CAAA,CAAA,CACDA,2BAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,uTACH,CAAA,CAAA,CACDA,2BAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,o5BACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,urDAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,QACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,mGAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,QACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,8mDAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,QACC,IAAK,CAAA,MAAA,CACL,CAAE,CAAA,gpBAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,6mBACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,KAAK,SACL,CAAA,CAAA,CAAE,0MACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,KAAK,SACL,CAAA,CAAA,CAAE,sMACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,KAAK,SACL,CAAA,CAAA,CAAE,8zBACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,kQAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,UACL,CAAE,CAAA,wbAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,UACL,CAAE,CAAA,ybAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,UACL,CAAE,CAAA,2mBAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,gIACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,EAAE,uWACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,EAAE,o3CACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,EAAE,gMACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,6EAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,MACL,CAAA,CAAA,CAAE,6HACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,4fACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,8NACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,uOACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,4UAAA,CACH,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,ktCAAA,CACH,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,MAAA,CACL,CAAE,CAAA,6MAAA,CACH,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,MAAA,CACL,CAAE,CAAA,qGAAA,CACH,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,MAAA,CACL,CAAE,CAAA,iUAAA,CACH,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,23DAAA,CACH,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,MAAA,CACL,CAAE,CAAA,+JAAA,CACH,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,MAAA,CACL,CAAE,CAAA,oqCAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,yyBACH,CAAA,CAAA,CACDA,2BAAC,MACC,CAAA,CAAA,IAAA,CAAK,MACL,CAAA,CAAA,CAAE,kKACH,CAAA,CAAA,CACDA,2BAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,+zBACH,CAAA,CAAA,CACDA,2BAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,i3BACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,kKAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,QACC,IAAK,CAAA,MAAA,CACL,CAAE,CAAA,oYAAA,CACF,OAAQ,CAAA,KAAA,CACT,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,MAAA,CACL,CAAE,CAAA,iHAAA,CACH,CACH,CCjUF,CAMO,SAASC,EAAAA,EAAsB,CACpC,GAAM,CAAE,MAAA,CAAA72B,CAAO,CAAI8V,CAAAA,CAAAA,EAEnB,CAAA,OACEhY,oBAAA,CAAA,aAAA,CAAC4yB,aAAO,GAAP,CAAA,CACC,OAAS,CAAA,CAAE,OAAS,CAAA,CAAA,CAAG,EAAG,EAAG,CAAA,CAC7B,OAAS,CAAA,CAAE,OAAS,CAAA,CAAA,CAAG,CAAG,CAAA,CAAE,CAC5B,CAAA,UAAA,CAAY,CAAE,QAAA,CAAU,EAAK,CAAA,IAAA,CAAM,WAAW,CAC9C,CAAA,SAAA,CAAU,2CAEV5yB,CAAAA,CAAAA,oBAAAA,CAAA,aAAC64B,CAAAA,EAAAA,CAAA,IAA8B,CAE/B74B,CAAAA,oBAAAA,CAAA,aAAC,CAAA,IAAA,CAAA,CAAG,SAAU,CAAA,oBAAA,CAAA,CACX4X,EACC1V,CACA,CAAA,sDACF,CACF,CAAA,CAEAlC,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,8DACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC0Z,CAAAA,EAAAA,CAAA,IAAY,CACf,CACF,CAEJ,CCzBO,SAASsf,EAAAA,CAAY,CAC1B,SAAA,CAAAj5B,CACA,CAAA,QAAA,CAAAq1B,CACA,CAAA,IAAA,CAAA6D,CACA,CAAA,kBAAA,CAAAC,CACF,CAAA,CAKG,CACD,GAAM,CAACC,CAAYC,CAAAA,CAAa,CAAIniB,CAAAA,UAAAA,CAAS,KAAK,CAC5CoiB,CAAAA,CAAAA,CAAYxD,QAAuB,CAAA,IAAI,CACvCyD,CAAAA,CAAAA,CAAYzD,SAA0B,IAAI,CAAA,CAGhDxe,WAAU,CAAA,IAAM,CACd,IAAMkiB,CAAsBhiB,CAAAA,CAAAA,EAAsB,CAE9C8hB,CAAAA,CAAU,OACV,EAAA,CAACA,CAAU,CAAA,OAAA,CAAQ,SAAS9hB,CAAM,CAAA,MAAc,CAChD+hB,EAAAA,CAAAA,CAAU,OACV,EAAA,CAACA,EAAU,OAAQ,CAAA,QAAA,CAAS/hB,CAAM,CAAA,MAAc,CAEhD6hB,EAAAA,CAAAA,CAAc,KAAK,EAEvB,CAAA,CAEA,OAAS,QAAA,CAAA,gBAAA,CAAiB,WAAaG,CAAAA,CAAkB,EAClD,IAAM,CACX,QAAS,CAAA,mBAAA,CAAoB,WAAaA,CAAAA,CAAkB,EAC9D,CACF,CAAA,CAAG,EAAE,CAEL,CAAA,IAAMC,EAAe,IAAM,CACzBJ,CAAc,CAAA,CAACD,CAAU,EAC3B,EAEMM,CAAoBC,CAAAA,CAAAA,EAA8B,CACtD,IAAMC,CAAQD,CAAAA,CAAAA,CAAU,KACxBtE,CAAAA,CAAAA,CAASuE,CAAK,EAChB,CAEA,CAAA,OACE35B,oBAAA,CAAA,aAAA,CAAC,OAAI,SAAW,CAAA,CAAA,SAAA,EAAYD,CAAS,CAAA,CAAA,CAAA,CACnCC,oBAAA,CAAA,aAAA,CAAC4Z,GAAA,CACC,IAAA,CAAK,QACL,CAAA,GAAA,CAAK0f,CACL,CAAA,OAAA,CAAQ,QACR,IAAK,CAAA,IAAA,CACL,SAAU,CAAA,kEAAA,CACV,OAASE,CAAAA,CAAAA,CAAAA,CAERP,CACH,CAAA,CAECE,CACCn5B,EAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CACC,GAAKq5B,CAAAA,CAAAA,CACL,UAAW,CAAkCH,+BAAAA,EAAAA,CAAkB,CAE/Dl5B,CAAAA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC45B,CAAAA,mBAAAA,CAAA,CACC,YAAcH,CAAAA,CAAAA,CACd,KAAOI,CAAAA,QAAAA,CAAM,KACb,CAAA,iBAAA,CAAkB,eAClB,KAAO,CAAA,GAAA,CACP,MAAQ,CAAA,GAAA,CACR,aAAe,CAAA,CACb,WAAa,CAAA,KACf,CACF,CAAA,CACF,CAEJ,CAEJ,CChFO,IAAMC,EAAW,CAAA,CAAC,CAAE,KAAA,CAAAhiB,EAAQ,SAAU,CAAA,GAC3C/B,YAAC,CAAA,aAAA,CAAA,KAAA,CAAA,CACC,KAAM,CAAA,4BAAA,CACN,MAAM,IACN,CAAA,MAAA,CAAO,IACP,CAAA,IAAA,CAAK,MACL,CAAA,OAAA,CAAQ,WAER,CAAA,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAM+B,CACN,CAAA,CAAA,CAAE,kHACH,CAAA,CAAA,CACD/B,2BAAC,MACC,CAAA,CAAA,IAAA,CAAM+B,CACN,CAAA,CAAA,CAAE,mIACF,CAAA,OAAA,CAAQ,MACT,CACH,CAAA,CCHK,SAASiiB,EAAAA,CAAiB,CAAE,OAAA,CAAAnhB,CAAQ,CAA4B,CAAA,CAhBvE,IAAAxX,CAAAA,CAiBE,GAAM,CAAE,MAAAc,CAAAA,CAAO,CAAI8V,CAAAA,CAAAA,EACb,CAAA,CAAE,IAAAwa,CAAAA,CAAAA,CAAM,UAAAV,CAAU,CAAA,CAAIQ,EAAqB,EAAA,CAC3C,CACJ,MAAA,CAAA2B,EACA,QAAAG,CAAAA,CAAAA,CACA,KAAAP,CAAAA,CAAAA,CACA,iBAAAH,CAAAA,CAAAA,CACA,oBAAAc,CACA,CAAA,YAAA,CAAAD,CACA,CAAA,gBAAA,CAAAF,CACA,CAAA,SAAA,CAAAT,CACA,CAAA,QAAA,CAAAa,CACA,CAAA,gBAAA,CAAAH,CACA,CAAA,mBAAA,CAAAvB,CACA,CAAA,QAAA,CAAAe,CACF,CAAIP,CAAAA,EAAAA,EAEJ,CAAA,OAAIf,CAAS,GAAA,SAAA,CACJxyB,qBAAA,aAAC+4B,CAAAA,EAAAA,CAAA,IAAoB,CAAA,CAI5B/4B,oBAAA,CAAA,aAAA,CAAC4yB,aAAO,GAAP,CAAA,CACC,OAAS,CAAA,CAAE,OAAS,CAAA,CAAA,CAAG,CAAG,CAAA,EAAG,CAC7B,CAAA,OAAA,CAAS,CAAE,OAAA,CAAS,CAAG,CAAA,CAAA,CAAG,CAAE,CAC5B,CAAA,UAAA,CAAY,CAAE,QAAA,CAAU,EAAK,CAAA,IAAA,CAAM,YAAa,KAAO,CAAA,EAAI,CAC3D,CAAA,SAAA,CAAU,8BAEV5yB,CAAAA,CAAAA,oBAAAA,CAAA,cAAC,IAAG,CAAA,CAAA,SAAA,CAAU,mBACX4X,CAAAA,CAAAA,CAAAA,CACC1V,CACA4vB,CAAAA,CAAAA,EAAA,MAAAA,CAAW,CAAA,EAAA,CACP,4CACA,CAAA,uCACN,CACF,CAAA,CAEA9xB,qBAAA,aAAC,CAAA,MAAA,CAAA,CAAK,QAAUy0B,CAAAA,CAAAA,CAAU,SAAU,CAAA,8BAAA,CAAA,CAClCz0B,qBAAA,aAAC,CAAA,KAAA,CAAA,CAAI,SAAU,CAAA,UAAA,CAAA,CACbA,oBAAA,CAAA,aAAA,CAACm1B,GAAA,CACC,QAAA,CACEn1B,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,kHACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAACg5B,CAAAA,EAAAA,CAAA,CACC,kBAAA,CAAmB,gBACnB,CAAA,IAAA,CACEnF,EAAM,MAAM,CAAA,CACV7zB,oBAAA,CAAA,aAAA,CAAC,MAAK,CAAA,CAAA,SAAA,CAAU,WAAW6zB,CAAM,CAAA,MAAM,CAAE,CAAA,CAEzC7zB,oBAAA,CAAA,aAAA,CAAC85B,GAAA,IAAS,CAAA,CAGd,QAAWH,CAAAA,CAAAA,EAAU,CACnB7F,CAAAA,CAAS,MAAQ6F,CAAAA,CAAK,EACxB,CAAA,CACF,CACF,CAAA,CAEF,KAAOvF,CAAAA,CAAAA,CAAAA,CAAShzB,EAAA6yB,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAQ,CAAA,IAAA,GAAR,IAAA7yB,CAAAA,MAAAA,CAAAA,CAAAA,CAAc,OAAO,CACrC,CAAA,QAAA,CAAQ,IACR,CAAA,KAAA,CAAOyyB,CAAM,CAAA,MAAM,EACnB,KAAOjc,CAAAA,CAAAA,CACL1V,CACA,CAAA,2CACF,CACA,CAAA,QAAA,CAAW1B,CAAM+zB,EAAAA,CAAAA,CAAa/zB,CAAE,CAAA,MAAA,CAAO,KAAK,CAAA,CAC5C,SAAU,CAAA,iBAAA,CACV,YAAaoX,CACX1V,CAAAA,CAAAA,CACA,uDACF,CAAA,CACF,CACF,CAAA,CAEAlC,qBAAA,aAACm3B,CAAAA,EAAAA,CAAA,CACC,mBAAA,CAAmB,IACnB,CAAA,OAAA,CAASvD,EAAU,GAAKoG,CAAAA,CAAAA,GAAc,CACpC,EAAA,CAAIA,CAAS,CAAA,EAAA,CACb,MAAOA,CAAS,CAAA,IAClB,CAAE,CAAA,CAAA,CACF,QAAW1I,CAAAA,CAAAA,EAAO+C,EAAiB/C,CAAE,CAAA,CACrC,SAAU,CAAA,UAAA,CACV,WAAa1Z,CAAAA,CAAAA,CACX1V,EACA,4DACF,CAAA,CACA,KAAO0V,CAAAA,CAAAA,CACL1V,CACA,CAAA,gDACF,EACF,CAECwxB,CAAAA,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAmB,MAAS,EAAA,CAAA,EAC3B1zB,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,0CACZ0zB,CAAAA,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAmB,IAAKsG,CAAa,EAAA,CA9GlD,IAAA54B,CAAAA,CA+Gc,IAAM64B,CAAAA,CAAerG,EAAU,IAC5B9V,CAAAA,CAAAA,EAASA,CAAK,CAAA,EAAA,GAAOkc,CACxB,CAAA,CACA,OACEh6B,oBAAA,CAAA,aAAA,CAACk4B,EAAA,CAAA,CACC,SAAU,CAAA,2BAAA,CACV,GAAK8B,CAAAA,CAAAA,CACL,KAAO54B,CAAAA,CAAAA,CAAAA,CAAA64B,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAc,CAAA,IAAA,GAAd,KAAA74B,CAAsB,CAAA,EAAA,CAC7B,QAAU,CAAA,IAAG,CAvH/B,IAAAA,EAuHkC,OAAAkzB,CAAAA,CAAAA,CAAiBlzB,CAAA64B,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAc,KAAd,IAAA74B,CAAAA,CAAAA,CAAoB,EAAE,CAAA,CAAA,CACzD,CAEJ,CAAA,CACF,CAGFpB,CAAAA,oBAAAA,CAAA,aAACu4B,CAAAA,EAAAA,CAAA,CACC,SAAA,CAAW,GACX,CAAA,KAAA,CAAO1E,EAAM,aAAa,CAAA,CAC1B,QAAUW,CAAAA,CAAAA,CACV,iBAAkB,CAAA,UAAA,CAClB,MAAO5c,CACL1V,CAAAA,CAAAA,CACA,kDACF,CAAA,CACF,CAEAlC,CAAAA,oBAAAA,CAAA,cAAC,KAAI,CAAA,CAAA,SAAA,CAAU,0DACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,QAAA,CAAA,CACC,SAAU+yB,CACV,CAAA,IAAA,CAAK,QACL,CAAA,OAAA,CAASna,CACT,CAAA,SAAA,CAAU,qFAEThB,CACC1V,CAAAA,CAAAA,CACA,kDACF,CACF,CAEAlC,CAAAA,oBAAAA,CAAA,cAAC,QACC,CAAA,CAAA,QAAA,CAAU+yB,CACV,CAAA,IAAA,CAAK,QACL,CAAA,SAAA,CAAU,8FAETnb,CACC1V,CAAAA,CAAAA,CACA4vB,CAAA,EAAA,IAAA,EAAAA,CAAW,CAAA,EAAA,CACP,kDACA,CAAA,oDACN,CACF,CACF,CACF,CACF,CAEJ,CrBhKO,SAASoI,EAAkB,CAAA,CAAE,OAAAthB,CAAAA,CAAQ,CAA4B,CAAA,CACtE,GAAM,CAAE,IAAA,CAAA4Z,CAAM,CAAA,OAAA,CAAAgB,CAAS,CAAA,YAAA,CAAA2G,CAAa,CAAI7H,CAAAA,EAAAA,EAElC8H,CAAAA,CAAAA,CAAc,IAAM,CACxB5G,CAAQ,CAAA,MAAM,CACd5a,CAAAA,CAAAA,EACAuhB,CAAAA,CAAAA,CAAa,MAAS,EACxB,EAEA,OACEn6B,oBAAAA,CAAA,aAACoZ,CAAAA,EAAAA,CAAA,CACC,mBAAA,CAAqB,MACrB,iBAAiB,CAAA,IAAA,CACjB,eAAe,CAAA,IAAA,CACf,MAAM,CAAA,IAAA,CACN,UAAU,wHACV,CAAA,OAAA,CAASghB,CAER5H,CAAAA,CAAAA,CAAAA,GAAS,SAAaxyB,EAAAA,oBAAAA,CAAA,aAAC+5B,CAAAA,EAAAA,CAAA,CAAiB,OAAA,CAASK,CAAa,CAAA,CAAA,CAC9D5H,CAAS,GAAA,SAAA,EAAaxyB,qBAAA,aAAC2yB,CAAAA,EAAAA,CAAA,CAAiB,OAAA,CAASyH,CAAa,CAAA,CACjE,CAEJ,CsBbO,SAASC,EAAwB,CAAA,CACtC,MAAAtjB,CAAAA,CAAAA,CACA,IAAAI,CACA,CAAA,SAAA,CAAA2a,CACF,CAAA,CAIG,CACD,GAAM,CAAE,YAAA,CAAAqI,CAAa,CAAA,CAAI7H,EAAqB,EAAA,CACxC,CAAE,YAAA,CAAAgI,EAAc,UAAA7G,CAAAA,CAAW,CAAIzB,CAAAA,EAAAA,EAC/B,CAAA,CAAE,WAAAxvB,CAAY,CAAA,IAAA,CAAAH,CAAK,CAAA,CAAI2V,CAAsB,EAAA,CAC7C,CAAE,eAAA2Z,CAAAA,CAAAA,CAAiB,mBAAAC,CAAAA,CAAoB,CAAIF,CAAAA,EAAAA,EAC3C,CAAA,CAAE,MAAAxvB,CAAAA,CAAO,CAAI8V,CAAAA,CAAAA,EACb,CAAA,CACJ,OAAQuiB,CACR,CAAA,MAAA,CAAQC,CACR,CAAA,OAAA,CAASC,CACX,CAAA,CAAI3jB,IAEE,CAAA,CACJ,MAAQ4jB,CAAAA,CAAAA,CACR,MAAQC,CAAAA,CAAAA,CACR,QAASC,CACX,CAAA,CAAI9jB,EAAQ,EAAA,CAEN+jB,CAAwB,CAAA,IAAM,CAClClJ,CAAAA,CACE,CACE,WAAA,CAAatvB,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAM,CAAA,WAAA,CACnB,OAAQG,CACR,CAAA,EAAA,CAAIsvB,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAW,CAAA,EACjB,EACA,CACE,SAAA,EAAY,CACVwI,CAAAA,CAAa,CACX,KAAA,CAAO1iB,EACL1V,CACA,CAAA,yEACF,CACA,CAAA,OAAA,CAAS0V,CACP1V,CAAAA,CAAAA,CACA,+EACF,CACF,CAAC,EACH,CACA,CAAA,OAAA,EAAU,CACRuxB,CAAAA,CAAW,CACT,KAAO7b,CAAAA,CAAAA,CACL1V,CACA,CAAA,uEACF,CACA,CAAA,OAAA,CAAS0V,EACP1V,CACA,CAAA,6EACF,CACF,CAAC,EACH,CACF,CACF,EACF,CAAA,CAEA,OACElC,oBAAAA,CAAA,aAAAA,CAAAA,oBAAAA,CAAA,cACG+W,CACC/W,EAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CACC,GAAKmX,CAAAA,CAAAA,CACL,UAAU,0FAEVnX,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,QAAA,CAAA,CACC,OAAUQ,CAAAA,CAAAA,EAAM,CACdA,CAAE,CAAA,cAAA,EACFA,CAAAA,CAAAA,CAAE,eAAgB,EAAA,CAEdsxB,IACF6I,CAAW,EAAA,CACXR,CAAarI,CAAAA,CAAS,CAE1B,EAAA,CAAA,CACA,SAAU,CAAA,2GAAA,CAAA,CAEV9xB,oBAAA,CAAA,aAAA,CAAC6X,EAAA,CAAA,IAAS,CACTD,CAAAA,CAAAA,CACC1V,EACA,mDACF,CACF,CAEAlC,CAAAA,oBAAAA,CAAA,aAAC,CAAA,QAAA,CAAA,CACC,QAAUQ,CAAM,EAAA,CACdA,CAAE,CAAA,cAAA,EACFA,CAAAA,CAAAA,CAAE,iBAEFg6B,CAAAA,CAAAA,GACF,CAAA,CACA,SAAU,CAAA,6GAAA,CAAA,CAEVx6B,oBAAA,CAAA,aAAA,CAACmY,EAAA,CAAA,CAAW,KAAOE,CAAAA,EAAAA,CAAQ,GAAI,CAAA,MAAA,CAAQ,EACtCT,CACC1V,CAAAA,CAAAA,CACA,qDACF,CACF,CACF,CAAA,CAGDq4B,GACCv6B,oBAAA,CAAA,aAAA,CAACga,EAAA,CAAA,CACC,MAAM,CAAA,IAAA,CACN,UAAW4X,CACX,CAAA,OAAA,CAAS6I,CACT,CAAA,SAAA,CAAWI,CACX,CAAA,KAAA,CAAOjjB,CACL1V,CAAAA,CAAAA,CACA,mEACF,CAAA,CACA,WAAa0V,CAAAA,CAAAA,CACX1V,CACA,CAAA,yEACF,EACA,YAAclC,CAAAA,oBAAAA,CAAA,aAACoyB,CAAAA,EAAAA,CAAA,IAAkB,CAAA,CACnC,EAGDsI,CAAc16B,EAAAA,oBAAAA,CAAA,aAACk6B,CAAAA,EAAAA,CAAA,CAAkB,OAAA,CAASU,EAAa,CAC1D,CAEJ,CC3HO,SAASE,EAAiB,CAAA,CAC/B,IAAA7B,CAAAA,CAAAA,CACA,KAAA9rB,CAAAA,CAAAA,CACA,IAAA4tB,CAAAA,CAAAA,CACA,QAAAlhB,CAAAA,CAAAA,CACA,OAAAmhB,CACA,CAAA,SAAA,CAAAC,CACA,CAAA,WAAA,CAAA9gB,CACA,CAAA,SAAA,CAAA2X,CACF,CAA0B,CAAA,CACxB,IAAM3a,CAAAA,CAAM0e,QAAuB,CAAA,IAAI,EACjC,CAAE,MAAA,CAAAqF,CAAQ,CAAA,OAAA,CAAAtiB,CAAS,CAAA,MAAA,CAAA7B,CAAO,CAAA,CAAID,EAAQ,EAAA,CAC5CI,EAAgBC,CAAAA,CAAAA,CAA+ByB,CAAO,CAAA,CAEtD,IAAMtB,CAAc,CAAA,IAAM,CACxB,GAAI2jB,CAAW,CAAA,CACbC,GACA,CAAA,MACF,CAEInkB,CAAAA,GAGJ,MAAO,CAAA,QAAA,CAAS,KAAOgkB,CACzB,EAAA,CAAA,CAEMI,CAAoB36B,CAAAA,CAAAA,EAAwC,CAChEA,CAAAA,CAAE,cAAe,EAAA,CACjB06B,CAAO,GACT,CAEA,CAAA,OACEl7B,oBAAA,CAAA,aAAA,CAAC,OACC,SAAWiW,CAAAA,CAAAA,CACT,gGACAglB,CAAAA,CAAAA,EAAa,cACf,CAAA,CACA,KAAK,QACL,CAAA,aAAA,CAAeE,CAEfn7B,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,QAASsX,CAAa,CAAA,SAAA,CAAU,eACnCtX,CAAAA,CAAAA,oBAAAA,CAAA,aAAC0W,CAAAA,EAAAA,CAAA,CAAQ,SAAA,CAAU,kBAAmB,CAAA,OAAA,CAASyD,CAC7Cna,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CACC,UAAWiW,CACT,CAAA,qFAAA,CACA,CAAC+kB,CAAAA,EAAU,WACb,CAAA,CAAA,CAEAh7B,qBAAA,aAAC,CAAA,KAAA,CAAA,CACC,SAAWiW,CAAAA,CAAAA,CACT,sEACA,CAAA,CAAC+kB,GAAU,WACb,CAAA,CAAA,CAEC/B,CACH,CACF,CAEAj5B,CAAAA,oBAAAA,CAAA,cAAC,MACC,CAAA,CAAA,SAAA,CAAWiW,CACT,CAAA,2DAAA,CACAglB,CAAa,EAAA,wBACf,GAEC9tB,CACH,CACF,CACF,CAAA,CAEAnN,oBAAA,CAAA,aAAA,CAACq6B,GAAA,CACC,SAAA,CAAWvI,CACX,CAAA,GAAA,CAAK3a,CACL,CAAA,MAAA,CAAQJ,EACV,CACF,CAEJ,CC7FO,IAAMqkB,EAAAA,CACXp7B,oBAAA,CAAA,aAAA,CAAC,KACC,CAAA,CAAA,KAAA,CAAM,4BACN,CAAA,KAAA,CAAM,KACN,MAAO,CAAA,IAAA,CACP,IAAK,CAAA,MAAA,CACL,OAAQ,CAAA,WAAA,CAAA,CAERA,qBAAA,aAAC,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,iCAAA,CACL,CAAE,CAAA,sIAAA,CACH,EACDA,oBAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,iCACL,CAAA,CAAA,CAAE,gIACF,CAAA,OAAA,CAAQ,KACT,CAAA,CAAA,CACDA,oBAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,kCACL,CAAE,CAAA,wPAAA,CACF,OAAQ,CAAA,KAAA,CACT,CACDA,CAAAA,oBAAAA,CAAA,cAAC,MACC,CAAA,CAAA,IAAA,CAAK,iCACL,CAAA,CAAA,CAAE,6OACH,CAAA,CAAA,CACDA,qBAAA,aAAC,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,iCAAA,CACL,CAAE,CAAA,+PAAA,CACF,OAAQ,CAAA,KAAA,CACT,CACDA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,iCAAA,CACL,EAAE,kPACH,CAAA,CAAA,CACDA,oBAAA,CAAA,aAAA,CAAC,MACCA,CAAAA,IAAAA,CAAAA,oBAAAA,CAAA,cAAC,gBACC,CAAA,CAAA,EAAA,CAAG,2BACH,CAAA,EAAA,CAAG,QACH,CAAA,EAAA,CAAG,SACH,EAAG,CAAA,QAAA,CACH,EAAG,CAAA,MAAA,CACH,aAAc,CAAA,gBAAA,CAAA,CAEdA,oBAAA,CAAA,aAAA,CAAC,MAAK,CAAA,CAAA,SAAA,CAAU,SAAU,CAAA,CAAA,CAC1BA,oBAAA,CAAA,aAAA,CAAC,QAAK,MAAO,CAAA,GAAA,CAAI,SAAU,CAAA,SAAA,CAAU,CACvC,CAAA,CACAA,qBAAA,aAAC,CAAA,gBAAA,CAAA,CACC,EAAG,CAAA,2BAAA,CACH,EAAG,CAAA,QAAA,CACH,GAAG,QACH,CAAA,EAAA,CAAG,KACH,CAAA,EAAA,CAAG,QACH,CAAA,aAAA,CAAc,gBAEdA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,MAAA,CAAA,CAAK,SAAU,CAAA,SAAA,CAAU,CAC1BA,CAAAA,oBAAAA,CAAA,cAAC,MAAK,CAAA,CAAA,MAAA,CAAO,GAAI,CAAA,SAAA,CAAU,SAAU,CAAA,CACvC,EACAA,oBAAA,CAAA,aAAA,CAAC,gBACC,CAAA,CAAA,EAAA,CAAG,2BACH,CAAA,EAAA,CAAG,SACH,EAAG,CAAA,QAAA,CACH,EAAG,CAAA,OAAA,CACH,EAAG,CAAA,QAAA,CACH,aAAc,CAAA,gBAAA,CAAA,CAEdA,oBAAA,CAAA,aAAA,CAAC,MAAK,CAAA,CAAA,SAAA,CAAU,SAAU,CAAA,CAAA,CAC1BA,qBAAA,aAAC,CAAA,MAAA,CAAA,CAAK,MAAO,CAAA,GAAA,CAAI,SAAU,CAAA,SAAA,CAAU,CACvC,CACAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,gBAAA,CAAA,CACC,EAAG,CAAA,2BAAA,CACH,GAAG,QACH,CAAA,EAAA,CAAG,QACH,CAAA,EAAA,CAAG,QACH,CAAA,EAAA,CAAG,QACH,CAAA,aAAA,CAAc,gBAEdA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,MAAA,CAAA,CAAK,SAAU,CAAA,SAAA,CAAU,EAC1BA,oBAAA,CAAA,aAAA,CAAC,MAAK,CAAA,CAAA,MAAA,CAAO,GAAI,CAAA,SAAA,CAAU,UAAU,CACvC,CAAA,CACAA,oBAAA,CAAA,aAAA,CAAC,gBACC,CAAA,CAAA,EAAA,CAAG,4BACH,EAAG,CAAA,OAAA,CACH,EAAG,CAAA,OAAA,CACH,EAAG,CAAA,OAAA,CACH,GAAG,QACH,CAAA,aAAA,CAAc,gBAEdA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,MAAA,CAAA,CAAK,UAAU,SAAU,CAAA,CAAA,CAC1BA,oBAAA,CAAA,aAAA,CAAC,MAAK,CAAA,CAAA,MAAA,CAAO,IAAI,SAAU,CAAA,SAAA,CAAU,CACvC,CAAA,CACAA,oBAAA,CAAA,aAAA,CAAC,kBACC,EAAG,CAAA,2BAAA,CACH,EAAG,CAAA,OAAA,CACH,EAAG,CAAA,OAAA,CACH,EAAG,CAAA,QAAA,CACH,EAAG,CAAA,QAAA,CACH,aAAc,CAAA,gBAAA,CAAA,CAEdA,oBAAA,CAAA,aAAA,CAAC,QAAK,SAAU,CAAA,SAAA,CAAU,CAC1BA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,MAAA,CAAA,CAAK,OAAO,GAAI,CAAA,SAAA,CAAU,SAAU,CAAA,CACvC,CACF,CACF,ECvGK,IAAMq7B,EAAgB,CAAA,CAAC,CAAE,KAAA,CAAAvjB,CAAQ,CAAA,SAAU,CAChD,GAAAwjB,YAAA,CAAA,aAAA,CAAC,KACC,CAAA,CAAA,KAAA,CAAM,6BACN,KAAM,CAAA,IAAA,CACN,MAAO,CAAA,IAAA,CACP,IAAK,CAAA,MAAA,CACL,QAAQ,WAER,CAAA,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAMxjB,CACN,CAAA,CAAA,CAAE,2PACF,OAAQ,CAAA,KAAA,CACT,CACD,CAAAwjB,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAMxjB,CACN,CAAA,CAAA,CAAE,0EACH,CAAA,CAAA,CACDwjB,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAMxjB,CAAAA,CAAAA,CACN,EAAE,4bACH,CAAA,CACH,CCtBF,CAyBA,IAAMyjB,EAAAA,CAAgB,CACpBC,CAAAA,CACAtf,CACAqV,CAAAA,CAAAA,CACAC,IACGlM,CAAA,CAAA,MAAA,CAAA,IAAA,CAAA,WAAA,CACH,IAAMmW,CAAAA,CAAW,MAAMhK,sBAAAA,CACrBF,EACAR,EACA,CAAA,CACE,OAAS/vB,CAAAA,CAAAA,CAAAC,CAAA,CAAA,EAAA,CACJib,GADI,CAEP,IAAA,CAAMsf,CACR,CAAA,CACF,CAEA,CAAA,CACE,iBAAkBhK,CACpB,CACF,CAEA,CAAA,OAAOiK,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAU,UACnB,CAAA,CAAA,CAEaC,EACXxf,CAAAA,CAAAA,EACG,CACH,GAAM,CAAE,UAAA,CAAA1Z,CAAY,CAAA,IAAA,CAAAH,CAAK,CAAA,CAAI2V,CAAsB,EAAA,CAE7C,CACJ,IAAA2F,CAAAA,CAAAA,CACA,SAAWge,CAAAA,CAAAA,CACX,aAAAC,CAAAA,CAAAA,CACA,YAAAjT,CACA,CAAA,kBAAA,CAAAwF,CACF,CAAA,CAAI2C,EAAiB,CAAA,CACnB,SAAU,CAAC,YAAY,CACvB,CAAA,OAAA,CAAS,CAAC,CAAE,SAAA0K,CAAAA,CAAAA,CAAY,CAAE,CAAA,GACxBD,EAAcC,CAAAA,CAAAA,CAAWtf,CAAS1Z,CAAAA,CAAAA,CAAYH,GAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAM,WAAW,CAAA,CACjE,gBAAkB,CAAA,CAAA,CAClB,iBAAmBw5B,CAAa,EAAA,CAC9B,GAAI,CAACA,CAAU,CAAA,OACf,GAAM,CAAE,WAAA,CAAAjU,CAAa,CAAA,QAAA,CAAUkU,CAAK,CAAA,CAAID,CAAS,CAAA,IAAA,CACjD,OAAOjU,CAAAA,CAAckU,CAAOlU,CAAAA,CAAAA,CAAc,CAAI,CAAA,MAChD,CACF,CAAC,CAAA,CAED,OAAO,CACL,UAAYjK,CAAAA,CAAAA,EAAA,YAAAA,CAAM,CAAA,KAAA,CAAM,OAASsK,CAAAA,CAAAA,EAASA,CAAK,CAAA,IAAA,CAAA,CAC/C,uBAAA0T,CACA,CAAA,aAAA,CAAAC,CACA,CAAA,WAAA,CAAAjT,CACA,CAAA,kBAAA,CAAAwF,CACF,CACF,CAAA,CC9EO,IAAM4N,EAAiB,CAAA,IAC5BC,YAAC,CAAA,aAAA,CAAA,KAAA,CAAA,CACC,MAAM,4BACN,CAAA,KAAA,CAAM,IACN,CAAA,MAAA,CAAO,IACP,CAAA,IAAA,CAAK,OACL,OAAQ,CAAA,WAAA,CAAA,CAERA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,MAAA,CACL,CAAE,CAAA,+EAAA,CACF,OAAQ,CAAA,KAAA,CACT,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,OACL,CAAE,CAAA,6JAAA,CACH,CACH,CAAA,CCjBK,IAAMC,EAAAA,CAAmB,IAC9BC,YAAA,CAAA,aAAA,CAAC,KACC,CAAA,CAAA,KAAA,CAAM,6BACN,KAAM,CAAA,IAAA,CACN,MAAO,CAAA,IAAA,CACP,IAAK,CAAA,MAAA,CACL,OAAQ,CAAA,WAAA,CAAA,CAERA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,4EAAA,CACH,EACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,MAAA,CACL,CAAE,CAAA,+EAAA,CACF,QAAQ,KACT,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,MAAA,CACL,EAAE,+JACH,CAAA,CACH,CCdK,CAAA,SAASC,EAAqB,EAAA,CACnC,GAAM,CAAE,MAAAj6B,CAAAA,CAAO,CAAI8V,CAAAA,CAAAA,EACb,CAAA,CAAE,OAAAjB,CAAQ,CAAA,MAAA,CAAAmkB,CAAQ,CAAA,OAAA,CAAAtiB,CAAQ,CAAA,CAAI9B,IAEpC,CAAA,OACE9W,oBAAA,CAAA,aAAA,CAAAA,oBAAA,CAAA,QAAA,CAAA,IAAA,CACEA,qBAAA,aAAC,CAAA,QAAA,CAAA,CACC,OAASk7B,CAAAA,CAAAA,CACT,SAAU,CAAA,8FAAA,CAAA,CAEVl7B,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,qCACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC+7B,CAAAA,EAAAA,CAAA,IAAe,CACfnkB,CAAAA,CAAAA,CACC1V,CACA,CAAA,kCACF,CACF,CAAA,CAEAlC,qBAAA,aAAC,CAAA,KAAA,CAAA,CAAI,SAAU,CAAA,WAAA,CAAA,CACbA,oBAAA,CAAA,aAAA,CAACi8B,GAAA,IAAiB,CACpB,CACF,CAAA,CAECllB,CAAU/W,EAAAA,oBAAAA,CAAA,aAACk6B,CAAAA,EAAAA,CAAA,CAAkB,OAAA,CAASthB,CAAS,CAAA,CAClD,CAEJ,CCxBe,SAARwjB,EAAsC,EAAA,CAX7C,IAAAh7B,CAAAA,CAYE,GAAM,CAAE,KAAAiB,CAAK,CAAA,CAAI2V,CAAsB,EAAA,CACjC,CAAE,UAAA,CAAAqkB,CAAmC,CAAIX,CAAAA,EAAAA,CAAoB,CACjE,MAAA,CAAQ,CACN,IAAA,CAAM,EACN,CAAA,MAAA,CAAQr5B,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAM,CAAA,EAChB,EACA,OAAS,CAAA,CAAA,CACT,IAAM,CAAA,WAAA,CACN,OAAS,CAAA,MACX,CAAC,CAED,CAAA,OACErC,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,8IACbA,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,oGACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC86B,CAAAA,EAAAA,CAAA,CACC,MAAA,CAAM,IACN,CAAA,IAAA,CAAMM,EACN,CAAA,KAAA,CAAM,OACN,IAAK,CAAA,OAAA,CACL,SAAS,CAAA,IAAA,CACX,CAECh6B,CAAAA,CAAAA,CAAAA,CAAAi7B,GAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CACG,KAAM,CAAA,CAAA,CAAG,CADZ,CAAA,GAAA,IAAA,CAAA,MAAA,CAAAj7B,EAEG,GAAK0wB,CAAAA,CAAAA,EACL9xB,oBAAA,CAAA,aAAA,CAAC86B,EAAA,CAAA,CACC,OAAM,IACN,CAAA,GAAA,CAAKhJ,CAAU,CAAA,EAAA,CACf,IACEA,CAAAA,CAAAA,EAAA,MAAAA,CAAW,CAAA,IAAA,CACT9xB,oBAAA,CAAA,aAAA,CAAC,MAAK,CAAA,CAAA,SAAA,CAAU,WAAW8xB,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAW,CAAA,IAAK,CAE3C9xB,CAAAA,oBAAAA,CAAA,cAACq7B,EAAA,CAAA,CAAc,KAAOhjB,CAAAA,EAAAA,CAAQ,IAAK,CAAA,MAAA,CAAQ,CAG/C,CAAA,KAAA,CAAOyZ,CAAU,CAAA,IAAA,CACjB,IAAM,CAAA,CAAA,WAAA,EAAcA,CAAU,CAAA,EAAE,GAClC,CAEN,CAAA,CAAA,CACA9xB,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,kCACbA,oBAAA,CAAA,aAAA,CAAC,QAAO,CAAA,CAAA,SAAA,CAAU,WAChBA,CAAAA,CAAAA,oBAAAA,CAAA,cAAC4C,EAAA,CAAA,IAAY,CACf,CAAA,CAEA5C,oBAAA,CAAA,aAAA,CAACm8B,EAAA,CAAA,IAAmB,CACtB,CACF,CAEJ,CCxDA,SAASG,GAAOl7B,CAGsC,CAAA,CAHtC,IAAAC,CAAAA,CAAAD,CACd,CAAA,CAAA,SAAA,CAAArB,CANF,CAAA,CAKgBsB,CAEXiV,CAAAA,CAAAA,CAAAC,CAFWlV,CAAAA,CAAAA,CAEX,CADH,WAAA,CAAA,CAAA,CAGA,OACE6Q,YAAiB,CAAA,aAAA,CAAAqqB,aAAA,CAAA,IAAA,CAAhBt7B,CAAA,CAAA,CACC,WAAU,CAAA,QAAA,CACV,UAAWgV,CACT,CAAA,4DAAA,CACAlW,CACF,CAAA,CAAA,CACIuW,CACN,CAAA,CAEJ,CAEA,SAASkmB,EAAAA,CAAYp7B,CAGkC,CAAA,CAHlC,IAAAC,CAAAA,CAAAD,CACnB,CAAA,CAAA,SAAA,CAAArB,CAtBF,CAAA,CAqBqBsB,CAEhBiV,CAAAA,CAAAA,CAAAC,CAFgBlV,CAAAA,CAAAA,CAEhB,CADH,WAGA,CAAA,CAAA,CAAA,OACE6Q,YAAiB,CAAA,aAAA,CAAAqqB,aAAA,CAAA,KAAA,CAAhBt7B,CAAA,CAAA,CACC,YAAU,cACV,CAAA,SAAA,CAAWgV,CAAG,CAAA,yBAAA,CAA2BlW,CAAS,CAAA,CAAA,CAC9CuW,EACN,CAEJ,CAEA,SAASmmB,EAAAA,CAAer7B,CAGkC,CAAA,CAHlC,IAAAC,CAAAA,CAAAD,CACtB,CAAA,CAAA,SAAA,CAAArB,CAnCF,CAAA,CAkCwBsB,CAEnBiV,CAAAA,CAAAA,CAAAC,EAFmBlV,CAEnB,CAAA,CADH,WAGA,CAAA,CAAA,CAAA,OACE6Q,YAAiB,CAAA,aAAA,CAAAqqB,aAAA,CAAA,QAAA,CAAhBt7B,EAAA,CACC,WAAA,CAAU,iBACV,CAAA,SAAA,CAAWgV,CACT,CAAA,kEAAA,CACAlW,CACF,CACIuW,CAAAA,CAAAA,CAAAA,CACN,CAEJ,CCvCO,SAASgmB,EAAAA,CAAO,CACrB,IAAA,CAAA/G,CACA,CAAA,OAAA,CAAAzb,CACA,CAAA,GAAA,CAAA4iB,CACA,CAAA,SAAA,CAAA38B,CACF,CAKG,CAAA,CACD,OACEC,oBAAAA,CAAA,aAACs8B,CAAAA,EAAAA,CAAA,CACC,OAASxiB,CAAAA,CAAAA,CACT,SAAW,CAAA,CAAA,2BAAA,EAA8BA,CAAU,CAAA,gBAAA,CAAmB,EAAE,CAAkC/Z,+BAAAA,EAAAA,CAAS,CAEnHC,CAAAA,CAAAA,CAAAA,oBAAAA,CAAA,aAACw8B,CAAAA,EAAAA,CAAA,CAAY,GAAA,CAAKE,CAAK,CAAA,GAAA,CAAKnH,CAAM,CAAA,CAAA,CAClCv1B,oBAAA,CAAA,aAAA,CAACy8B,GAAA,CAAe,SAAA,CAAU,8BACvBv7B,CAAAA,CAAAA,EAAAA,CAAYq0B,CAAA,EAAA,IAAA,CAAAA,EAAQ,EAAE,CACzB,CACF,CAEJ,CC7BO,SAASoH,EAAAA,CAAsB,CACpC,KAAAxvB,CAAAA,CAAAA,CACA,KAAApM,CAAAA,CACF,CAGG,CAAA,CACD,OACEf,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,4CACbA,CAAAA,CAAAA,oBAAAA,CAAA,cAAC,MAAK,CAAA,CAAA,SAAA,CAAU,sCAAwCmN,CAAAA,CAAAA,CAAM,CAG9DnN,CAAAA,oBAAAA,CAAA,cAAC,MAAK,CAAA,CAAA,SAAA,CAAU,oEACbe,CAAAA,CAAAA,CACH,CACF,CAEJ,CCZO,SAAS67B,EAAoB,EAAA,CAClC,GAAM,CAAE,IAAAv6B,CAAAA,CAAAA,CAAM,OAAAH,CAAO,CAAA,CAAI8V,CAAsB,EAAA,CAK/C,OACEhY,oBAAAA,CAAA,cAAC,KAAI,CAAA,CAAA,SAAA,CAAU,yEACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,UAAU,2BACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAACs8B,CAAAA,EAAAA,CAAA,CACC,OAAA,CARwB,IAAM,CACpC,MAAO,CAAA,QAAA,CAAS,IAAO,CAAA,CAAA,SAAA,EAAYp6B,CAAM,CAAA,EAC3C,EAOQ,IAAMG,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAM,IACZ,CAAA,GAAA,CAAKA,GAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAM,MACX,CAAA,SAAA,CAAU,WACZ,CAAA,CAAA,CAEArC,qBAAA,aAAC,CAAA,KAAA,CAAA,CAAI,SAAU,CAAA,mCAAA,CAAA,CACbA,oBAAA,CAAA,aAAA,CAAC,IAAG,CAAA,CAAA,SAAA,CAAU,wBAA0BqC,CAAAA,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAM,IAAK,CAAA,CACnDrC,qBAAA,aAAC,CAAA,MAAA,CAAA,CAAK,SAAU,CAAA,+BAAA,CAAA,CAAiCqC,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAM,IAAK,CAAA,CAE5DrC,oBAAA,CAAA,aAAA,CAAC,MAAK,CAAA,CAAA,SAAA,CAAU,gFAA+E,KACzF,CAAA,GAAA,CACJA,oBAAA,CAAA,aAAA,CAAC,MAAK,CAAA,CAAA,SAAA,CAAU,8BACb4X,CAAAA,CAAAA,CAAAA,CACC1V,CACA,CAAA,mCACF,CACF,CACF,CACF,CACF,EAEAlC,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,mBAAoB,CAAA,CAAA,CAEnCA,qBAAA,aAAC,CAAA,KAAA,CAAA,CAAI,SAAU,CAAA,uBAAA,CAAA,CACbA,oBAAA,CAAA,aAAA,CAAC28B,GAAA,CACC,KAAA,CAAO/kB,CACL1V,CAAAA,CAAAA,CACA,gCACF,CAAA,CACA,KAAO,CAAA,GAAA,CACT,CACAlC,CAAAA,oBAAAA,CAAA,aAAC28B,CAAAA,EAAAA,CAAA,CACC,KAAA,CAAO/kB,EACL1V,CACA,CAAA,oCACF,CACA,CAAA,KAAA,CAAO,IACT,CAAA,CAAA,CACAlC,qBAAA,aAAC28B,CAAAA,EAAAA,CAAA,CACC,KAAA,CAAO/kB,CACL1V,CAAAA,CAAAA,CACA,oCACF,CACA,CAAA,KAAA,CAAO,IACT,CAAA,CACF,CACF,CAEJ,CC5DO,SAAS26B,EAAqB,EAAA,CACnC,GAAM,CAAE,MAAA36B,CAAAA,CAAAA,CAAQ,KAAAG,CAAK,CAAA,CAAI2V,CAAsB,EAAA,CAE/C,OACEhY,oBAAAA,CAAA,cAAC,KAAI,CAAA,CAAA,SAAA,CAAU,0CACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,UAAU,uBACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,IAAA,CAAA,CAAG,SAAU,CAAA,oDAAA,CAAA,CACX4X,CACC1V,CAAAA,CAAAA,CACA,+BACF,CAAA,CAAG,GACFG,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAM,IACT,CAEArC,CAAAA,oBAAAA,CAAA,aAAC,CAAA,MAAA,CAAA,CAAK,SAAU,CAAA,yBAAA,CAAA,CACb4X,EACC1V,CACA,CAAA,qCACF,CACF,CACF,CAEAlC,CAAAA,oBAAAA,CAAA,cAAC48B,EAAA,CAAA,IAAkB,CACrB,CAEJ,CC7BO,IAAME,EAAAA,CAAW,IACtBC,YAAC,CAAA,aAAA,CAAA,KAAA,CAAA,CACC,KAAM,CAAA,4BAAA,CACN,KAAM,CAAA,IAAA,CACN,OAAO,IACP,CAAA,IAAA,CAAK,MACL,CAAA,OAAA,CAAQ,WAER,CAAA,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,iCACL,CAAA,CAAA,CAAE,sIACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,KAAK,iCACL,CAAA,CAAA,CAAE,gIACF,CAAA,OAAA,CAAQ,KACT,CAAA,CAAA,CACDA,2BAAC,MACC,CAAA,CAAA,IAAA,CAAK,iCACL,CAAA,CAAA,CAAE,wPACF,CAAA,OAAA,CAAQ,MACT,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,iCACL,CAAA,CAAA,CAAE,6OACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,iCAAA,CACL,CAAE,CAAA,+PAAA,CACF,QAAQ,KACT,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,iCAAA,CACL,EAAE,kPACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,IAAA,CACCA,YAAC,CAAA,aAAA,CAAA,gBAAA,CAAA,CACC,GAAG,2BACH,CAAA,EAAA,CAAG,QACH,CAAA,EAAA,CAAG,QACH,CAAA,EAAA,CAAG,QACH,CAAA,EAAA,CAAG,MACH,CAAA,aAAA,CAAc,gBAEd,CAAA,CAAAA,YAAA,CAAA,aAAA,CAAC,MAAK,CAAA,CAAA,SAAA,CAAU,UAAU,CAC1B,CAAAA,YAAA,CAAA,aAAA,CAAC,MAAK,CAAA,CAAA,MAAA,CAAO,GAAI,CAAA,SAAA,CAAU,UAAU,CACvC,CAAA,CACAA,YAAC,CAAA,aAAA,CAAA,gBAAA,CAAA,CACC,EAAG,CAAA,2BAAA,CACH,GAAG,QACH,CAAA,EAAA,CAAG,QACH,CAAA,EAAA,CAAG,KACH,CAAA,EAAA,CAAG,SACH,aAAc,CAAA,gBAAA,CAAA,CAEdA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CAAK,SAAU,CAAA,SAAA,CAAU,EAC1BA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CAAK,MAAO,CAAA,GAAA,CAAI,SAAU,CAAA,SAAA,CAAU,CACvC,CACA,CAAAA,YAAA,CAAA,aAAA,CAAC,gBACC,CAAA,CAAA,EAAA,CAAG,2BACH,CAAA,EAAA,CAAG,SACH,EAAG,CAAA,QAAA,CACH,EAAG,CAAA,OAAA,CACH,EAAG,CAAA,QAAA,CACH,aAAc,CAAA,gBAAA,CAAA,CAEdA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CAAK,SAAU,CAAA,SAAA,CAAU,CAC1B,CAAAA,YAAA,CAAA,aAAA,CAAC,QAAK,MAAO,CAAA,GAAA,CAAI,SAAU,CAAA,SAAA,CAAU,CACvC,CAAA,CACAA,2BAAC,gBACC,CAAA,CAAA,EAAA,CAAG,2BACH,CAAA,EAAA,CAAG,QACH,CAAA,EAAA,CAAG,SACH,EAAG,CAAA,QAAA,CACH,EAAG,CAAA,QAAA,CACH,aAAc,CAAA,gBAAA,CAAA,CAEdA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CAAK,SAAU,CAAA,SAAA,CAAU,CAC1B,CAAAA,YAAA,CAAA,aAAA,CAAC,MAAK,CAAA,CAAA,MAAA,CAAO,IAAI,SAAU,CAAA,SAAA,CAAU,CACvC,CAAA,CACAA,YAAC,CAAA,aAAA,CAAA,gBAAA,CAAA,CACC,GAAG,2BACH,CAAA,EAAA,CAAG,OACH,CAAA,EAAA,CAAG,OACH,CAAA,EAAA,CAAG,QACH,EAAG,CAAA,QAAA,CACH,aAAc,CAAA,gBAAA,CAAA,CAEdA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CAAK,SAAU,CAAA,SAAA,CAAU,CAC1B,CAAAA,YAAA,CAAA,aAAA,CAAC,MAAK,CAAA,CAAA,MAAA,CAAO,GAAI,CAAA,SAAA,CAAU,UAAU,CACvC,CAAA,CACAA,YAAC,CAAA,aAAA,CAAA,gBAAA,CAAA,CACC,EAAG,CAAA,2BAAA,CACH,GAAG,OACH,CAAA,EAAA,CAAG,OACH,CAAA,EAAA,CAAG,QACH,CAAA,EAAA,CAAG,SACH,aAAc,CAAA,gBAAA,CAAA,CAEdA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CAAK,SAAU,CAAA,SAAA,CAAU,EAC1BA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CAAK,MAAO,CAAA,GAAA,CAAI,SAAU,CAAA,SAAA,CAAU,CACvC,CACF,CACF,CCzGF,CAEO,SAASC,EAA2B,EAAA,CACzC,OACEh9B,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,UAAU,qDACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,SAAU,CAAA,mDAAA,CAAoD,CAEnEA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,SAAU,CAAA,gDAAA,CAAiD,CAClE,CAEJ,CCDO,SAASi9B,EAAAA,EAAoB,CATpC,IAAA77B,CAUE,CAAA,GAAM,CAAE,IAAAiB,CAAAA,CAAK,CAAI2V,CAAAA,CAAAA,EACX,CAAA,CAAE,WAAAqkB,CAAY,CAAA,sBAAA,CAAAV,CAAuB,CAAA,CAAID,EAAoB,CAAA,CACjE,MAAQ,CAAA,CACN,IAAM,CAAA,EAAA,CACN,MAAQr5B,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAM,EAChB,CACA,CAAA,OAAA,CAAS,CACT,CAAA,IAAA,CAAM,WACN,CAAA,OAAA,CAAS,MACX,CAAC,CAAA,CACD,OACErC,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,UAAU,oGACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC86B,CAAAA,EAAAA,CAAA,CACC,SAAA,CAAS,IACT,CAAA,MAAA,CAAM,IACN,CAAA,IAAA,CAAM96B,oBAAA,CAAA,aAAA,CAAC88B,EAAA,CAAA,IAAS,EAChB,KAAM,CAAA,MAAA,CACN,IAAK,CAAA,OAAA,CACP,CACCnB,CAAAA,CAAAA,CACG,MAAM,CAAC,CAAA,CACJ,IAAK,CAAA,CAAC,CACN,CAAA,GAAA,CAAI,CAACxf,CAAGrU,CAAAA,CAAAA,GAAU9H,oBAAA,CAAA,aAAA,CAACg9B,EAAA,CAAA,CAAyB,GAAKl1B,CAAAA,CAAAA,CAAO,CAAE,CAAA,CAAA,CAC7D1G,CAAAi7B,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CACI,MAAM,CAAG,CAAA,CAAA,CAAA,GADb,IAAAj7B,CAAAA,MAAAA,CAAAA,CAAAA,CAEI,GAAK0c,CAAAA,CAAAA,EACL9d,qBAAA,aAAC86B,CAAAA,EAAAA,CAAA,CACC,SAAA,CAAWhd,CACX,CAAA,WAAA,CAAaA,GAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAM,WACnB,CAAA,IAAA,CAAM,CAAcA,WAAAA,EAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAM,EAAE,CAAA,CAAA,CAC5B,GAAKA,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAM,GACX,IACEA,CAAAA,CAAAA,EAAA,IAAAA,EAAAA,CAAAA,CAAM,IACJ9d,CAAAA,oBAAAA,CAAA,cAAC,MAAK,CAAA,CAAA,SAAA,CAAU,UAAY8d,CAAAA,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAM,IAAK,CAEvC9d,CAAAA,oBAAAA,CAAA,aAACq7B,CAAAA,EAAAA,CAAA,CAAc,KAAA,CAAOhjB,EAAQ,CAAA,IAAA,CAAK,MAAQ,CAAA,CAAA,CAG/C,MAAM,CAAA,IAAA,CACN,KAAOyF,CAAAA,CAAAA,EAAA,YAAAA,CAAM,CAAA,IAAA,CACf,CAEV,CAAA,CAEJ,CC5CO,SAASof,EAAAA,EAAoB,CAClC,GAAM,CAAE,MAAAh7B,CAAAA,CAAO,CAAI8V,CAAAA,CAAAA,EACnB,CAAA,OACEhY,oBAAA,CAAA,aAAA,CAAC4yB,YAAO,CAAA,GAAA,CAAP,CACC,SAAA,CAAU,wHACV,CAAA,OAAA,CAAS,CAAE,OAAS,CAAA,CAAA,CAAG,CAAG,CAAA,EAAG,CAC7B,CAAA,OAAA,CAAS,CAAE,OAAS,CAAA,CAAA,CAAG,CAAG,CAAA,CAAE,CAC5B,CAAA,UAAA,CAAY,CAAE,QAAU,CAAA,EAAA,CAAK,IAAM,CAAA,WAAA,CAAa,KAAO,CAAA,EAAI,GAE3D5yB,oBAAA,CAAA,aAAA,CAACi9B,EAAA,CAAA,IAAkB,CAEnBj9B,CAAAA,oBAAAA,CAAA,cAAC,KAAI,CAAA,CAAA,SAAA,CAAU,6CACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,QAAA,CAAA,CAAO,UAAU,yDAChBA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC4C,CAAAA,EAAAA,CAAA,IAAY,CAAA,CACb5C,qBAAA,aAAC,CAAA,MAAA,CAAA,CAAK,SAAU,CAAA,gCAAA,CAAA,CACb4X,CACC1V,CAAAA,CAAAA,CACA,mCACF,CACF,CACAlC,CAAAA,oBAAAA,CAAA,aAACm9B,CAAAA,2BAAAA,CAAA,CAAgB,SAAA,CAAU,2BAA2B,CACxD,CAAA,CAEAn9B,oBAAA,CAAA,aAAA,CAACm8B,EAAA,CAAA,IAAmB,CACtB,CACF,CAEJ,CCjCO,SAASiB,EAAsB,EAAA,CACpC,OACEp9B,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,6CACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,SAAU,CAAA,iEAAA,CAAA,CACbA,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,oCACbA,oBAAA,CAAA,aAAA,CAAC68B,EAAA,CAAA,IAAmB,CACtB,CAAA,CAEA78B,qBAAA,aAACk9B,CAAAA,EAAAA,CAAA,IAAkB,CACrB,CACF,CAEJ,CCdA,IAAMG,EAAAA,CAAoB,IAEnB,CAAA,SAASC,EAAY,EAAA,CAC1B,GAAM,CAACC,EAAUC,CAAW,CAAA,CAAIvmB,UAAkB,CAAA,KAAK,CAEvD,CAAA,OAAAI,YAAU,IAAM,CACd,IAAMomB,CAAAA,CAAgB,IAAM,CAC1BD,EAAY,MAAO,CAAA,UAAA,CAAaH,EAAiB,EACnD,CAEA,CAAA,OAAAI,CAAc,EAAA,CACd,MAAO,CAAA,gBAAA,CAAiB,QAAUA,CAAAA,CAAa,CAExC,CAAA,IAAM,CACX,MAAO,CAAA,mBAAA,CAAoB,QAAUA,CAAAA,CAAa,EACpD,CACF,EAAG,EAAE,CAEE,CAAA,CAAE,QAAAF,CAAAA,CAAS,CACpB,CChBe,SAARG,EAAkC,EAAA,CACvC,GAAM,CAAE,QAAAH,CAAAA,CAAS,CAAID,CAAAA,EAAAA,EAErB,CAAA,OAAOt9B,oBAAA,CAAA,aAAA,CAAAA,qBAAA,QAAGu9B,CAAAA,IAAAA,CAAAA,CAAAA,CAAWv9B,oBAAA,CAAA,aAAA,CAACo8B,EAAA,CAAA,IAAmB,EAAKp8B,oBAAA,CAAA,aAAA,CAACo9B,EAAA,CAAA,IAAoB,CAAG,CACxE,CCFO,SAASO,EAAAA,CAAa,CAAE,SAAA,CAAA59B,CAAW,CAAA,KAAA,CAAA+X,CAAM,CAAA,CAAkB,CAChE,OACE9X,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CACC,KAAM,CAAA,IAAA,CACN,OAAO,IACP,CAAA,OAAA,CAAQ,WACR,CAAA,IAAA,CAAK,MACL,CAAA,KAAA,CAAM,6BACN,SAAWD,CAAAA,CAAAA,CAAAA,CAEXC,oBAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,CAAA,CAAE,yGACF,CAAA,IAAA,CAAK,SACP,CAAA,CAAA,CACAA,oBAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,CAAA,CAAE,kJACF,IAAK,CAAA,SAAA,CACP,CACAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,MAAA,CAAA,CACC,EAAE,mJACF,CAAA,IAAA,CAAK,SACP,CAAA,CAAA,CACAA,oBAAA,CAAA,aAAA,CAAC,QACC,CAAE,CAAA,gJAAA,CACF,IAAM8X,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,CAAAA,CAAS,UACjB,CACA9X,CAAAA,oBAAAA,CAAA,aAAC,CAAA,MAAA,CAAA,CACC,CAAE,CAAA,qgBAAA,CACF,KAAM8X,CAAA,EAAA,IAAA,CAAAA,CAAS,CAAA,SAAA,CACjB,CACA9X,CAAAA,oBAAAA,CAAA,cAAC,MACC,CAAA,CAAA,CAAA,CAAE,4vBACF,CAAA,IAAA,CAAM8X,CAAA,EAAA,IAAA,CAAAA,EAAS,SACjB,CAAA,CAAA,CACA9X,oBAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,CAAA,CAAE,ohBACF,CAAA,IAAA,CAAM8X,CAAA,EAAA,IAAA,CAAAA,CAAS,CAAA,SAAA,CACjB,CACA9X,CAAAA,oBAAAA,CAAA,cAAC,MACC,CAAA,CAAA,CAAA,CAAE,ugBACF,CAAA,IAAA,CAAM8X,CAAA,EAAA,IAAA,CAAAA,EAAS,SACjB,CAAA,CAAA,CACA9X,oBAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,CAAA,CAAE,qhBACF,IAAM8X,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,CAAAA,CAAS,SACjB,CAAA,CAAA,CACA9X,oBAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,CAAA,CAAE,gsBACF,CAAA,IAAA,CAAM8X,CAAA,EAAA,IAAA,CAAAA,EAAS,SACjB,CAAA,CACF,CAEJ,CCrDO,SAAS8lB,EAAAA,CAAS,CACvB,QAAA,CAAA37B,CACA,CAAA,SAAA,CAAAlC,EACA,OAAA89B,CAAAA,CACF,CAIG,CAAA,CACD,IAAM1mB,CAAAA,CAAM0e,SAAuB,IAAI,CAAA,CACjC,CAAE,MAAA,CAAA9e,CAAQ,CAAA,MAAA,CAAA+mB,CAAQ,CAAA,OAAA,CAAAllB,CAAQ,CAAA,CAAI9B,EAAQ,EAAA,CAC5C,OAAAI,EAAAA,CAAgBC,EAAkCyB,CAAO,CAAA,CAGvD5Y,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,wBAAwB,GAAKmX,CAAAA,CAAAA,CAAAA,CACzC0mB,CACC79B,CAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,UAAU,gBAAiB,CAAA,OAAA,CAAS89B,CACtCD,CAAAA,CAAAA,CACH,CAEA79B,CAAAA,oBAAAA,CAAA,aAAC,CAAA,QAAA,CAAA,CACC,OAAS89B,CAAAA,CAAAA,CACT,SAAU,CAAA,uDAAA,CAAA,CAEV99B,oBAAA,CAAA,aAAA,CAAC+9B,6BAAA,CAAiB,SAAA,CAAU,SAAU,CAAA,CACxC,CAEDhnB,CAAAA,CAAAA,EACC/W,qBAAA,aAAC4yB,CAAAA,YAAAA,CAAO,GAAP,CAAA,CACC,KAAO,CAAA,CACL,UAAW,yCACb,CAAA,CACA,OAAS,CAAA,CAAE,OAAS,CAAA,CAAA,CAAG,CAAG,CAAA,GAAI,CAC9B,CAAA,OAAA,CAAS,CAAE,OAAA,CAAS,CAAG,CAAA,CAAA,CAAG,CAAE,CAC5B,CAAA,IAAA,CAAM,CAAE,OAAA,CAAS,CAAG,CAAA,CAAA,CAAG,GAAI,CAC3B,CAAA,UAAA,CAAY,CAAE,QAAA,CAAU,EAAI,CAAA,CAC5B,UAAW,CAAqE7yB,kEAAAA,EAAAA,CAAS,CAExFkC,CAAAA,CAAAA,CAAAA,CACH,CAEJ,CAEJ,CC9CO,IAAM+7B,EAAkB,CAAA,IAAM,CACnC,GAAM,CAAE,WAAAz7B,CAAAA,CAAAA,CAAa,cAAAD,CAAAA,CAAe,EAAI0V,CAAsB,EAAA,CACxDimB,CAAiB17B,CAAAA,CAAAA,GAAgB,KAAQ,CAAA,WAAA,CAAcD,EAC7D,SAAS47B,CAAAA,CAAW3I,CAAcx0B,CAAAA,CAAAA,CAAemb,CAAuB,CAAA,CACtEiiB,sBAAU5I,CAAMx0B,CAAAA,CAAAA,CAAOE,CAAA,CAAA,CACrB,QAAU,CAAA,KAAA,CACV,OAAQsB,CAAgB,GAAA,KAAA,CACxB,IAAM,CAAA,GAAA,CACN,MAAQ07B,CAAAA,CAAAA,CAAAA,CACL/hB,EACJ,EACH,CAEA,SAASkiB,CAAAA,CAAc7I,CAAcrZ,CAAAA,CAAAA,CAAuB,CAC1DmiB,wBAAAA,CAAa9I,CAAMt0B,CAAAA,CAAAA,CAAA,CACjB,QAAA,CAAU,KACV,CAAA,MAAA,CAAQsB,IAAgB,KACxB,CAAA,IAAA,CAAM,GACN,CAAA,MAAA,CAAQ07B,CACL/hB,CAAAA,CAAAA,CAAAA,CACJ,EACH,CAEA,SAASoiB,CAAe/I,CAAAA,CAAAA,CAAc,CACpC,OAAOgJ,sBAAUhJ,CAAI,CACvB,CAEA,OAAO,CACL,UAAA,CAAA2I,CACA,CAAA,aAAA,CAAAE,CACA,CAAA,cAAA,CAAAE,CACF,CACF,CC5BA,CAEO,SAASE,EAAAA,CAAY,CAAE,OAAA,CAAAX,CAAQ,CAAkC,CAAA,CACtE,GAAM,CAAE,MAAA37B,CAAAA,CAAO,EAAI8V,CAAsB,EAAA,CACnC,CAAE,aAAA,CAAAomB,CAAc,CAAA,CAAIJ,EAAgB,EAAA,CAa1C,OACEh+B,oBAAAA,CAAA,aAAC49B,CAAAA,EAAAA,CAAA,CAAS,OAAA,CAASC,GACjB79B,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,8BAEbA,CAAAA,CAAAA,oBAAAA,CAAA,cAAC,KACC,CAAA,CAAA,IAAA,CAAK,QACL,CAAA,OAAA,CAjBa,IAAM,CACzBo+B,gBAAiC,CACjCA,CAAAA,CAAAA,CAAAA,eAAkC,CAClCA,CAAAA,CAAAA,CAAAA,WAA8B,CAC9BA,CAAAA,CAAAA,CAAAA,SAA4B,CAC5BA,CAAAA,CAAAA,CAAAA,WAA8B,CAC9BA,CAAAA,CAAAA,CAAAA,aAAgC,CAEhC,CAAA,MAAA,CAAO,QAAS,CAAA,IAAA,CAAO,IACzB,CASQ,CAAA,SAAA,CAAU,wLAEVp+B,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,UAAU,2CACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAACy+B,CAAAA,kBAAAA,CAAA,CAAO,SAAA,CAAU,oDAAoD,CACxE,CAAA,CACC7mB,CACC1V,CAAAA,CAAAA,CACA,+BACF,CACF,CACF,CACF,CAEJ,CCtCO,SAASw8B,EAAAA,EAAW,CACzB,GAAM,CAAE,IAAAr8B,CAAAA,CAAAA,CAAM,MAAAH,CAAAA,CAAO,CAAI8V,CAAAA,CAAAA,GAMzB,OACEhY,oBAAAA,CAAA,aAACw+B,CAAAA,EAAAA,CAAA,CACC,OAAA,CACEx+B,qBAAA,aAAC,CAAA,KAAA,CAAA,CAAI,SAAU,CAAA,2BAAA,CAAA,CACbA,oBAAA,CAAA,aAAA,CAACs8B,EAAA,CAAA,CACC,OATsB,CAAA,IAAM,CACpC,MAAA,CAAO,QAAS,CAAA,IAAA,CAAO,YAAYp6B,CAAM,CAAA,EAC3C,CAQU,CAAA,IAAA,CAAMG,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAM,IACZ,CAAA,GAAA,CAAKA,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAM,CAAA,MAAA,CACX,UAAU,SACZ,CAAA,CAAA,CAEArC,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,2BACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,SAAU,CAAA,2BAAA,CAAA,CACbA,oBAAA,CAAA,aAAA,CAAC,QAAK,SAAU,CAAA,4BAAA,CAAA,CAA8BqC,CAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAM,CAAA,IAAK,EACzDrC,oBAAA,CAAA,aAAA,CAAC,MAAK,CAAA,CAAA,SAAA,CAAU,+BACbqC,CAAAA,CAAAA,CAAAA,EAAA,YAAAA,CAAM,CAAA,IACT,CACF,CAAA,CAEArC,oBAAA,CAAA,aAAA,CAACm9B,4BAAA,CAAgB,SAAA,CAAU,SAAU,CAAA,CACvC,CACF,CAAA,CAEJ,CAEJ,CC5BO,SAASwB,EAAAA,CAAW,CAAE,IAAA,CAAA1F,CAAM,CAAA,KAAA,CAAA9rB,EAAO,IAAA4tB,CAAAA,CAAAA,CAAM,QAAAnf,CAAAA,CAAS,CAAoB,CAAA,CAC3E,OACE5b,oBAAAA,CAAA,aAAC,CAAA,QAAA,CAAA,CACC,OAAS,CAAA,IAAO,MAAO,CAAA,QAAA,CAAS,KAAO+6B,CACvC,CAAA,SAAA,CAAW9kB,EACT,CAAA,gGAAA,CACA2F,CAAY,EAAA,uCACd,GAEA5b,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAWiW,EAAG,CAAA,wBAAA,CAA0B,CAAC2F,CAAY,EAAA,WAAW,CAClEqd,CAAAA,CAAAA,CACH,CAEC9rB,CAAAA,CACH,CAEJ,CCxBO,IAAMyxB,EAAW,CAAA,IACtB5+B,qBAAA,aAAC,CAAA,KAAA,CAAA,CACC,KAAM,CAAA,4BAAA,CACN,KAAM,CAAA,IAAA,CACN,OAAO,IACP,CAAA,IAAA,CAAK,MACL,CAAA,OAAA,CAAQ,WAERA,CAAAA,CAAAA,oBAAAA,CAAA,cAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,6XACH,CAAA,CACH,CCdF,CAEO,IAAM6+B,EAAAA,CAAU,IACrB7+B,oBAAAA,CAAA,cAAC,KACC,CAAA,CAAA,KAAA,CAAM,4BACN,CAAA,KAAA,CAAM,IACN,CAAA,MAAA,CAAO,KACP,IAAK,CAAA,MAAA,CACL,OAAQ,CAAA,WAAA,CAAA,CAERA,oBAAA,CAAA,aAAA,CAAC,QACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,kNAAA,CACF,OAAQ,CAAA,KAAA,CACT,CACDA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,uKAAA,CACH,CACH,CCnBF,CAEO,IAAM4C,EAAAA,CAAc,IACzB5C,oBAAA,CAAA,aAAA,CAAC,KACC,CAAA,CAAA,KAAA,CAAM,4BACN,CAAA,KAAA,CAAM,KACN,MAAO,CAAA,IAAA,CACP,IAAK,CAAA,MAAA,CACL,OAAQ,CAAA,WAAA,CAAA,CAERA,oBAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,IAAA,CAAK,SACL,CAAA,CAAA,CAAE,8JACF,CAAA,OAAA,CAAQ,MACT,CACDA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,SAAS,SACT,CAAA,CAAA,CAAE,4cACF,CAAA,QAAA,CAAS,SACV,CAAA,CACH,ECXK,SAAS8+B,EAAAA,EAAS,CACvB,GAAM,CAAE,MAAA,CAAA58B,CAAO,CAAA,CAAI8V,CAAsB,EAAA,CAEzC,OACEhY,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,UAAU,mBACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC2+B,CAAAA,EAAAA,CAAA,CACC,QAAA,CAAQ,KACR,IAAK,CAAA,GAAA,CACL,KAAO/mB,CAAAA,CAAAA,CAAkB1V,CAAmB,CAAA,kBAAkB,EAC9D,IAAMlC,CAAAA,oBAAAA,CAAA,aAAC4+B,CAAAA,EAAAA,CAAA,IAAS,CAAA,CAClB,CAEA5+B,CAAAA,oBAAAA,CAAA,aAAC2+B,CAAAA,EAAAA,CAAA,CACC,KAAA,CAAO/mB,CAAkB1V,CAAAA,CAAAA,CAAmB,iBAAiB,CAC7D,CAAA,IAAA,CAAMlC,oBAAA,CAAA,aAAA,CAAC6+B,EAAA,CAAA,IAAQ,EACf,IAAK,CAAA,MAAA,CACP,CAEA7+B,CAAAA,oBAAAA,CAAA,aAAC2+B,CAAAA,EAAAA,CAAA,CACC,KAAO/mB,CAAAA,CAAAA,CAAkB1V,CAAmB,CAAA,qBAAqB,CACjE,CAAA,IAAA,CAAMlC,qBAAA,aAAC4C,CAAAA,EAAAA,CAAA,IAAY,CAAA,CACnB,IAAK,CAAA,UAAA,CACP,CACF,CAEJ,CCjCO,IAAMm8B,GAAS,IACpBC,YAAA,CAAA,aAAA,CAAC,KACC,CAAA,CAAA,KAAA,CAAM,4BACN,CAAA,KAAA,CAAM,KACN,MAAO,CAAA,IAAA,CACP,IAAK,CAAA,MAAA,CACL,OAAQ,CAAA,WAAA,CAAA,CAERA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,0ZAAA,CACH,CACD,CAAAA,YAAA,CAAA,aAAA,CAAC,QACC,IAAK,CAAA,SAAA,CACL,CAAE,CAAA,iMAAA,CACH,CACH,CAAA,CChBK,IAAMC,EAAAA,CAAe,IAC1BC,YAAA,CAAA,aAAA,CAAC,OACC,KAAM,CAAA,4BAAA,CACN,KAAM,CAAA,IAAA,CACN,MAAO,CAAA,IAAA,CACP,IAAK,CAAA,MAAA,CACL,OAAQ,CAAA,WAAA,CAAA,CAERA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,IAAK,CAAA,SAAA,CACL,EAAE,4MACF,CAAA,OAAA,CAAQ,KACT,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,KAAK,SACL,CAAA,CAAA,CAAE,yTACH,CAAA,CAAA,CACDA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CAAK,MAAM,IAAK,CAAA,MAAA,CAAO,IAAK,CAAA,CAAA,CAAE,QAAS,CAAA,CAAA,CAAE,GAAI,CAAA,IAAA,CAAK,SAAU,CAAA,EAAA,CAAG,GAAI,CAAA,CAAA,CACpEA,YAAC,CAAA,aAAA,CAAA,MAAA,CAAA,CACC,MAAM,IACN,CAAA,MAAA,CAAO,IACP,CAAA,CAAA,CAAE,QACF,CAAA,CAAA,CAAE,IACF,MAAO,CAAA,MAAA,CACP,WAAY,CAAA,GAAA,CACZ,EAAG,CAAA,GAAA,CACJ,CACH,CCjBF,CAEO,SAASC,EAAc,CAAA,CAAE,SAAAp/B,CAAAA,CAAU,CAA2B,CAAA,CACnE,GAAM,CAAE,OAAAmC,CAAO,CAAA,CAAI8V,CAAsB,EAAA,CACnC,CAAConB,CAAAA,CAAQC,CAAS,CAAIpoB,CAAAA,UAAAA,CAAS,EAAE,CAAA,CAEvC,OACEjX,oBAAAA,CAAA,cAAC,QACC,CAAA,CAAA,SAAA,CAAWiW,EACT,CAAA,2EAAA,CACAlW,CACF,CAAA,CAAA,CAEAC,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,6EACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,UAAU,2BACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,QAAA,CAAA,CACC,SAAU,CAAA,mBAAA,CACV,QAAS,IAAO,MAAA,CAAO,QAAS,CAAA,IAAA,CAAO,GAEvCA,CAAAA,CAAAA,oBAAAA,CAAA,cAAC29B,EAAA,CAAA,IAAa,CAChB,CAAA,CAEA39B,oBAAA,CAAA,aAAA,CAACm1B,EAAA,CAAA,CACC,QAAW30B,CAAAA,CAAAA,EAAM6+B,CAAU7+B,CAAAA,CAAAA,CAAE,MAAO,CAAA,KAAK,EACzC,SAAU,CAAA,UAAA,CACV,gBAAiB,CAAA,eAAA,CACjB,QAAUR,CAAAA,oBAAAA,CAAA,cAAC++B,EAAA,CAAA,IAAO,CAClB,CAAA,WAAA,CAAannB,CACX1V,CAAAA,CAAAA,CACA,8BACF,CACA,CAAA,KAAA,CAAOk9B,CACT,CAAA,CACF,CAEAp/B,CAAAA,oBAAAA,CAAA,aAAC8+B,CAAAA,EAAAA,CAAA,IAAO,CAAA,CAER9+B,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,6BACbA,oBAAA,CAAA,aAAA,CAAC,QACCA,CAAAA,IAAAA,CAAAA,oBAAAA,CAAA,aAACi/B,CAAAA,EAAAA,CAAA,IAAa,CAChB,CAAA,CACAj/B,oBAAA,CAAA,aAAA,CAACs/B,oCAAA,CAAA,IAAqB,EACtBt/B,oBAAA,CAAA,aAAA,CAAC0+B,EAAA,CAAA,IAAS,CACZ,CACF,CACF,CAEJ,CCzDe,SAARa,EAA6B,EAAA,CAClC,OACEv/B,oBAAAA,CAAA,cAAC,KACC,CAAA,CAAA,KAAA,CAAM,IACN,CAAA,MAAA,CAAO,IACP,CAAA,OAAA,CAAQ,YACR,IAAK,CAAA,MAAA,CACL,KAAM,CAAA,4BAAA,CAAA,CAENA,oBAAA,CAAA,aAAA,CAAC,MACC,CAAA,CAAA,QAAA,CAAS,SACT,CAAA,QAAA,CAAS,SACT,CAAA,CAAA,CAAE,yaACF,CAAA,IAAA,CAAK,UACP,CACAA,CAAAA,oBAAAA,CAAA,aAAC,CAAA,MAAA,CAAA,CACC,QAAS,CAAA,SAAA,CACT,SAAS,SACT,CAAA,CAAA,CAAE,iPACF,CAAA,IAAA,CAAK,SACP,CAAA,CACF,CAEJ,CCdO,SAASw/B,EAAa,CAAA,CAAE,SAAAz/B,CAAAA,CAAU,EAA2B,CAClE,GAAM,CAAE,IAAA,CAAAsC,CAAM,CAAA,MAAA,CAAAH,CAAO,CAAI8V,CAAAA,CAAAA,EAEnBynB,CAAAA,CAAAA,CAA0B,IAAM,CACpC,OAAO,QAAS,CAAA,IAAA,CAAO,CAAYv9B,SAAAA,EAAAA,CAAM,CAC3C,EAAA,CAAA,CAEA,OACElC,oBAAAA,CAAA,aAAC,CAAA,QAAA,CAAA,CACC,SAAWiW,CAAAA,EAAAA,CACT,kGACAlW,CAAAA,CACF,GAEAC,oBAAA,CAAA,aAAA,CAAC,KAAI,CAAA,CAAA,SAAA,CAAU,2BACbA,CAAAA,CAAAA,oBAAAA,CAAA,cAACs8B,EAAA,CAAA,CACC,OAASmD,CAAAA,CAAAA,CACT,IAAMp9B,CAAAA,CAAAA,EAAA,YAAAA,CAAM,CAAA,IAAA,CACZ,SAAU,CAAA,kCAAA,CACZ,CAEArC,CAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,SAAU,CAAA,uBAAA,CAAA,CACbA,oBAAA,CAAA,aAAA,CAAC,MAAK,CAAA,CAAA,SAAA,CAAU,0BACb4X,CACC1V,CAAAA,CAAAA,CACA,+BACF,CACF,CAEAlC,CAAAA,oBAAAA,CAAA,cAAC,MAAK,CAAA,CAAA,SAAA,CAAU,mCACbqC,CAAAA,CAAAA,CAAAA,EAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAM,IACT,CACF,CACF,CAEArC,CAAAA,oBAAAA,CAAA,aAAC,CAAA,KAAA,CAAA,CAAI,SAAU,CAAA,2BAAA,CAAA,CACbA,oBAAA,CAAA,aAAA,CAAC,QAAO,CAAA,CAAA,SAAA,CAAU,sEAChBA,CAAAA,CAAAA,oBAAAA,CAAA,cAAC,KAAI,CAAA,CAAA,SAAA,CAAU,+DACbA,CAAAA,CAAAA,oBAAAA,CAAA,aAACu/B,CAAAA,EAAAA,CAAA,IAAU,CACb,CACF,CAEAv/B,CAAAA,oBAAAA,CAAA,aAACs/B,CAAAA,oCAAAA,CAAA,IAAqB,CAEtBt/B,CAAAA,oBAAAA,CAAA,aAAC,CAAA,QAAA,CAAA,IAAA,CACCA,oBAAA,CAAA,aAAA,CAAC0/B,oBAAA,CAAA,CAAS,SAAU,CAAA,oBAAA,CAAqB,CAC3C,CACF,CACF,CAEJ,CCzDe,SAARC,EAAAA,CAAwB,CAAE,SAAA,CAAA5/B,CAAU,CAAA,CAA2B,CACpE,OACEC,oBAAAA,CAAA,aAAAA,CAAAA,oBAAAA,CAAA,QACEA,CAAAA,IAAAA,CAAAA,oBAAAA,CAAA,cAACm/B,EAAA,CAAA,CAAc,SAAWp/B,CAAAA,CAAAA,CAAW,CACrCC,CAAAA,oBAAAA,CAAA,aAACw/B,CAAAA,EAAAA,CAAA,CAAa,SAAA,CAAWz/B,CAAW,CAAA,CACtC,CAEJ","file":"index.js","sourcesContent":["import React from \"react\";\r\n\r\nexport default function Spinner({ className }: { className?: string }) {\r\n return (\r\n <div className=\"\">\r\n <svg\r\n aria-hidden=\"true\"\r\n className={`w-6 h-6 mr-2 animate-spin text-gray-200 fill-primary ${className}`}\r\n viewBox=\"0 0 100 101\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\r\n fill=\"currentColor\"\r\n />\r\n <path\r\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\r\n fill=\"currentFill\"\r\n />\r\n </svg>\r\n </div>\r\n );\r\n}\r\n","export default function joinUrlWithPathAndQuery(\r\n baseUrl: string,\r\n path: string,\r\n query?: Record<string, string>\r\n): string {\r\n try {\r\n if (!baseUrl.endsWith(\"/\")) {\r\n baseUrl += \"/\";\r\n }\r\n\r\n if (path.startsWith(\"/\")) {\r\n path = path.substring(1);\r\n }\r\n\r\n let url = baseUrl + path;\r\n\r\n if (query) {\r\n const queryParams = Object.keys(query)\r\n .map(\r\n (key) =>\r\n encodeURIComponent(key) + \"=\" + encodeURIComponent(query[key])\r\n )\r\n .join(\"&\");\r\n\r\n if (queryParams) {\r\n url += \"?\" + queryParams;\r\n }\r\n }\r\n\r\n return url;\r\n } catch {\r\n return \"\";\r\n }\r\n}\r\n","export default function stringToObj<T>(\r\n inputString: string,\r\n separator: string\r\n): T | undefined {\r\n const keyValuePairs: string[] = inputString.split(separator);\r\n\r\n let resultObj: T | undefined;\r\n\r\n for (const pair of keyValuePairs) {\r\n const [key, value] = pair.split(\"=\");\r\n if (!resultObj) resultObj = {} as T;\r\n\r\n if (value) {\r\n resultObj = {\r\n ...resultObj,\r\n [key]: value,\r\n };\r\n }\r\n }\r\n\r\n return resultObj;\r\n}\r\n","export default function getInitials(fullName: string): string {\r\n if (!fullName) return \"\";\r\n\r\n const parts = fullName.trim().split(/\\s+/);\r\n\r\n if (parts.length === 0) return \"\";\r\n\r\n const firstInitial = parts[0][0]?.toUpperCase() ?? \"\";\r\n const lastInitial =\r\n parts.length > 1 ? parts[parts.length - 1][0]?.toUpperCase() ?? \"\" : \"\";\r\n\r\n return firstInitial + lastInitial;\r\n}\r\n","import { createContext } from \"react\";\r\nimport { IMirantesFoundationContext, User } from \"./types\";\r\n\r\nexport const MirantesFoundationContext =\r\n createContext<IMirantesFoundationContext>({\r\n locale: \"pt\",\r\n user: {} as User,\r\n });\r\n","import React, { useMemo, lazy } from \"react\";\r\nimport { MirantesFoundationContext } from \"./MirantesFoundationContext\";\r\nimport { IMirantesFoundationProviderProps } from \"./types\";\r\n// import { MirantesFoundationProvider as MirantesFoundationProviderNotification } from \"@mirantes-micro/notifications-v2\";\r\n\r\nconst MirantesFoundationProviderNotification = lazy(() =>\r\n import(\"@mirantes-micro/notifications-v2\").then((module) => ({\r\n default: module.MirantesFoundationProvider,\r\n }))\r\n);\r\n\r\nexport default function MirantesFoundationProvider({\r\n children,\r\n values: {\r\n locale,\r\n Link,\r\n usePathname,\r\n user,\r\n mirantesDomain,\r\n environment,\r\n widgetsApi,\r\n hostUrl,\r\n isDev,\r\n } = {},\r\n}: IMirantesFoundationProviderProps) {\r\n const value = useMemo(\r\n () => ({\r\n locale,\r\n Link,\r\n usePathname,\r\n user,\r\n mirantesDomain,\r\n environment,\r\n widgetsApi,\r\n hostUrl,\r\n isDev,\r\n }),\r\n [locale, Link, usePathname, user, mirantesDomain, environment, widgetsApi]\r\n );\r\n\r\n return (\r\n <MirantesFoundationContext.Provider value={value}>\r\n <MirantesFoundationProviderNotification\r\n values={{\r\n locale: value?.locale,\r\n user: value?.user,\r\n hostUrl: value?.hostUrl,\r\n notification: {\r\n pusherCredentials: {\r\n key: \"11920e01b8a8ccb07424\",\r\n cluster: \"mt1\",\r\n to: \"B2C\",\r\n channel: \"mirantes-micro-notifications-app\",\r\n },\r\n },\r\n }}\r\n isDev={isDev}\r\n >\r\n {children}\r\n </MirantesFoundationProviderNotification>\r\n </MirantesFoundationContext.Provider>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const ExploreIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"21\"\r\n fill=\"none\"\r\n viewBox=\"0 0 20 21\"\r\n >\r\n <path\r\n fill=\"#687588\"\r\n d=\"M13.396 2.167h2.822c1.169 0 2.115.954 2.115 2.133v2.845a2.124 2.124 0 0 1-2.115 2.134h-2.822a2.124 2.124 0 0 1-2.115-2.134V4.3c0-1.179.947-2.133 2.115-2.133\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#687588\"\r\n d=\"M6.604 11.721c1.168 0 2.115.955 2.115 2.133V16.7a2.125 2.125 0 0 1-2.115 2.134H3.782A2.125 2.125 0 0 1 1.667 16.7v-2.846c0-1.178.947-2.133 2.115-2.133zm9.614 0c1.168 0 2.116.955 2.116 2.133V16.7a2.126 2.126 0 0 1-2.116 2.134h-2.822a2.125 2.125 0 0 1-2.115-2.134v-2.846c0-1.178.947-2.133 2.115-2.133zM6.604 2.167c1.169 0 2.115.955 2.115 2.133v2.845a2.125 2.125 0 0 1-2.115 2.134H3.782a2.125 2.125 0 0 1-2.115-2.134V4.3c0-1.178.946-2.133 2.115-2.133z\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import {\n AnyClassGroupIds,\n AnyConfig,\n AnyThemeGroupIds,\n ClassGroup,\n ClassValidator,\n Config,\n ThemeGetter,\n ThemeObject,\n} from './types'\n\nexport interface ClassPartObject {\n nextPart: Map<string, ClassPartObject>\n validators: ClassValidatorObject[]\n classGroupId?: AnyClassGroupIds\n}\n\ninterface ClassValidatorObject {\n classGroupId: AnyClassGroupIds\n validator: ClassValidator\n}\n\nconst CLASS_PART_SEPARATOR = '-'\n\nexport const createClassGroupUtils = (config: AnyConfig) => {\n const classMap = createClassMap(config)\n const { conflictingClassGroups, conflictingClassGroupModifiers } = config\n\n const getClassGroupId = (className: string) => {\n const classParts = className.split(CLASS_PART_SEPARATOR)\n\n // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.\n if (classParts[0] === '' && classParts.length !== 1) {\n classParts.shift()\n }\n\n return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className)\n }\n\n const getConflictingClassGroupIds = (\n classGroupId: AnyClassGroupIds,\n hasPostfixModifier: boolean,\n ) => {\n const conflicts = conflictingClassGroups[classGroupId] || []\n\n if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {\n return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]!]\n }\n\n return conflicts\n }\n\n return {\n getClassGroupId,\n getConflictingClassGroupIds,\n }\n}\n\nconst getGroupRecursive = (\n classParts: string[],\n classPartObject: ClassPartObject,\n): AnyClassGroupIds | undefined => {\n if (classParts.length === 0) {\n return classPartObject.classGroupId\n }\n\n const currentClassPart = classParts[0]!\n const nextClassPartObject = classPartObject.nextPart.get(currentClassPart)\n const classGroupFromNextClassPart = nextClassPartObject\n ? getGroupRecursive(classParts.slice(1), nextClassPartObject)\n : undefined\n\n if (classGroupFromNextClassPart) {\n return classGroupFromNextClassPart\n }\n\n if (classPartObject.validators.length === 0) {\n return undefined\n }\n\n const classRest = classParts.join(CLASS_PART_SEPARATOR)\n\n return classPartObject.validators.find(({ validator }) => validator(classRest))?.classGroupId\n}\n\nconst arbitraryPropertyRegex = /^\\[(.+)\\]$/\n\nconst getGroupIdForArbitraryProperty = (className: string) => {\n if (arbitraryPropertyRegex.test(className)) {\n const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)![1]\n const property = arbitraryPropertyClassName?.substring(\n 0,\n arbitraryPropertyClassName.indexOf(':'),\n )\n\n if (property) {\n // I use two dots here because one dot is used as prefix for class groups in plugins\n return 'arbitrary..' + property\n }\n }\n}\n\n/**\n * Exported for testing only\n */\nexport const createClassMap = (config: Config<AnyClassGroupIds, AnyThemeGroupIds>) => {\n const { theme, prefix } = config\n const classMap: ClassPartObject = {\n nextPart: new Map<string, ClassPartObject>(),\n validators: [],\n }\n\n const prefixedClassGroupEntries = getPrefixedClassGroupEntries(\n Object.entries(config.classGroups),\n prefix,\n )\n\n prefixedClassGroupEntries.forEach(([classGroupId, classGroup]) => {\n processClassesRecursively(classGroup, classMap, classGroupId, theme)\n })\n\n return classMap\n}\n\nconst processClassesRecursively = (\n classGroup: ClassGroup<AnyThemeGroupIds>,\n classPartObject: ClassPartObject,\n classGroupId: AnyClassGroupIds,\n theme: ThemeObject<AnyThemeGroupIds>,\n) => {\n classGroup.forEach((classDefinition) => {\n if (typeof classDefinition === 'string') {\n const classPartObjectToEdit =\n classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition)\n classPartObjectToEdit.classGroupId = classGroupId\n return\n }\n\n if (typeof classDefinition === 'function') {\n if (isThemeGetter(classDefinition)) {\n processClassesRecursively(\n classDefinition(theme),\n classPartObject,\n classGroupId,\n theme,\n )\n return\n }\n\n classPartObject.validators.push({\n validator: classDefinition,\n classGroupId,\n })\n\n return\n }\n\n Object.entries(classDefinition).forEach(([key, classGroup]) => {\n processClassesRecursively(\n classGroup,\n getPart(classPartObject, key),\n classGroupId,\n theme,\n )\n })\n })\n}\n\nconst getPart = (classPartObject: ClassPartObject, path: string) => {\n let currentClassPartObject = classPartObject\n\n path.split(CLASS_PART_SEPARATOR).forEach((pathPart) => {\n if (!currentClassPartObject.nextPart.has(pathPart)) {\n currentClassPartObject.nextPart.set(pathPart, {\n nextPart: new Map(),\n validators: [],\n })\n }\n\n currentClassPartObject = currentClassPartObject.nextPart.get(pathPart)!\n })\n\n return currentClassPartObject\n}\n\nconst isThemeGetter = (func: ClassValidator | ThemeGetter): func is ThemeGetter =>\n (func as ThemeGetter).isThemeGetter\n\nconst getPrefixedClassGroupEntries = (\n classGroupEntries: Array<[classGroupId: string, classGroup: ClassGroup<AnyThemeGroupIds>]>,\n prefix: string | undefined,\n): Array<[classGroupId: string, classGroup: ClassGroup<AnyThemeGroupIds>]> => {\n if (!prefix) {\n return classGroupEntries\n }\n\n return classGroupEntries.map(([classGroupId, classGroup]) => {\n const prefixedClassGroup = classGroup.map((classDefinition) => {\n if (typeof classDefinition === 'string') {\n return prefix + classDefinition\n }\n\n if (typeof classDefinition === 'object') {\n return Object.fromEntries(\n Object.entries(classDefinition).map(([key, value]) => [prefix + key, value]),\n )\n }\n\n return classDefinition\n })\n\n return [classGroupId, prefixedClassGroup]\n })\n}\n","// Export is needed because TypeScript complains about an error otherwise:\n// Error: …/tailwind-merge/src/config-utils.ts(8,17): semantic error TS4058: Return type of exported function has or is using name 'LruCache' from external module \"…/tailwind-merge/src/lru-cache\" but cannot be named.\nexport interface LruCache<Key, Value> {\n get(key: Key): Value | undefined\n set(key: Key, value: Value): void\n}\n\n// LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance\nexport const createLruCache = <Key, Value>(maxCacheSize: number): LruCache<Key, Value> => {\n if (maxCacheSize < 1) {\n return {\n get: () => undefined,\n set: () => {},\n }\n }\n\n let cacheSize = 0\n let cache = new Map<Key, Value>()\n let previousCache = new Map<Key, Value>()\n\n const update = (key: Key, value: Value) => {\n cache.set(key, value)\n cacheSize++\n\n if (cacheSize > maxCacheSize) {\n cacheSize = 0\n previousCache = cache\n cache = new Map()\n }\n }\n\n return {\n get(key) {\n let value = cache.get(key)\n\n if (value !== undefined) {\n return value\n }\n if ((value = previousCache.get(key)) !== undefined) {\n update(key, value)\n return value\n }\n },\n set(key, value) {\n if (cache.has(key)) {\n cache.set(key, value)\n } else {\n update(key, value)\n }\n },\n }\n}\n","import { AnyConfig } from './types'\n\nexport const IMPORTANT_MODIFIER = '!'\n\nexport const createParseClassName = (config: AnyConfig) => {\n const { separator, experimentalParseClassName } = config\n const isSeparatorSingleCharacter = separator.length === 1\n const firstSeparatorCharacter = separator[0]\n const separatorLength = separator.length\n\n // parseClassName inspired by https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js\n const parseClassName = (className: string) => {\n const modifiers = []\n\n let bracketDepth = 0\n let modifierStart = 0\n let postfixModifierPosition: number | undefined\n\n for (let index = 0; index < className.length; index++) {\n let currentCharacter = className[index]\n\n if (bracketDepth === 0) {\n if (\n currentCharacter === firstSeparatorCharacter &&\n (isSeparatorSingleCharacter ||\n className.slice(index, index + separatorLength) === separator)\n ) {\n modifiers.push(className.slice(modifierStart, index))\n modifierStart = index + separatorLength\n continue\n }\n\n if (currentCharacter === '/') {\n postfixModifierPosition = index\n continue\n }\n }\n\n if (currentCharacter === '[') {\n bracketDepth++\n } else if (currentCharacter === ']') {\n bracketDepth--\n }\n }\n\n const baseClassNameWithImportantModifier =\n modifiers.length === 0 ? className : className.substring(modifierStart)\n const hasImportantModifier =\n baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)\n const baseClassName = hasImportantModifier\n ? baseClassNameWithImportantModifier.substring(1)\n : baseClassNameWithImportantModifier\n\n const maybePostfixModifierPosition =\n postfixModifierPosition && postfixModifierPosition > modifierStart\n ? postfixModifierPosition - modifierStart\n : undefined\n\n return {\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition,\n }\n }\n\n if (experimentalParseClassName) {\n return (className: string) => experimentalParseClassName({ className, parseClassName })\n }\n\n return parseClassName\n}\n\n/**\n * Sorts modifiers according to following schema:\n * - Predefined modifiers are sorted alphabetically\n * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it\n */\nexport const sortModifiers = (modifiers: string[]) => {\n if (modifiers.length <= 1) {\n return modifiers\n }\n\n const sortedModifiers: string[] = []\n let unsortedModifiers: string[] = []\n\n modifiers.forEach((modifier) => {\n const isArbitraryVariant = modifier[0] === '['\n\n if (isArbitraryVariant) {\n sortedModifiers.push(...unsortedModifiers.sort(), modifier)\n unsortedModifiers = []\n } else {\n unsortedModifiers.push(modifier)\n }\n })\n\n sortedModifiers.push(...unsortedModifiers.sort())\n\n return sortedModifiers\n}\n","import { createClassGroupUtils } from './class-group-utils'\nimport { createLruCache } from './lru-cache'\nimport { createParseClassName } from './parse-class-name'\nimport { AnyConfig } from './types'\n\nexport type ConfigUtils = ReturnType<typeof createConfigUtils>\n\nexport const createConfigUtils = (config: AnyConfig) => ({\n cache: createLruCache<string, string>(config.cacheSize),\n parseClassName: createParseClassName(config),\n ...createClassGroupUtils(config),\n})\n","import { ConfigUtils } from './config-utils'\nimport { IMPORTANT_MODIFIER, sortModifiers } from './parse-class-name'\n\nconst SPLIT_CLASSES_REGEX = /\\s+/\n\nexport const mergeClassList = (classList: string, configUtils: ConfigUtils) => {\n const { parseClassName, getClassGroupId, getConflictingClassGroupIds } = configUtils\n\n /**\n * Set of classGroupIds in following format:\n * `{importantModifier}{variantModifiers}{classGroupId}`\n * @example 'float'\n * @example 'hover:focus:bg-color'\n * @example 'md:!pr'\n */\n const classGroupsInConflict: string[] = []\n const classNames = classList.trim().split(SPLIT_CLASSES_REGEX)\n\n let result = ''\n\n for (let index = classNames.length - 1; index >= 0; index -= 1) {\n const originalClassName = classNames[index]!\n\n const { modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition } =\n parseClassName(originalClassName)\n\n let hasPostfixModifier = Boolean(maybePostfixModifierPosition)\n let classGroupId = getClassGroupId(\n hasPostfixModifier\n ? baseClassName.substring(0, maybePostfixModifierPosition)\n : baseClassName,\n )\n\n if (!classGroupId) {\n if (!hasPostfixModifier) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n continue\n }\n\n classGroupId = getClassGroupId(baseClassName)\n\n if (!classGroupId) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n continue\n }\n\n hasPostfixModifier = false\n }\n\n const variantModifier = sortModifiers(modifiers).join(':')\n\n const modifierId = hasImportantModifier\n ? variantModifier + IMPORTANT_MODIFIER\n : variantModifier\n\n const classId = modifierId + classGroupId\n\n if (classGroupsInConflict.includes(classId)) {\n // Tailwind class omitted due to conflict\n continue\n }\n\n classGroupsInConflict.push(classId)\n\n const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier)\n for (let i = 0; i < conflictGroups.length; ++i) {\n const group = conflictGroups[i]!\n classGroupsInConflict.push(modifierId + group)\n }\n\n // Tailwind class not in conflict\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n }\n\n return result\n}\n","/**\n * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.\n *\n * Specifically:\n * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js\n * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts\n *\n * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)\n */\n\nexport type ClassNameValue = ClassNameArray | string | null | undefined | 0 | 0n | false\ntype ClassNameArray = ClassNameValue[]\n\nexport function twJoin(...classLists: ClassNameValue[]): string\nexport function twJoin() {\n let index = 0\n let argument: ClassNameValue\n let resolvedValue: string\n let string = ''\n\n while (index < arguments.length) {\n if ((argument = arguments[index++])) {\n if ((resolvedValue = toValue(argument))) {\n string && (string += ' ')\n string += resolvedValue\n }\n }\n }\n return string\n}\n\nconst toValue = (mix: ClassNameArray | string) => {\n if (typeof mix === 'string') {\n return mix\n }\n\n let resolvedValue: string\n let string = ''\n\n for (let k = 0; k < mix.length; k++) {\n if (mix[k]) {\n if ((resolvedValue = toValue(mix[k] as ClassNameArray | string))) {\n string && (string += ' ')\n string += resolvedValue\n }\n }\n }\n\n return string\n}\n","import { createConfigUtils } from './config-utils'\nimport { mergeClassList } from './merge-classlist'\nimport { ClassNameValue, twJoin } from './tw-join'\nimport { AnyConfig } from './types'\n\ntype CreateConfigFirst = () => AnyConfig\ntype CreateConfigSubsequent = (config: AnyConfig) => AnyConfig\ntype TailwindMerge = (...classLists: ClassNameValue[]) => string\ntype ConfigUtils = ReturnType<typeof createConfigUtils>\n\nexport function createTailwindMerge(\n createConfigFirst: CreateConfigFirst,\n ...createConfigRest: CreateConfigSubsequent[]\n): TailwindMerge {\n let configUtils: ConfigUtils\n let cacheGet: ConfigUtils['cache']['get']\n let cacheSet: ConfigUtils['cache']['set']\n let functionToCall = initTailwindMerge\n\n function initTailwindMerge(classList: string) {\n const config = createConfigRest.reduce(\n (previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig),\n createConfigFirst() as AnyConfig,\n )\n\n configUtils = createConfigUtils(config)\n cacheGet = configUtils.cache.get\n cacheSet = configUtils.cache.set\n functionToCall = tailwindMerge\n\n return tailwindMerge(classList)\n }\n\n function tailwindMerge(classList: string) {\n const cachedResult = cacheGet(classList)\n\n if (cachedResult) {\n return cachedResult\n }\n\n const result = mergeClassList(classList, configUtils)\n cacheSet(classList, result)\n\n return result\n }\n\n return function callTailwindMerge() {\n return functionToCall(twJoin.apply(null, arguments as any))\n }\n}\n","import { DefaultThemeGroupIds, NoInfer, ThemeGetter, ThemeObject } from './types'\n\nexport const fromTheme = <\n AdditionalThemeGroupIds extends string = never,\n DefaultThemeGroupIdsInner extends string = DefaultThemeGroupIds,\n>(key: NoInfer<DefaultThemeGroupIdsInner | AdditionalThemeGroupIds>): ThemeGetter => {\n const themeGetter = (theme: ThemeObject<DefaultThemeGroupIdsInner | AdditionalThemeGroupIds>) =>\n theme[key] || []\n\n themeGetter.isThemeGetter = true as const\n\n return themeGetter\n}\n","const arbitraryValueRegex = /^\\[(?:([a-z-]+):)?(.+)\\]$/i\nconst fractionRegex = /^\\d+\\/\\d+$/\nconst stringLengths = new Set(['px', 'full', 'screen'])\nconst tshirtUnitRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/\nconst lengthUnitRegex =\n /\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/\nconst colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\\(.+\\)$/\n// Shadow always begins with x and y offset separated by underscore optionally prepended by inset\nconst shadowRegex = /^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/\nconst imageRegex =\n /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/\n\nexport const isLength = (value: string) =>\n isNumber(value) || stringLengths.has(value) || fractionRegex.test(value)\n\nexport const isArbitraryLength = (value: string) =>\n getIsArbitraryValue(value, 'length', isLengthOnly)\n\nexport const isNumber = (value: string) => Boolean(value) && !Number.isNaN(Number(value))\n\nexport const isArbitraryNumber = (value: string) => getIsArbitraryValue(value, 'number', isNumber)\n\nexport const isInteger = (value: string) => Boolean(value) && Number.isInteger(Number(value))\n\nexport const isPercent = (value: string) => value.endsWith('%') && isNumber(value.slice(0, -1))\n\nexport const isArbitraryValue = (value: string) => arbitraryValueRegex.test(value)\n\nexport const isTshirtSize = (value: string) => tshirtUnitRegex.test(value)\n\nconst sizeLabels = new Set(['length', 'size', 'percentage'])\n\nexport const isArbitrarySize = (value: string) => getIsArbitraryValue(value, sizeLabels, isNever)\n\nexport const isArbitraryPosition = (value: string) =>\n getIsArbitraryValue(value, 'position', isNever)\n\nconst imageLabels = new Set(['image', 'url'])\n\nexport const isArbitraryImage = (value: string) => getIsArbitraryValue(value, imageLabels, isImage)\n\nexport const isArbitraryShadow = (value: string) => getIsArbitraryValue(value, '', isShadow)\n\nexport const isAny = () => true\n\nconst getIsArbitraryValue = (\n value: string,\n label: string | Set<string>,\n testValue: (value: string) => boolean,\n) => {\n const result = arbitraryValueRegex.exec(value)\n\n if (result) {\n if (result[1]) {\n return typeof label === 'string' ? result[1] === label : label.has(result[1])\n }\n\n return testValue(result[2]!)\n }\n\n return false\n}\n\nconst isLengthOnly = (value: string) =>\n // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.\n // For example, `hsl(0 0% 0%)` would be classified as a length without this check.\n // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.\n lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)\n\nconst isNever = () => false\n\nconst isShadow = (value: string) => shadowRegex.test(value)\n\nconst isImage = (value: string) => imageRegex.test(value)\n","import { fromTheme } from './from-theme'\nimport { Config, DefaultClassGroupIds, DefaultThemeGroupIds } from './types'\nimport {\n isAny,\n isArbitraryImage,\n isArbitraryLength,\n isArbitraryNumber,\n isArbitraryPosition,\n isArbitraryShadow,\n isArbitrarySize,\n isArbitraryValue,\n isInteger,\n isLength,\n isNumber,\n isPercent,\n isTshirtSize,\n} from './validators'\n\nexport const getDefaultConfig = () => {\n const colors = fromTheme('colors')\n const spacing = fromTheme('spacing')\n const blur = fromTheme('blur')\n const brightness = fromTheme('brightness')\n const borderColor = fromTheme('borderColor')\n const borderRadius = fromTheme('borderRadius')\n const borderSpacing = fromTheme('borderSpacing')\n const borderWidth = fromTheme('borderWidth')\n const contrast = fromTheme('contrast')\n const grayscale = fromTheme('grayscale')\n const hueRotate = fromTheme('hueRotate')\n const invert = fromTheme('invert')\n const gap = fromTheme('gap')\n const gradientColorStops = fromTheme('gradientColorStops')\n const gradientColorStopPositions = fromTheme('gradientColorStopPositions')\n const inset = fromTheme('inset')\n const margin = fromTheme('margin')\n const opacity = fromTheme('opacity')\n const padding = fromTheme('padding')\n const saturate = fromTheme('saturate')\n const scale = fromTheme('scale')\n const sepia = fromTheme('sepia')\n const skew = fromTheme('skew')\n const space = fromTheme('space')\n const translate = fromTheme('translate')\n\n const getOverscroll = () => ['auto', 'contain', 'none'] as const\n const getOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'] as const\n const getSpacingWithAutoAndArbitrary = () => ['auto', isArbitraryValue, spacing] as const\n const getSpacingWithArbitrary = () => [isArbitraryValue, spacing] as const\n const getLengthWithEmptyAndArbitrary = () => ['', isLength, isArbitraryLength] as const\n const getNumberWithAutoAndArbitrary = () => ['auto', isNumber, isArbitraryValue] as const\n const getPositions = () =>\n [\n 'bottom',\n 'center',\n 'left',\n 'left-bottom',\n 'left-top',\n 'right',\n 'right-bottom',\n 'right-top',\n 'top',\n ] as const\n const getLineStyles = () => ['solid', 'dashed', 'dotted', 'double', 'none'] as const\n const getBlendModes = () =>\n [\n 'normal',\n 'multiply',\n 'screen',\n 'overlay',\n 'darken',\n 'lighten',\n 'color-dodge',\n 'color-burn',\n 'hard-light',\n 'soft-light',\n 'difference',\n 'exclusion',\n 'hue',\n 'saturation',\n 'color',\n 'luminosity',\n ] as const\n const getAlign = () =>\n ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch'] as const\n const getZeroAndEmpty = () => ['', '0', isArbitraryValue] as const\n const getBreaks = () =>\n ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'] as const\n const getNumberAndArbitrary = () => [isNumber, isArbitraryValue]\n\n return {\n cacheSize: 500,\n separator: ':',\n theme: {\n colors: [isAny],\n spacing: [isLength, isArbitraryLength],\n blur: ['none', '', isTshirtSize, isArbitraryValue],\n brightness: getNumberAndArbitrary(),\n borderColor: [colors],\n borderRadius: ['none', '', 'full', isTshirtSize, isArbitraryValue],\n borderSpacing: getSpacingWithArbitrary(),\n borderWidth: getLengthWithEmptyAndArbitrary(),\n contrast: getNumberAndArbitrary(),\n grayscale: getZeroAndEmpty(),\n hueRotate: getNumberAndArbitrary(),\n invert: getZeroAndEmpty(),\n gap: getSpacingWithArbitrary(),\n gradientColorStops: [colors],\n gradientColorStopPositions: [isPercent, isArbitraryLength],\n inset: getSpacingWithAutoAndArbitrary(),\n margin: getSpacingWithAutoAndArbitrary(),\n opacity: getNumberAndArbitrary(),\n padding: getSpacingWithArbitrary(),\n saturate: getNumberAndArbitrary(),\n scale: getNumberAndArbitrary(),\n sepia: getZeroAndEmpty(),\n skew: getNumberAndArbitrary(),\n space: getSpacingWithArbitrary(),\n translate: getSpacingWithArbitrary(),\n },\n classGroups: {\n // Layout\n /**\n * Aspect Ratio\n * @see https://tailwindcss.com/docs/aspect-ratio\n */\n aspect: [{ aspect: ['auto', 'square', 'video', isArbitraryValue] }],\n /**\n * Container\n * @see https://tailwindcss.com/docs/container\n */\n container: ['container'],\n /**\n * Columns\n * @see https://tailwindcss.com/docs/columns\n */\n columns: [{ columns: [isTshirtSize] }],\n /**\n * Break After\n * @see https://tailwindcss.com/docs/break-after\n */\n 'break-after': [{ 'break-after': getBreaks() }],\n /**\n * Break Before\n * @see https://tailwindcss.com/docs/break-before\n */\n 'break-before': [{ 'break-before': getBreaks() }],\n /**\n * Break Inside\n * @see https://tailwindcss.com/docs/break-inside\n */\n 'break-inside': [{ 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column'] }],\n /**\n * Box Decoration Break\n * @see https://tailwindcss.com/docs/box-decoration-break\n */\n 'box-decoration': [{ 'box-decoration': ['slice', 'clone'] }],\n /**\n * Box Sizing\n * @see https://tailwindcss.com/docs/box-sizing\n */\n box: [{ box: ['border', 'content'] }],\n /**\n * Display\n * @see https://tailwindcss.com/docs/display\n */\n display: [\n 'block',\n 'inline-block',\n 'inline',\n 'flex',\n 'inline-flex',\n 'table',\n 'inline-table',\n 'table-caption',\n 'table-cell',\n 'table-column',\n 'table-column-group',\n 'table-footer-group',\n 'table-header-group',\n 'table-row-group',\n 'table-row',\n 'flow-root',\n 'grid',\n 'inline-grid',\n 'contents',\n 'list-item',\n 'hidden',\n ],\n /**\n * Floats\n * @see https://tailwindcss.com/docs/float\n */\n float: [{ float: ['right', 'left', 'none', 'start', 'end'] }],\n /**\n * Clear\n * @see https://tailwindcss.com/docs/clear\n */\n clear: [{ clear: ['left', 'right', 'both', 'none', 'start', 'end'] }],\n /**\n * Isolation\n * @see https://tailwindcss.com/docs/isolation\n */\n isolation: ['isolate', 'isolation-auto'],\n /**\n * Object Fit\n * @see https://tailwindcss.com/docs/object-fit\n */\n 'object-fit': [{ object: ['contain', 'cover', 'fill', 'none', 'scale-down'] }],\n /**\n * Object Position\n * @see https://tailwindcss.com/docs/object-position\n */\n 'object-position': [{ object: [...getPositions(), isArbitraryValue] }],\n /**\n * Overflow\n * @see https://tailwindcss.com/docs/overflow\n */\n overflow: [{ overflow: getOverflow() }],\n /**\n * Overflow X\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-x': [{ 'overflow-x': getOverflow() }],\n /**\n * Overflow Y\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-y': [{ 'overflow-y': getOverflow() }],\n /**\n * Overscroll Behavior\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n overscroll: [{ overscroll: getOverscroll() }],\n /**\n * Overscroll Behavior X\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-x': [{ 'overscroll-x': getOverscroll() }],\n /**\n * Overscroll Behavior Y\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-y': [{ 'overscroll-y': getOverscroll() }],\n /**\n * Position\n * @see https://tailwindcss.com/docs/position\n */\n position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],\n /**\n * Top / Right / Bottom / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n inset: [{ inset: [inset] }],\n /**\n * Right / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-x': [{ 'inset-x': [inset] }],\n /**\n * Top / Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-y': [{ 'inset-y': [inset] }],\n /**\n * Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n start: [{ start: [inset] }],\n /**\n * End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n end: [{ end: [inset] }],\n /**\n * Top\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n top: [{ top: [inset] }],\n /**\n * Right\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n right: [{ right: [inset] }],\n /**\n * Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n bottom: [{ bottom: [inset] }],\n /**\n * Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n left: [{ left: [inset] }],\n /**\n * Visibility\n * @see https://tailwindcss.com/docs/visibility\n */\n visibility: ['visible', 'invisible', 'collapse'],\n /**\n * Z-Index\n * @see https://tailwindcss.com/docs/z-index\n */\n z: [{ z: ['auto', isInteger, isArbitraryValue] }],\n // Flexbox and Grid\n /**\n * Flex Basis\n * @see https://tailwindcss.com/docs/flex-basis\n */\n basis: [{ basis: getSpacingWithAutoAndArbitrary() }],\n /**\n * Flex Direction\n * @see https://tailwindcss.com/docs/flex-direction\n */\n 'flex-direction': [{ flex: ['row', 'row-reverse', 'col', 'col-reverse'] }],\n /**\n * Flex Wrap\n * @see https://tailwindcss.com/docs/flex-wrap\n */\n 'flex-wrap': [{ flex: ['wrap', 'wrap-reverse', 'nowrap'] }],\n /**\n * Flex\n * @see https://tailwindcss.com/docs/flex\n */\n flex: [{ flex: ['1', 'auto', 'initial', 'none', isArbitraryValue] }],\n /**\n * Flex Grow\n * @see https://tailwindcss.com/docs/flex-grow\n */\n grow: [{ grow: getZeroAndEmpty() }],\n /**\n * Flex Shrink\n * @see https://tailwindcss.com/docs/flex-shrink\n */\n shrink: [{ shrink: getZeroAndEmpty() }],\n /**\n * Order\n * @see https://tailwindcss.com/docs/order\n */\n order: [{ order: ['first', 'last', 'none', isInteger, isArbitraryValue] }],\n /**\n * Grid Template Columns\n * @see https://tailwindcss.com/docs/grid-template-columns\n */\n 'grid-cols': [{ 'grid-cols': [isAny] }],\n /**\n * Grid Column Start / End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start-end': [\n {\n col: [\n 'auto',\n { span: ['full', isInteger, isArbitraryValue] },\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Grid Column Start\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start': [{ 'col-start': getNumberWithAutoAndArbitrary() }],\n /**\n * Grid Column End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-end': [{ 'col-end': getNumberWithAutoAndArbitrary() }],\n /**\n * Grid Template Rows\n * @see https://tailwindcss.com/docs/grid-template-rows\n */\n 'grid-rows': [{ 'grid-rows': [isAny] }],\n /**\n * Grid Row Start / End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start-end': [\n { row: ['auto', { span: [isInteger, isArbitraryValue] }, isArbitraryValue] },\n ],\n /**\n * Grid Row Start\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start': [{ 'row-start': getNumberWithAutoAndArbitrary() }],\n /**\n * Grid Row End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-end': [{ 'row-end': getNumberWithAutoAndArbitrary() }],\n /**\n * Grid Auto Flow\n * @see https://tailwindcss.com/docs/grid-auto-flow\n */\n 'grid-flow': [{ 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense'] }],\n /**\n * Grid Auto Columns\n * @see https://tailwindcss.com/docs/grid-auto-columns\n */\n 'auto-cols': [{ 'auto-cols': ['auto', 'min', 'max', 'fr', isArbitraryValue] }],\n /**\n * Grid Auto Rows\n * @see https://tailwindcss.com/docs/grid-auto-rows\n */\n 'auto-rows': [{ 'auto-rows': ['auto', 'min', 'max', 'fr', isArbitraryValue] }],\n /**\n * Gap\n * @see https://tailwindcss.com/docs/gap\n */\n gap: [{ gap: [gap] }],\n /**\n * Gap X\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-x': [{ 'gap-x': [gap] }],\n /**\n * Gap Y\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-y': [{ 'gap-y': [gap] }],\n /**\n * Justify Content\n * @see https://tailwindcss.com/docs/justify-content\n */\n 'justify-content': [{ justify: ['normal', ...getAlign()] }],\n /**\n * Justify Items\n * @see https://tailwindcss.com/docs/justify-items\n */\n 'justify-items': [{ 'justify-items': ['start', 'end', 'center', 'stretch'] }],\n /**\n * Justify Self\n * @see https://tailwindcss.com/docs/justify-self\n */\n 'justify-self': [{ 'justify-self': ['auto', 'start', 'end', 'center', 'stretch'] }],\n /**\n * Align Content\n * @see https://tailwindcss.com/docs/align-content\n */\n 'align-content': [{ content: ['normal', ...getAlign(), 'baseline'] }],\n /**\n * Align Items\n * @see https://tailwindcss.com/docs/align-items\n */\n 'align-items': [{ items: ['start', 'end', 'center', 'baseline', 'stretch'] }],\n /**\n * Align Self\n * @see https://tailwindcss.com/docs/align-self\n */\n 'align-self': [{ self: ['auto', 'start', 'end', 'center', 'stretch', 'baseline'] }],\n /**\n * Place Content\n * @see https://tailwindcss.com/docs/place-content\n */\n 'place-content': [{ 'place-content': [...getAlign(), 'baseline'] }],\n /**\n * Place Items\n * @see https://tailwindcss.com/docs/place-items\n */\n 'place-items': [{ 'place-items': ['start', 'end', 'center', 'baseline', 'stretch'] }],\n /**\n * Place Self\n * @see https://tailwindcss.com/docs/place-self\n */\n 'place-self': [{ 'place-self': ['auto', 'start', 'end', 'center', 'stretch'] }],\n // Spacing\n /**\n * Padding\n * @see https://tailwindcss.com/docs/padding\n */\n p: [{ p: [padding] }],\n /**\n * Padding X\n * @see https://tailwindcss.com/docs/padding\n */\n px: [{ px: [padding] }],\n /**\n * Padding Y\n * @see https://tailwindcss.com/docs/padding\n */\n py: [{ py: [padding] }],\n /**\n * Padding Start\n * @see https://tailwindcss.com/docs/padding\n */\n ps: [{ ps: [padding] }],\n /**\n * Padding End\n * @see https://tailwindcss.com/docs/padding\n */\n pe: [{ pe: [padding] }],\n /**\n * Padding Top\n * @see https://tailwindcss.com/docs/padding\n */\n pt: [{ pt: [padding] }],\n /**\n * Padding Right\n * @see https://tailwindcss.com/docs/padding\n */\n pr: [{ pr: [padding] }],\n /**\n * Padding Bottom\n * @see https://tailwindcss.com/docs/padding\n */\n pb: [{ pb: [padding] }],\n /**\n * Padding Left\n * @see https://tailwindcss.com/docs/padding\n */\n pl: [{ pl: [padding] }],\n /**\n * Margin\n * @see https://tailwindcss.com/docs/margin\n */\n m: [{ m: [margin] }],\n /**\n * Margin X\n * @see https://tailwindcss.com/docs/margin\n */\n mx: [{ mx: [margin] }],\n /**\n * Margin Y\n * @see https://tailwindcss.com/docs/margin\n */\n my: [{ my: [margin] }],\n /**\n * Margin Start\n * @see https://tailwindcss.com/docs/margin\n */\n ms: [{ ms: [margin] }],\n /**\n * Margin End\n * @see https://tailwindcss.com/docs/margin\n */\n me: [{ me: [margin] }],\n /**\n * Margin Top\n * @see https://tailwindcss.com/docs/margin\n */\n mt: [{ mt: [margin] }],\n /**\n * Margin Right\n * @see https://tailwindcss.com/docs/margin\n */\n mr: [{ mr: [margin] }],\n /**\n * Margin Bottom\n * @see https://tailwindcss.com/docs/margin\n */\n mb: [{ mb: [margin] }],\n /**\n * Margin Left\n * @see https://tailwindcss.com/docs/margin\n */\n ml: [{ ml: [margin] }],\n /**\n * Space Between X\n * @see https://tailwindcss.com/docs/space\n */\n 'space-x': [{ 'space-x': [space] }],\n /**\n * Space Between X Reverse\n * @see https://tailwindcss.com/docs/space\n */\n 'space-x-reverse': ['space-x-reverse'],\n /**\n * Space Between Y\n * @see https://tailwindcss.com/docs/space\n */\n 'space-y': [{ 'space-y': [space] }],\n /**\n * Space Between Y Reverse\n * @see https://tailwindcss.com/docs/space\n */\n 'space-y-reverse': ['space-y-reverse'],\n // Sizing\n /**\n * Width\n * @see https://tailwindcss.com/docs/width\n */\n w: [\n {\n w: [\n 'auto',\n 'min',\n 'max',\n 'fit',\n 'svw',\n 'lvw',\n 'dvw',\n isArbitraryValue,\n spacing,\n ],\n },\n ],\n /**\n * Min-Width\n * @see https://tailwindcss.com/docs/min-width\n */\n 'min-w': [{ 'min-w': [isArbitraryValue, spacing, 'min', 'max', 'fit'] }],\n /**\n * Max-Width\n * @see https://tailwindcss.com/docs/max-width\n */\n 'max-w': [\n {\n 'max-w': [\n isArbitraryValue,\n spacing,\n 'none',\n 'full',\n 'min',\n 'max',\n 'fit',\n 'prose',\n { screen: [isTshirtSize] },\n isTshirtSize,\n ],\n },\n ],\n /**\n * Height\n * @see https://tailwindcss.com/docs/height\n */\n h: [\n {\n h: [\n isArbitraryValue,\n spacing,\n 'auto',\n 'min',\n 'max',\n 'fit',\n 'svh',\n 'lvh',\n 'dvh',\n ],\n },\n ],\n /**\n * Min-Height\n * @see https://tailwindcss.com/docs/min-height\n */\n 'min-h': [\n { 'min-h': [isArbitraryValue, spacing, 'min', 'max', 'fit', 'svh', 'lvh', 'dvh'] },\n ],\n /**\n * Max-Height\n * @see https://tailwindcss.com/docs/max-height\n */\n 'max-h': [\n { 'max-h': [isArbitraryValue, spacing, 'min', 'max', 'fit', 'svh', 'lvh', 'dvh'] },\n ],\n /**\n * Size\n * @see https://tailwindcss.com/docs/size\n */\n size: [{ size: [isArbitraryValue, spacing, 'auto', 'min', 'max', 'fit'] }],\n // Typography\n /**\n * Font Size\n * @see https://tailwindcss.com/docs/font-size\n */\n 'font-size': [{ text: ['base', isTshirtSize, isArbitraryLength] }],\n /**\n * Font Smoothing\n * @see https://tailwindcss.com/docs/font-smoothing\n */\n 'font-smoothing': ['antialiased', 'subpixel-antialiased'],\n /**\n * Font Style\n * @see https://tailwindcss.com/docs/font-style\n */\n 'font-style': ['italic', 'not-italic'],\n /**\n * Font Weight\n * @see https://tailwindcss.com/docs/font-weight\n */\n 'font-weight': [\n {\n font: [\n 'thin',\n 'extralight',\n 'light',\n 'normal',\n 'medium',\n 'semibold',\n 'bold',\n 'extrabold',\n 'black',\n isArbitraryNumber,\n ],\n },\n ],\n /**\n * Font Family\n * @see https://tailwindcss.com/docs/font-family\n */\n 'font-family': [{ font: [isAny] }],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-normal': ['normal-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-ordinal': ['ordinal'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-slashed-zero': ['slashed-zero'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-figure': ['lining-nums', 'oldstyle-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-spacing': ['proportional-nums', 'tabular-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],\n /**\n * Letter Spacing\n * @see https://tailwindcss.com/docs/letter-spacing\n */\n tracking: [\n {\n tracking: [\n 'tighter',\n 'tight',\n 'normal',\n 'wide',\n 'wider',\n 'widest',\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Line Clamp\n * @see https://tailwindcss.com/docs/line-clamp\n */\n 'line-clamp': [{ 'line-clamp': ['none', isNumber, isArbitraryNumber] }],\n /**\n * Line Height\n * @see https://tailwindcss.com/docs/line-height\n */\n leading: [\n {\n leading: [\n 'none',\n 'tight',\n 'snug',\n 'normal',\n 'relaxed',\n 'loose',\n isLength,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * List Style Image\n * @see https://tailwindcss.com/docs/list-style-image\n */\n 'list-image': [{ 'list-image': ['none', isArbitraryValue] }],\n /**\n * List Style Type\n * @see https://tailwindcss.com/docs/list-style-type\n */\n 'list-style-type': [{ list: ['none', 'disc', 'decimal', isArbitraryValue] }],\n /**\n * List Style Position\n * @see https://tailwindcss.com/docs/list-style-position\n */\n 'list-style-position': [{ list: ['inside', 'outside'] }],\n /**\n * Placeholder Color\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/placeholder-color\n */\n 'placeholder-color': [{ placeholder: [colors] }],\n /**\n * Placeholder Opacity\n * @see https://tailwindcss.com/docs/placeholder-opacity\n */\n 'placeholder-opacity': [{ 'placeholder-opacity': [opacity] }],\n /**\n * Text Alignment\n * @see https://tailwindcss.com/docs/text-align\n */\n 'text-alignment': [{ text: ['left', 'center', 'right', 'justify', 'start', 'end'] }],\n /**\n * Text Color\n * @see https://tailwindcss.com/docs/text-color\n */\n 'text-color': [{ text: [colors] }],\n /**\n * Text Opacity\n * @see https://tailwindcss.com/docs/text-opacity\n */\n 'text-opacity': [{ 'text-opacity': [opacity] }],\n /**\n * Text Decoration\n * @see https://tailwindcss.com/docs/text-decoration\n */\n 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],\n /**\n * Text Decoration Style\n * @see https://tailwindcss.com/docs/text-decoration-style\n */\n 'text-decoration-style': [{ decoration: [...getLineStyles(), 'wavy'] }],\n /**\n * Text Decoration Thickness\n * @see https://tailwindcss.com/docs/text-decoration-thickness\n */\n 'text-decoration-thickness': [\n { decoration: ['auto', 'from-font', isLength, isArbitraryLength] },\n ],\n /**\n * Text Underline Offset\n * @see https://tailwindcss.com/docs/text-underline-offset\n */\n 'underline-offset': [{ 'underline-offset': ['auto', isLength, isArbitraryValue] }],\n /**\n * Text Decoration Color\n * @see https://tailwindcss.com/docs/text-decoration-color\n */\n 'text-decoration-color': [{ decoration: [colors] }],\n /**\n * Text Transform\n * @see https://tailwindcss.com/docs/text-transform\n */\n 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],\n /**\n * Text Overflow\n * @see https://tailwindcss.com/docs/text-overflow\n */\n 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],\n /**\n * Text Wrap\n * @see https://tailwindcss.com/docs/text-wrap\n */\n 'text-wrap': [{ text: ['wrap', 'nowrap', 'balance', 'pretty'] }],\n /**\n * Text Indent\n * @see https://tailwindcss.com/docs/text-indent\n */\n indent: [{ indent: getSpacingWithArbitrary() }],\n /**\n * Vertical Alignment\n * @see https://tailwindcss.com/docs/vertical-align\n */\n 'vertical-align': [\n {\n align: [\n 'baseline',\n 'top',\n 'middle',\n 'bottom',\n 'text-top',\n 'text-bottom',\n 'sub',\n 'super',\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Whitespace\n * @see https://tailwindcss.com/docs/whitespace\n */\n whitespace: [\n { whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces'] },\n ],\n /**\n * Word Break\n * @see https://tailwindcss.com/docs/word-break\n */\n break: [{ break: ['normal', 'words', 'all', 'keep'] }],\n /**\n * Hyphens\n * @see https://tailwindcss.com/docs/hyphens\n */\n hyphens: [{ hyphens: ['none', 'manual', 'auto'] }],\n /**\n * Content\n * @see https://tailwindcss.com/docs/content\n */\n content: [{ content: ['none', isArbitraryValue] }],\n // Backgrounds\n /**\n * Background Attachment\n * @see https://tailwindcss.com/docs/background-attachment\n */\n 'bg-attachment': [{ bg: ['fixed', 'local', 'scroll'] }],\n /**\n * Background Clip\n * @see https://tailwindcss.com/docs/background-clip\n */\n 'bg-clip': [{ 'bg-clip': ['border', 'padding', 'content', 'text'] }],\n /**\n * Background Opacity\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/background-opacity\n */\n 'bg-opacity': [{ 'bg-opacity': [opacity] }],\n /**\n * Background Origin\n * @see https://tailwindcss.com/docs/background-origin\n */\n 'bg-origin': [{ 'bg-origin': ['border', 'padding', 'content'] }],\n /**\n * Background Position\n * @see https://tailwindcss.com/docs/background-position\n */\n 'bg-position': [{ bg: [...getPositions(), isArbitraryPosition] }],\n /**\n * Background Repeat\n * @see https://tailwindcss.com/docs/background-repeat\n */\n 'bg-repeat': [{ bg: ['no-repeat', { repeat: ['', 'x', 'y', 'round', 'space'] }] }],\n /**\n * Background Size\n * @see https://tailwindcss.com/docs/background-size\n */\n 'bg-size': [{ bg: ['auto', 'cover', 'contain', isArbitrarySize] }],\n /**\n * Background Image\n * @see https://tailwindcss.com/docs/background-image\n */\n 'bg-image': [\n {\n bg: [\n 'none',\n { 'gradient-to': ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl'] },\n isArbitraryImage,\n ],\n },\n ],\n /**\n * Background Color\n * @see https://tailwindcss.com/docs/background-color\n */\n 'bg-color': [{ bg: [colors] }],\n /**\n * Gradient Color Stops From Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from-pos': [{ from: [gradientColorStopPositions] }],\n /**\n * Gradient Color Stops Via Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via-pos': [{ via: [gradientColorStopPositions] }],\n /**\n * Gradient Color Stops To Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to-pos': [{ to: [gradientColorStopPositions] }],\n /**\n * Gradient Color Stops From\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from': [{ from: [gradientColorStops] }],\n /**\n * Gradient Color Stops Via\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via': [{ via: [gradientColorStops] }],\n /**\n * Gradient Color Stops To\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to': [{ to: [gradientColorStops] }],\n // Borders\n /**\n * Border Radius\n * @see https://tailwindcss.com/docs/border-radius\n */\n rounded: [{ rounded: [borderRadius] }],\n /**\n * Border Radius Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-s': [{ 'rounded-s': [borderRadius] }],\n /**\n * Border Radius End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-e': [{ 'rounded-e': [borderRadius] }],\n /**\n * Border Radius Top\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-t': [{ 'rounded-t': [borderRadius] }],\n /**\n * Border Radius Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-r': [{ 'rounded-r': [borderRadius] }],\n /**\n * Border Radius Bottom\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-b': [{ 'rounded-b': [borderRadius] }],\n /**\n * Border Radius Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-l': [{ 'rounded-l': [borderRadius] }],\n /**\n * Border Radius Start Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ss': [{ 'rounded-ss': [borderRadius] }],\n /**\n * Border Radius Start End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-se': [{ 'rounded-se': [borderRadius] }],\n /**\n * Border Radius End End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ee': [{ 'rounded-ee': [borderRadius] }],\n /**\n * Border Radius End Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-es': [{ 'rounded-es': [borderRadius] }],\n /**\n * Border Radius Top Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tl': [{ 'rounded-tl': [borderRadius] }],\n /**\n * Border Radius Top Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tr': [{ 'rounded-tr': [borderRadius] }],\n /**\n * Border Radius Bottom Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-br': [{ 'rounded-br': [borderRadius] }],\n /**\n * Border Radius Bottom Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-bl': [{ 'rounded-bl': [borderRadius] }],\n /**\n * Border Width\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w': [{ border: [borderWidth] }],\n /**\n * Border Width X\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-x': [{ 'border-x': [borderWidth] }],\n /**\n * Border Width Y\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-y': [{ 'border-y': [borderWidth] }],\n /**\n * Border Width Start\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-s': [{ 'border-s': [borderWidth] }],\n /**\n * Border Width End\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-e': [{ 'border-e': [borderWidth] }],\n /**\n * Border Width Top\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-t': [{ 'border-t': [borderWidth] }],\n /**\n * Border Width Right\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-r': [{ 'border-r': [borderWidth] }],\n /**\n * Border Width Bottom\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-b': [{ 'border-b': [borderWidth] }],\n /**\n * Border Width Left\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-l': [{ 'border-l': [borderWidth] }],\n /**\n * Border Opacity\n * @see https://tailwindcss.com/docs/border-opacity\n */\n 'border-opacity': [{ 'border-opacity': [opacity] }],\n /**\n * Border Style\n * @see https://tailwindcss.com/docs/border-style\n */\n 'border-style': [{ border: [...getLineStyles(), 'hidden'] }],\n /**\n * Divide Width X\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-x': [{ 'divide-x': [borderWidth] }],\n /**\n * Divide Width X Reverse\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-x-reverse': ['divide-x-reverse'],\n /**\n * Divide Width Y\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-y': [{ 'divide-y': [borderWidth] }],\n /**\n * Divide Width Y Reverse\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-y-reverse': ['divide-y-reverse'],\n /**\n * Divide Opacity\n * @see https://tailwindcss.com/docs/divide-opacity\n */\n 'divide-opacity': [{ 'divide-opacity': [opacity] }],\n /**\n * Divide Style\n * @see https://tailwindcss.com/docs/divide-style\n */\n 'divide-style': [{ divide: getLineStyles() }],\n /**\n * Border Color\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color': [{ border: [borderColor] }],\n /**\n * Border Color X\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-x': [{ 'border-x': [borderColor] }],\n /**\n * Border Color Y\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-y': [{ 'border-y': [borderColor] }],\n /**\n * Border Color S\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-s': [{ 'border-s': [borderColor] }],\n /**\n * Border Color E\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-e': [{ 'border-e': [borderColor] }],\n /**\n * Border Color Top\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-t': [{ 'border-t': [borderColor] }],\n /**\n * Border Color Right\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-r': [{ 'border-r': [borderColor] }],\n /**\n * Border Color Bottom\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-b': [{ 'border-b': [borderColor] }],\n /**\n * Border Color Left\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-l': [{ 'border-l': [borderColor] }],\n /**\n * Divide Color\n * @see https://tailwindcss.com/docs/divide-color\n */\n 'divide-color': [{ divide: [borderColor] }],\n /**\n * Outline Style\n * @see https://tailwindcss.com/docs/outline-style\n */\n 'outline-style': [{ outline: ['', ...getLineStyles()] }],\n /**\n * Outline Offset\n * @see https://tailwindcss.com/docs/outline-offset\n */\n 'outline-offset': [{ 'outline-offset': [isLength, isArbitraryValue] }],\n /**\n * Outline Width\n * @see https://tailwindcss.com/docs/outline-width\n */\n 'outline-w': [{ outline: [isLength, isArbitraryLength] }],\n /**\n * Outline Color\n * @see https://tailwindcss.com/docs/outline-color\n */\n 'outline-color': [{ outline: [colors] }],\n /**\n * Ring Width\n * @see https://tailwindcss.com/docs/ring-width\n */\n 'ring-w': [{ ring: getLengthWithEmptyAndArbitrary() }],\n /**\n * Ring Width Inset\n * @see https://tailwindcss.com/docs/ring-width\n */\n 'ring-w-inset': ['ring-inset'],\n /**\n * Ring Color\n * @see https://tailwindcss.com/docs/ring-color\n */\n 'ring-color': [{ ring: [colors] }],\n /**\n * Ring Opacity\n * @see https://tailwindcss.com/docs/ring-opacity\n */\n 'ring-opacity': [{ 'ring-opacity': [opacity] }],\n /**\n * Ring Offset Width\n * @see https://tailwindcss.com/docs/ring-offset-width\n */\n 'ring-offset-w': [{ 'ring-offset': [isLength, isArbitraryLength] }],\n /**\n * Ring Offset Color\n * @see https://tailwindcss.com/docs/ring-offset-color\n */\n 'ring-offset-color': [{ 'ring-offset': [colors] }],\n // Effects\n /**\n * Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow\n */\n shadow: [{ shadow: ['', 'inner', 'none', isTshirtSize, isArbitraryShadow] }],\n /**\n * Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow-color\n */\n 'shadow-color': [{ shadow: [isAny] }],\n /**\n * Opacity\n * @see https://tailwindcss.com/docs/opacity\n */\n opacity: [{ opacity: [opacity] }],\n /**\n * Mix Blend Mode\n * @see https://tailwindcss.com/docs/mix-blend-mode\n */\n 'mix-blend': [{ 'mix-blend': [...getBlendModes(), 'plus-lighter', 'plus-darker'] }],\n /**\n * Background Blend Mode\n * @see https://tailwindcss.com/docs/background-blend-mode\n */\n 'bg-blend': [{ 'bg-blend': getBlendModes() }],\n // Filters\n /**\n * Filter\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/filter\n */\n filter: [{ filter: ['', 'none'] }],\n /**\n * Blur\n * @see https://tailwindcss.com/docs/blur\n */\n blur: [{ blur: [blur] }],\n /**\n * Brightness\n * @see https://tailwindcss.com/docs/brightness\n */\n brightness: [{ brightness: [brightness] }],\n /**\n * Contrast\n * @see https://tailwindcss.com/docs/contrast\n */\n contrast: [{ contrast: [contrast] }],\n /**\n * Drop Shadow\n * @see https://tailwindcss.com/docs/drop-shadow\n */\n 'drop-shadow': [{ 'drop-shadow': ['', 'none', isTshirtSize, isArbitraryValue] }],\n /**\n * Grayscale\n * @see https://tailwindcss.com/docs/grayscale\n */\n grayscale: [{ grayscale: [grayscale] }],\n /**\n * Hue Rotate\n * @see https://tailwindcss.com/docs/hue-rotate\n */\n 'hue-rotate': [{ 'hue-rotate': [hueRotate] }],\n /**\n * Invert\n * @see https://tailwindcss.com/docs/invert\n */\n invert: [{ invert: [invert] }],\n /**\n * Saturate\n * @see https://tailwindcss.com/docs/saturate\n */\n saturate: [{ saturate: [saturate] }],\n /**\n * Sepia\n * @see https://tailwindcss.com/docs/sepia\n */\n sepia: [{ sepia: [sepia] }],\n /**\n * Backdrop Filter\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/backdrop-filter\n */\n 'backdrop-filter': [{ 'backdrop-filter': ['', 'none'] }],\n /**\n * Backdrop Blur\n * @see https://tailwindcss.com/docs/backdrop-blur\n */\n 'backdrop-blur': [{ 'backdrop-blur': [blur] }],\n /**\n * Backdrop Brightness\n * @see https://tailwindcss.com/docs/backdrop-brightness\n */\n 'backdrop-brightness': [{ 'backdrop-brightness': [brightness] }],\n /**\n * Backdrop Contrast\n * @see https://tailwindcss.com/docs/backdrop-contrast\n */\n 'backdrop-contrast': [{ 'backdrop-contrast': [contrast] }],\n /**\n * Backdrop Grayscale\n * @see https://tailwindcss.com/docs/backdrop-grayscale\n */\n 'backdrop-grayscale': [{ 'backdrop-grayscale': [grayscale] }],\n /**\n * Backdrop Hue Rotate\n * @see https://tailwindcss.com/docs/backdrop-hue-rotate\n */\n 'backdrop-hue-rotate': [{ 'backdrop-hue-rotate': [hueRotate] }],\n /**\n * Backdrop Invert\n * @see https://tailwindcss.com/docs/backdrop-invert\n */\n 'backdrop-invert': [{ 'backdrop-invert': [invert] }],\n /**\n * Backdrop Opacity\n * @see https://tailwindcss.com/docs/backdrop-opacity\n */\n 'backdrop-opacity': [{ 'backdrop-opacity': [opacity] }],\n /**\n * Backdrop Saturate\n * @see https://tailwindcss.com/docs/backdrop-saturate\n */\n 'backdrop-saturate': [{ 'backdrop-saturate': [saturate] }],\n /**\n * Backdrop Sepia\n * @see https://tailwindcss.com/docs/backdrop-sepia\n */\n 'backdrop-sepia': [{ 'backdrop-sepia': [sepia] }],\n // Tables\n /**\n * Border Collapse\n * @see https://tailwindcss.com/docs/border-collapse\n */\n 'border-collapse': [{ border: ['collapse', 'separate'] }],\n /**\n * Border Spacing\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing': [{ 'border-spacing': [borderSpacing] }],\n /**\n * Border Spacing X\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-x': [{ 'border-spacing-x': [borderSpacing] }],\n /**\n * Border Spacing Y\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-y': [{ 'border-spacing-y': [borderSpacing] }],\n /**\n * Table Layout\n * @see https://tailwindcss.com/docs/table-layout\n */\n 'table-layout': [{ table: ['auto', 'fixed'] }],\n /**\n * Caption Side\n * @see https://tailwindcss.com/docs/caption-side\n */\n caption: [{ caption: ['top', 'bottom'] }],\n // Transitions and Animation\n /**\n * Tranisition Property\n * @see https://tailwindcss.com/docs/transition-property\n */\n transition: [\n {\n transition: [\n 'none',\n 'all',\n '',\n 'colors',\n 'opacity',\n 'shadow',\n 'transform',\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Transition Duration\n * @see https://tailwindcss.com/docs/transition-duration\n */\n duration: [{ duration: getNumberAndArbitrary() }],\n /**\n * Transition Timing Function\n * @see https://tailwindcss.com/docs/transition-timing-function\n */\n ease: [{ ease: ['linear', 'in', 'out', 'in-out', isArbitraryValue] }],\n /**\n * Transition Delay\n * @see https://tailwindcss.com/docs/transition-delay\n */\n delay: [{ delay: getNumberAndArbitrary() }],\n /**\n * Animation\n * @see https://tailwindcss.com/docs/animation\n */\n animate: [{ animate: ['none', 'spin', 'ping', 'pulse', 'bounce', isArbitraryValue] }],\n // Transforms\n /**\n * Transform\n * @see https://tailwindcss.com/docs/transform\n */\n transform: [{ transform: ['', 'gpu', 'none'] }],\n /**\n * Scale\n * @see https://tailwindcss.com/docs/scale\n */\n scale: [{ scale: [scale] }],\n /**\n * Scale X\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-x': [{ 'scale-x': [scale] }],\n /**\n * Scale Y\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-y': [{ 'scale-y': [scale] }],\n /**\n * Rotate\n * @see https://tailwindcss.com/docs/rotate\n */\n rotate: [{ rotate: [isInteger, isArbitraryValue] }],\n /**\n * Translate X\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-x': [{ 'translate-x': [translate] }],\n /**\n * Translate Y\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-y': [{ 'translate-y': [translate] }],\n /**\n * Skew X\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-x': [{ 'skew-x': [skew] }],\n /**\n * Skew Y\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-y': [{ 'skew-y': [skew] }],\n /**\n * Transform Origin\n * @see https://tailwindcss.com/docs/transform-origin\n */\n 'transform-origin': [\n {\n origin: [\n 'center',\n 'top',\n 'top-right',\n 'right',\n 'bottom-right',\n 'bottom',\n 'bottom-left',\n 'left',\n 'top-left',\n isArbitraryValue,\n ],\n },\n ],\n // Interactivity\n /**\n * Accent Color\n * @see https://tailwindcss.com/docs/accent-color\n */\n accent: [{ accent: ['auto', colors] }],\n /**\n * Appearance\n * @see https://tailwindcss.com/docs/appearance\n */\n appearance: [{ appearance: ['none', 'auto'] }],\n /**\n * Cursor\n * @see https://tailwindcss.com/docs/cursor\n */\n cursor: [\n {\n cursor: [\n 'auto',\n 'default',\n 'pointer',\n 'wait',\n 'text',\n 'move',\n 'help',\n 'not-allowed',\n 'none',\n 'context-menu',\n 'progress',\n 'cell',\n 'crosshair',\n 'vertical-text',\n 'alias',\n 'copy',\n 'no-drop',\n 'grab',\n 'grabbing',\n 'all-scroll',\n 'col-resize',\n 'row-resize',\n 'n-resize',\n 'e-resize',\n 's-resize',\n 'w-resize',\n 'ne-resize',\n 'nw-resize',\n 'se-resize',\n 'sw-resize',\n 'ew-resize',\n 'ns-resize',\n 'nesw-resize',\n 'nwse-resize',\n 'zoom-in',\n 'zoom-out',\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Caret Color\n * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities\n */\n 'caret-color': [{ caret: [colors] }],\n /**\n * Pointer Events\n * @see https://tailwindcss.com/docs/pointer-events\n */\n 'pointer-events': [{ 'pointer-events': ['none', 'auto'] }],\n /**\n * Resize\n * @see https://tailwindcss.com/docs/resize\n */\n resize: [{ resize: ['none', 'y', 'x', ''] }],\n /**\n * Scroll Behavior\n * @see https://tailwindcss.com/docs/scroll-behavior\n */\n 'scroll-behavior': [{ scroll: ['auto', 'smooth'] }],\n /**\n * Scroll Margin\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-m': [{ 'scroll-m': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin X\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mx': [{ 'scroll-mx': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Y\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-my': [{ 'scroll-my': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ms': [{ 'scroll-ms': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-me': [{ 'scroll-me': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Top\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mt': [{ 'scroll-mt': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Right\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mr': [{ 'scroll-mr': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Bottom\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mb': [{ 'scroll-mb': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Left\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ml': [{ 'scroll-ml': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-p': [{ 'scroll-p': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding X\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-px': [{ 'scroll-px': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Y\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-py': [{ 'scroll-py': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-ps': [{ 'scroll-ps': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pe': [{ 'scroll-pe': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Top\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pt': [{ 'scroll-pt': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Right\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pr': [{ 'scroll-pr': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Bottom\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pb': [{ 'scroll-pb': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Left\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pl': [{ 'scroll-pl': getSpacingWithArbitrary() }],\n /**\n * Scroll Snap Align\n * @see https://tailwindcss.com/docs/scroll-snap-align\n */\n 'snap-align': [{ snap: ['start', 'end', 'center', 'align-none'] }],\n /**\n * Scroll Snap Stop\n * @see https://tailwindcss.com/docs/scroll-snap-stop\n */\n 'snap-stop': [{ snap: ['normal', 'always'] }],\n /**\n * Scroll Snap Type\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-type': [{ snap: ['none', 'x', 'y', 'both'] }],\n /**\n * Scroll Snap Type Strictness\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-strictness': [{ snap: ['mandatory', 'proximity'] }],\n /**\n * Touch Action\n * @see https://tailwindcss.com/docs/touch-action\n */\n touch: [\n {\n touch: ['auto', 'none', 'manipulation'],\n },\n ],\n /**\n * Touch Action X\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-x': [\n {\n 'touch-pan': ['x', 'left', 'right'],\n },\n ],\n /**\n * Touch Action Y\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-y': [\n {\n 'touch-pan': ['y', 'up', 'down'],\n },\n ],\n /**\n * Touch Action Pinch Zoom\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-pz': ['touch-pinch-zoom'],\n /**\n * User Select\n * @see https://tailwindcss.com/docs/user-select\n */\n select: [{ select: ['none', 'text', 'all', 'auto'] }],\n /**\n * Will Change\n * @see https://tailwindcss.com/docs/will-change\n */\n 'will-change': [\n { 'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryValue] },\n ],\n // SVG\n /**\n * Fill\n * @see https://tailwindcss.com/docs/fill\n */\n fill: [{ fill: [colors, 'none'] }],\n /**\n * Stroke Width\n * @see https://tailwindcss.com/docs/stroke-width\n */\n 'stroke-w': [{ stroke: [isLength, isArbitraryLength, isArbitraryNumber] }],\n /**\n * Stroke\n * @see https://tailwindcss.com/docs/stroke\n */\n stroke: [{ stroke: [colors, 'none'] }],\n // Accessibility\n /**\n * Screen Readers\n * @see https://tailwindcss.com/docs/screen-readers\n */\n sr: ['sr-only', 'not-sr-only'],\n /**\n * Forced Color Adjust\n * @see https://tailwindcss.com/docs/forced-color-adjust\n */\n 'forced-color-adjust': [{ 'forced-color-adjust': ['auto', 'none'] }],\n },\n conflictingClassGroups: {\n overflow: ['overflow-x', 'overflow-y'],\n overscroll: ['overscroll-x', 'overscroll-y'],\n inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],\n 'inset-x': ['right', 'left'],\n 'inset-y': ['top', 'bottom'],\n flex: ['basis', 'grow', 'shrink'],\n gap: ['gap-x', 'gap-y'],\n p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],\n px: ['pr', 'pl'],\n py: ['pt', 'pb'],\n m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],\n mx: ['mr', 'ml'],\n my: ['mt', 'mb'],\n size: ['w', 'h'],\n 'font-size': ['leading'],\n 'fvn-normal': [\n 'fvn-ordinal',\n 'fvn-slashed-zero',\n 'fvn-figure',\n 'fvn-spacing',\n 'fvn-fraction',\n ],\n 'fvn-ordinal': ['fvn-normal'],\n 'fvn-slashed-zero': ['fvn-normal'],\n 'fvn-figure': ['fvn-normal'],\n 'fvn-spacing': ['fvn-normal'],\n 'fvn-fraction': ['fvn-normal'],\n 'line-clamp': ['display', 'overflow'],\n rounded: [\n 'rounded-s',\n 'rounded-e',\n 'rounded-t',\n 'rounded-r',\n 'rounded-b',\n 'rounded-l',\n 'rounded-ss',\n 'rounded-se',\n 'rounded-ee',\n 'rounded-es',\n 'rounded-tl',\n 'rounded-tr',\n 'rounded-br',\n 'rounded-bl',\n ],\n 'rounded-s': ['rounded-ss', 'rounded-es'],\n 'rounded-e': ['rounded-se', 'rounded-ee'],\n 'rounded-t': ['rounded-tl', 'rounded-tr'],\n 'rounded-r': ['rounded-tr', 'rounded-br'],\n 'rounded-b': ['rounded-br', 'rounded-bl'],\n 'rounded-l': ['rounded-tl', 'rounded-bl'],\n 'border-spacing': ['border-spacing-x', 'border-spacing-y'],\n 'border-w': [\n 'border-w-s',\n 'border-w-e',\n 'border-w-t',\n 'border-w-r',\n 'border-w-b',\n 'border-w-l',\n ],\n 'border-w-x': ['border-w-r', 'border-w-l'],\n 'border-w-y': ['border-w-t', 'border-w-b'],\n 'border-color': [\n 'border-color-s',\n 'border-color-e',\n 'border-color-t',\n 'border-color-r',\n 'border-color-b',\n 'border-color-l',\n ],\n 'border-color-x': ['border-color-r', 'border-color-l'],\n 'border-color-y': ['border-color-t', 'border-color-b'],\n 'scroll-m': [\n 'scroll-mx',\n 'scroll-my',\n 'scroll-ms',\n 'scroll-me',\n 'scroll-mt',\n 'scroll-mr',\n 'scroll-mb',\n 'scroll-ml',\n ],\n 'scroll-mx': ['scroll-mr', 'scroll-ml'],\n 'scroll-my': ['scroll-mt', 'scroll-mb'],\n 'scroll-p': [\n 'scroll-px',\n 'scroll-py',\n 'scroll-ps',\n 'scroll-pe',\n 'scroll-pt',\n 'scroll-pr',\n 'scroll-pb',\n 'scroll-pl',\n ],\n 'scroll-px': ['scroll-pr', 'scroll-pl'],\n 'scroll-py': ['scroll-pt', 'scroll-pb'],\n touch: ['touch-x', 'touch-y', 'touch-pz'],\n 'touch-x': ['touch'],\n 'touch-y': ['touch'],\n 'touch-pz': ['touch'],\n },\n conflictingClassGroupModifiers: {\n 'font-size': ['leading'],\n },\n } as const satisfies Config<DefaultClassGroupIds, DefaultThemeGroupIds>\n}\n","import { createTailwindMerge } from './create-tailwind-merge'\nimport { getDefaultConfig } from './default-config'\n\nexport const twMerge = createTailwindMerge(getDefaultConfig)\n","import { clsx, type ClassValue } from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs));\r\n}\r\n","import * as React from \"react\"\r\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\r\n\r\nimport { cn } from \"../../lib/utils\"\r\n\r\nfunction TooltipProvider({\r\n delayDuration = 0,\r\n ...props\r\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\r\n return (\r\n <TooltipPrimitive.Provider\r\n data-slot=\"tooltip-provider\"\r\n delayDuration={delayDuration}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction Tooltip({\r\n ...props\r\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\r\n return (\r\n <TooltipProvider>\r\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\r\n </TooltipProvider>\r\n )\r\n}\r\n\r\nfunction TooltipTrigger({\r\n ...props\r\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\r\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\r\n}\r\n\r\nfunction TooltipContent({\r\n className,\r\n sideOffset = 0,\r\n children,\r\n ...props\r\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\r\n return (\r\n <TooltipPrimitive.Portal>\r\n <TooltipPrimitive.Content\r\n data-slot=\"tooltip-content\"\r\n sideOffset={sideOffset}\r\n className={cn(\r\n \"bg-white text-primary-foreground shadow-lg shadow-dark/10 animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n <TooltipPrimitive.Arrow className=\"bg-white fill-white z-50 size-3.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\r\n </TooltipPrimitive.Content>\r\n </TooltipPrimitive.Portal>\r\n )\r\n}\r\n\r\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\r\n","import { cn } from \"../../../lib/utils\";\r\nimport {\r\n Tooltip as TooltipUI,\r\n TooltipContent,\r\n TooltipProvider,\r\n TooltipTrigger,\r\n} from \"../../ui/tooltip\";\r\nimport React from \"react\";\r\n\r\nexport function Tooltip({\r\n children,\r\n content,\r\n className,\r\n}: {\r\n children: React.ReactNode;\r\n content?: string;\r\n className?: string;\r\n}) {\r\n return (\r\n <TooltipProvider>\r\n <TooltipUI>\r\n <TooltipTrigger className=\"w-full h-full\">{children}</TooltipTrigger>\r\n {content && (\r\n <TooltipContent className={cn(\"p-4 bg-white rounded-lg\", className)}>\r\n <span className=\"text-body-md font-medium\">{content}</span>\r\n </TooltipContent>\r\n )}\r\n </TooltipUI>\r\n </TooltipProvider>\r\n );\r\n}\r\n","import { useState } from \"react\";\r\n\r\nexport function useOpen() {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const onOpen = () => {\r\n setIsOpen(true);\r\n };\r\n\r\n const onClose = () => {\r\n setIsOpen(false);\r\n };\r\n\r\n const toggle = () => {\r\n setIsOpen(!isOpen);\r\n };\r\n\r\n return { isOpen, onOpen, onClose, toggle };\r\n}\r\n","import { useEffect } from \"react\";\r\n\r\nexport function useOutsideClick(\r\n ref: React.RefObject<HTMLElement>,\r\n callback: () => void\r\n) {\r\n useEffect(() => {\r\n const handleClick = (event: MouseEvent) => {\r\n if (ref.current && !ref.current.contains(event.target as Node)) {\r\n callback();\r\n }\r\n };\r\n\r\n document.addEventListener(\"click\", handleClick);\r\n\r\n return () => {\r\n document.removeEventListener(\"click\", handleClick);\r\n };\r\n }, [ref, callback]);\r\n}\r\n","export const packagesEnglishDictionary = {\r\n \"component.workspace.user.complete\": \"complete\",\r\n \"component.workspace.greetings\": \"Good to have you back, \",\r\n \"component.workspace.greetings.label\":\r\n \"Keep getting the best out of what we’ve prepared for you.\",\r\n \"component.workspace.user.following\": \"Following\",\r\n \"component.workspace.user.followers\": \"Followers\",\r\n \"component.workspace.user.posts\": \"Posts\",\r\n \"component.workspace.panel.explore\": \"Explore\",\r\n \"component.workspace.panel.create\": \"Create workspace\",\r\n \"component.workspace.panel.modal.title\": \"Create new workspace\",\r\n \"component.workspace.panel.modal.form.interests\": \"Interests\",\r\n \"component.workspace.panel.modal.form.name\": \"Workspace name / icon-emoji\",\r\n \"component.workspace.panel.modal.form.interests.placeholder\":\r\n \"Select interests\",\r\n \"component.workspace.panel.modal.form.name.placeholder\":\r\n \"Enter workspace name\",\r\n \"component.workspace.panel.modal.form.description\": \"Short description\",\r\n\r\n \"component.workspace.panel.modal.form.button.back\": \"Back\",\r\n \"component.workspace.panel.modal.form.button.create\": \"Create workspace\",\r\n \"component.workspace.panel.modal.form.button.creating\":\r\n \"Creating your workspace...\",\r\n\r\n \"component.workspace.panel.modal.form.toats.error.title\":\r\n \"Error creating workspace\",\r\n \"component.workspace.panel.modal.form.toats.error.description\":\r\n \"An error occurred while creating the workspace, please try again.\",\r\n\r\n \"component.workspace.panel.modal.form.errors.required-field\":\r\n \"Required field\",\r\n\r\n \"component.workspace.panel.modal.form.options.edit\": \"Edit\",\r\n \"component.workspace.panel.modal.form.options.delete\": \"Delete\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.confirm.title\":\r\n \"Do you want to delete this workspace?\",\r\n \"component.workspace.panel.modal.form.options.delete.confirm.description\":\r\n \"There’s no going back! Are you sure you want to delete it permanently?\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.button.cancel\": \"Cancel\",\r\n \"component.workspace.panel.modal.form.options.delete.button.delete\": \"Delete\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.title\":\r\n \"Workspace successfully deleted!\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.description\":\r\n \"The workspace was successfully deleted.\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.title\":\r\n \"Error deleting workspace\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.description\":\r\n \"An error occurred while deleting the workspace, please try again.\",\r\n\r\n \"component.workspace.panel.modal.edit.title\": \"Edit workspace details\",\r\n \"component.workspace.panel.modal.edit.button.save\": \"Save\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.success.title\":\r\n \"Workspace successfully updated!\",\r\n \"component.workspace.panel.modal.edit.toats.success.description\":\r\n \"The workspace was successfully updated.\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.error.title\":\r\n \"Error updating workspace\",\r\n \"component.workspace.panel.modal.edit.toats.error.description\":\r\n \"An error occurred while updating the workspace, please try again.\",\r\n\r\n \"component.workspace.panel.modal.success.title\":\r\n \"Workspace created successfully!\",\r\n \"component.workspace.panel.modal.success.description\":\r\n \"All set! Your new workspace is the first step towards great achievements.\",\r\n \"component.workspace.panel.modal.success.button.view-workspace\":\r\n \"View workspace\",\r\n \"component.workspace.panel.modal.success.button.store\": \"Go to store\",\r\n\r\n \"component.search.placeholder\": \"Search\",\r\n \"main.navbar.home\": \"Home\",\r\n \"main.navbar.mcp\": \"MCP\",\r\n \"main.navbar.explore\": \"Explore\",\r\n \"main.navbar.notifications\": \"Notifications\",\r\n\r\n \"component.user.options.logout\": \"Log out\",\r\n \"component.select-input.placeholder\": \"Select an option\",\r\n \"component.select-input.no-elements-found\": \"No elements found\",\r\n};\r\n","export const packagesFrenchDictionary = {\r\n \"component.workspace.user.complete\": \"complet\",\r\n \"component.workspace.greetings\": \"Ravi de vous revoir, \",\r\n \"component.workspace.greetings.label\":\r\n \"Continuez à profiter de ce que nous avons préparé pour vous.\",\r\n \"component.workspace.user.following\": \"Abonnements\",\r\n \"component.workspace.user.followers\": \"Abonnés\",\r\n \"component.workspace.user.posts\": \"Publications\",\r\n \"component.workspace.panel.explore\": \"Explorer\",\r\n \"component.workspace.panel.create\": \"Créer un espace de travail\",\r\n \"component.workspace.panel.modal.title\": \"Créer un nouvel espace de travail\",\r\n \"component.workspace.panel.modal.form.interests\": \"Centres d’intérêt\",\r\n \"component.workspace.panel.modal.form.name\": \"Nom de l’espace / icône-emoji\",\r\n \"component.workspace.panel.modal.form.interests.placeholder\":\r\n \"Sélectionnez les centres d’intérêt\",\r\n \"component.workspace.panel.modal.form.name.placeholder\":\r\n \"Saisir le nom de l’espace de travail\",\r\n \"component.workspace.panel.modal.form.description\": \"Brève description\",\r\n\r\n \"component.workspace.panel.modal.form.button.back\": \"Retour\",\r\n \"component.workspace.panel.modal.form.button.create\":\r\n \"Créer l’espace de travail\",\r\n \"component.workspace.panel.modal.form.button.creating\":\r\n \"Création de votre espace de travail...\",\r\n\r\n \"component.workspace.panel.modal.form.toats.error.title\":\r\n \"Erreur lors de la création de l’espace\",\r\n \"component.workspace.panel.modal.form.toats.error.description\":\r\n \"Une erreur est survenue lors de la création de l’espace, veuillez réessayer.\",\r\n\r\n \"component.workspace.panel.modal.form.errors.required-field\":\r\n \"Champ obligatoire\",\r\n\r\n \"component.workspace.panel.modal.form.options.edit\": \"Modifier\",\r\n \"component.workspace.panel.modal.form.options.delete\": \"Supprimer\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.confirm.title\":\r\n \"Voulez-vous supprimer cet espace ?\",\r\n \"component.workspace.panel.modal.form.options.delete.confirm.description\":\r\n \"Cette action est irréversible ! Êtes-vous sûr de vouloir le supprimer ?\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.button.cancel\":\r\n \"Annuler\",\r\n \"component.workspace.panel.modal.form.options.delete.button.delete\":\r\n \"Supprimer\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.title\":\r\n \"Espace supprimé avec succès !\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.description\":\r\n \"L’espace a été supprimé avec succès.\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.title\":\r\n \"Erreur lors de la suppression\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.description\":\r\n \"Une erreur est survenue lors de la suppression de l’espace, veuillez réessayer.\",\r\n\r\n \"component.workspace.panel.modal.edit.title\":\r\n \"Modifier les détails de l’espace\",\r\n \"component.workspace.panel.modal.edit.button.save\": \"Enregistrer\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.success.title\":\r\n \"Espace mis à jour avec succès !\",\r\n \"component.workspace.panel.modal.edit.toats.success.description\":\r\n \"L’espace a été mis à jour avec succès.\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.error.title\":\r\n \"Erreur lors de la mise à jour\",\r\n \"component.workspace.panel.modal.edit.toats.error.description\":\r\n \"Une erreur est survenue lors de la mise à jour de l’espace, veuillez réessayer.\",\r\n\r\n \"component.workspace.panel.modal.success.title\": \"Espace créé avec succès !\",\r\n \"component.workspace.panel.modal.success.description\":\r\n \"Tout est prêt ! Votre nouvel espace de travail est la première étape vers de grandes réussites.\",\r\n \"component.workspace.panel.modal.success.button.view-workspace\":\r\n \"Voir l’espace\",\r\n \"component.workspace.panel.modal.success.button.store\": \"Aller à la boutique\",\r\n\r\n \"component.search.placeholder\": \"Rechercher\",\r\n \"main.navbar.home\": \"Accueil\",\r\n \"main.navbar.mcp\": \"MCP\",\r\n \"main.navbar.explore\": \"Explorer\",\r\n \"main.navbar.notifications\": \"Notifications\",\r\n\r\n \"component.user.options.logout\": \"Se déconnecter\",\r\n \"component.select-input.placeholder\": \"Sélectionner une option\",\r\n \"component.select-input.no-elements-found\": \"Aucun élément trouvé\",\r\n};\r\n","export const packagesPortugueseDictionary = {\r\n \"component.workspace.user.complete\": \"completo\",\r\n \"component.workspace.greetings\": \"Que bom ter você de volta, \",\r\n \"component.workspace.greetings.label\":\r\n \"Continue tirando o melhor do que preparamos para você.\",\r\n \"component.workspace.user.following\": \"A seguir\",\r\n \"component.workspace.user.followers\": \"Seguidores\",\r\n \"component.workspace.user.posts\": \"Posts\",\r\n \"component.workspace.panel.explore\": \"Explorar\",\r\n \"component.workspace.panel.create\": \"Criar workspace\",\r\n \"component.workspace.panel.modal.title\": \"Criar novo workspace\",\r\n \"component.workspace.panel.modal.form.interests\": \"Interesses\",\r\n \"component.workspace.panel.modal.form.name\": \"Nome do workspace / icon-emoji\",\r\n \"component.workspace.panel.modal.form.interests.placeholder\":\r\n \"Selecione os interesses\",\r\n \"component.workspace.panel.modal.form.name.placeholder\":\r\n \"Escrever nome do workspace\",\r\n \"component.workspace.panel.modal.form.description\": \"Descrição curta\",\r\n\r\n \"component.workspace.panel.modal.form.button.back\": \"Voltar\",\r\n \"component.workspace.panel.modal.form.button.create\": \"Criar workspace\",\r\n \"component.workspace.panel.modal.form.button.creating\":\r\n \"Criando o seu workspace...\",\r\n\r\n \"component.workspace.panel.modal.form.toats.error.title\":\r\n \"Erro ao criar workspace\",\r\n \"component.workspace.panel.modal.form.toats.error.description\":\r\n \"Ocorreu um erro ao criar o workspace, por favor, tente novamente.\",\r\n\r\n \"component.workspace.panel.modal.form.errors.required-field\":\r\n \"Campo obrigatório\",\r\n\r\n \"component.workspace.panel.modal.form.options.edit\": \"Editar\",\r\n \"component.workspace.panel.modal.form.options.delete\": \"Deletar\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.confirm.title\":\r\n \"Você quer excluir este workspace?\",\r\n \"component.workspace.panel.modal.form.options.delete.confirm.description\":\r\n \"Depois não tem volta! Tem certeza que quer apagar de vez?.\",\r\n \r\n \"component.workspace.panel.modal.form.options.delete.button.cancel\":\r\n \"Cancelar\",\r\n \"component.workspace.panel.modal.form.options.delete.button.delete\":\r\n \"Deletar\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.title\":\r\n \"Workspace deletado com sucesso!\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.description\":\r\n \"O workspace foi deletado com sucesso.\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.title\":\r\n \"Erro ao deletar workspace\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.description\":\r\n \"Ocorreu um erro ao deletar o workspace, por favor, tente novamente.\",\r\n\r\n \"component.workspace.panel.modal.edit.title\": \"Editar detalhes do worspace\",\r\n \"component.workspace.panel.modal.edit.button.save\": \"Salvar\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.success.title\":\r\n \"Workspace atualizado com sucesso!\",\r\n \"component.workspace.panel.modal.edit.toats.success.description\":\r\n \"O workspace foi atualizado com sucesso.\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.error.title\":\r\n \"Erro ao atualizar workspace\",\r\n \"component.workspace.panel.modal.edit.toats.error.description\":\r\n \"Ocorreu um erro ao atualizar o workspace, por favor, tente novamente.\",\r\n\r\n \"component.workspace.panel.modal.success.title\":\r\n \"Workspace criado com sucesso!\",\r\n \"component.workspace.panel.modal.success.description\":\r\n \"Tudo pronto! Seu novo espaço de trabalho é o primeiro passo para grandes conquistas.\",\r\n \"component.workspace.panel.modal.success.button.view-workspace\":\r\n \"Ver workspace\",\r\n \"component.workspace.panel.modal.success.button.store\": \"Ir na loja\",\r\n\r\n \"component.search.placeholder\": \"Pesquisar\",\r\n \"main.navbar.home\": \"Início\",\r\n \"main.navbar.mcp\": \"MCP\",\r\n \"main.navbar.explore\": \"Explorar\",\r\n \"main.navbar.notifications\": \"Notificações\",\r\n\r\n \"component.user.options.logout\": \"Terminar sessão\",\r\n \"component.select-input.placeholder\": \"Selecione uma opção\",\r\n \"component.select-input.no-elements-found\": \"Nenhum elemento encontrado\",\r\n};\r\n","import { packagesEnglishDictionary } from \"./dictionaries/en\";\r\nimport { packagesFrenchDictionary } from \"./dictionaries/fr\";\r\nimport { packagesPortugueseDictionary } from \"./dictionaries/pt\";\r\n\r\nconst billingTranslation = {\r\n pt: {\r\n ...packagesPortugueseDictionary,\r\n },\r\n en: {\r\n ...packagesEnglishDictionary,\r\n },\r\n fr: {\r\n ...packagesFrenchDictionary,\r\n },\r\n};\r\n\r\nexport function packageDictionary(\r\n locale: keyof typeof billingTranslation,\r\n key: keyof (typeof billingTranslation)[typeof locale]\r\n) {\r\n return billingTranslation[locale][key];\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport function EditIcon({ color = \"#687588\" }: { color?: string }) {\r\n return (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 20 20\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M16.66 15.793h-4.744a.847.847 0 0 0-.84.853c0 .471.377.853.84.853h4.745c.463 0 .84-.382.84-.853a.847.847 0 0 0-.84-.853\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"m8.59 5.755 4.497 3.633a.26.26 0 0 1 .043.358l-5.331 6.946a1.75 1.75 0 0 1-1.358.68l-2.91.036a.33.33 0 0 1-.326-.26l-.662-2.875c-.115-.528 0-1.075.335-1.496l5.357-6.98a.25.25 0 0 1 .356-.042\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"m15.1 7.221-.867 1.082a.25.25 0 0 1-.353.04c-1.053-.852-3.752-3.04-4.5-3.647a.257.257 0 0 1-.037-.36l.836-1.038c.759-.977 2.082-1.066 3.149-.215l1.225.976c.503.394.838.914.953 1.46.132.601-.01 1.192-.406 1.702\"\r\n opacity=\"0.4\"\r\n ></path>\r\n </svg>\r\n );\r\n}\r\n","import { useContext } from \"react\";\r\nimport { MirantesFoundationContext } from \"./MirantesFoundationContext\";\r\n\r\nexport function useMirantesFoundation() {\r\n const mirantesContext = useContext(MirantesFoundationContext);\r\n\r\n if (!mirantesContext) {\r\n throw new Error(\r\n \"useMirantesFoundation must be used within a MirantesFoundationProvider\"\r\n );\r\n }\r\n\r\n return mirantesContext;\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport function DeleteIcon({ color = \"#E03137\" }: { color?: string }) {\r\n return (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 20 20\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M16.37 7.906c0 .057-.445 5.674-.699 8.038-.159 1.45-1.094 2.33-2.497 2.356-1.078.024-2.133.032-3.171.032-1.102 0-2.18-.008-3.226-.032-1.356-.033-2.292-.93-2.443-2.356-.261-2.372-.697-7.981-.705-8.038a.66.66 0 0 1 .159-.465.6.6 0 0 1 .436-.195h11.558c.166 0 .317.073.436.195a.62.62 0 0 1 .151.465\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"M17.5 4.982c0-.342-.27-.61-.594-.61h-2.43c-.494 0-.924-.352-1.034-.848l-.136-.608a1.654 1.654 0 0 0-1.585-1.248H8.28c-.746 0-1.397.514-1.595 1.288l-.127.569a1.07 1.07 0 0 1-1.034.846h-2.43a.6.6 0 0 0-.595.611v.317c0 .334.27.61.595.61h13.81a.607.607 0 0 0 .595-.61z\"\r\n ></path>\r\n </svg>\r\n );\r\n}\r\n","export const Palette = {\r\n white: \"#ffff\",\r\n dark: {\r\n black: \"#0a0909\",\r\n blue: {\r\n shade1: \"#090b19\",\r\n shade2: \"#111827\",\r\n },\r\n },\r\n blue: {\r\n shade1: \"#0b89ce\",\r\n shade2: \"#0e9edd\",\r\n shade3: \"#11b2ea\",\r\n shade4: \"#14c4f4\",\r\n shade5: \"#4dddff\",\r\n shade6: \"#92f0ff\",\r\n shade7: \"#bbf9ff\",\r\n shade8: \"#d9fdff\",\r\n shade9: \"#deebf2\",\r\n shade10: \"#3182CE\",\r\n shade11: \"#2F78EE\",\r\n shade12: \"#EBF3FF\",\r\n shade13: \"#111827\",\r\n shade14: \"#CEECFF\",\r\n shade15: \"#0B89CE33\",\r\n shade16: \"#721EFF\",\r\n },\r\n\r\n gray: {\r\n shade1: \"#f2f2f2\",\r\n shade2: \"#F6F6F6\",\r\n shade3: \"#e6e6e6\",\r\n shade4: \"#b3b3b3\",\r\n shade5: \"#666666\",\r\n shade6: \"#1a1a1a\",\r\n shade7: \"#A0AEC0\",\r\n shade8: \"#687588\",\r\n shade9: \"#F8F8F8\",\r\n shade10: \"#F1F2F4\",\r\n shade11: \"#E9EAEC\",\r\n shade12: \"#FAFAFA\",\r\n shade13: \"#44444F\",\r\n shade14: \"#92929D\",\r\n shade15: \"#323B49\",\r\n shade16: \"#111827\",\r\n shade17: \"#CBD5E0\",\r\n shade18: \"#F1F1F1\",\r\n shade19: \"#BABDC5\",\r\n shade20: \"#8E939F\",\r\n shade21: \"#646A78\",\r\n shade22: \"#B5B5BE\",\r\n shade23: \"#EFF4FB\",\r\n },\r\n\r\n green: {\r\n shade1: \"#5c995c\",\r\n shade2: \"#72b772\",\r\n shade3: \"#a1e2a1\",\r\n shade4: \"#b4efb4\",\r\n shade5: \"#daedda\",\r\n shade6: \"#27A376\",\r\n shade7: \"#0CAF60\",\r\n shade8: \"#38A169\",\r\n shade9: \"#E7F7EF\",\r\n shade10: \"#5C995D\",\r\n bg: \"rgba(202, 234, 203, 0.40)\",\r\n },\r\n yellow: {\r\n shade1: \"#ffc545\",\r\n shade2: \"#ffc85a\",\r\n shade3: \"#ffd28a\",\r\n shade4: \"#ffe6b3\",\r\n shade5: \"#ffecd2\",\r\n },\r\n orange: {\r\n shade1: \"#f9922d\",\r\n shade2: \"#ffa14d\",\r\n shade3: \"#f4aa6e\",\r\n shade4: \"#f7cca6\",\r\n shade5: \"#f2e6dd\",\r\n shade6: \"#EC991C\",\r\n shade7: \"#EC991C33\",\r\n shade8: \"#F39912\",\r\n shade9: \"#FF9900\",\r\n },\r\n red: {\r\n shade1: \"#ad3e36\",\r\n shade2: \"#e86464\",\r\n shade3: \"#ea9696\",\r\n shade4: \"#eacccc\",\r\n shade5: \"#FFEDEC\",\r\n shade6: \"#E03137\",\r\n shade7: \"#E53E3E\",\r\n },\r\n};\r\n","import React from \"react\";\r\nimport { Modal } from \"./modal\";\r\nimport { Button } from \"../button/button\";\r\nimport { packageDictionary } from \"../../../locales/utils\";\r\nimport { useMirantesFoundation } from \"../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../context/types\";\r\n\r\nexport function ConfirmModal({\r\n isOpen,\r\n onClose,\r\n onConfirm,\r\n title,\r\n description,\r\n illustration,\r\n isLoading,\r\n}: {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n onConfirm: () => void;\r\n title: string;\r\n description: string;\r\n illustration?: React.ReactNode;\r\n isLoading?: boolean;\r\n}) {\r\n const { locale } = useMirantesFoundation();\r\n\r\n \r\n return (\r\n <Modal\r\n isLoading={isLoading}\r\n closeOnClickOutside={false}\r\n hideCloseButton\r\n className=\"min-w-[31.25rem]\"\r\n disableFullScreen\r\n isOpen={isOpen}\r\n onClose={onClose}\r\n >\r\n <div className=\"w-full flex flex-col items-center gap-y-8\">\r\n {illustration && <div>{illustration}</div>}\r\n\r\n <h2 className=\"text-[2rem] font-bold text-center\">{title}</h2>\r\n\r\n <p className=\"text-center text-body-xl text-dark-1\">{description}</p>\r\n\r\n <div className=\"w-full flex gap-x-4\">\r\n <Button\r\n disabled={isLoading}\r\n className=\"bg-white text-primary border border-primary\"\r\n onClick={onClose}\r\n >\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.button.cancel\"\r\n )}\r\n </Button>\r\n <Button disabled={isLoading} onClick={onConfirm}>\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.button.delete\"\r\n )}\r\n </Button>\r\n </div>\r\n </div>\r\n </Modal>\r\n );\r\n}\r\n","\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\r\nimport { X } from \"lucide-react\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\n\r\nconst Dialog = DialogPrimitive.Root;\r\n\r\nconst DialogTrigger = DialogPrimitive.Trigger;\r\n\r\nconst DialogPortal = DialogPrimitive.Portal;\r\n\r\nconst DialogClose = DialogPrimitive.Close;\r\n\r\nconst DialogOverlay = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Overlay>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay> & {\r\n className?: string;\r\n }\r\n>(({ className, ...props }, ref) => (\r\n <DialogPrimitive.Overlay\r\n ref={ref}\r\n className={cn(\r\n \"fixed inset-0 z-50 bg-black/10 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n));\r\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\r\n\r\nconst DialogContent = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {\r\n overlayClassName?: string;\r\n onClose?: () => void;\r\n hideCloseButton?: boolean;\r\n closeOnOverlayClick?: boolean;\r\n }\r\n>(\r\n (\r\n {\r\n className,\r\n children,\r\n onClose,\r\n overlayClassName,\r\n closeOnOverlayClick = true,\r\n hideCloseButton = false,\r\n ...props\r\n },\r\n ref\r\n ) => (\r\n <DialogPortal>\r\n <DialogOverlay\r\n className={`${overlayClassName} z-[60] bg-[#00000050]`}\r\n onClick={(e) => {\r\n if (!closeOnOverlayClick) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n }}\r\n />\r\n <DialogPrimitive.Content\r\n ref={ref}\r\n className={cn(\r\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 bg-white shadow-2xl shadow-[#00000010] duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] !outline-none\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n {!hideCloseButton && (\r\n <button\r\n onClick={onClose}\r\n className=\"absolute cursor-pointer hidden lg:flex top-4 lg:right-6 right-4\"\r\n >\r\n <X className=\"h-6 w-6\" />\r\n </button>\r\n )}\r\n </DialogPrimitive.Content>\r\n </DialogPortal>\r\n )\r\n);\r\nDialogContent.displayName = DialogPrimitive.Content.displayName;\r\n\r\nconst DialogHeader = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n);\r\nDialogHeader.displayName = \"DialogHeader\";\r\n\r\nconst DialogFooter = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n);\r\nDialogFooter.displayName = \"DialogFooter\";\r\n\r\nconst DialogTitle = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Title>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\r\n>(({ className, ...props }, ref) => (\r\n <DialogPrimitive.Title\r\n ref={ref}\r\n className={cn(\r\n \"text-lg font-semibold leading-none tracking-tight\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n));\r\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\r\n\r\nconst DialogDescription = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Description>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\r\n>(({ className, ...props }, ref) => (\r\n <DialogPrimitive.Description\r\n ref={ref}\r\n className={cn(\"text-sm text-muted-foreground\", className)}\r\n {...props}\r\n />\r\n));\r\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\r\n\r\nexport {\r\n Dialog,\r\n DialogPortal,\r\n DialogOverlay,\r\n DialogClose,\r\n DialogTrigger,\r\n DialogContent,\r\n DialogHeader,\r\n DialogFooter,\r\n DialogTitle,\r\n DialogDescription,\r\n};\r\n","\"use client\";\r\nimport React from \"react\";\r\nimport {\r\n Dialog,\r\n DialogContent,\r\n DialogHeader,\r\n DialogTitle,\r\n} from \"../../../components/ui/dialog\";\r\nimport { X } from \"lucide-react\";\r\nimport type { ReactNode } from \"react\";\r\n\r\ninterface ModalProps {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n children: ReactNode;\r\n hideCloseButton?: boolean;\r\n closeOnClickOutside?: boolean;\r\n className?: string;\r\n header?: React.ReactNode;\r\n disableFullScreen?: boolean;\r\n isLoading?: boolean;\r\n}\r\n\r\nexport function Modal({\r\n isOpen,\r\n header,\r\n onClose,\r\n isLoading,\r\n children,\r\n hideCloseButton = false,\r\n closeOnClickOutside = true,\r\n className,\r\n disableFullScreen = false,\r\n}: ModalProps) {\r\n return (\r\n <div className=\"absolute\">\r\n <Dialog\r\n open={isOpen}\r\n onOpenChange={(open) => {\r\n if (!open && closeOnClickOutside) {\r\n onClose();\r\n }\r\n }}\r\n >\r\n <DialogHeader />\r\n\r\n <DialogContent\r\n hideCloseButton={hideCloseButton}\r\n onClose={onClose}\r\n className={`px-0 py-6 lg:px-6 w-full ${\r\n !disableFullScreen && \"h-[100dvh] z-[999] !rounded-none\" \r\n } flex flex-col !justify-start overflow-hidden z-[70] rounded-xl lg:!rounded-2xl lg:h-auto pt-4 gap-0 ${className}`}\r\n onInteractOutside={(e) => {\r\n if (!closeOnClickOutside) {\r\n e.preventDefault();\r\n }\r\n }}\r\n >\r\n {isLoading && <div className=\"loading-bar\" />}\r\n\r\n {!disableFullScreen && (\r\n <header className=\"px-4 border-b-8 border-[#F6F6F6] pb-4 lg:hidden flex items-center w-full\">\r\n <button onClick={() => onClose()} className=\"cursor-pointer\">\r\n <X className=\"h-6 w-6\" />\r\n </button>\r\n\r\n {header}\r\n </header>\r\n )}\r\n\r\n <DialogTitle />\r\n {children}\r\n </DialogContent>\r\n </Dialog>\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const LoadingIcon = ({ color = \"#0B89CE\" }: { color?: string }) => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"41\"\r\n height=\"40\"\r\n fill=\"none\"\r\n viewBox=\"0 0 41 40\"\r\n >\r\n <mask\r\n id=\"mask0_56449_70362\"\r\n width=\"41\"\r\n height=\"40\"\r\n x=\"0\"\r\n y=\"0\"\r\n maskUnits=\"userSpaceOnUse\"\r\n style={{ maskType: \"alpha\" }}\r\n >\r\n <path\r\n fill=\"#C4C4C4\"\r\n d=\"M40.5 20c0 11.046-8.954 20-20 20S.5 31.046.5 20s8.954-20 20-20 20 8.954 20 20M7.543 20c0 7.156 5.801 12.957 12.957 12.957S33.457 27.156 33.457 20 27.656 7.043 20.5 7.043 7.543 12.844 7.543 20\"\r\n ></path>\r\n </mask>\r\n <g mask=\"url(#mask0_56449_70362)\">\r\n <g\r\n clipPath=\"url(#paint0_angular_56449_70362_clip_path)\"\r\n data-figma-skip-parse=\"true\"\r\n >\r\n <foreignObject\r\n width=\"2088.83\"\r\n height=\"2088.83\"\r\n x=\"-1044.42\"\r\n y=\"-1044.42\"\r\n transform=\"matrix(0 .02251 -.02251 0 20.5 20.01)\"\r\n >\r\n <div\r\n style={{\r\n background: `conic-gradient(from 90deg,${color} 0deg,rgba(11,137,206,0) 360deg)`,\r\n height: \"100%\",\r\n width: \"100%\",\r\n }}\r\n ></div>\r\n </foreignObject>\r\n </g>\r\n <path\r\n d=\"M-2.014-2.504h45.029v45.029H-2.014z\"\r\n data-figma-gradient-fill='{\"type\":\"GRADIENT_ANGULAR\",\"stops\":[{\"color\":{\"r\":0.043137256056070328,\"g\":0.53725492954254150,\"b\":0.80784314870834351,\"a\":1.0},\"position\":0.0},{\"color\":{\"r\":0.043137256056070328,\"g\":0.53725492954254150,\"b\":0.80784314870834351,\"a\":0.0},\"position\":1.0}],\"stopsVar\":[{\"color\":{\"r\":0.043137256056070328,\"g\":0.53725492954254150,\"b\":0.80784314870834351,\"a\":1.0},\"position\":0.0},{\"color\":{\"r\":0.043137256056070328,\"g\":0.53725492954254150,\"b\":0.80784314870834351,\"a\":0.0},\"position\":1.0}],\"transform\":{\"m00\":2.7572048986947324e-15,\"m01\":-45.028572082519531,\"m02\":43.014411926269531,\"m10\":45.028572082519531,\"m11\":2.7572048986947324e-15,\"m12\":-2.503906250},\"opacity\":1.0,\"blendMode\":\"NORMAL\",\"visible\":true}'\r\n ></path>\r\n <circle cx=\"20.769\" cy=\"36.538\" r=\"3.562\" fill={color}></circle>\r\n </g>\r\n <defs>\r\n <clipPath id=\"paint0_angular_56449_70362_clip_path\">\r\n <path d=\"M-2.014-2.504h45.029v45.029H-2.014z\"></path>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n);\r\n","import React from \"react\";\r\nimport { cn } from \"../../../lib/utils\";\r\nimport { LoadingIcon } from \"../../../assets/icons/loading-icon\";\r\n\r\ntype ButtonProps = {\r\n children: React.ReactNode;\r\n type?: \"button\" | \"submit\";\r\n className?: string;\r\n onClick?: () => void;\r\n disabled?: boolean;\r\n isLoading?: boolean;\r\n};\r\n\r\nexport function Button({\r\n children,\r\n className,\r\n disabled,\r\n isLoading,\r\n onClick,\r\n type = \"button\",\r\n}: ButtonProps) {\r\n return (\r\n <button\r\n disabled={disabled || isLoading}\r\n type={type}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n onClick?.();\r\n }}\r\n className={cn(\r\n \"flex-1 flex items-center border border-primary text-white bg-primary font-bold py-4\",\r\n className\r\n )}\r\n >\r\n {children}\r\n {isLoading && (\r\n <div className=\"w-4 h-4 flex items-center justify-center\">\r\n <LoadingIcon color=\"#fff\" />\r\n </div>\r\n )}\r\n </button>\r\n );\r\n}\r\n","export class Subscribable<TListener extends Function> {\n protected listeners = new Set<TListener>()\n\n constructor() {\n this.subscribe = this.subscribe.bind(this)\n }\n\n subscribe(listener: TListener): () => void {\n this.listeners.add(listener)\n\n this.onSubscribe()\n\n return () => {\n this.listeners.delete(listener)\n this.onUnsubscribe()\n }\n }\n\n hasListeners(): boolean {\n return this.listeners.size > 0\n }\n\n protected onSubscribe(): void {\n // Do nothing\n }\n\n protected onUnsubscribe(): void {\n // Do nothing\n }\n}\n","import type {\n DefaultError,\n Enabled,\n FetchStatus,\n MutationKey,\n MutationStatus,\n QueryFunction,\n QueryKey,\n QueryOptions,\n StaleTime,\n} from './types'\nimport type { Mutation } from './mutation'\nimport type { FetchOptions, Query } from './query'\n\n// TYPES\n\nexport interface QueryFilters<TQueryKey extends QueryKey = QueryKey> {\n /**\n * Filter to active queries, inactive queries or all queries\n */\n type?: QueryTypeFilter\n /**\n * Match query key exactly\n */\n exact?: boolean\n /**\n * Include queries matching this predicate function\n */\n predicate?: (query: Query) => boolean\n /**\n * Include queries matching this query key\n */\n queryKey?: TQueryKey\n /**\n * Include or exclude stale queries\n */\n stale?: boolean\n /**\n * Include queries matching their fetchStatus\n */\n fetchStatus?: FetchStatus\n}\n\nexport interface MutationFilters<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TContext = unknown,\n> {\n /**\n * Match mutation key exactly\n */\n exact?: boolean\n /**\n * Include mutations matching this predicate function\n */\n predicate?: (\n mutation: Mutation<TData, TError, TVariables, TContext>,\n ) => boolean\n /**\n * Include mutations matching this mutation key\n */\n mutationKey?: MutationKey\n /**\n * Filter by mutation status\n */\n status?: MutationStatus\n}\n\nexport type Updater<TInput, TOutput> = TOutput | ((input: TInput) => TOutput)\n\nexport type QueryTypeFilter = 'all' | 'active' | 'inactive'\n\n// UTILS\n\nexport const isServer = typeof window === 'undefined' || 'Deno' in globalThis\n\nexport function noop(): void\nexport function noop(): undefined\nexport function noop() {}\n\nexport function functionalUpdate<TInput, TOutput>(\n updater: Updater<TInput, TOutput>,\n input: TInput,\n): TOutput {\n return typeof updater === 'function'\n ? (updater as (_: TInput) => TOutput)(input)\n : updater\n}\n\nexport function isValidTimeout(value: unknown): value is number {\n return typeof value === 'number' && value >= 0 && value !== Infinity\n}\n\nexport function timeUntilStale(updatedAt: number, staleTime?: number): number {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0)\n}\n\nexport function resolveStaleTime<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n staleTime: undefined | StaleTime<TQueryFnData, TError, TData, TQueryKey>,\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n): number | undefined {\n return typeof staleTime === 'function' ? staleTime(query) : staleTime\n}\n\nexport function resolveEnabled<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n enabled: undefined | Enabled<TQueryFnData, TError, TData, TQueryKey>,\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n): boolean | undefined {\n return typeof enabled === 'function' ? enabled(query) : enabled\n}\n\nexport function matchQuery(\n filters: QueryFilters,\n query: Query<any, any, any, any>,\n): boolean {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale,\n } = filters\n\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive()\n if (type === 'active' && !isActive) {\n return false\n }\n if (type === 'inactive' && isActive) {\n return false\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false\n }\n\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false\n }\n\n if (predicate && !predicate(query)) {\n return false\n }\n\n return true\n}\n\nexport function matchMutation(\n filters: MutationFilters,\n mutation: Mutation<any, any>,\n): boolean {\n const { exact, status, predicate, mutationKey } = filters\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false\n }\n }\n\n if (status && mutation.state.status !== status) {\n return false\n }\n\n if (predicate && !predicate(mutation)) {\n return false\n }\n\n return true\n}\n\nexport function hashQueryKeyByOptions<TQueryKey extends QueryKey = QueryKey>(\n queryKey: TQueryKey,\n options?: Pick<QueryOptions<any, any, any, any>, 'queryKeyHashFn'>,\n): string {\n const hashFn = options?.queryKeyHashFn || hashKey\n return hashFn(queryKey)\n}\n\n/**\n * Default query & mutation keys hash function.\n * Hashes the value into a stable hash.\n */\nexport function hashKey(queryKey: QueryKey | MutationKey): string {\n return JSON.stringify(queryKey, (_, val) =>\n isPlainObject(val)\n ? Object.keys(val)\n .sort()\n .reduce((result, key) => {\n result[key] = val[key]\n return result\n }, {} as any)\n : val,\n )\n}\n\n/**\n * Checks if key `b` partially matches with key `a`.\n */\nexport function partialMatchKey(a: QueryKey, b: QueryKey): boolean\nexport function partialMatchKey(a: any, b: any): boolean {\n if (a === b) {\n return true\n }\n\n if (typeof a !== typeof b) {\n return false\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n return Object.keys(b).every((key) => partialMatchKey(a[key], b[key]))\n }\n\n return false\n}\n\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\nexport function replaceEqualDeep<T>(a: unknown, b: T): T\nexport function replaceEqualDeep(a: any, b: any): any {\n if (a === b) {\n return a\n }\n\n const array = isPlainArray(a) && isPlainArray(b)\n\n if (array || (isPlainObject(a) && isPlainObject(b))) {\n const aItems = array ? a : Object.keys(a)\n const aSize = aItems.length\n const bItems = array ? b : Object.keys(b)\n const bSize = bItems.length\n const copy: any = array ? [] : {}\n\n let equalItems = 0\n\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i]\n if (\n ((!array && aItems.includes(key)) || array) &&\n a[key] === undefined &&\n b[key] === undefined\n ) {\n copy[key] = undefined\n equalItems++\n } else {\n copy[key] = replaceEqualDeep(a[key], b[key])\n if (copy[key] === a[key] && a[key] !== undefined) {\n equalItems++\n }\n }\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy\n }\n\n return b\n}\n\n/**\n * Shallow compare objects.\n */\nexport function shallowEqualObjects<T extends Record<string, any>>(\n a: T,\n b: T | undefined,\n): boolean {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false\n }\n }\n\n return true\n}\n\nexport function isPlainArray(value: unknown) {\n return Array.isArray(value) && value.length === Object.keys(value).length\n}\n\n// Copied from: https://github.com/jonschlinkert/is-plain-object\n// eslint-disable-next-line @typescript-eslint/no-wrapper-object-types\nexport function isPlainObject(o: any): o is Object {\n if (!hasObjectPrototype(o)) {\n return false\n }\n\n // If has no constructor\n const ctor = o.constructor\n if (ctor === undefined) {\n return true\n }\n\n // If has modified prototype\n const prot = ctor.prototype\n if (!hasObjectPrototype(prot)) {\n return false\n }\n\n // If constructor does not have an Object-specific method\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false\n }\n\n // Handles Objects created by Object.create(<arbitrary prototype>)\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n\nfunction hasObjectPrototype(o: any): boolean {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function sleep(timeout: number): Promise<void> {\n return new Promise((resolve) => {\n setTimeout(resolve, timeout)\n })\n}\n\nexport function replaceData<\n TData,\n TOptions extends QueryOptions<any, any, any, any>,\n>(prevData: TData | undefined, data: TData, options: TOptions): TData {\n if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data) as TData\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== 'production') {\n try {\n return replaceEqualDeep(prevData, data)\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`,\n )\n\n // Prevent the replaceEqualDeep from being called again down below.\n throw error\n }\n }\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data)\n }\n return data\n}\n\nexport function keepPreviousData<T>(\n previousData: T | undefined,\n): T | undefined {\n return previousData\n}\n\nexport function addToEnd<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [...items, item]\n return max && newItems.length > max ? newItems.slice(1) : newItems\n}\n\nexport function addToStart<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [item, ...items]\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems\n}\n\nexport const skipToken = Symbol()\nexport type SkipToken = typeof skipToken\n\nexport function ensureQueryFn<\n TQueryFnData = unknown,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: {\n queryFn?: QueryFunction<TQueryFnData, TQueryKey> | SkipToken\n queryHash?: string\n },\n fetchOptions?: FetchOptions<TQueryFnData>,\n): QueryFunction<TQueryFnData, TQueryKey> {\n if (process.env.NODE_ENV !== 'production') {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`,\n )\n }\n }\n\n // if we attempt to retry a fetch that was triggered from an initialPromise\n // when we don't have a queryFn yet, we can't retry, so we just return the already rejected initialPromise\n // if an observer has already mounted, we will be able to retry with that queryFn\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise!\n }\n\n if (!options.queryFn || options.queryFn === skipToken) {\n return () =>\n Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`))\n }\n\n return options.queryFn\n}\n\nexport function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwOnError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwOnError function to override throwing behavior on a per-error basis\n if (typeof throwOnError === 'function') {\n return throwOnError(...params)\n }\n\n return !!throwOnError\n}\n","import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype Listener = (focused: boolean) => void\n\ntype SetupFn = (\n setFocused: (focused?: boolean) => void,\n) => (() => void) | undefined\n\nexport class FocusManager extends Subscribable<Listener> {\n #focused?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onFocus) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus()\n // Listen to visibilitychange\n window.addEventListener('visibilitychange', listener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener)\n }\n }\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((focused) => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused)\n } else {\n this.onFocus()\n }\n })\n }\n\n setFocused(focused?: boolean): void {\n const changed = this.#focused !== focused\n if (changed) {\n this.#focused = focused\n this.onFocus()\n }\n }\n\n onFocus(): void {\n const isFocused = this.isFocused()\n this.listeners.forEach((listener) => {\n listener(isFocused)\n })\n }\n\n isFocused(): boolean {\n if (typeof this.#focused === 'boolean') {\n return this.#focused\n }\n\n // document global can be unavailable in react native\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return globalThis.document?.visibilityState !== 'hidden'\n }\n}\n\nexport const focusManager = new FocusManager()\n","import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype Listener = (online: boolean) => void\ntype SetupFn = (setOnline: Listener) => (() => void) | undefined\n\nexport class OnlineManager extends Subscribable<Listener> {\n #online = true\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const onlineListener = () => onOnline(true)\n const offlineListener = () => onOnline(false)\n // Listen to online\n window.addEventListener('online', onlineListener, false)\n window.addEventListener('offline', offlineListener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('online', onlineListener)\n window.removeEventListener('offline', offlineListener)\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup(this.setOnline.bind(this))\n }\n\n setOnline(online: boolean): void {\n const changed = this.#online !== online\n\n if (changed) {\n this.#online = online\n this.listeners.forEach((listener) => {\n listener(online)\n })\n }\n }\n\n isOnline(): boolean {\n return this.#online\n }\n}\n\nexport const onlineManager = new OnlineManager()\n","/**\n * Thenable types which matches React's types for promises\n *\n * React seemingly uses `.status`, `.value` and `.reason` properties on a promises to optimistically unwrap data from promises\n *\n * @see https://github.com/facebook/react/blob/main/packages/shared/ReactTypes.js#L112-L138\n * @see https://github.com/facebook/react/blob/4f604941569d2e8947ce1460a0b2997e835f37b9/packages/react-debug-tools/src/ReactDebugHooks.js#L224-L227\n */\n\ninterface Fulfilled<T> {\n status: 'fulfilled'\n value: T\n}\ninterface Rejected {\n status: 'rejected'\n reason: unknown\n}\ninterface Pending<T> {\n status: 'pending'\n\n /**\n * Resolve the promise with a value.\n * Will remove the `resolve` and `reject` properties from the promise.\n */\n resolve: (value: T) => void\n /**\n * Reject the promise with a reason.\n * Will remove the `resolve` and `reject` properties from the promise.\n */\n reject: (reason: unknown) => void\n}\n\nexport type FulfilledThenable<T> = Promise<T> & Fulfilled<T>\nexport type RejectedThenable<T> = Promise<T> & Rejected\nexport type PendingThenable<T> = Promise<T> & Pending<T>\n\nexport type Thenable<T> =\n | FulfilledThenable<T>\n | RejectedThenable<T>\n | PendingThenable<T>\n\nexport function pendingThenable<T>(): PendingThenable<T> {\n let resolve: Pending<T>['resolve']\n let reject: Pending<T>['reject']\n // this could use `Promise.withResolvers()` in the future\n const thenable = new Promise((_resolve, _reject) => {\n resolve = _resolve\n reject = _reject\n }) as PendingThenable<T>\n\n thenable.status = 'pending'\n thenable.catch(() => {\n // prevent unhandled rejection errors\n })\n\n function finalize(data: Fulfilled<T> | Rejected) {\n Object.assign(thenable, data)\n\n // clear pending props props to avoid calling them twice\n delete (thenable as Partial<PendingThenable<T>>).resolve\n delete (thenable as Partial<PendingThenable<T>>).reject\n }\n\n thenable.resolve = (value) => {\n finalize({\n status: 'fulfilled',\n value,\n })\n\n resolve(value)\n }\n thenable.reject = (reason) => {\n finalize({\n status: 'rejected',\n reason,\n })\n\n reject(reason)\n }\n\n return thenable\n}\n","import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { pendingThenable } from './thenable'\nimport { isServer, sleep } from './utils'\nimport type { CancelOptions, DefaultError, NetworkMode } from './types'\n\n// TYPES\n\ninterface RetryerConfig<TData = unknown, TError = DefaultError> {\n fn: () => TData | Promise<TData>\n initialPromise?: Promise<TData>\n abort?: () => void\n onError?: (error: TError) => void\n onSuccess?: (data: TData) => void\n onFail?: (failureCount: number, error: TError) => void\n onPause?: () => void\n onContinue?: () => void\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode: NetworkMode | undefined\n canRun: () => boolean\n}\n\nexport interface Retryer<TData = unknown> {\n promise: Promise<TData>\n cancel: (cancelOptions?: CancelOptions) => void\n continue: () => Promise<unknown>\n cancelRetry: () => void\n continueRetry: () => void\n canStart: () => boolean\n start: () => Promise<TData>\n}\n\nexport type RetryValue<TError> = boolean | number | ShouldRetryFunction<TError>\n\ntype ShouldRetryFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue<TError> = number | RetryDelayFunction<TError>\n\ntype RetryDelayFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => number\n\nfunction defaultRetryDelay(failureCount: number) {\n return Math.min(1000 * 2 ** failureCount, 30000)\n}\n\nexport function canFetch(networkMode: NetworkMode | undefined): boolean {\n return (networkMode ?? 'online') === 'online'\n ? onlineManager.isOnline()\n : true\n}\n\nexport class CancelledError extends Error {\n revert?: boolean\n silent?: boolean\n constructor(options?: CancelOptions) {\n super('CancelledError')\n this.revert = options?.revert\n this.silent = options?.silent\n }\n}\n\nexport function isCancelledError(value: any): value is CancelledError {\n return value instanceof CancelledError\n}\n\nexport function createRetryer<TData = unknown, TError = DefaultError>(\n config: RetryerConfig<TData, TError>,\n): Retryer<TData> {\n let isRetryCancelled = false\n let failureCount = 0\n let isResolved = false\n let continueFn: ((value?: unknown) => void) | undefined\n\n const thenable = pendingThenable<TData>()\n\n const cancel = (cancelOptions?: CancelOptions): void => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions))\n\n config.abort?.()\n }\n }\n const cancelRetry = () => {\n isRetryCancelled = true\n }\n\n const continueRetry = () => {\n isRetryCancelled = false\n }\n\n const canContinue = () =>\n focusManager.isFocused() &&\n (config.networkMode === 'always' || onlineManager.isOnline()) &&\n config.canRun()\n\n const canStart = () => canFetch(config.networkMode) && config.canRun()\n\n const resolve = (value: any) => {\n if (!isResolved) {\n isResolved = true\n config.onSuccess?.(value)\n continueFn?.()\n thenable.resolve(value)\n }\n }\n\n const reject = (value: any) => {\n if (!isResolved) {\n isResolved = true\n config.onError?.(value)\n continueFn?.()\n thenable.reject(value)\n }\n }\n\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved || canContinue()) {\n continueResolve(value)\n }\n }\n config.onPause?.()\n }).then(() => {\n continueFn = undefined\n if (!isResolved) {\n config.onContinue?.()\n }\n })\n }\n\n // Create loop function\n const run = () => {\n // Do nothing if already resolved\n if (isResolved) {\n return\n }\n\n let promiseOrValue: any\n\n // we can re-use config.initialPromise on the first call of run()\n const initialPromise =\n failureCount === 0 ? config.initialPromise : undefined\n\n // Execute query\n try {\n promiseOrValue = initialPromise ?? config.fn()\n } catch (error) {\n promiseOrValue = Promise.reject(error)\n }\n\n Promise.resolve(promiseOrValue)\n .then(resolve)\n .catch((error) => {\n // Stop if the fetch is already resolved\n if (isResolved) {\n return\n }\n\n // Do we need to retry the request?\n const retry = config.retry ?? (isServer ? 0 : 3)\n const retryDelay = config.retryDelay ?? defaultRetryDelay\n const delay =\n typeof retryDelay === 'function'\n ? retryDelay(failureCount, error)\n : retryDelay\n const shouldRetry =\n retry === true ||\n (typeof retry === 'number' && failureCount < retry) ||\n (typeof retry === 'function' && retry(failureCount, error))\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error)\n return\n }\n\n failureCount++\n\n // Notify on fail\n config.onFail?.(failureCount, error)\n\n // Delay\n sleep(delay)\n // Pause if the document is not visible or when the device is offline\n .then(() => {\n return canContinue() ? undefined : pause()\n })\n .then(() => {\n if (isRetryCancelled) {\n reject(error)\n } else {\n run()\n }\n })\n })\n }\n\n return {\n promise: thenable,\n cancel,\n continue: () => {\n continueFn?.()\n return thenable\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n // Start loop\n if (canStart()) {\n run()\n } else {\n pause().then(run)\n }\n return thenable\n },\n }\n}\n","// TYPES\n\ntype NotifyCallback = () => void\n\ntype NotifyFunction = (callback: () => void) => void\n\ntype BatchNotifyFunction = (callback: () => void) => void\n\ntype BatchCallsCallback<T extends Array<unknown>> = (...args: T) => void\n\ntype ScheduleFunction = (callback: () => void) => void\n\nexport const defaultScheduler: ScheduleFunction = (cb) => setTimeout(cb, 0)\n\nexport function createNotifyManager() {\n let queue: Array<NotifyCallback> = []\n let transactions = 0\n let notifyFn: NotifyFunction = (callback) => {\n callback()\n }\n let batchNotifyFn: BatchNotifyFunction = (callback: () => void) => {\n callback()\n }\n let scheduleFn = defaultScheduler\n\n const schedule = (callback: NotifyCallback): void => {\n if (transactions) {\n queue.push(callback)\n } else {\n scheduleFn(() => {\n notifyFn(callback)\n })\n }\n }\n const flush = (): void => {\n const originalQueue = queue\n queue = []\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback)\n })\n })\n })\n }\n }\n\n return {\n batch: <T>(callback: () => T): T => {\n let result\n transactions++\n try {\n result = callback()\n } finally {\n transactions--\n if (!transactions) {\n flush()\n }\n }\n return result\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: <T extends Array<unknown>>(\n callback: BatchCallsCallback<T>,\n ): BatchCallsCallback<T> => {\n return (...args) => {\n schedule(() => {\n callback(...args)\n })\n }\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn: NotifyFunction) => {\n notifyFn = fn\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn: BatchNotifyFunction) => {\n batchNotifyFn = fn\n },\n setScheduler: (fn: ScheduleFunction) => {\n scheduleFn = fn\n },\n } as const\n}\n\n// SINGLETON\nexport const notifyManager = createNotifyManager()\n","import { isServer, isValidTimeout } from './utils'\n\nexport abstract class Removable {\n gcTime!: number\n #gcTimeout?: ReturnType<typeof setTimeout>\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = setTimeout(() => {\n this.optionalRemove()\n }, this.gcTime)\n }\n }\n\n protected updateGcTime(newGcTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout)\n this.#gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n","import {\n ensureQueryFn,\n noop,\n replaceData,\n resolveEnabled,\n skipToken,\n timeUntilStale,\n} from './utils'\nimport { notifyManager } from './notifyManager'\nimport { canFetch, createRetryer, isCancelledError } from './retryer'\nimport { Removable } from './removable'\nimport type { QueryCache } from './queryCache'\nimport type { QueryClient } from './queryClient'\nimport type {\n CancelOptions,\n DefaultError,\n FetchStatus,\n InitialDataFunction,\n OmitKeyof,\n QueryFunction,\n QueryFunctionContext,\n QueryKey,\n QueryMeta,\n QueryOptions,\n QueryStatus,\n SetDataOptions,\n} from './types'\nimport type { QueryObserver } from './queryObserver'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n client: QueryClient\n queryKey: TQueryKey\n queryHash: string\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state?: QueryState<TData, TError>\n}\n\nexport interface QueryState<TData = unknown, TError = DefaultError> {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: FetchMeta | null\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise<unknown>\n fetchOptions?: FetchOptions\n signal: AbortSignal\n options: QueryOptions<TQueryFnData, TError, TData, any>\n client: QueryClient\n queryKey: TQueryKey\n state: QueryState<TData, TError>\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n query: Query,\n ) => void\n}\n\nexport type FetchDirection = 'forward' | 'backward'\n\nexport interface FetchMeta {\n fetchMore?: { direction: FetchDirection }\n}\n\nexport interface FetchOptions<TData = unknown> {\n cancelRefetch?: boolean\n meta?: FetchMeta\n initialPromise?: Promise<TData>\n}\n\ninterface FailedAction<TError> {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: FetchMeta\n}\n\ninterface SuccessAction<TData> {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction<TError> {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction<TData, TError> {\n type: 'setState'\n state: Partial<QueryState<TData, TError>>\n setStateOptions?: SetStateOptions\n}\n\nexport type Action<TData, TError> =\n | ContinueAction\n | ErrorAction<TError>\n | FailedAction<TError>\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction<TData, TError>\n | SuccessAction<TData>\n\nexport interface SetStateOptions {\n meta?: any\n}\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state: QueryState<TData, TError>\n\n #initialState: QueryState<TData, TError>\n #revertState?: QueryState<TData, TError>\n #cache: QueryCache\n #client: QueryClient\n #retryer?: Retryer<TData>\n observers: Array<QueryObserver<any, any, any, any, any>>\n #defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n #abortSignalConsumed: boolean\n\n constructor(config: QueryConfig<TQueryFnData, TError, TData, TQueryKey>) {\n super()\n\n this.#abortSignalConsumed = false\n this.#defaultOptions = config.defaultOptions\n this.setOptions(config.options)\n this.observers = []\n this.#client = config.client\n this.#cache = this.#client.getQueryCache()\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.#initialState = getDefaultState(this.options)\n this.state = config.state ?? this.#initialState\n this.scheduleGc()\n }\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n get promise(): Promise<TData> | undefined {\n return this.#retryer?.promise\n }\n\n setOptions(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): void {\n this.options = { ...this.#defaultOptions, ...options }\n\n this.updateGcTime(this.options.gcTime)\n }\n\n protected optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.#cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.#dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(\n state: Partial<QueryState<TData, TError>>,\n setStateOptions?: SetStateOptions,\n ): void {\n this.#dispatch({ type: 'setState', state, setStateOptions })\n }\n\n cancel(options?: CancelOptions): Promise<void> {\n const promise = this.#retryer?.promise\n this.#retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.#initialState)\n }\n\n isActive(): boolean {\n return this.observers.some(\n (observer) => resolveEnabled(observer.options.enabled, this) !== false,\n )\n }\n\n isDisabled(): boolean {\n if (this.getObserversCount() > 0) {\n return !this.isActive()\n }\n // if a query has no observers, it should still be considered disabled if it never attempted a fetch\n return (\n this.options.queryFn === skipToken ||\n this.state.dataUpdateCount + this.state.errorUpdateCount === 0\n )\n }\n\n isStale(): boolean {\n if (this.state.isInvalidated) {\n return true\n }\n\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale,\n )\n }\n\n return this.state.data === undefined\n }\n\n isStaleByTime(staleTime = 0): boolean {\n return (\n this.state.isInvalidated ||\n this.state.data === undefined ||\n !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n )\n }\n\n onFocus(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n addObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.#cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer)\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({ revert: true })\n } else {\n this.#retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.#cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.observers.length\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: 'invalidate' })\n }\n }\n\n fetch(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n fetchOptions?: FetchOptions<TQueryFnData>,\n ): Promise<TData> {\n if (this.state.fetchStatus !== 'idle') {\n if (this.state.data !== undefined && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetch\n this.cancel({ silent: true })\n } else if (this.#retryer) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.#retryer.continueRetry()\n // Return current promise if we are already fetching\n return this.#retryer.promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn)\n if (observer) {\n this.setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = new AbortController()\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true\n return abortController.signal\n },\n })\n }\n\n // Create fetch function\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions)\n\n // Create query function context\n const queryFnContext: OmitKeyof<\n QueryFunctionContext<TQueryKey>,\n 'signal'\n > = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta,\n }\n\n addSignalProperty(queryFnContext)\n\n this.#abortSignalConsumed = false\n if (this.options.persister) {\n return this.options.persister(\n queryFn as QueryFunction<any>,\n queryFnContext as QueryFunctionContext<TQueryKey>,\n this as unknown as Query,\n )\n }\n\n return queryFn(queryFnContext as QueryFunctionContext<TQueryKey>)\n }\n\n // Trigger behavior hook\n const context: OmitKeyof<\n FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n 'signal'\n > = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n\n this.options.behavior?.onFetch(\n context as FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n this as unknown as Query,\n )\n\n // Store state in case the current fetch needs to be reverted\n this.#revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.#dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n const onError = (error: TError | { silent?: boolean }) => {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: 'error',\n error: error as TError,\n })\n }\n\n if (!isCancelledError(error)) {\n // Notify cache callback\n this.#cache.config.onError?.(\n error as any,\n this as Query<any, any, any, any>,\n )\n this.#cache.config.onSettled?.(\n this.state.data,\n error as any,\n this as Query<any, any, any, any>,\n )\n }\n\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n\n // Try to fetch the data\n this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise as\n | Promise<TData>\n | undefined,\n fn: context.fetchFn as () => Promise<TData>,\n abort: abortController.abort.bind(abortController),\n onSuccess: (data) => {\n if (data === undefined) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n onError(new Error(`${this.queryHash} data is undefined`) as any)\n return\n }\n\n try {\n this.setData(data)\n } catch (error) {\n onError(error as TError)\n return\n }\n\n // Notify cache callback\n this.#cache.config.onSuccess?.(data, this as Query<any, any, any, any>)\n this.#cache.config.onSettled?.(\n data,\n this.state.error as any,\n this as Query<any, any, any, any>,\n )\n\n // Schedule query gc after fetching\n this.scheduleGc()\n },\n onError,\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.#dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true,\n })\n\n return this.#retryer.start()\n }\n\n #dispatch(action: Action<TData, TError>): void {\n const reducer = (\n state: QueryState<TData, TError>,\n ): QueryState<TData, TError> => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null,\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success',\n ...(!action.manual && {\n fetchStatus: 'idle',\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n case 'error':\n const error = action.error\n\n if (isCancelledError(error) && error.revert && this.#revertState) {\n return { ...this.#revertState, fetchStatus: 'idle' }\n }\n\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: 'idle',\n status: 'error',\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate()\n })\n\n this.#cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nexport function fetchState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n data: TData | undefined,\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? 'fetching' : 'paused',\n ...(data === undefined &&\n ({\n error: null,\n status: 'pending',\n } as const)),\n } as const\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n): QueryState<TData, TError> {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction<TData>)()\n : options.initialData\n\n const hasData = data !== undefined\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? (options.initialDataUpdatedAt as () => number | undefined)()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? (initialDataUpdatedAt ?? Date.now()) : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'pending',\n fetchStatus: 'idle',\n }\n}\n","import { hashQueryKeyByOptions, matchQuery } from './utils'\nimport { Query } from './query'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport type { QueryFilters } from './utils'\nimport type { Action, QueryState } from './query'\nimport type {\n DefaultError,\n NotifyEvent,\n QueryKey,\n QueryOptions,\n WithRequired,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { QueryObserver } from './queryObserver'\n\n// TYPES\n\ninterface QueryCacheConfig {\n onError?: (\n error: DefaultError,\n query: Query<unknown, unknown, unknown>,\n ) => void\n onSuccess?: (data: unknown, query: Query<unknown, unknown, unknown>) => void\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n query: Query<unknown, unknown, unknown>,\n ) => void\n}\n\ninterface NotifyEventQueryAdded extends NotifyEvent {\n type: 'added'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryRemoved extends NotifyEvent {\n type: 'removed'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryUpdated extends NotifyEvent {\n type: 'updated'\n query: Query<any, any, any, any>\n action: Action<any, any>\n}\n\ninterface NotifyEventQueryObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverResultsUpdated extends NotifyEvent {\n type: 'observerResultsUpdated'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\nexport type QueryCacheNotifyEvent =\n | NotifyEventQueryAdded\n | NotifyEventQueryRemoved\n | NotifyEventQueryUpdated\n | NotifyEventQueryObserverAdded\n | NotifyEventQueryObserverRemoved\n | NotifyEventQueryObserverResultsUpdated\n | NotifyEventQueryObserverOptionsUpdated\n\ntype QueryCacheListener = (event: QueryCacheNotifyEvent) => void\n\nexport interface QueryStore {\n has: (queryHash: string) => boolean\n set: (queryHash: string, query: Query) => void\n get: (queryHash: string) => Query | undefined\n delete: (queryHash: string) => void\n values: () => IterableIterator<Query>\n}\n\n// CLASS\n\nexport class QueryCache extends Subscribable<QueryCacheListener> {\n #queries: QueryStore\n\n constructor(public config: QueryCacheConfig = {}) {\n super()\n this.#queries = new Map<string, Query>()\n }\n\n build<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n client: QueryClient,\n options: WithRequired<\n QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'queryKey'\n >,\n state?: QueryState<TData, TError>,\n ): Query<TQueryFnData, TError, TData, TQueryKey> {\n const queryKey = options.queryKey\n const queryHash =\n options.queryHash ?? hashQueryKeyByOptions(queryKey, options)\n let query = this.get<TQueryFnData, TError, TData, TQueryKey>(queryHash)\n\n if (!query) {\n query = new Query({\n client,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey),\n })\n this.add(query)\n }\n\n return query\n }\n\n add(query: Query<any, any, any, any>): void {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query)\n\n this.notify({\n type: 'added',\n query,\n })\n }\n }\n\n remove(query: Query<any, any, any, any>): void {\n const queryInMap = this.#queries.get(query.queryHash)\n\n if (queryInMap) {\n query.destroy()\n\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash)\n }\n\n this.notify({ type: 'removed', query })\n }\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query)\n })\n })\n }\n\n get<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryHash: string,\n ): Query<TQueryFnData, TError, TData, TQueryKey> | undefined {\n return this.#queries.get(queryHash) as\n | Query<TQueryFnData, TError, TData, TQueryKey>\n | undefined\n }\n\n getAll(): Array<Query> {\n return [...this.#queries.values()]\n }\n\n find<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData>(\n filters: WithRequired<QueryFilters, 'queryKey'>,\n ): Query<TQueryFnData, TError, TData> | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.getAll().find((query) =>\n matchQuery(defaultedFilters, query),\n ) as Query<TQueryFnData, TError, TData> | undefined\n }\n\n findAll(filters: QueryFilters<any> = {}): Array<Query> {\n const queries = this.getAll()\n return Object.keys(filters).length > 0\n ? queries.filter((query) => matchQuery(filters, query))\n : queries\n }\n\n notify(event: QueryCacheNotifyEvent): void {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n onFocus(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus()\n })\n })\n }\n\n onOnline(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline()\n })\n })\n }\n}\n","import { notifyManager } from './notifyManager'\nimport { Removable } from './removable'\nimport { createRetryer } from './retryer'\nimport type {\n DefaultError,\n MutationMeta,\n MutationOptions,\n MutationStatus,\n} from './types'\nimport type { MutationCache } from './mutationCache'\nimport type { MutationObserver } from './mutationObserver'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface MutationConfig<TData, TError, TVariables, TContext> {\n mutationId: number\n mutationCache: MutationCache\n options: MutationOptions<TData, TError, TVariables, TContext>\n state?: MutationState<TData, TError, TVariables, TContext>\n}\n\nexport interface MutationState<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TContext = unknown,\n> {\n context: TContext | undefined\n data: TData | undefined\n error: TError | null\n failureCount: number\n failureReason: TError | null\n isPaused: boolean\n status: MutationStatus\n variables: TVariables | undefined\n submittedAt: number\n}\n\ninterface FailedAction<TError> {\n type: 'failed'\n failureCount: number\n error: TError | null\n}\n\ninterface PendingAction<TVariables, TContext> {\n type: 'pending'\n isPaused: boolean\n variables?: TVariables\n context?: TContext\n}\n\ninterface SuccessAction<TData> {\n type: 'success'\n data: TData\n}\n\ninterface ErrorAction<TError> {\n type: 'error'\n error: TError\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\nexport type Action<TData, TError, TVariables, TContext> =\n | ContinueAction\n | ErrorAction<TError>\n | FailedAction<TError>\n | PendingAction<TVariables, TContext>\n | PauseAction\n | SuccessAction<TData>\n\n// CLASS\n\nexport class Mutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TContext = unknown,\n> extends Removable {\n state: MutationState<TData, TError, TVariables, TContext>\n options!: MutationOptions<TData, TError, TVariables, TContext>\n readonly mutationId: number\n\n #observers: Array<MutationObserver<TData, TError, TVariables, TContext>>\n #mutationCache: MutationCache\n #retryer?: Retryer<TData>\n\n constructor(config: MutationConfig<TData, TError, TVariables, TContext>) {\n super()\n\n this.mutationId = config.mutationId\n this.#mutationCache = config.mutationCache\n this.#observers = []\n this.state = config.state || getDefaultState()\n\n this.setOptions(config.options)\n this.scheduleGc()\n }\n\n setOptions(\n options: MutationOptions<TData, TError, TVariables, TContext>,\n ): void {\n this.options = options\n\n this.updateGcTime(this.options.gcTime)\n }\n\n get meta(): MutationMeta | undefined {\n return this.options.meta\n }\n\n addObserver(observer: MutationObserver<any, any, any, any>): void {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer)\n\n // Stop the mutation from being garbage collected\n this.clearGcTimeout()\n\n this.#mutationCache.notify({\n type: 'observerAdded',\n mutation: this,\n observer,\n })\n }\n }\n\n removeObserver(observer: MutationObserver<any, any, any, any>): void {\n this.#observers = this.#observers.filter((x) => x !== observer)\n\n this.scheduleGc()\n\n this.#mutationCache.notify({\n type: 'observerRemoved',\n mutation: this,\n observer,\n })\n }\n\n protected optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === 'pending') {\n this.scheduleGc()\n } else {\n this.#mutationCache.remove(this)\n }\n }\n }\n\n continue(): Promise<unknown> {\n return (\n this.#retryer?.continue() ??\n // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables!)\n )\n }\n\n async execute(variables: TVariables): Promise<TData> {\n const onContinue = () => {\n this.#dispatch({ type: 'continue' })\n }\n\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error('No mutationFn found'))\n }\n return this.options.mutationFn(variables)\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue,\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this),\n })\n\n const restored = this.state.status === 'pending'\n const isPaused = !this.#retryer.canStart()\n\n try {\n if (restored) {\n // Dispatch continue action to unpause restored mutation\n onContinue()\n } else {\n this.#dispatch({ type: 'pending', variables, isPaused })\n // Notify cache callback\n await this.#mutationCache.config.onMutate?.(\n variables,\n this as Mutation<unknown, unknown, unknown, unknown>,\n )\n const context = await this.options.onMutate?.(variables)\n if (context !== this.state.context) {\n this.#dispatch({\n type: 'pending',\n context,\n variables,\n isPaused,\n })\n }\n }\n const data = await this.#retryer.start()\n\n // Notify cache callback\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this as Mutation<unknown, unknown, unknown, unknown>,\n )\n\n await this.options.onSuccess?.(data, variables, this.state.context!)\n\n // Notify cache callback\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this as Mutation<unknown, unknown, unknown, unknown>,\n )\n\n await this.options.onSettled?.(data, null, variables, this.state.context)\n\n this.#dispatch({ type: 'success', data })\n return data\n } catch (error) {\n try {\n // Notify cache callback\n await this.#mutationCache.config.onError?.(\n error as any,\n variables,\n this.state.context,\n this as Mutation<unknown, unknown, unknown, unknown>,\n )\n\n await this.options.onError?.(\n error as TError,\n variables,\n this.state.context,\n )\n\n // Notify cache callback\n await this.#mutationCache.config.onSettled?.(\n undefined,\n error as any,\n this.state.variables,\n this.state.context,\n this as Mutation<unknown, unknown, unknown, unknown>,\n )\n\n await this.options.onSettled?.(\n undefined,\n error as TError,\n variables,\n this.state.context,\n )\n throw error\n } finally {\n this.#dispatch({ type: 'error', error: error as TError })\n }\n } finally {\n this.#mutationCache.runNext(this)\n }\n }\n\n #dispatch(action: Action<TData, TError, TVariables, TContext>): void {\n const reducer = (\n state: MutationState<TData, TError, TVariables, TContext>,\n ): MutationState<TData, TError, TVariables, TContext> => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n isPaused: true,\n }\n case 'continue':\n return {\n ...state,\n isPaused: false,\n }\n case 'pending':\n return {\n ...state,\n context: action.context,\n data: undefined,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: 'pending',\n variables: action.variables,\n submittedAt: Date.now(),\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: 'success',\n isPaused: false,\n }\n case 'error':\n return {\n ...state,\n data: undefined,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: 'error',\n }\n }\n }\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action)\n })\n this.#mutationCache.notify({\n mutation: this,\n type: 'updated',\n action,\n })\n })\n }\n}\n\nexport function getDefaultState<\n TData,\n TError,\n TVariables,\n TContext,\n>(): MutationState<TData, TError, TVariables, TContext> {\n return {\n context: undefined,\n data: undefined,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: 'idle',\n variables: undefined,\n submittedAt: 0,\n }\n}\n","import { notifyManager } from './notifyManager'\nimport { Mutation } from './mutation'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\nimport type { MutationObserver } from './mutationObserver'\nimport type { DefaultError, MutationOptions, NotifyEvent } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Action, MutationState } from './mutation'\nimport type { MutationFilters } from './utils'\n\n// TYPES\n\ninterface MutationCacheConfig {\n onError?: (\n error: DefaultError,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSuccess?: (\n data: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onMutate?: (\n variables: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n type: 'added'\n mutation: Mutation<any, any, any, any>\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n type: 'removed'\n mutation: Mutation<any, any, any, any>\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n mutation?: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any, any>\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n type: 'updated'\n mutation: Mutation<any, any, any, any>\n action: Action<any, any, any, any>\n}\n\nexport type MutationCacheNotifyEvent =\n | NotifyEventMutationAdded\n | NotifyEventMutationRemoved\n | NotifyEventMutationObserverAdded\n | NotifyEventMutationObserverRemoved\n | NotifyEventMutationObserverOptionsUpdated\n | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable<MutationCacheListener> {\n #mutations: Set<Mutation<any, any, any, any>>\n #scopes: Map<string, Array<Mutation<any, any, any, any>>>\n #mutationId: number\n\n constructor(public config: MutationCacheConfig = {}) {\n super()\n this.#mutations = new Set()\n this.#scopes = new Map()\n this.#mutationId = 0\n }\n\n build<TData, TError, TVariables, TContext>(\n client: QueryClient,\n options: MutationOptions<TData, TError, TVariables, TContext>,\n state?: MutationState<TData, TError, TVariables, TContext>,\n ): Mutation<TData, TError, TVariables, TContext> {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state,\n })\n\n this.add(mutation)\n\n return mutation\n }\n\n add(mutation: Mutation<any, any, any, any>): void {\n this.#mutations.add(mutation)\n const scope = scopeFor(mutation)\n if (typeof scope === 'string') {\n const scopedMutations = this.#scopes.get(scope)\n if (scopedMutations) {\n scopedMutations.push(mutation)\n } else {\n this.#scopes.set(scope, [mutation])\n }\n }\n this.notify({ type: 'added', mutation })\n }\n\n remove(mutation: Mutation<any, any, any, any>): void {\n if (this.#mutations.delete(mutation)) {\n const scope = scopeFor(mutation)\n if (typeof scope === 'string') {\n const scopedMutations = this.#scopes.get(scope)\n if (scopedMutations) {\n if (scopedMutations.length > 1) {\n const index = scopedMutations.indexOf(mutation)\n if (index !== -1) {\n scopedMutations.splice(index, 1)\n }\n } else if (scopedMutations[0] === mutation) {\n this.#scopes.delete(scope)\n }\n }\n }\n }\n\n // Currently we notify the removal even if the mutation was already removed.\n // Consider making this an error or not notifying of the removal depending on the desired semantics.\n this.notify({ type: 'removed', mutation })\n }\n\n canRun(mutation: Mutation<any, any, any, any>): boolean {\n const scope = scopeFor(mutation)\n if (typeof scope === 'string') {\n const mutationsWithSameScope = this.#scopes.get(scope)\n const firstPendingMutation = mutationsWithSameScope?.find(\n (m) => m.state.status === 'pending',\n )\n // we can run if there is no current pending mutation (start use-case)\n // or if WE are the first pending mutation (continue use-case)\n return !firstPendingMutation || firstPendingMutation === mutation\n } else {\n // For unscoped mutations there are never any pending mutations in front of the\n // current mutation\n return true\n }\n }\n\n runNext(mutation: Mutation<any, any, any, any>): Promise<unknown> {\n const scope = scopeFor(mutation)\n if (typeof scope === 'string') {\n const foundMutation = this.#scopes\n .get(scope)\n ?.find((m) => m !== mutation && m.state.isPaused)\n\n return foundMutation?.continue() ?? Promise.resolve()\n } else {\n return Promise.resolve()\n }\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.notify({ type: 'removed', mutation })\n })\n this.#mutations.clear()\n this.#scopes.clear()\n })\n }\n\n getAll(): Array<Mutation> {\n return Array.from(this.#mutations)\n }\n\n find<\n TData = unknown,\n TError = DefaultError,\n TVariables = any,\n TContext = unknown,\n >(\n filters: MutationFilters,\n ): Mutation<TData, TError, TVariables, TContext> | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.getAll().find((mutation) =>\n matchMutation(defaultedFilters, mutation),\n ) as Mutation<TData, TError, TVariables, TContext> | undefined\n }\n\n findAll(filters: MutationFilters = {}): Array<Mutation> {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation))\n }\n\n notify(event: MutationCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n resumePausedMutations(): Promise<unknown> {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused)\n\n return notifyManager.batch(() =>\n Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop)),\n ),\n )\n }\n}\n\nfunction scopeFor(mutation: Mutation<any, any, any, any>) {\n return mutation.options.scope?.id\n}\n","import { addToEnd, addToStart, ensureQueryFn } from './utils'\nimport type { QueryBehavior } from './query'\nimport type {\n InfiniteData,\n InfiniteQueryPageParamsOptions,\n OmitKeyof,\n QueryFunctionContext,\n QueryKey,\n} from './types'\n\nexport function infiniteQueryBehavior<TQueryFnData, TError, TData, TPageParam>(\n pages?: number,\n): QueryBehavior<TQueryFnData, TError, InfiniteData<TData, TPageParam>> {\n return {\n onFetch: (context, query) => {\n const options = context.options as InfiniteQueryPageParamsOptions<TData>\n const direction = context.fetchOptions?.meta?.fetchMore?.direction\n const oldPages = context.state.data?.pages || []\n const oldPageParams = context.state.data?.pageParams || []\n let result: InfiniteData<unknown> = { pages: [], pageParams: [] }\n let currentPage = 0\n\n const fetchFn = async () => {\n let cancelled = false\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true\n } else {\n context.signal.addEventListener('abort', () => {\n cancelled = true\n })\n }\n return context.signal\n },\n })\n }\n\n const queryFn = ensureQueryFn(context.options, context.fetchOptions)\n\n // Create function to fetch a page\n const fetchPage = async (\n data: InfiniteData<unknown>,\n param: unknown,\n previous?: boolean,\n ): Promise<InfiniteData<unknown>> => {\n if (cancelled) {\n return Promise.reject()\n }\n\n if (param == null && data.pages.length) {\n return Promise.resolve(data)\n }\n\n const queryFnContext: OmitKeyof<\n QueryFunctionContext<QueryKey, unknown>,\n 'signal'\n > = {\n client: context.client,\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? 'backward' : 'forward',\n meta: context.options.meta,\n }\n\n addSignalProperty(queryFnContext)\n\n const page = await queryFn(\n queryFnContext as QueryFunctionContext<QueryKey, unknown>,\n )\n\n const { maxPages } = context.options\n const addTo = previous ? addToStart : addToEnd\n\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages),\n }\n }\n\n // fetch next / previous page?\n if (direction && oldPages.length) {\n const previous = direction === 'backward'\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams,\n }\n const param = pageParamFn(options, oldData)\n\n result = await fetchPage(oldData, param, previous)\n } else {\n const remainingPages = pages ?? oldPages.length\n\n // Fetch all pages\n do {\n const param =\n currentPage === 0\n ? (oldPageParams[0] ?? options.initialPageParam)\n : getNextPageParam(options, result)\n if (currentPage > 0 && param == null) {\n break\n }\n result = await fetchPage(result, param)\n currentPage++\n } while (currentPage < remainingPages)\n }\n\n return result\n }\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn as any,\n {\n client: context.client,\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal,\n },\n query,\n )\n }\n } else {\n context.fetchFn = fetchFn\n }\n },\n }\n}\n\nfunction getNextPageParam(\n options: InfiniteQueryPageParamsOptions<any>,\n { pages, pageParams }: InfiniteData<unknown>,\n): unknown | undefined {\n const lastIndex = pages.length - 1\n return pages.length > 0\n ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams,\n )\n : undefined\n}\n\nfunction getPreviousPageParam(\n options: InfiniteQueryPageParamsOptions<any>,\n { pages, pageParams }: InfiniteData<unknown>,\n): unknown | undefined {\n return pages.length > 0\n ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams)\n : undefined\n}\n\n/**\n * Checks if there is a next page.\n */\nexport function hasNextPage(\n options: InfiniteQueryPageParamsOptions<any, any>,\n data?: InfiniteData<unknown>,\n): boolean {\n if (!data) return false\n return getNextPageParam(options, data) != null\n}\n\n/**\n * Checks if there is a previous page.\n */\nexport function hasPreviousPage(\n options: InfiniteQueryPageParamsOptions<any, any>,\n data?: InfiniteData<unknown>,\n): boolean {\n if (!data || !options.getPreviousPageParam) return false\n return getPreviousPageParam(options, data) != null\n}\n","import {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken,\n} from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport type {\n CancelOptions,\n DefaultError,\n DefaultOptions,\n DefaultedQueryObserverOptions,\n EnsureInfiniteQueryDataOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InferDataFromTag,\n InferErrorFromTag,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n NoInfer,\n OmitKeyof,\n QueryClientConfig,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n SetDataOptions,\n} from './types'\nimport type { QueryState } from './query'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: OmitKeyof<QueryOptions<any, any, any>, 'queryKey'>\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions<any, any, any, any>\n}\n\n// CLASS\n\nexport class QueryClient {\n #queryCache: QueryCache\n #mutationCache: MutationCache\n #defaultOptions: DefaultOptions\n #queryDefaults: Map<string, QueryDefaults>\n #mutationDefaults: Map<string, MutationDefaults>\n #mountCount: number\n #unsubscribeFocus?: () => void\n #unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.#queryCache = config.queryCache || new QueryCache()\n this.#mutationCache = config.mutationCache || new MutationCache()\n this.#defaultOptions = config.defaultOptions || {}\n this.#queryDefaults = new Map()\n this.#mutationDefaults = new Map()\n this.#mountCount = 0\n }\n\n mount(): void {\n this.#mountCount++\n if (this.#mountCount !== 1) return\n\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations()\n this.#queryCache.onFocus()\n }\n })\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations()\n this.#queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.#mountCount--\n if (this.#mountCount !== 0) return\n\n this.#unsubscribeFocus?.()\n this.#unsubscribeFocus = undefined\n\n this.#unsubscribeOnline?.()\n this.#unsubscribeOnline = undefined\n }\n\n isFetching<TQueryFilters extends QueryFilters<any> = QueryFilters>(\n filters?: TQueryFilters,\n ): number {\n return this.#queryCache.findAll({ ...filters, fetchStatus: 'fetching' })\n .length\n }\n\n isMutating<\n TMutationFilters extends MutationFilters<any, any> = MutationFilters,\n >(filters?: TMutationFilters): number {\n return this.#mutationCache.findAll({ ...filters, status: 'pending' }).length\n }\n\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(queryKey: TTaggedQueryKey): TInferredQueryFnData | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n\n return this.#queryCache.get(options.queryHash)?.state.data as\n | TInferredQueryFnData\n | undefined\n }\n\n ensureQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: EnsureQueryDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n const query = this.#queryCache.build(this, defaultedOptions)\n const cachedData = query.state.data\n\n if (cachedData === undefined) {\n return this.fetchQuery(options)\n }\n\n if (\n options.revalidateIfStale &&\n query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))\n ) {\n void this.prefetchQuery(defaultedOptions)\n }\n\n return Promise.resolve(cachedData)\n }\n\n getQueriesData<\n TQueryFnData = unknown,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(filters: TQueryFilters): Array<[QueryKey, TQueryFnData | undefined]> {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data as TQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<\n NoInfer<TInferredQueryFnData> | undefined,\n NoInfer<TInferredQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): NoInfer<TInferredQueryFnData> | undefined {\n const defaultedOptions = this.defaultQueryOptions<\n any,\n any,\n unknown,\n any,\n QueryKey\n >({ queryKey })\n\n const query = this.#queryCache.get<TInferredQueryFnData>(\n defaultedOptions.queryHash,\n )\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (data === undefined) {\n return undefined\n }\n\n return this.#queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData<\n TQueryFnData,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(\n filters: TQueryFilters,\n updater: Updater<\n NoInfer<TQueryFnData> | undefined,\n NoInfer<TQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): Array<[QueryKey, TQueryFnData | undefined]> {\n return notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData<TQueryFnData>(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState<\n TQueryFnData = unknown,\n TError = DefaultError,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n ): QueryState<TInferredQueryFnData, TInferredError> | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n return this.#queryCache.get<TInferredQueryFnData, TInferredError>(\n options.queryHash,\n )?.state\n }\n\n removeQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n ): void {\n const queryCache = this.#queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n options?: ResetOptions,\n ): Promise<void> {\n const queryCache = this.#queryCache\n\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(\n {\n type: 'active',\n ...filters,\n },\n options,\n )\n })\n }\n\n cancelQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n cancelOptions: CancelOptions = {},\n ): Promise<void> {\n const defaultedCancelOptions = { revert: true, ...cancelOptions }\n\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map((query) => query.cancel(defaultedCancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: InvalidateQueryFilters<TTaggedQueryKey>,\n options: InvalidateOptions = {},\n ): Promise<void> {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters?.refetchType === 'none') {\n return Promise.resolve()\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? 'active',\n },\n options,\n )\n })\n }\n\n refetchQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: RefetchQueryFilters<TTaggedQueryKey>,\n options: RefetchOptions = {},\n ): Promise<void> {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true,\n }\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled())\n .map((query) => {\n let promise = query.fetch(undefined, fetchOptions)\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop)\n }\n return query.state.fetchStatus === 'paused'\n ? Promise.resolve()\n : promise\n }),\n )\n\n return Promise.all(promises).then(noop)\n }\n\n fetchQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query),\n )\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n prefetchQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void> {\n return this.fetchQuery(options).then(noop).catch(noop)\n }\n\n fetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options.behavior = infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData,\n TPageParam\n >(options.pages)\n return this.fetchQuery(options as any)\n }\n\n prefetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<void> {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop)\n }\n\n ensureInfiniteQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: EnsureInfiniteQueryDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options.behavior = infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData,\n TPageParam\n >(options.pages)\n\n return this.ensureQueryData(options as any)\n }\n\n resumePausedMutations(): Promise<unknown> {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations()\n }\n return Promise.resolve()\n }\n\n getQueryCache(): QueryCache {\n return this.#queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.#mutationCache\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.#defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.#defaultOptions = options\n }\n\n setQueryDefaults<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n >(\n queryKey: QueryKey,\n options: Partial<\n OmitKeyof<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData>,\n 'queryKey'\n >\n >,\n ): void {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options,\n })\n }\n\n getQueryDefaults(\n queryKey: QueryKey,\n ): OmitKeyof<QueryObserverOptions<any, any, any, any, any>, 'queryKey'> {\n const defaults = [...this.#queryDefaults.values()]\n\n const result: OmitKeyof<\n QueryObserverOptions<any, any, any, any, any>,\n 'queryKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n return result\n }\n\n setMutationDefaults<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n >(\n mutationKey: MutationKey,\n options: OmitKeyof<\n MutationObserverOptions<TData, TError, TVariables, TContext>,\n 'mutationKey'\n >,\n ): void {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options,\n })\n }\n\n getMutationDefaults(\n mutationKey: MutationKey,\n ): OmitKeyof<MutationObserverOptions<any, any, any, any>, 'mutationKey'> {\n const defaults = [...this.#mutationDefaults.values()]\n\n const result: OmitKeyof<\n MutationObserverOptions<any, any, any, any>,\n 'mutationKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n\n return result\n }\n\n defaultQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options:\n | QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (defaultedOptions.refetchOnReconnect === undefined) {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (defaultedOptions.throwOnError === undefined) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense\n }\n\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = 'offlineFirst'\n }\n\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions<T extends MutationOptions<any, any, any, any>>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.#defaultOptions.mutations,\n ...(options?.mutationKey &&\n this.getMutationDefaults(options.mutationKey)),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.#queryCache.clear()\n this.#mutationCache.clear()\n }\n}\n","import { focusManager } from './focusManager'\nimport { notifyManager } from './notifyManager'\nimport { fetchState } from './query'\nimport { Subscribable } from './subscribable'\nimport { pendingThenable } from './thenable'\nimport {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n resolveEnabled,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale,\n} from './utils'\nimport type { FetchOptions, Query, QueryState } from './query'\nimport type { QueryClient } from './queryClient'\nimport type { PendingThenable, Thenable } from './thenable'\nimport type {\n DefaultError,\n DefaultedQueryObserverOptions,\n PlaceholderDataFunction,\n QueryKey,\n QueryObserverBaseResult,\n QueryObserverOptions,\n QueryObserverResult,\n QueryOptions,\n RefetchOptions,\n} from './types'\n\ntype QueryObserverListener<TData, TError> = (\n result: QueryObserverResult<TData, TError>,\n) => void\n\ninterface ObserverFetchOptions extends FetchOptions {\n throwOnError?: boolean\n}\n\nexport class QueryObserver<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Subscribable<QueryObserverListener<TData, TError>> {\n #client: QueryClient\n #currentQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> = undefined!\n #currentQueryInitialState: QueryState<TQueryData, TError> = undefined!\n #currentResult: QueryObserverResult<TData, TError> = undefined!\n #currentResultState?: QueryState<TQueryData, TError>\n #currentResultOptions?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n #currentThenable: Thenable<TData>\n #selectError: TError | null\n #selectFn?: (data: TQueryData) => TData\n #selectResult?: TData\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData?: Query<TQueryFnData, TError, TQueryData, TQueryKey>\n #staleTimeoutId?: ReturnType<typeof setTimeout>\n #refetchIntervalId?: ReturnType<typeof setInterval>\n #currentRefetchInterval?: number | false\n #trackedProps = new Set<keyof QueryObserverResult>()\n\n constructor(\n client: QueryClient,\n public options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super()\n\n this.#client = client\n this.#selectError = null\n this.#currentThenable = pendingThenable()\n if (!this.options.experimental_prefetchInRender) {\n this.#currentThenable.reject(\n new Error('experimental_prefetchInRender feature flag is not enabled'),\n )\n }\n\n this.bindMethods()\n this.setOptions(options)\n }\n\n protected bindMethods(): void {\n this.refetch = this.refetch.bind(this)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this)\n\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch()\n } else {\n this.updateResult()\n }\n\n this.#updateTimers()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.destroy()\n }\n }\n\n shouldFetchOnReconnect(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect,\n )\n }\n\n shouldFetchOnWindowFocus(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus,\n )\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#clearStaleTimeout()\n this.#clearRefetchInterval()\n this.#currentQuery.removeObserver(this)\n }\n\n setOptions(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): void {\n const prevOptions = this.options\n const prevQuery = this.#currentQuery\n\n this.options = this.#client.defaultQueryOptions(options)\n\n if (\n this.options.enabled !== undefined &&\n typeof this.options.enabled !== 'boolean' &&\n typeof this.options.enabled !== 'function' &&\n typeof resolveEnabled(this.options.enabled, this.#currentQuery) !==\n 'boolean'\n ) {\n throw new Error(\n 'Expected enabled to be a boolean or a callback that returns a boolean',\n )\n }\n\n this.#updateQuery()\n this.#currentQuery.setOptions(this.options)\n\n if (\n prevOptions._defaulted &&\n !shallowEqualObjects(this.options, prevOptions)\n ) {\n this.#client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.#currentQuery,\n observer: this,\n })\n }\n\n const mounted = this.hasListeners()\n\n // Fetch if there are subscribers\n if (\n mounted &&\n shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions,\n )\n ) {\n this.#executeFetch()\n }\n\n // Update result\n this.updateResult()\n\n // Update stale interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveEnabled(this.options.enabled, this.#currentQuery) !==\n resolveEnabled(prevOptions.enabled, this.#currentQuery) ||\n resolveStaleTime(this.options.staleTime, this.#currentQuery) !==\n resolveStaleTime(prevOptions.staleTime, this.#currentQuery))\n ) {\n this.#updateStaleTimeout()\n }\n\n const nextRefetchInterval = this.#computeRefetchInterval()\n\n // Update refetch interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveEnabled(this.options.enabled, this.#currentQuery) !==\n resolveEnabled(prevOptions.enabled, this.#currentQuery) ||\n nextRefetchInterval !== this.#currentRefetchInterval)\n ) {\n this.#updateRefetchInterval(nextRefetchInterval)\n }\n }\n\n getOptimisticResult(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const query = this.#client.getQueryCache().build(this.#client, options)\n\n const result = this.createResult(query, options)\n\n if (shouldAssignObserverCurrentProperties(this, result)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult every time\n // an observer reads an optimistic value.\n\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.#currentResult = result\n this.#currentResultOptions = this.options\n this.#currentResultState = this.#currentQuery.state\n }\n return result\n }\n\n getCurrentResult(): QueryObserverResult<TData, TError> {\n return this.#currentResult\n }\n\n trackResult(\n result: QueryObserverResult<TData, TError>,\n onPropTracked?: (key: keyof QueryObserverResult) => void,\n ): QueryObserverResult<TData, TError> {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key as keyof QueryObserverResult)\n onPropTracked?.(key as keyof QueryObserverResult)\n return Reflect.get(target, key)\n },\n })\n }\n\n trackProp(key: keyof QueryObserverResult) {\n this.#trackedProps.add(key)\n }\n\n getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey> {\n return this.#currentQuery\n }\n\n refetch({ ...options }: RefetchOptions = {}): Promise<\n QueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n })\n }\n\n fetchOptimistic(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): Promise<QueryObserverResult<TData, TError>> {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n\n const query = this.#client\n .getQueryCache()\n .build(this.#client, defaultedOptions)\n\n return query.fetch().then(() => this.createResult(query, defaultedOptions))\n }\n\n protected fetch(\n fetchOptions: ObserverFetchOptions,\n ): Promise<QueryObserverResult<TData, TError>> {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true,\n }).then(() => {\n this.updateResult()\n return this.#currentResult\n })\n }\n\n #executeFetch(\n fetchOptions?: Omit<ObserverFetchOptions, 'initialPromise'>,\n ): Promise<TQueryData | undefined> {\n // Make sure we reference the latest query as the current one might have been removed\n this.#updateQuery()\n\n // Fetch\n let promise: Promise<TQueryData | undefined> = this.#currentQuery.fetch(\n this.options as QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey>,\n fetchOptions,\n )\n\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n #updateStaleTimeout(): void {\n this.#clearStaleTimeout()\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery,\n )\n\n if (isServer || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n return\n }\n\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime)\n\n // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n const timeout = time + 1\n\n this.#staleTimeoutId = setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult()\n }\n }, timeout)\n }\n\n #computeRefetchInterval() {\n return (\n (typeof this.options.refetchInterval === 'function'\n ? this.options.refetchInterval(this.#currentQuery)\n : this.options.refetchInterval) ?? false\n )\n }\n\n #updateRefetchInterval(nextInterval: number | false): void {\n this.#clearRefetchInterval()\n\n this.#currentRefetchInterval = nextInterval\n\n if (\n isServer ||\n resolveEnabled(this.options.enabled, this.#currentQuery) === false ||\n !isValidTimeout(this.#currentRefetchInterval) ||\n this.#currentRefetchInterval === 0\n ) {\n return\n }\n\n this.#refetchIntervalId = setInterval(() => {\n if (\n this.options.refetchIntervalInBackground ||\n focusManager.isFocused()\n ) {\n this.#executeFetch()\n }\n }, this.#currentRefetchInterval)\n }\n\n #updateTimers(): void {\n this.#updateStaleTimeout()\n this.#updateRefetchInterval(this.#computeRefetchInterval())\n }\n\n #clearStaleTimeout(): void {\n if (this.#staleTimeoutId) {\n clearTimeout(this.#staleTimeoutId)\n this.#staleTimeoutId = undefined\n }\n }\n\n #clearRefetchInterval(): void {\n if (this.#refetchIntervalId) {\n clearInterval(this.#refetchIntervalId)\n this.#refetchIntervalId = undefined\n }\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const prevQuery = this.#currentQuery\n const prevOptions = this.options\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n const prevResultState = this.#currentResultState\n const prevResultOptions = this.#currentResultOptions\n const queryChange = query !== prevQuery\n const queryInitialState = queryChange\n ? query.state\n : this.#currentQueryInitialState\n\n const { state } = query\n let newState = { ...state }\n let isPlaceholderData = false\n let data: TData | undefined\n\n // Optimistically set result in fetching state if needed\n if (options._optimisticResults) {\n const mounted = this.hasListeners()\n\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options)\n\n const fetchOptionally =\n mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions)\n\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options),\n }\n }\n if (options._optimisticResults === 'isRestoring') {\n newState.fetchStatus = 'idle'\n }\n }\n\n let { error, errorUpdatedAt, status } = newState\n\n // Per default, use query data\n data = newState.data as unknown as TData\n let skipSelect = false\n\n // use placeholderData if needed\n if (\n options.placeholderData !== undefined &&\n data === undefined &&\n status === 'pending'\n ) {\n let placeholderData\n\n // Memoize placeholder data\n if (\n prevResult?.isPlaceholderData &&\n options.placeholderData === prevResultOptions?.placeholderData\n ) {\n placeholderData = prevResult.data\n // we have to skip select when reading this memoization\n // because prevResult.data is already \"selected\"\n skipSelect = true\n } else {\n // compute placeholderData\n placeholderData =\n typeof options.placeholderData === 'function'\n ? (\n options.placeholderData as unknown as PlaceholderDataFunction<TQueryData>\n )(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData as any,\n )\n : options.placeholderData\n }\n\n if (placeholderData !== undefined) {\n status = 'success'\n data = replaceData(\n prevResult?.data,\n placeholderData as unknown,\n options,\n ) as TData\n isPlaceholderData = true\n }\n }\n\n // Select data if needed\n // this also runs placeholderData through the select function\n if (options.select && data !== undefined && !skipSelect) {\n // Memoize select result\n if (\n prevResult &&\n data === prevResultState?.data &&\n options.select === this.#selectFn\n ) {\n data = this.#selectResult\n } else {\n try {\n this.#selectFn = options.select\n data = options.select(data as any)\n data = replaceData(prevResult?.data, data, options)\n this.#selectResult = data\n this.#selectError = null\n } catch (selectError) {\n this.#selectError = selectError as TError\n }\n }\n }\n\n if (this.#selectError) {\n error = this.#selectError as any\n data = this.#selectResult\n errorUpdatedAt = Date.now()\n status = 'error'\n }\n\n const isFetching = newState.fetchStatus === 'fetching'\n const isPending = status === 'pending'\n const isError = status === 'error'\n\n const isLoading = isPending && isFetching\n const hasData = data !== undefined\n\n const result: QueryObserverBaseResult<TData, TError> = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: newState.dataUpdateCount > 0 || newState.errorUpdateCount > 0,\n isFetchedAfterMount:\n newState.dataUpdateCount > queryInitialState.dataUpdateCount ||\n newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === 'paused',\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n promise: this.#currentThenable,\n }\n\n const nextResult = result as QueryObserverResult<TData, TError>\n\n if (this.options.experimental_prefetchInRender) {\n const finalizeThenableIfPossible = (thenable: PendingThenable<TData>) => {\n if (nextResult.status === 'error') {\n thenable.reject(nextResult.error)\n } else if (nextResult.data !== undefined) {\n thenable.resolve(nextResult.data)\n }\n }\n\n /**\n * Create a new thenable and result promise when the results have changed\n */\n const recreateThenable = () => {\n const pending =\n (this.#currentThenable =\n nextResult.promise =\n pendingThenable())\n\n finalizeThenableIfPossible(pending)\n }\n\n const prevThenable = this.#currentThenable\n switch (prevThenable.status) {\n case 'pending':\n // Finalize the previous thenable if it was pending\n // and we are still observing the same query\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable)\n }\n break\n case 'fulfilled':\n if (\n nextResult.status === 'error' ||\n nextResult.data !== prevThenable.value\n ) {\n recreateThenable()\n }\n break\n case 'rejected':\n if (\n nextResult.status !== 'error' ||\n nextResult.error !== prevThenable.reason\n ) {\n recreateThenable()\n }\n break\n }\n }\n\n return nextResult\n }\n\n updateResult(): void {\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n\n const nextResult = this.createResult(this.#currentQuery, this.options)\n\n this.#currentResultState = this.#currentQuery.state\n this.#currentResultOptions = this.options\n\n if (this.#currentResultState.data !== undefined) {\n this.#lastQueryWithDefinedData = this.#currentQuery\n }\n\n // Only notify and update result if something has changed\n if (shallowEqualObjects(nextResult, prevResult)) {\n return\n }\n\n this.#currentResult = nextResult\n\n const shouldNotifyListeners = (): boolean => {\n if (!prevResult) {\n return true\n }\n\n const { notifyOnChangeProps } = this.options\n const notifyOnChangePropsValue =\n typeof notifyOnChangeProps === 'function'\n ? notifyOnChangeProps()\n : notifyOnChangeProps\n\n if (\n notifyOnChangePropsValue === 'all' ||\n (!notifyOnChangePropsValue && !this.#trackedProps.size)\n ) {\n return true\n }\n\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps,\n )\n\n if (this.options.throwOnError) {\n includedProps.add('error')\n }\n\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key as keyof QueryObserverResult\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey]\n\n return changed && includedProps.has(typedKey)\n })\n }\n\n this.#notify({ listeners: shouldNotifyListeners() })\n }\n\n #updateQuery(): void {\n const query = this.#client.getQueryCache().build(this.#client, this.options)\n\n if (query === this.#currentQuery) {\n return\n }\n\n const prevQuery = this.#currentQuery as\n | Query<TQueryFnData, TError, TQueryData, TQueryKey>\n | undefined\n this.#currentQuery = query\n this.#currentQueryInitialState = query.state\n\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this)\n query.addObserver(this)\n }\n }\n\n onQueryUpdate(): void {\n this.updateResult()\n\n if (this.hasListeners()) {\n this.#updateTimers()\n }\n }\n\n #notify(notifyOptions: { listeners: boolean }): void {\n notifyManager.batch(() => {\n // First, trigger the listeners\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n }\n\n // Then the cache listeners\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: 'observerResultsUpdated',\n })\n })\n }\n}\n\nfunction shouldLoadOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any>,\n): boolean {\n return (\n resolveEnabled(options.enabled, query) !== false &&\n query.state.data === undefined &&\n !(query.state.status === 'error' && options.retryOnMount === false)\n )\n}\n\nfunction shouldFetchOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n shouldLoadOnMount(query, options) ||\n (query.state.data !== undefined &&\n shouldFetchOn(query, options, options.refetchOnMount))\n )\n}\n\nfunction shouldFetchOn(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n field: (typeof options)['refetchOnMount'] &\n (typeof options)['refetchOnWindowFocus'] &\n (typeof options)['refetchOnReconnect'],\n) {\n if (resolveEnabled(options.enabled, query) !== false) {\n const value = typeof field === 'function' ? field(query) : field\n\n return value === 'always' || (value !== false && isStale(query, options))\n }\n return false\n}\n\nfunction shouldFetchOptionally(\n query: Query<any, any, any, any>,\n prevQuery: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n prevOptions: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n (query !== prevQuery ||\n resolveEnabled(prevOptions.enabled, query) === false) &&\n (!options.suspense || query.state.status !== 'error') &&\n isStale(query, options)\n )\n}\n\nfunction isStale(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n resolveEnabled(options.enabled, query) !== false &&\n query.isStaleByTime(resolveStaleTime(options.staleTime, query))\n )\n}\n\n// this function would decide if we will update the observer's 'current'\n// properties after an optimistic reading via getOptimisticResult\nfunction shouldAssignObserverCurrentProperties<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n optimisticResult: QueryObserverResult<TData, TError>,\n) {\n // if the newly created result isn't what the observer is holding as current,\n // then we'll need to update the properties as well\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true\n }\n\n // basically, just keep previous properties if nothing changed\n return false\n}\n","import { QueryObserver } from './queryObserver'\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior,\n} from './infiniteQueryBehavior'\nimport type { Subscribable } from './subscribable'\nimport type {\n DefaultError,\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverBaseResult,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Query } from './query'\n\ntype InfiniteQueryObserverListener<TData, TError> = (\n result: InfiniteQueryObserverResult<TData, TError>,\n) => void\n\nexport class InfiniteQueryObserver<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> extends QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryData, TPageParam>,\n TQueryKey\n> {\n // Type override\n subscribe!: Subscribable<\n InfiniteQueryObserverListener<TData, TError>\n >['subscribe']\n\n // Type override\n getCurrentResult!: ReplaceReturnType<\n QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryData, TPageParam>,\n TQueryKey\n >['getCurrentResult'],\n InfiniteQueryObserverResult<TData, TError>\n >\n\n // Type override\n protected fetch!: ReplaceReturnType<\n QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryData, TPageParam>,\n TQueryKey\n >['fetch'],\n Promise<InfiniteQueryObserverResult<TData, TError>>\n >\n\n constructor(\n client: QueryClient,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ) {\n super(client, options)\n }\n\n protected bindMethods(): void {\n super.bindMethods()\n this.fetchNextPage = this.fetchNextPage.bind(this)\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this)\n }\n\n setOptions(\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ): void {\n super.setOptions({\n ...options,\n behavior: infiniteQueryBehavior(),\n })\n }\n\n getOptimisticResult(\n options: DefaultedInfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n options.behavior = infiniteQueryBehavior()\n return super.getOptimisticResult(options) as InfiniteQueryObserverResult<\n TData,\n TError\n >\n }\n\n fetchNextPage(\n options?: FetchNextPageOptions,\n ): Promise<InfiniteQueryObserverResult<TData, TError>> {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'forward' },\n },\n })\n }\n\n fetchPreviousPage(\n options?: FetchPreviousPageOptions,\n ): Promise<InfiniteQueryObserverResult<TData, TError>> {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'backward' },\n },\n })\n }\n\n protected createResult(\n query: Query<\n TQueryFnData,\n TError,\n InfiniteData<TQueryData, TPageParam>,\n TQueryKey\n >,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n const { state } = query\n const parentResult = super.createResult(query, options)\n\n const { isFetching, isRefetching, isError, isRefetchError } = parentResult\n const fetchDirection = state.fetchMeta?.fetchMore?.direction\n\n const isFetchNextPageError = isError && fetchDirection === 'forward'\n const isFetchingNextPage = isFetching && fetchDirection === 'forward'\n\n const isFetchPreviousPageError = isError && fetchDirection === 'backward'\n const isFetchingPreviousPage = isFetching && fetchDirection === 'backward'\n\n const result: InfiniteQueryObserverBaseResult<TData, TError> = {\n ...parentResult,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data),\n hasPreviousPage: hasPreviousPage(options, state.data),\n isFetchNextPageError,\n isFetchingNextPage,\n isFetchPreviousPageError,\n isFetchingPreviousPage,\n isRefetchError:\n isRefetchError && !isFetchNextPageError && !isFetchPreviousPageError,\n isRefetching:\n isRefetching && !isFetchingNextPage && !isFetchingPreviousPage,\n }\n\n return result as InfiniteQueryObserverResult<TData, TError>\n }\n}\n\ntype ReplaceReturnType<\n TFunction extends (...args: Array<any>) => unknown,\n TReturn,\n> = (...args: Parameters<TFunction>) => TReturn\n","import { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport { hashKey, shallowEqualObjects } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from './types'\nimport type { Action, Mutation } from './mutation'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options as\n | MutationObserverOptions<TData, TError, TVariables, TContext>\n | undefined\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n\n if (\n prevOptions?.mutationKey &&\n this.options.mutationKey &&\n hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)\n ) {\n this.reset()\n } else if (this.#currentMutation?.state.status === 'pending') {\n this.#currentMutation.setOptions(this.options)\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n // reset needs to remove the observer from the mutation because there is no way to \"get it back\"\n // another mutate call will yield a new mutation!\n this.#currentMutation?.removeObserver(this)\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables!\n const context = this.#currentResult.context\n\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(action.data, variables, context!)\n this.#mutateOptions.onSettled?.(action.data, null, variables, context)\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(action.error, variables, context)\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n variables,\n context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n","'use client'\nimport * as React from 'react'\n\nimport type { QueryClient } from '@tanstack/query-core'\n\nexport const QueryClientContext = React.createContext<QueryClient | undefined>(\n undefined,\n)\n\nexport const useQueryClient = (queryClient?: QueryClient) => {\n const client = React.useContext(QueryClientContext)\n\n if (queryClient) {\n return queryClient\n }\n\n if (!client) {\n throw new Error('No QueryClient set, use QueryClientProvider to set one')\n }\n\n return client\n}\n\nexport type QueryClientProviderProps = {\n client: QueryClient\n children?: React.ReactNode\n}\n\nexport const QueryClientProvider = ({\n client,\n children,\n}: QueryClientProviderProps): React.JSX.Element => {\n React.useEffect(() => {\n client.mount()\n return () => {\n client.unmount()\n }\n }, [client])\n\n return (\n <QueryClientContext.Provider value={client}>\n {children}\n </QueryClientContext.Provider>\n )\n}\n","'use client'\nimport * as React from 'react'\n\nconst IsRestoringContext = React.createContext(false)\n\nexport const useIsRestoring = () => React.useContext(IsRestoringContext)\nexport const IsRestoringProvider = IsRestoringContext.Provider\n","'use client'\nimport * as React from 'react'\n\n// CONTEXT\nexport type QueryErrorResetFunction = () => void\nexport type QueryErrorIsResetFunction = () => boolean\nexport type QueryErrorClearResetFunction = () => void\n\nexport interface QueryErrorResetBoundaryValue {\n clearReset: QueryErrorClearResetFunction\n isReset: QueryErrorIsResetFunction\n reset: QueryErrorResetFunction\n}\n\nfunction createValue(): QueryErrorResetBoundaryValue {\n let isReset = false\n return {\n clearReset: () => {\n isReset = false\n },\n reset: () => {\n isReset = true\n },\n isReset: () => {\n return isReset\n },\n }\n}\n\nconst QueryErrorResetBoundaryContext = React.createContext(createValue())\n\n// HOOK\n\nexport const useQueryErrorResetBoundary = () =>\n React.useContext(QueryErrorResetBoundaryContext)\n\n// COMPONENT\n\nexport type QueryErrorResetBoundaryFunction = (\n value: QueryErrorResetBoundaryValue,\n) => React.ReactNode\n\nexport interface QueryErrorResetBoundaryProps {\n children: QueryErrorResetBoundaryFunction | React.ReactNode\n}\n\nexport const QueryErrorResetBoundary = ({\n children,\n}: QueryErrorResetBoundaryProps) => {\n const [value] = React.useState(() => createValue())\n return (\n <QueryErrorResetBoundaryContext.Provider value={value}>\n {typeof children === 'function' ? children(value) : children}\n </QueryErrorResetBoundaryContext.Provider>\n )\n}\n","'use client'\nimport * as React from 'react'\nimport { shouldThrowError } from '@tanstack/query-core'\nimport type {\n DefaultedQueryObserverOptions,\n Query,\n QueryKey,\n QueryObserverResult,\n ThrowOnError,\n} from '@tanstack/query-core'\nimport type { QueryErrorResetBoundaryValue } from './QueryErrorResetBoundary'\n\nexport const ensurePreventErrorBoundaryRetry = <\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) => {\n if (\n options.suspense ||\n options.throwOnError ||\n options.experimental_prefetchInRender\n ) {\n // Prevent retrying failed query if the error boundary has not been reset yet\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false\n }\n }\n}\n\nexport const useClearResetErrorBoundary = (\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset()\n }, [errorResetBoundary])\n}\n\nexport const getHasError = <\n TData,\n TError,\n TQueryFnData,\n TQueryData,\n TQueryKey extends QueryKey,\n>({\n result,\n errorResetBoundary,\n throwOnError,\n query,\n suspense,\n}: {\n result: QueryObserverResult<TData, TError>\n errorResetBoundary: QueryErrorResetBoundaryValue\n throwOnError: ThrowOnError<TQueryFnData, TError, TQueryData, TQueryKey>\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey> | undefined\n suspense: boolean | undefined\n}) => {\n return (\n result.isError &&\n !errorResetBoundary.isReset() &&\n !result.isFetching &&\n query &&\n ((suspense && result.data === undefined) ||\n shouldThrowError(throwOnError, [result.error, query]))\n )\n}\n","import type {\n DefaultError,\n DefaultedQueryObserverOptions,\n Query,\n QueryKey,\n QueryObserver,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { QueryErrorResetBoundaryValue } from './QueryErrorResetBoundary'\n\nexport const defaultThrowOnError = <\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n _error: TError,\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n) => query.state.data === undefined\n\nexport const ensureSuspenseTimers = (\n defaultedOptions: DefaultedQueryObserverOptions<any, any, any, any, any>,\n) => {\n const originalStaleTime = defaultedOptions.staleTime\n\n if (defaultedOptions.suspense) {\n // Handle staleTime to ensure minimum 1000ms in Suspense mode\n // This prevents unnecessary refetching when components remount after suspending\n defaultedOptions.staleTime =\n typeof originalStaleTime === 'function'\n ? (...args) => Math.max(originalStaleTime(...args), 1000)\n : Math.max(originalStaleTime ?? 1000, 1000)\n\n if (typeof defaultedOptions.gcTime === 'number') {\n defaultedOptions.gcTime = Math.max(defaultedOptions.gcTime, 1000)\n }\n }\n}\n\nexport const willFetch = (\n result: QueryObserverResult<any, any>,\n isRestoring: boolean,\n) => result.isLoading && result.isFetching && !isRestoring\n\nexport const shouldSuspend = (\n defaultedOptions:\n | DefaultedQueryObserverOptions<any, any, any, any, any>\n | undefined,\n result: QueryObserverResult<any, any>,\n) => defaultedOptions?.suspense && result.isPending\n\nexport const fetchOptimistic = <\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n defaultedOptions: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) =>\n observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset()\n })\n","'use client'\nimport * as React from 'react'\n\nimport { isServer, noop, notifyManager } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary'\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary,\n} from './errorBoundaryUtils'\nimport { useIsRestoring } from './IsRestoringProvider'\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch,\n} from './suspense'\nimport type {\n QueryClient,\n QueryKey,\n QueryObserver,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { UseBaseQueryOptions } from './types'\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n options: UseBaseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n Observer: typeof QueryObserver,\n queryClient?: QueryClient,\n): QueryObserverResult<TData, TError> {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof options !== 'object' || Array.isArray(options)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object',\n )\n }\n }\n\n const client = useQueryClient(queryClient)\n const isRestoring = useIsRestoring()\n const errorResetBoundary = useQueryErrorResetBoundary()\n const defaultedOptions = client.defaultQueryOptions(options)\n\n ;(client.getDefaultOptions().queries as any)?._experimental_beforeQuery?.(\n defaultedOptions,\n )\n\n if (process.env.NODE_ENV !== 'production') {\n if (!defaultedOptions.queryFn) {\n console.error(\n `[${defaultedOptions.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`,\n )\n }\n }\n\n // Make sure results are optimistically set in fetching state before subscribing or updating options\n defaultedOptions._optimisticResults = isRestoring\n ? 'isRestoring'\n : 'optimistic'\n\n ensureSuspenseTimers(defaultedOptions)\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary)\n\n useClearResetErrorBoundary(errorResetBoundary)\n\n // this needs to be invoked before creating the Observer because that can create a cache entry\n const isNewCacheEntry = !client\n .getQueryCache()\n .get(defaultedOptions.queryHash)\n\n const [observer] = React.useState(\n () =>\n new Observer<TQueryFnData, TError, TData, TQueryData, TQueryKey>(\n client,\n defaultedOptions,\n ),\n )\n\n // note: this must be called before useSyncExternalStore\n const result = observer.getOptimisticResult(defaultedOptions)\n\n const shouldSubscribe = !isRestoring && options.subscribed !== false\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n const unsubscribe = shouldSubscribe\n ? observer.subscribe(notifyManager.batchCalls(onStoreChange))\n : noop\n\n // Update result to make sure we did not miss any query updates\n // between creating the observer and subscribing to it.\n observer.updateResult()\n\n return unsubscribe\n },\n [observer, shouldSubscribe],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n React.useEffect(() => {\n observer.setOptions(defaultedOptions)\n }, [defaultedOptions, observer])\n\n // Handle suspense\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n }\n\n // Handle error boundary\n if (\n getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query: client\n .getQueryCache()\n .get<\n TQueryFnData,\n TError,\n TQueryData,\n TQueryKey\n >(defaultedOptions.queryHash),\n suspense: defaultedOptions.suspense,\n })\n ) {\n throw result.error\n }\n\n ;(client.getDefaultOptions().queries as any)?._experimental_afterQuery?.(\n defaultedOptions,\n result,\n )\n\n if (\n defaultedOptions.experimental_prefetchInRender &&\n !isServer &&\n willFetch(result, isRestoring)\n ) {\n const promise = isNewCacheEntry\n ? // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted\n fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n : // subscribe to the \"cache promise\" so that we can finalize the currentThenable once data comes in\n client.getQueryCache().get(defaultedOptions.queryHash)?.promise\n\n promise?.catch(noop).finally(() => {\n // `.updateResult()` will trigger `.#currentThenable` to finalize\n observer.updateResult()\n })\n }\n\n // Handle result property usage tracking\n return !defaultedOptions.notifyOnChangeProps\n ? observer.trackResult(result)\n : result\n}\n","'use client'\nimport * as React from 'react'\nimport {\n MutationObserver,\n noop,\n notifyManager,\n shouldThrowError,\n} from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport type {\n UseMutateFunction,\n UseMutationOptions,\n UseMutationResult,\n} from './types'\nimport type { DefaultError, QueryClient } from '@tanstack/query-core'\n\n// HOOK\n\nexport function useMutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n options: UseMutationOptions<TData, TError, TVariables, TContext>,\n queryClient?: QueryClient,\n): UseMutationResult<TData, TError, TVariables, TContext> {\n const client = useQueryClient(queryClient)\n\n const [observer] = React.useState(\n () =>\n new MutationObserver<TData, TError, TVariables, TContext>(\n client,\n options,\n ),\n )\n\n React.useEffect(() => {\n observer.setOptions(options)\n }, [observer, options])\n\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n const mutate = React.useCallback<\n UseMutateFunction<TData, TError, TVariables, TContext>\n >(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop)\n },\n [observer],\n )\n\n if (\n result.error &&\n shouldThrowError(observer.options.throwOnError, [result.error])\n ) {\n throw result.error\n }\n\n return { ...result, mutate, mutateAsync: result.mutate }\n}\n","'use client'\nimport { InfiniteQueryObserver } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport type {\n DefaultError,\n InfiniteData,\n QueryClient,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\nimport type {\n DefinedUseInfiniteQueryResult,\n UseInfiniteQueryOptions,\n UseInfiniteQueryResult,\n} from './types'\nimport type {\n DefinedInitialDataInfiniteOptions,\n UndefinedInitialDataInfiniteOptions,\n} from './infiniteQueryOptions'\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: DefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): DefinedUseInfiniteQueryResult<TData, TError>\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UndefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryResult<TData, TError>\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryResult<TData, TError>\n\nexport function useInfiniteQuery(\n options: UseInfiniteQueryOptions,\n queryClient?: QueryClient,\n) {\n return useBaseQuery(\n options,\n InfiniteQueryObserver as typeof QueryObserver,\n queryClient,\n )\n}\n","import { gql } from \"graphql-request\";\r\n\r\nexport const GET_WORKSPACES = gql`\r\n query GetWorkspaces($options: GetWorkspaceInput) {\r\n workspaces(options: $options) {\r\n meta {\r\n total\r\n currentPage\r\n perPage\r\n lastPage\r\n }\r\n data {\r\n id\r\n name\r\n description\r\n userId\r\n icon\r\n isActive\r\n createdAt\r\n updatedAt\r\n layouts {\r\n id\r\n name\r\n workspaceId\r\n config\r\n createdAt\r\n updatedAt\r\n }\r\n user {\r\n id\r\n name\r\n email\r\n avatar\r\n phone\r\n slug\r\n createdAt\r\n updatedAt\r\n }\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const CREATE_WORKSPACES_MUTATION = gql`\r\n mutation createWorkspace($createWorkspaceInput: CreateWorkspaceInput!) {\r\n createWorkspace(createWorkspaceInput: $createWorkspaceInput) {\r\n id\r\n name\r\n description\r\n userId\r\n icon\r\n isActive\r\n createdAt\r\n updatedAt\r\n layouts {\r\n id\r\n name\r\n workspaceId\r\n config\r\n createdAt\r\n updatedAt\r\n }\r\n user {\r\n id\r\n name\r\n email\r\n avatar\r\n phone\r\n slug\r\n createdAt\r\n updatedAt\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const DELETE_WORKSPACE_MUTATION = gql`\r\n mutation removeWorkspace($id: String!) {\r\n removeWorkspace(id: $id) {\r\n success\r\n }\r\n }\r\n`;\r\n\r\nexport const UPDATE_WORKSPACE_MUTATION = gql`\r\n mutation updateWorkspace($updateWorkspaceInput: UpdateWorkspaceInput!) {\r\n updateWorkspace(updateWorkspaceInput: $updateWorkspaceInput) {\r\n id\r\n name\r\n description\r\n userId\r\n icon\r\n isActive\r\n createdAt\r\n updatedAt\r\n layouts {\r\n id\r\n name\r\n workspaceId\r\n config\r\n createdAt\r\n updatedAt\r\n }\r\n user {\r\n id\r\n name\r\n email\r\n avatar\r\n phone\r\n slug\r\n createdAt\r\n updatedAt\r\n }\r\n }\r\n }\r\n`;\r\n","import { QueryClient } from \"@tanstack/react-query\";\r\n\r\nexport const queryClient = new QueryClient({\r\n defaultOptions: {\r\n queries: {\r\n retry: 2,\r\n staleTime: 0,\r\n refetchOnMount: false,\r\n refetchOnWindowFocus: false,\r\n },\r\n },\r\n});\r\n","import { useMutation } from \"@tanstack/react-query\";\r\nimport { request } from \"graphql-request\";\r\nimport { DELETE_WORKSPACE_MUTATION } from \"./graphql\";\r\nimport { WorkspaceProps } from \"../../../../types/workspace.types\";\r\nimport { queryClient } from \"../../../../client/queryClient\";\r\n\r\ntype DeleteWorkspaceResponse = {\r\n deleteWorkspace: {\r\n success: boolean;\r\n };\r\n};\r\n\r\nconst mutationFn = async ({\r\n id,\r\n apiUrl,\r\n accessToken,\r\n}: {\r\n id: string;\r\n apiUrl?: string;\r\n accessToken?: string;\r\n}) => {\r\n const response = await request<DeleteWorkspaceResponse>(\r\n apiUrl as string,\r\n DELETE_WORKSPACE_MUTATION,\r\n { id },\r\n {\r\n \"x-access-token\": accessToken as string,\r\n }\r\n );\r\n\r\n return response.deleteWorkspace;\r\n};\r\n\r\nexport function useApiDeleteWorkspace() {\r\n const { mutate: deleteWorkspace, isPending: isDeletingWorkspace } =\r\n useMutation({\r\n mutationKey: [\"delete-workspace\"],\r\n mutationFn,\r\n onMutate: async ({ id }) => {\r\n await queryClient.cancelQueries({ queryKey: [\"workspaces\"] });\r\n\r\n const previousData = queryClient.getQueryData<any>([\"workspaces\"]);\r\n\r\n queryClient.setQueryData<any>([\"workspaces\"], (oldData: any) => {\r\n if (!oldData) return oldData;\r\n\r\n return {\r\n ...oldData,\r\n pages: oldData.pages.map((page: any) => ({\r\n ...page,\r\n data: page.data.filter(\r\n (workspace: WorkspaceProps) => workspace.id !== id\r\n ),\r\n meta: {\r\n ...page.meta,\r\n total: page.meta.total - 1,\r\n },\r\n })),\r\n };\r\n });\r\n\r\n return { previousData };\r\n },\r\n onSettled: () => {\r\n queryClient.invalidateQueries({ queryKey: [\"workspaces\"] });\r\n },\r\n });\r\n\r\n return {\r\n deleteWorkspace,\r\n isDeletingWorkspace,\r\n };\r\n}\r\n","import React from \"react\";\r\nimport { toast } from \"react-toastify\";\r\n\r\ntype ToastProps = {\r\n title: string;\r\n message: string;\r\n};\r\n\r\ntype ConditionalToastProps = ToastProps & {\r\n open?: boolean;\r\n};\r\n\r\nconst TOAST_ID = \"conditional-info-toast\"; // unique ID for control\r\n\r\nexport function useToast() {\r\n const errorToast = ({ title, message }: ToastProps) =>\r\n toast.error(\r\n <ToastContainer type=\"error\" message={message} title={title} />\r\n );\r\n\r\n const successToast = ({ title, message }: ToastProps) =>\r\n toast.success(\r\n <ToastContainer type=\"success\" message={message} title={title} />\r\n );\r\n\r\n const infoToast = ({ title, message }: ToastProps) =>\r\n toast.info(<ToastContainer type=\"info\" message={message} title={title} />);\r\n\r\n const warnToast = ({ title, message }: ToastProps) =>\r\n toast.warn(<ToastContainer type=\"warn\" message={message} title={title} />);\r\n\r\n const conditionalInfoToast = ({\r\n title,\r\n message,\r\n open = true,\r\n }: ConditionalToastProps) => {\r\n if (open) {\r\n if (!toast.isActive(TOAST_ID)) {\r\n toast.info(\r\n <ToastContainer type=\"info\" message={message} title={title} />,\r\n {\r\n toastId: TOAST_ID,\r\n autoClose: false,\r\n closeOnClick: false,\r\n draggable: false,\r\n }\r\n );\r\n }\r\n } else {\r\n toast.dismiss(TOAST_ID);\r\n }\r\n };\r\n\r\n return {\r\n errorToast,\r\n successToast,\r\n warnToast,\r\n infoToast,\r\n conditionalInfoToast,\r\n };\r\n}\r\n\r\nconst ToastContainer = ({\r\n title,\r\n message,\r\n type,\r\n}: ToastProps & { type: \"info\" | \"error\" | \"success\" | \"warn\" }) => (\r\n <div className=\"w-full flex flex-col gap-1\">\r\n <h6\r\n className={`text-base font-semibold manrope-font ${\r\n type == \"error\"\r\n ? \"text-red-shade6\"\r\n : type == \"success\"\r\n ? \"text-green-shade6\"\r\n : type == \"info\"\r\n ? \"text-blue-shade1\"\r\n : \"text-orange-shade6\"\r\n }`}\r\n >\r\n {title}\r\n </h6>\r\n\r\n {message && (\r\n <span className=\"text-sm manrope-font text-dark-1\">{message}</span>\r\n )}\r\n </div>\r\n);\r\n","import * as React from \"react\";\r\n\r\nexport const AlertIllustration = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"70\"\r\n height=\"70\"\r\n fill=\"none\"\r\n viewBox=\"0 0 70 70\"\r\n >\r\n <path\r\n fill=\"#E03137\"\r\n d=\"M35 6.563C19.32 6.563 6.563 19.32 6.563 35S19.32 63.438 35 63.438 63.438 50.68 63.438 35 50.68 6.563 35 6.563M37.734 50.3h-5.468v-5.469h5.468zm-.547-8.737h-4.374l-.82-21.876h6.015z\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import { WorkspaceProps } from \"../../../../../../../types/workspace.types\";\r\nimport { create } from \"zustand\";\r\n\r\ntype AddWorkspaceStore = {\r\n step: \"form\" | \"loading\" | \"success\" | \"error\";\r\n setStep: (step: \"form\" | \"loading\" | \"success\" | \"error\") => void;\r\n workspace: WorkspaceProps | undefined;\r\n setWorkspace: (workspace?: WorkspaceProps) => void;\r\n};\r\n\r\nexport const useAddWorkspaceStore = create<AddWorkspaceStore>((set) => ({\r\n step: \"form\",\r\n setStep: (step) => set({ step }),\r\n workspace: undefined,\r\n setWorkspace: (workspace) => set({ workspace }),\r\n}));\r\n","import React from \"react\";\r\nimport { Modal } from \"../../../../../../components/shared/modal\";\r\nimport { AddWorkspaceDone } from \"./components/AddWorkspaceDone/AddWorkspaceDone\";\r\nimport { useAddWorkspaceStore } from \"./store/add-workspace.store\";\r\nimport { AddWorkspaceForm } from \"./components/AddWorkspaceForm/AddWorkspaceForm\";\r\n\r\nexport function AddWorkspaceModal({ onClose }: { onClose: () => void }) {\r\n const { step, setStep, setWorkspace } = useAddWorkspaceStore();\r\n\r\n const handleClose = () => {\r\n setStep(\"form\");\r\n onClose();\r\n setWorkspace(undefined);\r\n };\r\n\r\n return (\r\n <Modal\r\n closeOnClickOutside={false}\r\n disableFullScreen\r\n hideCloseButton\r\n isOpen\r\n className=\"bg-gradient-to-b z-[101] !p-8 from-[#DEF3FF] to-[#FCFEFF] max-w-[26rem] lg:max-w-[31.25rem] w-full lg:min-w-[31.25rem]\"\r\n onClose={handleClose}\r\n >\r\n {step !== \"success\" && <AddWorkspaceForm onClose={handleClose} />}\r\n {step === \"success\" && <AddWorkspaceDone onClose={handleClose} />}\r\n </Modal>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const CongratulationsIllustration = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"266\"\r\n height=\"167\"\r\n fill=\"none\"\r\n viewBox=\"0 0 266 167\"\r\n >\r\n <path\r\n fill=\"#FE964A\"\r\n d=\"M92.068 10.15c0 4.177 6.696 7.564 2.037 7.564-4.66 0-8.437-3.387-8.437-7.564 0-4.178 3.777-7.564 8.436-7.564 4.66 0-2.036 3.386-2.036 7.564M158.23 6.5l1.132 3.484h3.664l-2.964 2.154 1.132 3.484-2.964-2.153-2.964 2.153 1.132-3.484-2.964-2.154h3.664z\"\r\n ></path>\r\n <path\r\n stroke=\"#0BA259\"\r\n strokeWidth=\"2.017\"\r\n d=\"M34.378 80.153s10.748-5.354 13.186-2.548c1.34 1.542 2.351 3.409 1.152 4.926-.925 1.169-2.26 1.318-3.825 1.043-3.312-.582-3.262-5.182-1.932-8.031 1.836-3.934 11.582-1.612 11.582-1.612\"\r\n ></path>\r\n <circle cx=\"229.217\" cy=\"74.793\" r=\"5.883\" fill=\"#FFEDEC\"></circle>\r\n <path\r\n stroke=\"#2F78EE\"\r\n strokeWidth=\"1.681\"\r\n d=\"m56.047 136.488.837-7.22 5.835 3.7.666-6.057 5.322 3.667 1.658-6.548\"\r\n ></path>\r\n <path\r\n stroke=\"#2F78EE\"\r\n strokeWidth=\"2.017\"\r\n d=\"M193.3 22.425s-.818-4.86 1.53-5.83c1.973-.813 3.683 2.786 5.304 1.481 1.642-1.322-2.457-3.416-1.122-4.997 1.405-1.664 5.916 0 5.916 0\"\r\n ></path>\r\n <path fill=\"#2F78EE\" d=\"M32.955 15.135 54.56 25.891l-5.4 7.365z\"></path>\r\n <circle cx=\"224.346\" cy=\"94.814\" r=\"2.521\" fill=\"#FFEDEC\"></circle>\r\n <path\r\n fill=\"#2F78EE\"\r\n d=\"M200.116 128.002c2.771.279 5.465-3.937 5.154-.846s-2.81 5.37-5.581 5.091-4.765-3.01-4.454-6.101 2.11 1.577 4.881 1.856\"\r\n ></path>\r\n <path\r\n fill=\"#0BA259\"\r\n d=\"m209.11 39.492 1.886 5.808h6.107l-4.94 3.589 1.887 5.807-4.94-3.59-4.94 3.59 1.886-5.807-4.94-3.59h6.107z\"\r\n ></path>\r\n <rect\r\n width=\"100\"\r\n height=\"100\"\r\n x=\"82.799\"\r\n y=\"26.324\"\r\n fill=\"#0B89CE\"\r\n rx=\"50\"\r\n ></rect>\r\n <g filter=\"url(#filter0_d_56449_70621)\">\r\n <rect\r\n width=\"60\"\r\n height=\"60\"\r\n x=\"102.799\"\r\n y=\"46.324\"\r\n fill=\"#fff\"\r\n rx=\"30\"\r\n shapeRendering=\"crispEdges\"\r\n ></rect>\r\n <path\r\n fill=\"#0B89CE\"\r\n fillRule=\"evenodd\"\r\n d=\"M143.683 69.19a1.25 1.25 0 0 1 0 1.768l-12.5 12.5a1.25 1.25 0 0 1-1.768 0l-6.25-6.25a1.25 1.25 0 0 1 1.768-1.768l5.366 5.367 11.616-11.617a1.25 1.25 0 0 1 1.768 0\"\r\n clipRule=\"evenodd\"\r\n ></path>\r\n </g>\r\n <defs>\r\n <filter\r\n id=\"filter0_d_56449_70621\"\r\n width=\"140\"\r\n height=\"140\"\r\n x=\"62.799\"\r\n y=\"26.324\"\r\n colorInterpolationFilters=\"sRGB\"\r\n filterUnits=\"userSpaceOnUse\"\r\n >\r\n <feFlood floodOpacity=\"0\" result=\"BackgroundImageFix\"></feFlood>\r\n <feColorMatrix\r\n in=\"SourceAlpha\"\r\n result=\"hardAlpha\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n ></feColorMatrix>\r\n <feOffset dy=\"20\"></feOffset>\r\n <feGaussianBlur stdDeviation=\"20\"></feGaussianBlur>\r\n <feComposite in2=\"hardAlpha\" operator=\"out\"></feComposite>\r\n <feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0\"></feColorMatrix>\r\n <feBlend\r\n in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_56449_70621\"\r\n ></feBlend>\r\n <feBlend\r\n in=\"SourceGraphic\"\r\n in2=\"effect1_dropShadow_56449_70621\"\r\n result=\"shape\"\r\n ></feBlend>\r\n </filter>\r\n </defs>\r\n </svg>\r\n);\r\n\r\n","import { CongratulationsIllustration } from \"../../../../../../../../assets/illustrations/CongratulationsIllustration\";\r\nimport { TLocale } from \"../../../../../../../../context/types\";\r\nimport { useMirantesFoundation } from \"../../../../../../../../context/useMirantesFoundation\";\r\nimport { packageDictionary } from \"../../../../../../../../locales/utils\";\r\nimport React from \"react\";\r\nimport { motion } from \"motion/react\";\r\n\r\nexport function AddWorkspaceDone({ onClose }: { onClose: () => void }) {\r\n const { locale } = useMirantesFoundation();\r\n return (\r\n <motion.div\r\n initial={{ opacity: 0, y: 10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.3, ease: \"easeInOut\", delay: 0.3 }}\r\n className=\"w-full flex flex-col items-center gap-y-4\"\r\n >\r\n <div className=\"w-40 h-40 flex items-center justify-center lg:w-auto lg:h-auto\">\r\n <CongratulationsIllustration />\r\n </div>\r\n\r\n <h4 className=\"text-2xl lg:text-[2rem] font-bold lg:leading-normal text-center\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.success.title\"\r\n )}\r\n </h4>\r\n\r\n <p className=\"text-gray-shade8 text-center\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.success.description\"\r\n )}\r\n </p>\r\n\r\n <div className=\"w-full mt-4 flex-col lg:flex-row flex items-center gap-4\">\r\n <button\r\n type=\"button\"\r\n onClick={onClose}\r\n className=\"flex-1 w-full lg:w-auto border border-primary text-primary font-bold py-3 lg:py-4\"\r\n >\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.success.button.store\"\r\n )}\r\n </button>\r\n\r\n <button\r\n onClick={onClose}\r\n className=\"flex-1 w-full lg:w-auto border border-primary text-white bg-primary font-bold py-3 lg:py-4\"\r\n >\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.success.button.view-workspace\"\r\n )}\r\n </button>\r\n </div>\r\n </motion.div>\r\n );\r\n}\r\n","import { useMutation, useQueryClient } from \"@tanstack/react-query\";\r\nimport { request } from \"graphql-request\";\r\nimport { CREATE_WORKSPACES_MUTATION } from \"./graphql\";\r\nimport { WorkspaceProps } from \"@/types/workspace.types\";\r\n\r\ntype CreateWorkspaceInput = {\r\n name: string;\r\n description?: string;\r\n isActive?: boolean;\r\n icon?: string;\r\n};\r\n\r\ntype CreateWorkspaceResponse = {\r\n createWorkspace: WorkspaceProps;\r\n};\r\n\r\nconst mutationFn = async ({\r\n input,\r\n apiUrl,\r\n accessToken,\r\n}: {\r\n input: CreateWorkspaceInput;\r\n apiUrl?: string;\r\n accessToken?: string;\r\n}) => {\r\n const response = await request<CreateWorkspaceResponse>(\r\n apiUrl as string,\r\n CREATE_WORKSPACES_MUTATION,\r\n { createWorkspaceInput: input },\r\n {\r\n \"x-access-token\": accessToken as string,\r\n }\r\n );\r\n\r\n return response.createWorkspace;\r\n};\r\n\r\nexport function useApiCreateWorkspace() {\r\n const queryClient = useQueryClient();\r\n\r\n const { mutate: createWorkspace, isPending: isCreatingWorkspace } =\r\n useMutation({\r\n mutationKey: [\"create-workspace\"],\r\n mutationFn,\r\n onSuccess: (newWorkspace) => {\r\n queryClient.setQueryData<any>([\"workspaces\"], (oldData: any) => {\r\n if (!oldData) return oldData;\r\n\r\n return {\r\n ...oldData,\r\n pages: oldData.pages.map((page: any, index: number) => {\r\n if (index === 0) {\r\n return {\r\n ...page,\r\n data: [newWorkspace, ...page.data],\r\n meta: {\r\n ...page.meta,\r\n total: page.meta.total + 1,\r\n },\r\n };\r\n }\r\n return page;\r\n }),\r\n };\r\n });\r\n },\r\n });\r\n\r\n return {\r\n createWorkspace,\r\n isCreatingWorkspace,\r\n };\r\n}\r\n","import { useMutation } from \"@tanstack/react-query\";\r\nimport { request } from \"graphql-request\";\r\nimport { UPDATE_WORKSPACE_MUTATION } from \"./graphql\";\r\nimport { WorkspaceProps } from \"../../../../types/workspace.types\";\r\nimport { queryClient } from \"../../../../client/queryClient\";\r\n\r\ntype UpdateWorkspaceInput = {\r\n id: string;\r\n name?: string;\r\n description?: string;\r\n isActive?: boolean;\r\n icon?: string;\r\n};\r\n\r\ntype UpdateWorkspaceResponse = {\r\n updateWorkspace: WorkspaceProps;\r\n};\r\n\r\nconst mutationFn = async ({\r\n input,\r\n apiUrl,\r\n accessToken,\r\n}: {\r\n input: UpdateWorkspaceInput;\r\n apiUrl?: string;\r\n accessToken?: string;\r\n}) => {\r\n const response = await request<UpdateWorkspaceResponse>(\r\n apiUrl as string,\r\n UPDATE_WORKSPACE_MUTATION,\r\n { updateWorkspaceInput: input },\r\n {\r\n \"x-access-token\": accessToken as string,\r\n }\r\n );\r\n\r\n return response.updateWorkspace;\r\n};\r\n\r\nexport function useApiUpdateWorkspace() {\r\n const { mutate: updateWorkspace, isPending: isUpdatingWorkspace } =\r\n useMutation({\r\n mutationKey: [\"update-workspace\"],\r\n mutationFn,\r\n onSuccess: (updatedWorkspace) => {\r\n queryClient.setQueryData<any>([\"workspaces\"], (oldData: any) => {\r\n if (!oldData) return oldData;\r\n\r\n return {\r\n ...oldData,\r\n pages: oldData.pages.map((page: any) => ({\r\n ...page,\r\n data: page.data.map((workspace: WorkspaceProps) =>\r\n workspace.id === updatedWorkspace.id\r\n ? updatedWorkspace\r\n : workspace\r\n ),\r\n })),\r\n };\r\n });\r\n },\r\n });\r\n\r\n return {\r\n updateWorkspace,\r\n isUpdatingWorkspace,\r\n };\r\n}\r\n","import * as yup from \"yup\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { useMirantesFoundation } from \"../../../../../../../../context/useMirantesFoundation\";\r\nimport { packageDictionary } from \"../../../../../../../../locales/utils\";\r\nimport { TLocale } from \"../../../../../../../../context/types\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useAddWorkspaceStore } from \"../../store/add-workspace.store\";\r\nimport { useApiCreateWorkspace } from \"../../../../../api/use-api-create-workspace\";\r\nimport { useToast } from \"../../../../../../../../components/shared/toasts/toasts\";\r\nimport { useApiUpdateWorkspace } from \"../../../../../../../../components/fromMirantes/WorkspacePanel/api/use-api-update-workspace\";\r\n\r\nconst AddWorkspaceModalFormSchema = yup.object({\r\n name: yup.string().required(\"required-field\"),\r\n interests: yup.array().of(yup.string()).optional(),\r\n description: yup.string().optional(),\r\n icon: yup.string().optional(),\r\n});\r\n\r\nexport function useAddWorkspaceModal() {\r\n const { updateWorkspace, isUpdatingWorkspace } = useApiUpdateWorkspace();\r\n const { locale } = useMirantesFoundation();\r\n const { setStep, workspace } = useAddWorkspaceStore();\r\n const { errorToast } = useToast();\r\n\r\n const { user, widgetsApi } = useMirantesFoundation();\r\n const { createWorkspace, isCreatingWorkspace } = useApiCreateWorkspace();\r\n const [selectedInterests, setSelectedInterests] = useState<string[]>([]);\r\n const interests = [\r\n {\r\n id: \"1\",\r\n name: \"Looking for a job\",\r\n },\r\n {\r\n id: \"2\",\r\n name: \"Creating a new product\",\r\n },\r\n {\r\n id: \"3\",\r\n name: \"Expanding my business\",\r\n },\r\n {\r\n id: \"4\",\r\n name: \"Learning new things\",\r\n },\r\n ];\r\n\r\n const {\r\n watch,\r\n setValue,\r\n clearErrors,\r\n handleSubmit,\r\n formState: { errors },\r\n } = useForm({\r\n resolver: yupResolver(AddWorkspaceModalFormSchema),\r\n });\r\n\r\n useEffect(() => {\r\n if (workspace) {\r\n setValue(\"name\", workspace.name);\r\n setValue(\"description\", workspace.description);\r\n }\r\n }, [workspace]);\r\n\r\n const getError = (field?: string) =>\r\n field\r\n ? packageDictionary(\r\n locale as TLocale,\r\n `component.workspace.panel.modal.form.errors.${field}` as any\r\n )\r\n : undefined;\r\n\r\n const onSelectInterest = (id: string) => {\r\n setSelectedInterests([...selectedInterests, id]);\r\n };\r\n\r\n const onRemoveInterest = (id: string) => {\r\n setSelectedInterests(selectedInterests.filter((item) => item !== id));\r\n };\r\n\r\n const onChangeName = (value: string) => {\r\n if (errors?.name?.message && value) {\r\n clearErrors(\"name\");\r\n }\r\n\r\n setValue(\"name\", value);\r\n };\r\n\r\n const onChangeDescription = (value: string) => {\r\n if (errors?.description?.message && value) {\r\n clearErrors(\"description\");\r\n }\r\n\r\n setValue(\"description\", value);\r\n };\r\n\r\n const onSubmit = handleSubmit((data) => {\r\n const { interests, ...rest } = data;\r\n setStep(\"loading\");\r\n\r\n if (workspace?.id) {\r\n updateWorkspace(\r\n {\r\n input: {\r\n ...rest,\r\n id: workspace?.id,\r\n },\r\n accessToken: user?.accessToken,\r\n apiUrl: widgetsApi,\r\n },\r\n {\r\n onSuccess() {\r\n setStep(\"success\");\r\n },\r\n onError() {\r\n setStep(\"form\");\r\n errorToast({\r\n title: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.edit.toats.error.title\"\r\n ),\r\n message: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.edit.toats.error.description\"\r\n ),\r\n });\r\n },\r\n }\r\n );\r\n\r\n return;\r\n }\r\n createWorkspace(\r\n {\r\n input: {\r\n ...rest,\r\n },\r\n accessToken: user?.accessToken,\r\n apiUrl: widgetsApi,\r\n },\r\n {\r\n onSuccess() {\r\n setStep(\"success\");\r\n },\r\n onError() {\r\n setStep(\"form\");\r\n errorToast({\r\n title: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.toats.error.title\"\r\n ),\r\n message: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.toats.error.description\"\r\n ),\r\n });\r\n },\r\n }\r\n );\r\n });\r\n\r\n return {\r\n onChangeName,\r\n onChangeDescription,\r\n errors,\r\n watch,\r\n onSelectInterest,\r\n onRemoveInterest,\r\n interests,\r\n getError,\r\n selectedInterests,\r\n onSubmit,\r\n isCreatingWorkspace: isCreatingWorkspace || isUpdatingWorkspace,\r\n setValue,\r\n };\r\n}\r\n","import React from \"react\";\r\n\r\nexport const CircledInfoIcon = (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\"\r\n height=\"15\"\r\n fill=\"none\"\r\n viewBox=\"0 0 16 15\"\r\n >\r\n <path\r\n fill=\"#E03137\"\r\n fillRule=\"evenodd\"\r\n d=\"M8 1.482a6.188 6.188 0 1 0 0 12.375A6.188 6.188 0 0 0 8 1.482M.688 7.669a7.313 7.313 0 1 1 14.625 0 7.313 7.313 0 0 1-14.625 0\"\r\n clipRule=\"evenodd\"\r\n ></path>\r\n <path\r\n fill=\"#E03137\"\r\n fillRule=\"evenodd\"\r\n d=\"M8 4.107c.31 0 .563.252.563.562v3a.563.563 0 0 1-1.126 0v-3c0-.31.252-.562.563-.562M7.438 10.67c0-.312.251-.563.562-.563h.008a.562.562 0 1 1 0 1.125H8a.563.563 0 0 1-.562-.563\"\r\n clipRule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n);\r\n","import * as React from \"react\";\r\nimport { cn } from \"../../lib/utils\";\r\nimport { CircledInfoIcon } from \"../../assets/icons/CircledInfoIcon\";\r\n\r\ninterface InputProps extends React.ComponentProps<\"input\"> {\r\n error?: string;\r\n inputClassName?: string;\r\n leftElementClassName?: string;\r\n leftElement?: React.ReactNode;\r\n rightElement?: React.ReactNode;\r\n rightElementClassName?: string;\r\n}\r\n\r\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\r\n (\r\n {\r\n className,\r\n type,\r\n leftElement,\r\n rightElement,\r\n leftElementClassName,\r\n rightElementClassName,\r\n inputClassName,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n return (\r\n <div className=\"flex flex-col w-full\">\r\n <div\r\n className={cn(\r\n \"relative flex items-center w-full focus-within:border-b-blue-shade1\",\r\n !!props?.error && \"border-b-red-shade6\",\r\n className\r\n )}\r\n >\r\n {leftElement && (\r\n <div className={leftElementClassName}>{leftElement}</div>\r\n )}\r\n\r\n <input\r\n type={type}\r\n className={cn(\r\n \"flex w-full bg-red-400 bg-transparent px-3 focus-within:border-none py-1 h-[52px] text-sm placeholder:text-gray-shade25 outline-none focus-visible:ring-0 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:border-neutral-800 dark:placeholder:text-neutral-400 \",\r\n !!leftElement && \"pl-10\",\r\n !!rightElement && \"pr-10\",\r\n inputClassName\r\n )}\r\n ref={ref}\r\n {...props}\r\n />\r\n\r\n {rightElement && (\r\n <div className={rightElementClassName}>{rightElement}</div>\r\n )}\r\n </div>\r\n\r\n {props?.error && (\r\n <div className=\"flex items-center gap-x-[8px] mt-[5.69px]\">\r\n {CircledInfoIcon}\r\n\r\n <span className=\"text-red-shade6 text-[0.75rem] \">\r\n {props?.error}\r\n </span>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n);\r\nInput.displayName = \"Input\";\r\n\r\nexport { Input };\r\n","import { clsx, type ClassValue } from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs));\r\n}\r\n","import { Input } from \"../../../components/ui/input\";\r\nimport { cn } from \"../../../utils/utils\";\r\nimport React, { useRef, useState } from \"react\";\r\n\r\ntype BaseInputProps = {\r\n placeholder: string;\r\n value: string;\r\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\r\n rightIcon?: React.ReactNode;\r\n leftIcon?: React.ReactNode;\r\n label?: string;\r\n error?: string;\r\n disabled?: boolean;\r\n type?: string;\r\n name?: string;\r\n id?: string;\r\n className?: string;\r\n children?: React.ReactNode;\r\n wrapperClassName?: string;\r\n required?: boolean;\r\n};\r\n\r\nexport function BaseInput({\r\n placeholder,\r\n value,\r\n onChange,\r\n rightIcon,\r\n leftIcon,\r\n label,\r\n className,\r\n error,\r\n disabled,\r\n type,\r\n name,\r\n id,\r\n children,\r\n required,\r\n wrapperClassName,\r\n}: BaseInputProps) {\r\n const [isFocusing, setIsFocusing] = useState(false);\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n\r\n const handleFocus = () => {\r\n setIsFocusing(true);\r\n };\r\n\r\n const handleBlur = () => {\r\n setIsFocusing(false);\r\n };\r\n\r\n return (\r\n <div className={cn(\"flex flex-col gap-y-2\", wrapperClassName)}>\r\n <div className=\"flex items-center gap-x-2\">\r\n {label && <label className=\"text-body-md\">{label}</label>}\r\n {required && <span className=\"text-red-500\">*</span>}\r\n </div>\r\n\r\n <div\r\n onFocus={handleFocus}\r\n onBlur={handleBlur}\r\n ref={inputRef}\r\n className={cn(\r\n \"flex bg-[#EFF4FB] rounded-xl px-4 w-full items-center border border-border\",\r\n className,\r\n !!error && \"border border-red-shade6\"\r\n )}\r\n >\r\n {leftIcon && <div>{leftIcon}</div>}\r\n\r\n <Input\r\n className={cn(\"!h-auto\", className)}\r\n placeholder={placeholder}\r\n value={value}\r\n onChange={onChange}\r\n />\r\n\r\n {rightIcon && <div>{rightIcon}</div>}\r\n </div>\r\n\r\n {error && <p className=\"text-red-shade6 text-body-sm\">{error}</p>}\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n","import * as React from \"react\"\r\nimport { Command as CommandPrimitive } from \"cmdk\"\r\nimport { SearchIcon } from \"lucide-react\"\r\n\r\nimport { cn } from \"../../lib/utils\"\r\nimport {\r\n Dialog,\r\n DialogContent,\r\n DialogDescription,\r\n DialogHeader,\r\n DialogTitle,\r\n} from \"../../components/ui/dialog\"\r\n\r\nfunction Command({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive>) {\r\n return (\r\n <CommandPrimitive\r\n data-slot=\"command\"\r\n className={cn(\r\n \"bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandDialog({\r\n title = \"Command Palette\",\r\n description = \"Search for a command to run...\",\r\n children,\r\n ...props\r\n}: React.ComponentProps<typeof Dialog> & {\r\n title?: string\r\n description?: string\r\n}) {\r\n return (\r\n <Dialog {...props}>\r\n <DialogHeader className=\"sr-only\">\r\n <DialogTitle>{title}</DialogTitle>\r\n <DialogDescription>{description}</DialogDescription>\r\n </DialogHeader>\r\n <DialogContent className=\"overflow-hidden p-0\">\r\n <Command className=\"[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\r\n {children}\r\n </Command>\r\n </DialogContent>\r\n </Dialog>\r\n )\r\n}\r\n\r\nfunction CommandInput({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.Input>) {\r\n return (\r\n <div\r\n data-slot=\"command-input-wrapper\"\r\n className=\"flex h-9 items-center gap-2 border-b px-3\"\r\n >\r\n <SearchIcon className=\"size-4 shrink-0 opacity-50\" />\r\n <CommandPrimitive.Input\r\n data-slot=\"command-input\"\r\n className={cn(\r\n \"placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nfunction CommandList({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.List>) {\r\n return (\r\n <CommandPrimitive.List\r\n data-slot=\"command-list\"\r\n className={cn(\r\n \"max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandEmpty({\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.Empty>) {\r\n return (\r\n <CommandPrimitive.Empty\r\n data-slot=\"command-empty\"\r\n className=\"py-6 text-center text-sm\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandGroup({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.Group>) {\r\n return (\r\n <CommandPrimitive.Group\r\n data-slot=\"command-group\"\r\n className={cn(\r\n \"text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandSeparator({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.Separator>) {\r\n return (\r\n <CommandPrimitive.Separator\r\n data-slot=\"command-separator\"\r\n className={cn(\"bg-border -mx-1 h-px\", className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandItem({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.Item>) {\r\n return (\r\n <CommandPrimitive.Item\r\n data-slot=\"command-item\"\r\n className={cn(\r\n \"data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandShortcut({\r\n className,\r\n ...props\r\n}: React.ComponentProps<\"span\">) {\r\n return (\r\n <span\r\n data-slot=\"command-shortcut\"\r\n className={cn(\r\n \"text-muted-foreground ml-auto text-xs tracking-widest\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport {\r\n Command,\r\n CommandDialog,\r\n CommandInput,\r\n CommandList,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandItem,\r\n CommandShortcut,\r\n CommandSeparator,\r\n}\r\n","import * as React from \"react\"\r\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\"\r\n\r\nimport { cn } from \"../../lib/utils\"\r\n\r\nfunction Popover({\r\n ...props\r\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\r\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\r\n}\r\n\r\nfunction PopoverTrigger({\r\n ...props\r\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\r\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />\r\n}\r\n\r\nfunction PopoverContent({\r\n className,\r\n align = \"center\",\r\n sideOffset = 4,\r\n ...props\r\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\r\n return (\r\n <PopoverPrimitive.Portal>\r\n <PopoverPrimitive.Content\r\n data-slot=\"popover-content\"\r\n align={align}\r\n sideOffset={sideOffset}\r\n className={cn(\r\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </PopoverPrimitive.Portal>\r\n )\r\n}\r\n\r\nfunction PopoverAnchor({\r\n ...props\r\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\r\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />\r\n}\r\n\r\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor }\r\n","\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport { Check, ChevronDown } from \"lucide-react\";\r\nimport { cn } from \"../../../lib/utils\";\r\nimport { Button } from \"../../../components/ui/button\";\r\nimport {\r\n Command,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandInput,\r\n CommandItem,\r\n CommandList,\r\n} from \"../../../components/ui/command\";\r\nimport {\r\n Popover,\r\n PopoverContent,\r\n PopoverTrigger,\r\n} from \"../../../components/ui/popover\";\r\nimport type { UseFormRegisterReturn } from \"react-hook-form\";\r\nimport { packageDictionary } from \"../../../locales/utils\";\r\nimport { TLocale } from \"../../../context/types\";\r\nimport { useMirantesFoundation } from \"../../../context/useMirantesFoundation\";\r\n\r\nexport interface SelectInputOption {\r\n id: string;\r\n value: string;\r\n icon?: string;\r\n}\r\n\r\nexport interface SelectInputProps {\r\n options: SelectInputOption[];\r\n label?: string;\r\n placeholder?: string;\r\n className?: string;\r\n error?: string;\r\n required?: boolean;\r\n value?: string;\r\n onChange?: (id: string) => void;\r\n onChangeItem?: (item: SelectInputOption) => void;\r\n register?: UseFormRegisterReturn;\r\n name?: string;\r\n disabled?: boolean;\r\n disableSelectedItem?: boolean;\r\n}\r\n\r\nexport function SelectInput({\r\n options,\r\n label,\r\n placeholder,\r\n className,\r\n error,\r\n required = false,\r\n value,\r\n onChange,\r\n register,\r\n name = \"selectInput\",\r\n disabled = false,\r\n onChangeItem,\r\n disableSelectedItem = false,\r\n}: SelectInputProps) {\r\n const { locale } = useMirantesFoundation();\r\n const [open, setOpen] = React.useState(false);\r\n const [selectedValue, setSelectedValue] = React.useState(value || \"\");\r\n\r\n // Handle external value changes\r\n React.useEffect(() => {\r\n if (value !== undefined) {\r\n setSelectedValue(value);\r\n }\r\n }, [value]);\r\n\r\n const handleSelect = React.useCallback(\r\n (currentValue: string) => {\r\n const selectedItem = options.find((option) => option.id === currentValue);\r\n setSelectedValue(currentValue);\r\n setOpen(false);\r\n\r\n if (onChange) {\r\n onChange(currentValue);\r\n }\r\n\r\n if (onChangeItem && selectedItem) {\r\n onChangeItem(selectedItem);\r\n }\r\n },\r\n [onChange, onChangeItem, options]\r\n );\r\n\r\n const selectedOption = React.useMemo(\r\n () => options.find((option) => option.id === selectedValue),\r\n [options, selectedValue]\r\n );\r\n\r\n const hiddenInputRef = React.useRef<HTMLInputElement>(null);\r\n\r\n return (\r\n <div className=\"space-y-2\">\r\n {label && (\r\n <label className=\"text-body-md font-medium\">\r\n {label}\r\n {required && <span className=\"text-red-500 ml-1\">*</span>}\r\n </label>\r\n )}\r\n <Popover open={open} onOpenChange={setOpen}>\r\n <PopoverTrigger asChild>\r\n <Button\r\n variant=\"outline\"\r\n role=\"combobox\"\r\n aria-expanded={open}\r\n className={cn(\r\n \"w-full justify-between text-body-md overflow-hidden h-14 px-4 py-3 text-base rounded-xl font-normal\",\r\n \"border border-border bg-background hover:bg-accent hover:text-accent-foreground\",\r\n !selectedValue && \"text-muted-foreground\",\r\n error && \"border-red-500 focus-visible:ring-red-500\",\r\n className\r\n )}\r\n disabled={disabled}\r\n >\r\n <div className=\"flex items-center gap-2 truncate\">\r\n {disableSelectedItem && selectedOption && selectedOption.icon && (\r\n <span className=\"flex items-center text-body-md text-gray-shade8 justify-center w-5 h-5\">\r\n {selectedOption.icon}\r\n </span>\r\n )}\r\n <span className=\"truncate text-body-md text-gray-shade8\">\r\n {disableSelectedItem\r\n ? (placeholder ??\r\n packageDictionary(\r\n locale as TLocale,\r\n \"component.select-input.placeholder\"\r\n ))\r\n : selectedOption\r\n ? selectedOption.value\r\n : (placeholder ??\r\n packageDictionary(\r\n locale as TLocale,\r\n \"component.select-input.placeholder\"\r\n ))}\r\n </span>\r\n </div>\r\n <ChevronDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-[--radix-popover-trigger-width] bg-white z-[102] p-0\">\r\n <Command>\r\n <CommandInput\r\n className=\"outline-none\"\r\n placeholder={\r\n placeholder ??\r\n packageDictionary(\r\n locale as TLocale,\r\n \"component.select-input.placeholder\"\r\n )\r\n }\r\n />\r\n <CommandList>\r\n <CommandEmpty>\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.select-input.no-elements-found\"\r\n )}\r\n </CommandEmpty>\r\n <CommandGroup className=\"max-h-[300px] overflow-auto\">\r\n {options.map((option) => (\r\n <CommandItem\r\n key={option.id}\r\n value={option.id}\r\n onSelect={() => handleSelect(option.id)}\r\n className=\"flex items-center py-2 hover:bg-gray-shade1 cursor-pointer gap-2\"\r\n >\r\n {option.icon && (\r\n <span className=\"flex items-center justify-center w-5 h-5\">\r\n {option.icon}\r\n </span>\r\n )}\r\n <span className=\"text-body-md\">{option.value}</span>\r\n {option.id === selectedValue && (\r\n <Check className=\"ml-auto h-4 w-4\" />\r\n )}\r\n </CommandItem>\r\n ))}\r\n </CommandGroup>\r\n </CommandList>\r\n </Command>\r\n </PopoverContent>\r\n </Popover>\r\n\r\n <input\r\n type=\"hidden\"\r\n ref={hiddenInputRef}\r\n name={name}\r\n value={selectedValue}\r\n {...register}\r\n />\r\n\r\n {error && <p className=\"text-body-md text-red-500\">{error}</p>}\r\n </div>\r\n );\r\n}\r\n","import { cn } from \"../../../lib/utils\";\r\nimport { X } from \"lucide-react\";\r\nimport React from \"react\";\r\n\r\nexport function Badge({\r\n label,\r\n onRemove,\r\n className,\r\n iconClassName,\r\n}: {\r\n label: string;\r\n onRemove: () => void;\r\n className?: string;\r\n iconClassName?: string;\r\n}) {\r\n return (\r\n <span\r\n className={cn(\r\n \"px-2 py-[6px] flex items-center gap-x-2 !text-body-md rounded-full bg-primary text-white\",\r\n className\r\n )}\r\n >\r\n {label}\r\n <button\r\n type=\"button\"\r\n className=\" bg-transparent border border-none p-0\"\r\n onClick={onRemove}\r\n >\r\n <X className={cn(\"w-4 h-4\", iconClassName)} />\r\n </button>\r\n </span>\r\n );\r\n}\r\n","import * as React from \"react\"\r\n\r\nimport { cn } from \"../../lib/utils\"\r\n\r\nfunction Textarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\r\n return (\r\n <textarea\r\n data-slot=\"textarea\"\r\n className={cn(\r\n \"border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport { Textarea }\r\n","import React from \"react\";\r\n\r\nimport { useEffect, useState } from \"react\";\r\nimport { Textarea } from \"../../../components/ui/textarea\";\r\nimport { cn } from \"../../../lib/utils\";\r\nimport { useMirantesFoundation } from \"../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../context/types\";\r\nimport { packageDictionary } from \"../../../locales/utils\";\r\n\r\nexport interface DescriptionInputProps {\r\n label?: string;\r\n placeholder?: string;\r\n value?: string;\r\n onChange?: (value: string) => void;\r\n required?: boolean;\r\n className?: string;\r\n disabled?: boolean;\r\n maxLength?: number;\r\n error?: string;\r\n onGenerateDescription?: () => void;\r\n textAreaClassName?: string;\r\n}\r\n\r\nexport function DescriptionInput({\r\n label = \"Descrição\",\r\n value = \"\",\r\n onChange,\r\n required = false,\r\n className,\r\n disabled = false,\r\n maxLength = 500,\r\n error,\r\n textAreaClassName,\r\n}: DescriptionInputProps) {\r\n const [text, setText] = useState(value);\r\n const { locale } = useMirantesFoundation();\r\n\r\n useEffect(() => {\r\n setText(value);\r\n }, [value]);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\r\n const newValue = e.target.value;\r\n if (newValue.length <= maxLength) {\r\n setText(newValue);\r\n onChange?.(newValue);\r\n }\r\n };\r\n\r\n return (\r\n <div className={cn(\"space-y-2\", className)}>\r\n {label && (\r\n <label className=\"text-body-md font-normal\">\r\n {label} {required && <span className=\"text-red-shade6\">*</span>}\r\n </label>\r\n )}\r\n <div className=\"relative\">\r\n <Textarea\r\n placeholder={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.description\"\r\n )}\r\n value={text}\r\n onChange={handleChange}\r\n disabled={disabled}\r\n className={cn(\r\n \"min-h-[200px] resize-none rounded-xl border-border p-4 text-dark placeholder:text-gray-shade8/70 focus-visible:ring-primary\",\r\n textAreaClassName,\r\n error && \"border-red-500\"\r\n )}\r\n />\r\n <div className=\"absolute bottom-3 left-3 right-3 flex items-center justify-end\">\r\n <div className=\"text-body-sm self-end text-gray-shade8\">\r\n {text.length}/{maxLength}\r\n </div>\r\n </div>\r\n </div>\r\n {error && <p className=\"text-sm text-red-500\">{error}</p>}\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const CreatingWorkspaceIllustration = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"201\"\r\n height=\"200\"\r\n fill=\"none\"\r\n viewBox=\"0 0 201 200\"\r\n >\r\n <path fill=\"#fff\" d=\"M58.884 16.957H19.748v40.796h39.136z\"></path>\r\n <path\r\n fill=\"#A2D0E8\"\r\n fillOpacity=\"0.1\"\r\n d=\"M56.232 16.957H17.096v40.796h39.136z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M50.968 22.441H22.356V52.27h28.612zM22.356 52.465a5.4 5.4 0 0 1-.712.8c-.46.48-1.104 1.132-1.824 1.84s-1.38 1.34-1.868 1.792a5.4 5.4 0 0 1-.8.7q.316-.436.712-.8c.46-.48 1.104-1.132 1.828-1.844a93 93 0 0 1 1.868-1.796q.363-.386.796-.692M50.972 52.402q.433.32.8.716c.48.456 1.132 1.1 1.84 1.82s1.344 1.38 1.796 1.868q.39.363.696.8a5.4 5.4 0 0 1-.8-.712 104 104 0 0 1-3.636-3.696 5 5 0 0 1-.696-.796\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M50.9 22.523q.316-.437.716-.8c.46-.48 1.104-1.132 1.824-1.84s1.38-1.344 1.864-1.792q.366-.39.8-.7-.316.436-.712.8a91 91 0 0 1-1.824 1.844A93 93 0 0 1 51.7 21.83a5.5 5.5 0 0 1-.8.692M22.28 22.595a5.3 5.3 0 0 1-.8-.716c-.48-.46-1.132-1.1-1.84-1.82a91 91 0 0 1-1.792-1.868 5.4 5.4 0 0 1-.7-.8q.435.316.8.712c.48.456 1.132 1.104 1.844 1.824s1.344 1.384 1.796 1.868q.385.365.692.8\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M50.9 52.269v-2.144c0-1.412 0-3.468-.024-6.08 0-5.2-.028-12.668-.048-21.58l.092.092H22.388l.108-.108v29.828l-.092-.092 20.668.044 5.8.024h2.072-2.08l-5.78.024-20.728.048h-.092V22.297h28.74v.096c0 8.94-.036 16.4-.044 21.64 0 2.604 0 4.652-.028 6.056v2a.6.6 0 0 1-.032.18\"\r\n ></path>\r\n <path\r\n fill=\"#A2D0E8\"\r\n fillOpacity=\"0.1\"\r\n d=\"M29.908 34.902s-.608 7.384 7.392 7.384c0-3.94-3.256-7.052-7.392-7.384\"\r\n ></path>\r\n <path\r\n fill=\"#A2D0E8\"\r\n fillOpacity=\"0.1\"\r\n d=\"M44.544 34.905s-7.384-.612-7.384 7.388c3.94 0 7.052-3.252 7.384-7.388\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M36.94 30.863s-6.04 5.416.328 11.42c2.96-3.136 2.712-8.052-.328-11.42M172.276 17.473v39.56h-56.82l-2.048-39.284z\"\r\n ></path>\r\n <path fill=\"#fff\" d=\"M113.412 17.75v39.2h56.82v-39.2z\"></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M170.5 57.22h-57.36V17.48h57.36zm-56.8-.54h56.28V18.02H113.7z\"\r\n ></path>\r\n <path fill=\"#fff\" d=\"M164.076 22.621h-44.512v29.46h44.512z\"></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M164.076 22.62h-3.296l-9.176.037-32.04.064.128-.128v29.456l-.14-.14 44.512.028-.112.112c.024-8.968.044-16.316.06-21.436 0-2.56.02-4.556.028-5.928v-2.096 2.052c0 1.364 0 3.356.028 5.904 0 5.136.036 12.508.06 21.504v.112h-.112l-44.512.028h-.14V22.46h.128l32.128.06 9.14.036h3.04q.14.022.276.064\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M113.408 17.64q.53.256.98.633c.58.4 1.372 1.016 2.224 1.7s1.6 1.328 2.136 1.816q.452.365.8.832c-.052.06-1.42-1.068-3.124-2.432s-3.064-2.484-3.016-2.548M170.228 17.749c.048.06-1.288 1.2-2.988 2.544s-3.116 2.4-3.164 2.328 1.288-1.2 2.988-2.548 3.116-2.384 3.164-2.324M170.184 56.956l-6.336-5.136zM163.848 51.823c.052-.06 1.508 1.04 3.256 2.46s3.128 2.616 3.08 2.676-1.504-1.04-3.256-2.46-3.128-2.616-3.08-2.676M113.408 56.947c-.048-.06 1.28-1.2 2.96-2.516s3.084-2.36 3.132-2.3-1.276 1.2-2.956 2.52-3.088 2.36-3.136 2.296M128.6 31.8v9.864h28.008V31.8z\"\r\n ></path>\r\n <path\r\n fill=\"#F5F5F5\"\r\n d=\"M18.568 169.746s-7.128-36.944-7.144-44.544c-.024-10.516 8.028-14.7 8.028-14.7l-3.128-8.9h17.2l-2.72 8.856s9.06 4.8 7.796 15.708c-2.36 20.4-6.124 43.6-6.124 43.6z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M34.976 114.702h-.192a5.349 5.349 0 0 0-2.648.432 7.36 7.36 0 0 0-2.68 2.048 13 13 0 0 0-1.232 1.732 15 15 0 0 0-1.08 2.128 6.3 6.3 0 0 0-.5 2.536 3.96 3.96 0 0 0 1.016 2.536c.328.353.74.617 1.2.764.48.139.992.125 1.464-.04a3.44 3.44 0 0 0 2.06-2.228 3.32 3.32 0 0 0-.684-3.1 5.05 5.05 0 0 0-2.952-1.712 6.73 6.73 0 0 0-3.556.428 11.6 11.6 0 0 0-6.968 8.176 7.8 7.8 0 0 0 .072 3.48 5.12 5.12 0 0 0 1.696 2.8c.405.344.898.57 1.424.652a2.18 2.18 0 0 0 1.468-.288 3.03 3.03 0 0 0 1.312-2.52 3.1 3.1 0 0 0-.276-1.372 3.5 3.5 0 0 0-.8-1.08 4.8 4.8 0 0 0-2.32-1.08 6.62 6.62 0 0 0-4.336.752 7.84 7.84 0 0 0-2.56 2.204 7.2 7.2 0 0 0-1.032 1.88c-.172.464-.228.72-.244.716q.071-.374.196-.732a7 7 0 0 1 1.004-1.924 7.8 7.8 0 0 1 2.568-2.268 6.8 6.8 0 0 1 4.432-.8 4.95 4.95 0 0 1 2.4 1.108c.366.324.662.718.872 1.16.21.457.313.956.3 1.46a3.2 3.2 0 0 1-1.404 2.7 2.4 2.4 0 0 1-1.6.324 3.1 3.1 0 0 1-1.536-.696 5.33 5.33 0 0 1-1.78-2.928 8 8 0 0 1-.08-3.6 11.46 11.46 0 0 1 3.824-6.348 11.3 11.3 0 0 1 3.268-2 6.95 6.95 0 0 1 3.688-.436c1.207.22 2.3.855 3.088 1.796.379.46.652.998.8 1.576.146.567.13 1.164-.044 1.724a3.65 3.65 0 0 1-2.208 2.368 2.6 2.6 0 0 1-1.6.036 2.97 2.97 0 0 1-1.308-.824 4.14 4.14 0 0 1-1.06-2.672 6.5 6.5 0 0 1 .528-2.604q.474-1.128 1.124-2.164.557-.925 1.26-1.744a7.4 7.4 0 0 1 2.74-2.028 5.3 5.3 0 0 1 2.124-.42q.381.002.752.092M35.424 142.596a6.3 6.3 0 0 1-.16 1.88 8.2 8.2 0 0 1-.764 2.084 8 8 0 0 1-1.804 2.316 7.46 7.46 0 0 1-3.148 1.656 7.67 7.67 0 0 1-4.076-.06 7.14 7.14 0 0 1-3.672-2.588 6.84 6.84 0 0 1-1.408-4.6 3.4 3.4 0 0 1 1.016-2.264 2.47 2.47 0 0 1 2.348-.464A2.94 2.94 0 0 1 25.584 142c.334.692.419 1.477.24 2.224a4.15 4.15 0 0 1-.984 1.884 4.75 4.75 0 0 1-1.652 1.136 6.9 6.9 0 0 1-3.528.444 8.4 8.4 0 0 1-4.628-2.124 6.2 6.2 0 0 1-1.2-1.44q.045.042.084.092c.06.076.132.172.224.284q.448.534.972.992a8.43 8.43 0 0 0 4.588 2.036 6.73 6.73 0 0 0 3.428-.46 4.6 4.6 0 0 0 1.572-1.096 3.95 3.95 0 0 0 .92-1.788 3.1 3.1 0 0 0-.224-2.068A2.73 2.73 0 0 0 23.7 140.8a2.21 2.21 0 0 0-2.116.4 3.17 3.17 0 0 0-.936 2.104 6.64 6.64 0 0 0 1.36 4.432 6.9 6.9 0 0 0 3.54 2.512c1.29.383 2.66.411 3.964.08a7.35 7.35 0 0 0 3.084-1.6 7.8 7.8 0 0 0 1.792-2.248c.358-.642.627-1.33.8-2.044q.16-.678.216-1.372v-.36a1 1 0 0 1 .02-.108M32.22 160c-.024.048-.772-.356-2.076-.736q-.531-.156-1.076-.256c-.4-.088-.8-.132-1.252-.188a15 15 0 0 0-2.904 0c-.956.123-1.897.337-2.812.64-.42.156-.824.292-1.2.464a10 10 0 0 0-.996.476c-1.2.656-1.828 1.2-1.86 1.172q.196-.226.44-.4.263-.23.556-.424.375-.273.78-.5.481-.29.992-.524.586-.276 1.2-.488a14.4 14.4 0 0 1 2.888-.644c.981-.102 1.97-.102 2.952 0q.641.075 1.272.216a9 9 0 0 1 1.084.292q.443.134.868.316.327.124.636.288.27.12.508.296M31.02 110.977q-.269.224-.572.4c-.372.248-.932.576-1.636.948a28.2 28.2 0 0 1-12 3.2c-.8.032-1.448.028-1.892 0a3.7 3.7 0 0 1-.692-.06q.345-.048.692-.036c.444 0 1.088-.024 1.884-.076a31.3 31.3 0 0 0 11.916-3.2c.712-.356 1.28-.656 1.668-.876a3 3 0 0 1 .632-.3M33.184 101.999c0 .024-.424-.04-1.2-.044a10.2 10.2 0 0 0-3.164.516 10.4 10.4 0 0 0-2 .92q-.529.317-1.012.7-.512.402-.908.916c-.284.348-.48.76-.568 1.2a1.36 1.36 0 0 0 .4 1.22c.365.316.802.537 1.272.644.466.169.964.227 1.456.168a1.11 1.11 0 0 0 .8-1.044 2.6 2.6 0 0 0-.288-1.384 4.4 4.4 0 0 0-1.92-1.928 5.55 5.55 0 0 0-2.4-.652 6.7 6.7 0 0 0-2.172.32 10 10 0 0 0-2.832 1.492c-.308.228-.536.4-.692.544a1.2 1.2 0 0 1-.248.184q.096-.122.212-.224c.148-.14.368-.336.668-.58a9.5 9.5 0 0 1 2.84-1.58 6.7 6.7 0 0 1 2.228-.36 5.75 5.75 0 0 1 2.512.656 4.6 4.6 0 0 1 2.028 2.024 2.8 2.8 0 0 1 .316 1.516 1.66 1.66 0 0 1-.268.776c-.167.24-.416.411-.7.48a3.4 3.4 0 0 1-1.6-.172 3.1 3.1 0 0 1-1.4-.708 1.6 1.6 0 0 1-.444-1.44c.097-.475.31-.919.62-1.292.283-.349.61-.661.972-.928a9 9 0 0 1 1.044-.708 10 10 0 0 1 2.064-.908 9.7 9.7 0 0 1 3.2-.448q.443.012.88.08.155 0 .304.044\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M187.3 169.202c0 .056-39.512.104-88.244.104s-88.264-.064-88.264-.104 39.504-.104 88.252-.104 88.256.028 88.256.104M161.668 134.557c-.036.048-.336-.136-.672-.4s-.576-.524-.54-.568.336.136.672.4.572.524.54.568\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M170.788 120.929c.056-1.276.092-2.58-.312-3.792s-1.336-2.32-2.584-2.58c-1.424-.296-2.884.604-3.68 1.82s-1.076 2.692-1.312 4.128a145.7 145.7 0 0 0-1.784 29.972l5.828.8c2.56-10.444 3.38-19.588 3.844-30.348\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M167.084 114.512s0 .032-.028.092-.056.156-.096.264q-.137.372-.4 1.008c-.08.22-.188.456-.276.728q-.13.409-.284.884c-.104.316-.208.656-.324 1.012l-.3 1.156a50 50 0 0 0-1.128 5.772c-.316 2.192-.524 4.62-.684 7.172-.3 5.108-.344 9.744-.476 13.096a151 151 0 0 1-.184 3.968l-.076 1.08c0 .112 0 .204-.024.28a.5.5 0 0 1 0 .096.3.3 0 0 1 0-.096v-.284c0-.264.02-.624.032-1.08.04-.936.076-2.292.12-3.968.092-3.352.116-8 .4-13.108.16-2.552.376-4.988.704-7.2a48 48 0 0 1 1.172-5.78c.112-.4.216-.8.316-1.156s.236-.696.344-1.012l.3-.884c.092-.268.208-.504.292-.724l.428-.992.116-.256c.036-.044.052-.072.056-.068M167.624 114.512c.302.357.543.763.712 1.2a8.9 8.9 0 0 1 .532 3.772c-.156 3.2-.444 7.66-.828 12.56s-.8 9.336-1.156 12.536c-.172 1.6-.32 2.896-.432 3.792a50 50 0 0 1-.132 1.028l-.036.268a.3.3 0 0 1-.024.092.3.3 0 0 1 0-.096c0-.072 0-.16.02-.268.024-.252.056-.6.092-1.032.088-.916.212-2.208.368-3.796.304-3.2.708-7.64 1.092-12.54s.696-9.34.888-12.548a9.1 9.1 0 0 0-.46-3.736 7.4 7.4 0 0 0-.636-1.232M171.668 129.6a3.3 3.3 0 0 1-1.108-.288 3.3 3.3 0 0 1-1.032-.48c.383.026.757.122 1.104.284.372.097.723.261 1.036.484M172.368 123.66a7 7 0 0 1-2.188.98 7 7 0 0 1 2.188-.98M172.004 118.8a1.9 1.9 0 0 1-.868.044 1.8 1.8 0 0 1-.856-.164c.282-.081.579-.096.868-.044a1.9 1.9 0 0 1 .856.164M165.988 115.706c-.048.032-.304-.288-.568-.708a2.1 2.1 0 0 1-.4-.824c.048-.032.304.288.572.712s.444.788.396.82M164 118.636c0 .06-.372.096-.828.088s-.824-.064-.824-.124a3.4 3.4 0 0 1 1.652.036M162.572 124.504a2 2 0 0 1-.872-.24c-.46-.184-.8-.4-.8-.432.305.015.603.097.872.24.468.184.824.38.8.432M162.42 129.442c0 .056-.32.172-.74.26s-.776.116-.8.06.32-.176.74-.264.788-.116.8-.056M161.748 137.511c0 .056-.34.168-.8.248s-.8.1-.824.04.344-.164.8-.244a1.7 1.7 0 0 1 .824-.044M161.3 141.965c.024.052-.268.26-.656.464s-.728.332-.756.284.268-.26.656-.468.732-.332.756-.28M164.94 147.022c-.048.028-.304-.324-.572-.8a2.4 2.4 0 0 1-.4-.896c.052-.028.308.328.572.8.197.266.334.572.4.896M165.992 138.617c.04.044-.248.4-.64.772s-.74.664-.8.624.248-.4.64-.772.76-.664.8-.624\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M165.76 134.21c-.044.04-.308-.176-.592-.484s-.48-.588-.44-.628.308.18.592.484.48.588.44.628M166.5 128.578c.044.036-.196.372-.532.748s-.644.648-.684.608.192-.372.528-.748.624-.648.688-.608M166.9 124.484c-.044.044-.376-.216-.744-.58s-.636-.692-.596-.732.372.22.744.584.624.688.596.728M167.7 118.963c-.06.3-.187.583-.372.828-.256.424-.5.748-.552.72.063-.3.189-.582.372-.828.24-.428.488-.752.552-.72M169.184 113.838c.052.028-.096.4-.328.828s-.46.756-.512.732.096-.4.328-.828.464-.76.512-.732M170.9 116.164c.028.052-.208.216-.52.364s-.584.228-.612.176.212-.216.524-.364.572-.228.608-.176M170.932 134.556a2.3 2.3 0 0 1-1.14-.276 2.33 2.33 0 0 1-.992-.632q1.076.434 2.132.908M170.236 138.456c0 .056-.344.168-.8.256a1.7 1.7 0 0 1-.82.052c0-.056.34-.172.8-.256s.808-.108.82-.052M169.38 145.136a3.32 3.32 0 0 1-1.448-1.824q.401.425.72.912.403.425.728.912M160.008 148.19c-.04-.044.2-.308.528-.588s.628-.476.664-.432-.2.308-.528.592-.628.472-.664.428\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M157.3 133.604c-.38-1.2-1.092-2.564-2.336-2.584a2.072 2.072 0 0 0-1.748 1.172 4.33 4.33 0 0 0-.472 2.144 56 56 0 0 0 2.672 15.528h4.564a54 54 0 0 0-2.68-16.26M149.08 126.153c-.636-2.548-2.532-3.92-4.736-4.048-2 .352-2.8 2.332-3.032 4.36s.4 4.048 1.012 6a27319 27319 0 0 0 6 18.74l5.664-.62c-1.8-8.372-2.832-16.128-4.908-24.432\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M154.976 131.027q-.223.308-.4.644a4.26 4.26 0 0 0-.212 2c.088.868.188 1.908.332 3.052s.352 2.4.608 3.704c.516 2.612 1.096 4.96 1.464 6.672.188.852.328 1.548.4 2.028.036.22.068.4.096.556q.021.097.02.196a.8.8 0 0 1-.064-.188l-.132-.548-.48-2c-.4-1.7-1.008-4.044-1.524-6.664a53 53 0 0 1-.596-3.72c-.072-.576-.12-1.124-.168-1.636s-.096-.988-.12-1.428a4.14 4.14 0 0 1 .288-2.056c.117-.236.283-.445.488-.612M144.424 121.945a7.6 7.6 0 0 0-.684.916 6.5 6.5 0 0 0-.864 2.964 13.7 13.7 0 0 0 .704 4.576c.496 1.684 1.04 3.536 1.6 5.476 1.128 3.88 2.148 7.396 2.896 9.964l.856 3.024.224.828q.043.145.064.292a1.6 1.6 0 0 1-.104-.28c-.068-.208-.152-.476-.26-.8l-.92-3.008c-.764-2.564-1.804-6.072-2.956-9.944l-1.6-5.484a13.6 13.6 0 0 1-.66-4.62 6.33 6.33 0 0 1 .94-2.996c.199-.345.458-.653.764-.908M152.744 149.979a1.3 1.3 0 0 1-.128-.272c-.076-.18-.196-.444-.324-.8a33 33 0 0 1-.972-3.008 64 64 0 0 1-1.056-4.564c-.34-1.728-.688-3.636-1.068-5.636s-.832-3.88-1.34-5.56a30.5 30.5 0 0 0-1.652-4.364 23 23 0 0 0-1.524-2.752c-.196-.316-.372-.548-.48-.712a1.5 1.5 0 0 1-.156-.256q.107.108.192.232c.116.156.304.38.508.692a20 20 0 0 1 1.6 2.732 29 29 0 0 1 1.704 4.372 56 56 0 0 1 1.36 5.576c.376 2 .728 3.904 1.052 5.636s.668 3.28 1.008 4.568.664 2.316.908 3.016c.116.356.224.624.288.8q.056.145.08.3M142.424 131.524c0 .056-.292.18-.688.276s-.724.128-.736.072.296-.18.688-.276.724-.128.736-.072M141.824 127.66a3 3 0 0 1-.956.104 2.9 2.9 0 0 1-.96-.028c.297-.139.625-.201.952-.18a1.93 1.93 0 0 1 .964.104M142.464 124.128c-.04.044-.344-.156-.688-.444s-.588-.56-.552-.604.344.156.688.444.588.56.552.604M144.192 120.86c.056 0 .04.288.032.624s0 .608-.068.616-.152-.268-.14-.624.12-.628.176-.616M147.72 122.401c.048.036-.092.312-.308.624s-.432.536-.48.504.092-.312.308-.624.432-.536.48-.504M150.012 126.402c.02.056-.272.224-.656.38s-.712.24-.732.188.272-.224.652-.38.712-.26.736-.188M151.4 130.477a1.7 1.7 0 0 1-.896.4 1.73 1.73 0 0 1-.98.032c.299-.12.613-.199.932-.236.305-.106.623-.172.944-.196\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M145.02 129.314c-.056 0 0-.3.088-.632s.236-.584.288-.568 0 .3-.088.632-.232.588-.288.568M145.912 134.454c-.056-.02.06-.4.256-.848s.4-.8.444-.768-.06.4-.256.848-.392.792-.444.768M143.7 135.862c-.024.056-.38-.044-.8-.18s-.8-.26-.772-.316c.285-.039.574.002.836.12.44.136.768.324.736.376M144.98 140.053c.032.048-.208.276-.544.516s-.628.4-.66.344.208-.276.54-.516.628-.396.664-.344M145.996 144.235c0 .056-.288.176-.672.268s-.704.124-.716.068.284-.176.668-.268.708-.124.72-.068M151.512 133.969c.032.048-.228.252-.6.4s-.7.156-.712.1.284-.16.64-.296.644-.256.672-.204M152.3 140.468c-.024.052-.328-.04-.68-.204s-.62-.344-.596-.4.332.04.684.204.616.332.592.4M153.7 145.121a4.2 4.2 0 0 1-1.728-.676c.315.013.624.095.904.24.468.188.824.384.824.436M146.22 148.767c-.028-.052.34-.3.772-.64q.364-.348.8-.6c.044.04-.228.4-.676.764a1.8 1.8 0 0 1-.896.476M149.896 146.402c-.056 0-.136-.308-.28-.668s-.288-.652-.24-.684.284.216.436.608.14.744.084.744M148.924 140.8c-.036.048-.272-.068-.532-.252s-.444-.376-.4-.424.268.068.528.256.436.376.404.42M157.496 132.037c.036.048-.196.276-.516.512s-.608.4-.64.34.196-.272.516-.508.608-.38.64-.344M158.788 135.569c0 .056-.356.132-.8.084s-.8-.2-.768-.252.364 0 .8.044c.261-.001.521.041.768.124M153.236 136.362c0 .056-.324.176-.76.204s-.78-.044-.776-.1.348-.08.764-.108.76-.052.772.004M153.7 133.023c0 .056-.344.064-.716-.108s-.584-.432-.544-.472.292.132.632.284.648.236.628.296M159.268 139.362c-.032.052-.38-.112-.776-.364s-.696-.492-.664-.54.376.112.772.364.7.492.668.54\"\r\n ></path>\r\n <path fill=\"#0B89CE\" d=\"M172.82 149.277h-29.636v5.252h29.636z\"></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M145.396 153.488 149 169.184h17.664l3.944-15.696z\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M172.804 154.538c0 .056-6.684.104-14.928.104s-14.932-.048-14.932-.104 6.684-.104 14.932-.104 14.928.044 14.928.104M156.324 136.479c-.052.032-.252-.204-.456-.528s-.324-.608-.272-.636.248.204.452.528.324.604.276.636M156.332 140.704c-.013-.275.04-.549.156-.8.14-.42.3-.748.352-.732s0 .376-.156.8-.296.748-.352.732M157.78 145.142c-.052.024-.272-.332-.496-.8a2.2 2.2 0 0 1-.304-.884c.052-.024.272.332.492.8.167.268.272.57.308.884M154.648 148.709c-.04-.036.136-.312.4-.612s.508-.516.552-.48-.132.312-.4.616-.508.512-.552.476M153.992 142.229c0 .056-.296.052-.636 0s-.612-.156-.6-.212.296-.052.636 0 .612.156.6.212\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"m114.388 163.91 9.876 9.016s12.56-7.016 14.468-5.524l-16.78 19-15.328-13.408z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M118.5 177.653a1.04 1.04 0 0 0 .4 1.316 1 1 0 0 0 1.312-.4 1.09 1.09 0 0 0-.444-1.392c-.468-.192-1.2.068-1.316.564\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"m121.952 186.4-1.492-1.412 16.648-17.672s1.116-.52 1.624.104zM124.676 172.45c.088.084-.28.588-.4 1.308s.068 1.304-.044 1.356-.524-.556-.38-1.424.756-1.336.824-1.24M127.26 170.854c.108.06-.092.6.024 1.26s.448 1.12.36 1.2-.66-.316-.8-1.14.324-1.396.416-1.32M130.64 171.828c-.052.1-.632-.18-.928-.864s-.116-1.3 0-1.272.144.536.4 1.096.6.94.528 1.04\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M102.312 173.572c-.724-.6-1.7-.776-2.632-.932.708-5.048-2.8-9.656-6.476-13.2-4.592-4.46-9.896-8.4-16.048-10.192-5.556-1.6-11.456-1.324-17.232-1.032l-23.688 1.2c-8.08 2.828-14.896 11.2-16.308 19.652a2.775 2.775 0 0 0-4 .44 2.957 2.957 0 0 0 .868 4.02 3.16 3.16 0 0 0 4.088-.844 51.3 51.3 0 0 0 36.068 5.568c3.804-.828 7.512-2.092 11.336-2.824a83 83 0 0 1 8.588-1.028l16.272-1.384 6.36 3.032c1.06.504 2.5.94 3.26.044.608-.74.272-1.916-.456-2.52\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M83.648 170.713a1 1 0 0 1-.152.024l-.46.056-1.76.184c-.76.096-1.692.232-2.772.4s-2.304.376-3.652.652c-2.7.516-5.888 1.248-9.436 2.048s-7.46 1.652-11.628 2.2c-3.92.531-7.888.597-11.824.196a53.6 53.6 0 0 1-9.44-2.072 87 87 0 0 1-6.144-2.168 88 88 0 0 1-1.644-.66l-.424-.18a.7.7 0 0 1-.14-.068q.076.016.148.048l.432.16 1.656.624c1.444.536 3.532 1.304 6.16 2.1a54 54 0 0 0 9.42 2 50.5 50.5 0 0 0 11.776-.212c4.152-.544 8.06-1.396 11.6-2.176s6.748-1.512 9.452-2c1.352-.268 2.584-.444 3.66-.62s2-.268 2.8-.352l1.764-.148.46-.032a.7.7 0 0 1 .148-.004\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M43.104 179.152c-.02 0-.136-.124-.224-.4a1.866 1.866 0 0 1 .628-2.02c.228-.176.4-.224.4-.204s-.128.124-.316.312a2.09 2.09 0 0 0-.58 1.876c.056.264.12.424.092.436M41.08 178.071a1.14 1.14 0 0 1 .036-1.048c.244-.572.728-.8.744-.74s-.344.32-.556.824q-.15.473-.224.964M34.28 161.434c.04 0-.344.712-.736 1.92a10 10 0 0 0-.284.996c-.1.36-.164.756-.24 1.168a14.6 14.6 0 0 0 .156 5.412c.1.4.188.8.308 1.152s.224.684.336.98c.468 1.2.888 1.852.848 1.876a3 3 0 0 1-.304-.468 5 5 0 0 1-.312-.572c-.112-.228-.252-.484-.368-.8a10 10 0 0 1-.364-.98c-.132-.356-.224-.748-.332-1.16a13.9 13.9 0 0 1-.156-5.488c.084-.4.152-.8.26-1.176s.204-.7.312-1.004.22-.568.316-.8q.124-.304.284-.588.115-.248.276-.468M43.376 160.274a7 7 0 0 0-1.816.856c-.52.424-.978.921-1.356 1.476.035-.202.116-.394.236-.56a3.83 3.83 0 0 1 2.328-1.712c.195-.068.404-.088.608-.06M44.548 170.137a1.6 1.6 0 0 1-.176-.364 3 3 0 0 1-.16-.448 6 6 0 0 1-.168-.608 8.3 8.3 0 0 1-.2-1.628 9.4 9.4 0 0 1 .184-2 9.5 9.5 0 0 1 .636-1.908q.35-.746.84-1.408.187-.255.4-.488.153-.183.328-.344c.188-.18.296-.276.308-.264s-.4.424-.912 1.18a9 9 0 0 0-.8 1.404 9.2 9.2 0 0 0-.648 5.428c.184.912.408 1.432.368 1.448M20.92 168.575c.056-.02.272.504.7 1.04s.888.872.852.924a2.75 2.75 0 0 1-1.552-1.964M75.952 174.4c0-.032.168-.096.4-.288.288-.243.477-.583.532-.956a1.58 1.58 0 0 0-.272-1.06c-.164-.244-.324-.352-.304-.38s.204.048.4.288a1.54 1.54 0 0 1 .364 1.176 1.51 1.51 0 0 1-.652 1.048c-.26.172-.464.2-.468.172M79.62 173.71a6 6 0 0 0-.168-1.128 6 6 0 0 0-.552-.98 1.41 1.41 0 0 1 .752.932 1.38 1.38 0 0 1-.032 1.176M72.26 155.852q.238.25.432.536.251.316.456.664.296.446.536.924.139.264.284.552c.096.192.176.4.268.62q.29.686.508 1.4a16.6 16.6 0 0 1 .612 3.356 16.4 16.4 0 0 1-.156 3.404q-.117.738-.312 1.46c-.064.224-.112.444-.18.648s-.14.4-.208.588q-.174.504-.4.988a6 6 0 0 1-.364.72q-.151.31-.356.588c-.044-.024.476-.86.988-2.344q.096-.28.192-.588c.068-.204.112-.424.168-.644.128-.444.2-.932.292-1.444.155-1.115.2-2.241.136-3.364a17 17 0 0 0-.588-3.312c-.16-.492-.296-.968-.484-1.392-.088-.212-.16-.424-.252-.616l-.268-.552c-.72-1.404-1.348-2.164-1.304-2.192\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M26.072 172.002c0 .032-.128.124-.312.316a2.16 2.16 0 0 0-.544 1.908c.056.26.132.4.1.432s-.144-.12-.244-.4a1.87 1.87 0 0 1 0-1.12c.1-.367.311-.694.604-.936.212-.18.388-.224.396-.2M32.26 151.355s-.048.064-.148.172l-.46.472a12 12 0 0 0-.712.728c-.264.296-.588.616-.896 1.008-.156.196-.324.4-.496.604s-.332.448-.508.684c-.356.464-.688 1-1.044 1.552a24.1 24.1 0 0 0-3.128 7.948c-.116.652-.236 1.268-.292 1.852-.032.292-.076.572-.092.844l-.048.8c-.044.496-.028.948-.032 1.344q-.015.512.024 1.02c0 .26 0 .472.028.644q.01.115 0 .228a1 1 0 0 1-.04-.224c0-.168-.04-.4-.064-.644a9 9 0 0 1-.06-1.02c0-.4-.032-.852 0-1.356 0-.252.024-.516.036-.8s.052-.556.08-.852c.048-.592.164-1.2.276-1.868a23.4 23.4 0 0 1 3.152-8c.364-.556.704-1.092 1.072-1.556.18-.232.34-.468.516-.68l.516-.6c.316-.4.644-.704.92-.992a10 10 0 0 1 .74-.708l.5-.46q.074-.077.16-.14M46.552 148.996q-.126.09-.264.16c-.172.104-.444.228-.764.436a16 16 0 0 0-2.584 1.94 18.2 18.2 0 0 0-3.044 3.668 21 21 0 0 0-2.376 5.348 29.1 29.1 0 0 0-.8 10.596c.132 1.364.3 2.46.428 3.2l.144.872q.034.15.04.304a1.5 1.5 0 0 1-.08-.296c-.044-.2-.116-.488-.184-.864a38 38 0 0 1-.492-3.2 32 32 0 0 1-.176-4.824c.074-1.976.377-3.938.904-5.844a20.5 20.5 0 0 1 2.4-5.392 17.6 17.6 0 0 1 3.112-3.692 14.6 14.6 0 0 1 2.64-1.904c.328-.196.608-.308.8-.4a2 2 0 0 1 .296-.108M32.856 174.509c.024.024-.112.164-.264.424a2.5 2.5 0 0 0-.328 1.112c-.017.393.055.784.212 1.144.124.272.248.424.22.448s-.18-.104-.348-.38a2.2 2.2 0 0 1-.292-1.22c.014-.43.153-.847.4-1.2.212-.244.388-.344.4-.328M49.14 179.299c0 .024-.2.032-.484-.1a1.573 1.573 0 0 1-.764-2.08c.132-.288.288-.4.308-.4q-.075.226-.172.444a1.72 1.72 0 0 0 0 1.072c.133.343.375.634.688.828.252.16.432.204.424.236M56.54 148.094c.056 0-.26 6.224-.712 13.896s-.86 13.884-.916 13.884.26-6.224.708-13.896.88-13.888.92-13.884M64.632 176.352c-.06 0-.088-.525-.312-1.117s-.536-1.011-.488-1.047c.334.236.575.581.684.976.177.37.218.79.116 1.188M66.136 148.836s.08.048.216.156.336.26.576.484q1.043.926 1.932 2a19.49 19.49 0 0 1 3.976 17.252c-.221.9-.51 1.783-.864 2.64-.12.304-.236.532-.308.688a1 1 0 0 1-.124.232q.03-.128.084-.248c.06-.164.164-.4.272-.7q.489-1.296.8-2.644a19.86 19.86 0 0 0-3.944-17.124 21 21 0 0 0-1.872-2.028c-.232-.232-.428-.4-.552-.512a1.6 1.6 0 0 1-.192-.196M84.1 173.731a15 15 0 0 0-.592-1.6 14 14 0 0 0-.948-1.404 3.68 3.68 0 0 1 1.54 2.992zM92.1 168.801s.236.092.5.4a2.84 2.84 0 0 1 .496 2.896c-.152.364-.324.544-.344.528s.096-.22.204-.576c.14-.464.17-.955.088-1.432a3.2 3.2 0 0 0-.556-1.324c-.216-.3-.388-.452-.388-.492M87.065 154.602q.131.253.207.528c.128.344.284.848.456 1.48a27.8 27.8 0 0 1 .8 10.14 21 21 0 0 1-.216 1.532 2.7 2.7 0 0 1-.127.556 3.4 3.4 0 0 1 .043-.564c.049-.364.1-.888.157-1.536a31.8 31.8 0 0 0-.8-10.092 23 23 0 0 0-.4-1.492 3.4 3.4 0 0 1-.12-.552\"\r\n ></path>\r\n <path\r\n fill=\"#000\"\r\n d=\"M88.16 152.861c-15.224-10.488-39.02-10.06-55.26-1.904-.368 4.872 2.996 9.776 7.676 11.18 3.6 1.076 7.744.308 10.9 2.324 1.964 1.252 3.316 3.468 5.532 4.184 2.152.696 4.512-.256 6.34-1.6s3.368-3.06 5.308-4.232c4.684-2.844 10.604-1.948 16.076-1.6 2.68.176 6.14-.36 6.748-2.98.5-2.176-1.472-4.1-3.32-5.372\"\r\n opacity=\"0.3\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"m86.952 112.723 2.4 10 4.748 4.632-7.744 1.6s-5.476-.648-6.464-2-2.4-12.108-2.4-12.108z\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"m69.064 84.034 8.032 2.844.312 38s-11.456 10-12.148 9.912-28.456 8.712-29.2 10.344c0 0-3.432-.528-3.432-2.564 0-3.344 3.2-5.24 3.2-5.24.504-3.756 3.696-8.132 3.696-8.352 0-1.56-1.472-11.352-1.472-11.352S37.9 93.07 42.808 87.894c6.092-6.44 26.256-3.86 26.256-3.86\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M89.34 112.034s-6.964-25.06-12.888-25.272l.652 29.952s10.596-1.824 12.236-4.68\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"m102.9 114.213 1.532-2.228a.7.7 0 0 1 .176-.192.55.55 0 0 1 .32-.068 4.4 4.4 0 0 1 1.972.676l1.628.86a.4.4 0 0 1 .128.088.32.32 0 0 1-.076.444.9.9 0 0 1-.472.148c-1.632.204-3.276.34-4.92.4-.108 0-.248 0-.28-.116\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"m112.72 114.332-10.888 10.964-23.528 5.356L84.772 118a3.23 3.23 0 0 1 2.436-1.736c4.776-.644 18.54-2.516 24.66-3.532a.96.96 0 0 1 1.002.493.96.96 0 0 1-.15 1.107\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M112.72 114.332s.048-.056.12-.18a.9.9 0 0 0 .108-.604.94.94 0 0 0-.608-.748 1.1 1.1 0 0 0-.636 0l-.744.124c-2.104.352-5.152.8-8.92 1.364s-8.26 1.2-13.252 1.864c-.616.092-1.268.156-1.88.276a3.08 3.08 0 0 0-1.6.96c-.213.24-.39.51-.528.8l-.456.892-.924 1.812c-1.248 2.44-2.54 4.968-3.86 7.556l-1.148 2.24-.116-.148 23.532-5.332-.04.02 7.98-8c.944-.94 1.68-1.672 2.192-2.176l.56-.532c.132-.128.204-.188.204-.188s-.06.072-.184.204l-.56.58-2.16 2.208-7.928 8.028h-.024l-23.52 5.376-.228.072.1-.2q.566-1.105 1.144-2.24l3.876-7.56c.312-.608.624-1.2.928-1.812l.46-.892a3.316 3.316 0 0 1 2.256-1.872c.652-.124 1.272-.18 1.9-.272l13.256-1.82c3.772-.532 6.82-.972 8.924-1.3l.748-.116c.22-.06.452-.053.668.02a.98.98 0 0 1 .628.8.9.9 0 0 1-.132.62.7.7 0 0 1-.136.176\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M95.024 121.883c.068.496.8.8 1.6.704s1.44-.6 1.376-1.096-.8-.8-1.6-.704-1.44.596-1.376 1.096\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M96.32 122.622c-.692 0-1.248-.3-1.304-.736a.8.8 0 0 1 .356-.704c.301-.222.656-.36 1.028-.4.37-.057.749-.013 1.096.128a.694.694 0 0 1 .172 1.288 2.13 2.13 0 0 1-1.028.4 2 2 0 0 1-.32.024m.4-1.844q-.162 0-.324.02a2.07 2.07 0 0 0-1.016.4.76.76 0 0 0-.352.684c.064.492.8.8 1.6.696.37-.039.722-.178 1.02-.4a.68.68 0 0 0 .345-.686.68.68 0 0 0-.513-.57 1.9 1.9 0 0 0-.752-.144z\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M85.336 119.973q.026-.147.088-.284c.072-.184.18-.452.344-.8.192-.415.449-.797.76-1.132.4-.4 1.04-.52 1.684-.628 2.616-.448 6.228-1.076 10.236-1.68l2.92-.448c.948-.12 1.864-.212 2.736-.312l4.636-.508c1.312-.148 2.36-.4 3.096-.508.364-.06.652-.096.848-.116q.149-.012.296 0a1.5 1.5 0 0 1-.292.056 30 30 0 0 0-.84.156c-.728.132-1.768.4-3.092.572l-4.628.552c-.872.104-1.784.204-2.732.324l-2.92.456c-4 .604-7.6 1.2-10.24 1.6a3.06 3.06 0 0 0-1.632.568 4.5 4.5 0 0 0-.764 1.084 11 11 0 0 0-.376.768 2 2 0 0 1-.128.28\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M73.332 121.495s4.336-2.684 5.736-3.244 4-.28 4.6-.84l2-1.852s1.12 1.176.4 2.244-3.476 2.464-3.476 2.464l9.644-.64s.728.528.336 1.144c0 0 .68.732.116 1.46s-7.42 6.54-9.572 6.716-8.38-.968-8.38-.968zM51.7 117.422l.8 8.552s17.808-3.288 20.8-4.48l1.412 6.484s-23.728 11.148-29.092 10.8-7.028-20.776-7.028-20.776z\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M82.377 122.402q.779.034 1.552.148a11 11 0 0 0 3.707-.132 16 16 0 0 0 1.937-.684l1.58-.612q.668-.26 1.067-.4.194-.082.4-.12-.172.124-.371.196c-.245.112-.605.268-1.048.456l-1.56.656q-.957.421-1.96.708a10.1 10.1 0 0 1-3.776.072c-.477-.064-.86-.132-1.124-.188a1.4 1.4 0 0 1-.405-.1M83.452 125.547c0-.04.604.032 1.568 0a5.3 5.3 0 0 0 1.652-.292 10.6 10.6 0 0 0 1.856-.912c.636-.376 1.24-.756 1.82-1.048s1.1-.532 1.516-.776c.45-.264.86-.588 1.22-.964a1.1 1.1 0 0 1-.244.352 4.4 4.4 0 0 1-.9.736c-.4.268-.94.524-1.504.82s-1.16.68-1.804 1.06a9.6 9.6 0 0 1-1.9.912 5 5 0 0 1-1.708.26 9 9 0 0 1-1.156-.088 1.8 1.8 0 0 1-.416-.06M79.204 122.176c-.024 0-.112-.112-.148-.348a1.7 1.7 0 0 1 .14-.896c.128-.273.3-.522.512-.736.156-.16.272-.244.292-.224s-.336.456-.612 1.048a2 2 0 0 0-.184.8c-.004.212.028.348 0 .356M79.88 124.867c0 .024-.104 0-.212-.084a.91.91 0 0 1-.264-1c.052-.128.12-.188.14-.176s-.06.32.036.664.328.532.3.596\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M74.744 127.978h.108l.316.048 1.2.188c1.064.156 2.604.4 4.544.584.484.036.996.08 1.524.084h.4q.204.007.4-.04.415-.083.8-.256a20 20 0 0 0 3.148-1.932 61 61 0 0 0 3.272-2.544c.552-.468 1.12-.944 1.668-1.452.26-.268.58-.5.656-.84a1.12 1.12 0 0 0-.284-.976l-.052-.06.04-.064a.58.58 0 0 0 .06-.528 1.16 1.16 0 0 0-.368-.48l.064.02-3.64.24-6 .4-.472.032.4-.224a16.4 16.4 0 0 0 2.916-1.872q.312-.26.548-.592a1.24 1.24 0 0 0 .208-.724 2.3 2.3 0 0 0-.608-1.364h.128l-1.14 1.04-.552.5c-.17.185-.37.34-.592.46-.453.146-.924.23-1.4.248-.452.04-.892.068-1.316.108a8.6 8.6 0 0 0-1.2.196 5.3 5.3 0 0 0-1.06.4c-.66.332-1.256.664-1.792.964a142 142 0 0 0-2.472 1.432l-.652.38-.168.096-.06.028.052-.044.16-.104.636-.4c.564-.348 1.388-.856 2.452-1.476a41 41 0 0 1 1.784-.984 5.2 5.2 0 0 1 1.084-.436 8 8 0 0 1 1.232-.208c.428-.048.868-.076 1.32-.116.457-.022.91-.106 1.344-.248.205-.112.389-.258.544-.432l.548-.504 1.136-1.044.068-.064.06.068c.384.406.618.931.664 1.488.008.295-.074.585-.236.832q-.247.357-.58.636a16.4 16.4 0 0 1-2.952 1.904l-.052-.192 6-.4 3.64-.24h.04l.028.02c.198.148.351.347.444.576a.8.8 0 0 1-.084.708v-.124a1.31 1.31 0 0 1 .336 1.164 1.17 1.17 0 0 1-.312.532c-.132.148-.272.268-.4.4-.556.516-1.124.992-1.68 1.456a59 59 0 0 1-3.292 2.54 20 20 0 0 1-3.2 1.932q-.398.182-.828.264a2 2 0 0 1-.4.04h-.4c-.54 0-1.048-.052-1.536-.096-1.944-.2-3.484-.468-4.544-.644l-1.2-.224-.312-.064zM109.904 117.172c-2.42.928-5.392 1.856-7.812 2.608a1.9 1.9 0 0 0-.876.452.665.665 0 0 0-.056.896.97.97 0 0 0 .756.156l1.78-.124a13 13 0 0 0-3.804 1.824c-.308.216-.636.504-.628.88a.83.83 0 0 0 .676.712c.349.053.706.028 1.044-.072q3.3-.732 6.568-1.628a1.94 1.94 0 0 0 1.436-1.12l1.012-1.6a2.7 2.7 0 0 0 .484-1.116 2.28 2.28 0 0 0-.58-1.852\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"m52.388 104.126-7.2-17.364-.164-.528c-.632.38-6.6 4.096-7.82 10.4s-.8 21.312-.8 21.312l16.12-.52z\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M36.84 99a.4.4 0 0 1 0 .096c0 .072 0 .16-.032.272-.028.24-.084.596-.132 1.056a62 62 0 0 0-.288 3.96c-.14 3.376-.136 8.124.112 13.552l-.1-.096c1.756 0 3.6 0 5.516-.036 3.932-.088 7.648-.3 10.88-.56l-.088.088c.188-4.032-.204-7.42-.336-9.804a75 75 0 0 1-.132-2.776v-.736a2 2 0 0 1 0-.252q.02.125.024.252 0 .271.036.732c.036.644.092 1.6.184 2.772.16 2.376.58 5.768.4 9.82v.084h-.08c-3.236.276-6.952.496-10.892.584-1.908.044-3.764.052-5.524.032h-.096v-.096c-.24-5.44-.212-10.188-.036-13.572.084-1.692.228-3.036.344-3.96.06-.46.128-.8.168-1.052 0-.112.036-.2.048-.272A.3.3 0 0 1 36.84 99M45.996 86.691q.209.04.4.128.23.084.448.196.293.135.568.3.732.424 1.376.968c1.053.895 1.907 2 2.508 3.244a9.4 9.4 0 0 1 .736 2.204q.056.238.076.48.038.199.028.4c-.04 0-.112-.584-.4-1.484a10.6 10.6 0 0 0-.62-1.532q-.463-.9-1.076-1.708a11 11 0 0 0-1.384-1.472 10 10 0 0 0-1.328-.988c-.8-.484-1.348-.7-1.332-.736M75.912 95.457s.052.06.124.192.188.32.316.572q.548 1.074.972 2.2a28 28 0 0 1 1.736 7.728 19.5 19.5 0 0 1-.16 4.372 31 31 0 0 1-.84 3.48 50 50 0 0 0-.596 2.324l-.148.636a1 1 0 0 1-.064.22.8.8 0 0 1 .024-.228c.024-.148.052-.368.108-.644.1-.56.28-1.364.536-2.344q.48-1.713.78-3.464c.206-1.433.257-2.884.152-4.328a29.6 29.6 0 0 0-1.664-7.692 28 28 0 0 0-.908-2.216c-.112-.24-.208-.436-.28-.588a1 1 0 0 1-.088-.22M70.42 106q.062.26.068.528c0 .172.032.38.032.628v.828a13 13 0 0 1-.288 2.148 15.3 15.3 0 0 1-.8 2.524q-.539 1.217-1.284 2.32-.616.895-1.372 1.676a8 8 0 0 1-.596.58 6 6 0 0 1-.476.4q-.201.178-.436.312c-.028-.032.58-.496 1.4-1.396q.721-.793 1.32-1.684.72-1.097 1.252-2.296c.333-.805.6-1.636.8-2.484q.244-1.044.328-2.112c.084-1.2.008-1.972.052-1.972\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M52.436 117.379s-.068-.04-.184-.136l-.5-.42a69 69 0 0 1-1.804-1.6 202 202 0 0 1-5.784-5.42 193 193 0 0 1-5.56-5.648c-.696-.74-1.252-1.34-1.632-1.764l-.432-.488a1 1 0 0 1-.14-.18q.094.066.172.152l.46.46 1.68 1.72a333 333 0 0 0 5.6 5.6 341 341 0 0 0 5.736 5.456l1.76 1.636.472.448q.088.083.156.184M78.308 88.145c.04.04-5.7 5.404-12.8 11.972s-12.932 11.884-12.972 11.82 5.696-5.4 12.8-11.972S78.272 88.1 78.308 88.145M89.028 110.402a2 2 0 0 1-.428-.168c-.272-.12-.66-.3-1.136-.532a74 74 0 0 1-3.672-1.912 78 78 0 0 1-3.568-2.1c-.448-.284-.8-.516-1.056-.684a1.8 1.8 0 0 1-.368-.276q.211.083.4.208l1.088.624a190 190 0 0 0 7.236 4.008l1.108.592q.214.095.396.24\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M57.5 47.845c-1.556-.988-1.932-3.276-1.088-4.912s2.628-2.632 4.448-2.928a8.48 8.48 0 0 1 7.304 2.4c1 1.036 1.816 2.4 3.176 2.856 1.2.4 2.52.04 3.776.204 1.68.216 3.124 1.412 4 2.876s1.22 3.164 1.42 4.852c.18 1.548.3 3.244 1.376 4.372s2.7 1.336 4 2.12c2.452 1.472 3.244 5.124 1.628 7.48-.516.752-1.256 1.44-1.316 2.352-.052.828.484 1.568.736 2.36.644 2.044-1.028 4.468-3.164 4.592-1.08.064-2.236-.36-3.2.124s-1.32 1.64-1.936 2.52a4.62 4.62 0 0 1-5.636 1.456c-.8-.4-1.544-1.032-2.428-.972s-1.572.8-2.44.976c-1.132.22-2.212-.616-2.884-1.552s-1.144-2.044-2-2.8c-1.132-1.004-2.72-1.252-4.152-1.748a11.7 11.7 0 0 1-6.608-16.4\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M73.948 68.175a3.2 3.2 0 0 1 1.264-.832h-.096q.132-.033.268-.048a1.26 1.26 0 0 1 .988.124c.55.196 1.007.594 1.276 1.112a2.76 2.76 0 0 1-.328 2.844 2.108 2.108 0 0 1-3.872-.724 2.62 2.62 0 0 1 .5-2.476\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M75.392 56.965c-.4-4.38-3.46-9.684-7.824-9.1l-13.56 3.84A2.58 2.58 0 0 0 51.78 54.4l1.472 29.524 14.964 10.724c-.044-2.66.964-14.764.964-14.74s5.6-1.088 6.536-8.44c.476-3.676.124-9.636-.324-14.504\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M74.692 63.2a.936.936 0 0 1-.88.972.897.897 0 0 1-.992-.8.935.935 0 0 1 .88-.972.896.896 0 0 1 .992.8M74.188 60.105c-.116.128-.84-.38-1.848-.348s-1.736.556-1.852.436c-.052-.052.06-.276.376-.52.427-.317.941-.493 1.472-.504a2.48 2.48 0 0 1 1.476.432c.32.228.432.448.376.504M64.972 63.2a.936.936 0 0 1-.876.972.897.897 0 0 1-.992-.8.936.936 0 0 1 .876-.972.896.896 0 0 1 .992.8M64.268 60.578c-.116.124-.84-.38-1.852-.348s-1.736.556-1.848.436c-.056-.056.056-.28.372-.524.43-.313.945-.488 1.476-.5a2.46 2.46 0 0 1 1.476.432c.316.228.428.448.376.504M68.144 67.96c0-.057.616-.185 1.632-.345.256-.032.5-.092.536-.268a1.3 1.3 0 0 0-.192-.76q-.4-.924-.82-1.94c-1.136-2.768-1.968-5.044-1.856-5.088s1.124 2.16 2.264 4.924c.272.684.536 1.332.8 1.956.173.306.23.663.164 1.008a.64.64 0 0 1-.4.4q-.215.066-.44.076c-1.048.076-1.684.076-1.688.036\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M69.18 79.89a18.6 18.6 0 0 1-9.88-2.335s2.52 4.96 9.824 4.068zM68.064 70.365a2.5 2.5 0 0 0-2.08-1.028 1.63 1.63 0 0 0-1.308.764 1.57 1.57 0 0 0 .072 1.628 1.545 1.545 0 0 0 1.656.544 3.65 3.65 0 0 0 1.46-.96c.132-.109.237-.246.308-.4a.51.51 0 0 0-.052-.512\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M65.192 68.746c.164 0 .196 1.08 1.156 1.832s2.124.596 2.136.752c0 .068-.252.22-.744.248a2.75 2.75 0 0 1-1.784-.568 2.4 2.4 0 0 1-.9-1.536c-.056-.46.06-.732.136-.728M64.596 56.402c-.092.28-1.104.176-2.288.352s-2.128.528-2.292.288c-.072-.116.084-.4.464-.656a4 4 0 0 1 3.488-.488c.44.168.664.376.628.504M73.732 56.64c-.172.232-.872 0-1.708.028s-1.544.196-1.712-.036c-.076-.116.032-.348.332-.576a2.49 2.49 0 0 1 2.756 0c.3.236.408.468.332.584\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M80.324 55.428a5.04 5.04 0 0 0-1.928-2.772 17 17 0 0 1-1.628-.948c-1.06-.852-1.304-2.336-1.956-3.528a5.54 5.54 0 0 0-4.212-2.8c-1.448-.148-2.944.288-4.356-.068-1.044-.264-1.956-.94-3.016-1.144-2.06-.4-3.976 1.088-5.472 2.56 0 1.476 1.172 2.464 2.3 3.412a5.13 5.13 0 0 0 4.144 1.092c1.128-.204 2.36-.776 3.336-.176s1.068 2.176 1.976 2.968c1.3 1.128 3.368.068 5.016.556 1.272.38 2.068 1.6 2.916 2.62s2.112 2 3.388 1.62a15 15 0 0 0-.508-3.392\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M64.848 49.202c-.924-.268-2.8-.864-3.308-1.664-1.076-1.744-2.976-2.932-4.916-2.824a4.66 4.66 0 0 0-4.196 3.688 6.7 6.7 0 0 0-5.76 3.708 7 7 0 0 0-.368.86 5.1 5.1 0 0 0-.34 4.28c.32.836.864 1.764.436 2.548s-1.544.824-2.4 1.12a3.39 3.39 0 0 0-2.132 3.78c.12.556.4 1.112.268 1.668s-.612.988-.996 1.44a4.218 4.218 0 0 0 2.472 6.86c.66.116 1.372.092 1.94.44.652.4.936 1.2 1.4 1.8a3.64 3.64 0 0 0 3.936 1.232c.284-.095.554-.23.8-.4.44.608 1.132 1.024 2.312 1.024l-.296-15.44a1.27 1.27 0 0 0 .932.736c2.476.56 2.84-4.544 2.288-5.928a14.4 14.4 0 0 0 2.484-2.612c.684-1.012 1.284-3.764 1.14-5.008.908.052 4.712-1.2 4.304-1.308\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M54.396 64.577c-.076-1.568-2-1.904-3.356-1.116-.748.432-1.316 1.296-1.248 2.964.184 4.44 4.6 3.34 4.604 3.2s.104-3.224 0-5.048\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M52.972 68c-.02 0-.076.06-.204.123a.8.8 0 0 1-.58.036c-.476-.152-.9-.88-.956-1.68-.026-.38.033-.76.172-1.116a.9.9 0 0 1 .556-.62.4.4 0 0 1 .468.196c.064.12.04.208.064.216s.092-.076.048-.26a.52.52 0 0 0-.188-.272.6.6 0 0 0-.432-.096 1.1 1.1 0 0 0-.8.724c-.172.393-.246.82-.216 1.248.064.892.56 1.712 1.2 1.872a.83.83 0 0 0 .704-.148c.16-.108.18-.224.164-.224\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M58.736 48c-.346.18-.649.432-.888.74-.436.604-.604 1.764-.324 3.072l.024.112-.112.028a4.3 4.3 0 0 0-2.86 2.52c-.134.345-.21.71-.228 1.08q.014.596.14 1.176.13.627.168 1.264c.03.463-.094.922-.352 1.308-.552.84-1.44 1.256-2.204 1.656a7.5 7.5 0 0 0-2.06 1.348 5.56 5.56 0 0 0-1.66 3.72c-.032.949.17 1.891.588 2.744.292.608.54.896.516.916a1.1 1.1 0 0 1-.188-.2 4.6 4.6 0 0 1-.436-.684 5.6 5.6 0 0 1-.7-2.8 5.7 5.7 0 0 1 1.676-3.92 7.6 7.6 0 0 1 2.124-1.416c.764-.4 1.6-.8 2.08-1.556.492-.672.272-1.552.144-2.348a6.6 6.6 0 0 1-.136-1.232c.016-.412.104-.818.26-1.2a4.5 4.5 0 0 1 3.076-2.64l-.088.14c-.26-1.368-.052-2.568.448-3.2.184-.24.423-.434.696-.564q.144-.053.296-.064M51.3 69.671c.348-.375.782-.66 1.264-.832h-.1q.134-.032.272-.048a1.26 1.26 0 0 1 .988.124A2.32 2.32 0 0 1 55 70.023a2.76 2.76 0 0 1-.324 2.848 2.112 2.112 0 0 1-3.876-.724 2.63 2.63 0 0 1 .5-2.476M74.229 66.198c.835-.096 1.871-.264 2.18-.56.46-.432.935-2.044 1.343-3.564.053-.196.085-.328.1-.364l-.32-.124a4 4 0 0 0-.115.4c-.216.8-.8 2.984-1.249 3.416-.536.504-5 .764-5.416.476-.255-.208-.86-2.148-1.2-3.46l-.032-.12-1.775-.048-.044.112c-.348.884-1.428 3.284-2.208 3.732-.98.556-4.8.288-5.076-.092s-.909-2.592-1.297-4.032l-.031-.128-5.42.22v.328l5.144-.208c.195.716.98 3.564 1.316 4 .46.612 4.544.744 5.532.18.987-.564 2.072-3.2 2.311-3.788l1.269.032c.2.744.88 3.2 1.291 3.512.413.312 2.62.152 2.873.132.251-.02.504-.02.823-.052\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"m67.632 62.83.348-.568c-2.344-1.288-6.52-1.824-9.172-.44l.324.576c2.364-1.232 6.304-.772 8.5.432M77.636 62.044l.26-.608c-2.844-1.08-6.512-.728-8.72.84l.4.523c2.004-1.416 5.464-1.74 8.06-.755\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"m99.152 165.976-4.84 12s10.56 10.28 9.732 12.612l-23.78-10.12 8.036-19.152z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M87.596 174.311a1.06 1.06 0 0 0-1.144.824 1.02 1.02 0 0 0 .8 1.14 1.105 1.105 0 0 0 1.2-.876c.032-.52-.452-1.14-.968-1.096\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"m80.264 180.478.888-1.9 22.468 10.4s.86.912.424 1.6zM94.948 178.512c-.052.116-.656-.08-1.388.052s-1.24.488-1.328.4.372-.688 1.256-.832 1.532.268 1.46.38M97.004 180.604c-.024.124-.608.108-1.2.432s-.94.8-1.052.74.092-.744.848-1.132 1.448-.152 1.404-.04M97.148 184.195c-.116-.02-.028-.668.54-1.176s1.22-.532 1.228-.4-.476.316-.936.74-.712.872-.832.836M79.82 130.581s26.032-6.64 28.864-6.464 11.952 1.86 8.4 12.484-19.48 37.632-19.48 37.632l-13.4-5.636 8-19.424s-16.76 5.04-23.656 5.444-12.56-9.34-12.56-9.34z\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M102.044 134q.38-.453.856-.8a12.2 12.2 0 0 1 2.448-1.524c.874-.409 1.79-.719 2.732-.924.716-.164 1.124-.348 1.14-.324a3.2 3.2 0 0 1-1.1.468 16 16 0 0 0-2.684.968c-.859.407-1.678.893-2.448 1.452-.58.428-.924.724-.944.684\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M97.036 142.555q.044-.209.14-.4a35.2 35.2 0 0 1 2.2-4.26 36 36 0 0 1 2.792-3.896q.12-.168.28-.3a1.4 1.4 0 0 1-.216.348c-.176.256-.4.556-.64.912-.54.768-1.292 1.824-2.04 3.044s-1.348 2.372-1.784 3.2l-.52.984a1.4 1.4 0 0 1-.212.368\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M71.796 128.556c1.056-.428 4.324-1.524 5.464-1.58 1.772-.092 4.332 0 6 1.12 2.752 1.836 37.948 38.984 37.948 38.984l-9.876 12.14s-18.116-13.136-22.964-18.376-10.348-13.492-10.348-13.492-6.568 6.944-12.68 9.976c-3.804 1.888-13.116 4-21.128 3.296a12.232 12.232 0 0 1-10.678-8.706 12.2 12.2 0 0 1-.434-4.826v-.136q.276-1.79.748-3.54z\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"m64.632 157.65.244-.16.728-.456c.64-.4 1.6-.996 2.8-1.796s2.684-1.812 4.332-3.088a36.2 36.2 0 0 0 5.224-4.84l.068-.076.04.096a27 27 0 0 0 2.2 3.86c.884 1.288 1.892 2.576 2.992 3.88s2.312 2.596 3.6 3.908a112 112 0 0 0 4.104 3.956c2.888 2.648 6.06 5.336 9.464 8.036s7.028 5.432 10.872 8.108h-.136l9.5-11.392.524-.628v.144c-7.412-7.724-14.464-15.076-20.88-21.756l-9.136-9.444c-1.44-1.468-2.828-2.892-4.184-4.236a100 100 0 0 0-2.02-1.94 15 15 0 0 0-2.052-1.704 9.8 9.8 0 0 0-3.532-1.2 7 7 0 0 0-1.2.024c-1.468.185-2.918.5-4.332.94-2.656.8-4.896 1.64-6.716 2.348s-3.2 1.3-4.164 1.7l-1.06.468c-.24.104-.368.152-.368.152l.36-.172 1.068-.48c.94-.4 2.336-1.012 4.152-1.736a89 89 0 0 1 6.712-2.4 25 25 0 0 1 4.352-.956q.6-.068 1.2-.032.62.069 1.22.24c.849.183 1.66.508 2.4.96.741.51 1.436 1.084 2.076 1.716a100 100 0 0 1 2.032 1.94c1.36 1.34 2.748 2.76 4.192 4.228l9.156 9.432 20.892 21.744.064.064-.06.072-.524.628c-3.252 3.904-6.436 7.716-9.504 11.392l-.06.072-.076-.052a218 218 0 0 1-10.88-8.124c-3.404-2.704-6.576-5.4-9.464-8.056-1.444-1.332-2.8-2.66-4.104-3.968s-2.484-2.632-3.6-3.928a44 44 0 0 1-2.992-3.9 26.4 26.4 0 0 1-2.196-3.892l.108.02a36.5 36.5 0 0 1-5.26 4.832 68 68 0 0 1-4.356 3.064c-1.216.792-2.176 1.376-2.82 1.772l-.736.44z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M180.552 52.063H94.468a1.484 1.484 0 0 0-1.46 1.5v44.04a1.484 1.484 0 0 0 1.46 1.504h2.904v8.124l7.904-8.124h75.276a1.48 1.48 0 0 0 1.46-1.504v-44.04a1.47 1.47 0 0 0-.419-1.053 1.47 1.47 0 0 0-1.041-.447\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M94.752 52.063h85.516a1.745 1.745 0 0 1 1.748 1.747v6.444H93.008v-6.447a1.75 1.75 0 0 1 1.744-1.745\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M98.5 56.289a1.124 1.124 0 1 1-1.12-1.152 1.14 1.14 0 0 1 1.12 1.152M102.1 56.289a1.12 1.12 0 0 1-.714 1.018 1.122 1.122 0 0 1-1.514-.84 1.123 1.123 0 0 1 1.108-1.33 1.14 1.14 0 0 1 1.12 1.152M105.84 56.289a1.12 1.12 0 0 1-.713 1.018 1.125 1.125 0 0 1-1.445-1.485 1.13 1.13 0 0 1 1.038-.685 1.136 1.136 0 0 1 1.12 1.152\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M132.72 55.957c0 .52-.38.84-.984.84h-.436v.644h-.524v-2.328h.98c.584 0 .964.324.964.844m-.532 0c0-.256-.16-.4-.48-.4h-.408v.8h.4c.328.004.488-.148.488-.4M134.136 55.627v.48h-.116c-.276 0-.46.156-.46.5v.844h-.508v-1.788h.484v.236a.7.7 0 0 1 .6-.272M134.288 56.547a.955.955 0 0 1 1.12-.978.95.95 0 0 1 .722 1.299.95.95 0 0 1-.886.599.91.91 0 0 1-.956-.92m1.4 0a.442.442 0 0 0-.444-.508.446.446 0 0 0-.444.508.458.458 0 0 0 .259.468.446.446 0 0 0 .614-.28.4.4 0 0 0 .015-.188M136.404 56.543a.92.92 0 0 1 .603-.868.9.9 0 0 1 .369-.052.8.8 0 0 1 .78.456l-.4.216a.43.43 0 0 0-.4-.244.494.494 0 0 0-.451.494.494.494 0 0 0 .451.494.42.42 0 0 0 .4-.244l.4.216a.8.8 0 0 1-.78.452.91.91 0 0 1-.972-.92M140.1 56.694h-1.316a.466.466 0 0 0 .5.356.58.58 0 0 0 .436-.172l.268.3a.9.9 0 0 1-.72.288.91.91 0 0 1-.918-.55.9.9 0 0 1-.074-.37.9.9 0 0 1 .266-.66.9.9 0 0 1 .662-.26.88.88 0 0 1 .854.569.9.9 0 0 1 .054.359c.016.04.008.096-.012.14m-1.32-.304h.856a.392.392 0 0 0-.273-.352.4.4 0 0 0-.155-.02.4.4 0 0 0-.412.384zM140.292 57.273l.168-.372c.183.112.393.172.608.172.232 0 .32-.064.32-.16 0-.292-1.052 0-1.052-.708 0-.34.296-.58.8-.58.233-.004.464.05.672.156l-.168.368a1 1 0 0 0-.504-.132c-.224 0-.324.076-.324.168 0 .304 1.052 0 1.052.712 0 .332-.3.568-.82.568a1.5 1.5 0 0 1-.752-.192M142.008 57.273l.168-.372c.183.112.394.172.608.172.232 0 .32-.064.32-.16 0-.292-1.052 0-1.052-.708 0-.34.296-.58.8-.58.234-.004.465.05.672.156l-.168.368a1 1 0 0 0-.504-.132c-.224 0-.324.076-.324.168 0 .304 1.052 0 1.052.712 0 .332-.3.568-.8.568-.27.007-.536-.06-.772-.192M143.772 57.14a.31.31 0 0 1 .312-.312.312.312 0 1 1-.312.312M144.616 57.14a.32.32 0 0 1 .314-.352.31.31 0 0 1 .301.221.3.3 0 0 1 .013.132.3.3 0 0 1-.013.13.317.317 0 0 1-.602 0q-.02-.063-.013-.13M145.464 57.14a.32.32 0 0 1 .314-.352.31.31 0 0 1 .236.107.3.3 0 0 1 .066.114.3.3 0 0 1 .012.132.3.3 0 0 1-.012.13.32.32 0 0 1-.302.221.32.32 0 0 1-.301-.22q-.02-.064-.013-.131\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M173.652 86.895h-13.064a2.996 2.996 0 0 0-2.996 2.996v.5a2.996 2.996 0 0 0 2.996 2.995h13.064a2.996 2.996 0 0 0 2.996-2.995v-.5a2.996 2.996 0 0 0-2.996-2.997\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M162.936 90a.955.955 0 0 1 .984-.984.9.9 0 0 1 .688.284l-.124.128a.74.74 0 0 0-.556-.228.801.801 0 1 0 .302 1.543q.145-.061.254-.175l.124.128a.89.89 0 0 1-.688.284.954.954 0 0 1-.984-.98M166.036 90.049v.9h-.18v-.224a.53.53 0 0 1-.488.24c-.32 0-.516-.172-.516-.424s.14-.4.544-.4h.448v-.088a.36.36 0 0 0-.099-.3.36.36 0 0 0-.301-.1.7.7 0 0 0-.468.172l-.088-.144a.9.9 0 0 1 .576-.196.51.51 0 0 1 .547.336.5.5 0 0 1 .025.228m-.192.464v-.236h-.44c-.276 0-.364.108-.364.26s.132.272.356.272a.445.445 0 0 0 .448-.296M167.852 90.11v.84h-.188v-.82c0-.308-.156-.465-.424-.465a.475.475 0 0 0-.474.322q-.034.099-.022.203v.76h-.188v-1.453h.18v.269a.59.59 0 0 1 .536-.276.548.548 0 0 1 .58.62M168.236 90.225a.7.7 0 0 1 .2-.527.7.7 0 0 1 .524-.209.62.62 0 0 1 .556.284l-.144.1a.47.47 0 0 0-.4-.216.566.566 0 0 0-.52.566.565.565 0 0 0 .52.566.46.46 0 0 0 .4-.212l.144.1a.61.61 0 0 1-.556.288.71.71 0 0 1-.678-.455.7.7 0 0 1-.046-.285M171.092 90.283h-1.2a.52.52 0 0 0 .173.368.53.53 0 0 0 .383.136.55.55 0 0 0 .432-.188l.108.124a.69.69 0 0 1-.544.24.713.713 0 0 1-.744-.74.689.689 0 0 1 1.376 0s.016.036.016.06m-1.2-.148h1.008a.499.499 0 0 0-.853-.353.5.5 0 0 0-.147.353zM171.484 88.902h.192v2.048h-.192z\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M180.552 99.101a1.476 1.476 0 0 0 1.436-1.392v-.66c0-1.876 0-4.636-.02-8.188 0-7.116-.02-17.408-.032-30.124v-4.88a3.3 3.3 0 0 0-.028-.608 1.4 1.4 0 0 0-.24-.544 1.36 1.36 0 0 0-1.004-.58H95.032a4.5 4.5 0 0 0-.872.036 1.39 1.39 0 0 0-1.036 1.2c-.024 1.18 0 2.4 0 3.6v40.42a1.48 1.48 0 0 0 .4 1.172c.149.151.331.265.532.332.206.065.422.09.636.072h2.8v8.224l-.168-.068 7.912-8.12.024-.028h.04l54.48.036 15.348.028-15.348.024-54.48.04.068-.028-7.904 8.124-.164.172v-8.36l.1.096h-2.688a2 2 0 0 1-.7-.08 1.68 1.68 0 0 1-1.076-1.712v-43.94a1.6 1.6 0 0 1 1.2-1.364 4.3 4.3 0 0 1 .92-.044h72.272l10.772.044h2.58a1.51 1.51 0 0 1 1.12.648c.129.18.219.384.264.6q.045.319.032.64v4.88c0 12.716-.028 23.008-.036 30.124v8.852a1.5 1.5 0 0 1-.156.556c-.138.27-.352.492-.616.64-.16.087-.335.142-.516.164a1.3 1.3 0 0 1-.22-.004\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M173.552 72.582H102.48a3.544 3.544 0 0 0-3.544 3.544v.592a3.544 3.544 0 0 0 3.544 3.544h71.072a3.544 3.544 0 0 0 3.544-3.544v-.592a3.544 3.544 0 0 0-3.544-3.544\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M173.548 80.263h.108c.072 0 .18 0 .316-.028a3.6 3.6 0 0 0 1.2-.376c.271-.14.523-.317.748-.524a3.48 3.48 0 0 0 1.104-2.072q.033-.172.036-.348v-.364c0-.248 0-.5-.02-.76a3.53 3.53 0 0 0-1.848-2.74 3.8 3.8 0 0 0-.9-.328 4.6 4.6 0 0 0-1-.076h-12.264l-58.528.04a3.44 3.44 0 0 0-3.208 2.208 4.8 4.8 0 0 0-.224 2.036c.035.682.276 1.338.692 1.88.409.536.965.942 1.6 1.168.65.18 1.327.245 2 .192h19.6l26.316.024 17.744.032-17.744.032h-46.948a3.3 3.3 0 0 1-1.04-.196 3.64 3.64 0 0 1-2.444-3.228 11 11 0 0 1 0-1.064 3.6 3.6 0 0 1 .236-1.06 3.67 3.67 0 0 1 1.336-1.688c.305-.204.636-.365.984-.48a4.1 4.1 0 0 1 1.084-.164l58.54.032H173.3q.514-.015 1.02.084c.322.074.634.188.928.34a3.6 3.6 0 0 1 1.88 2.82v1.136q-.003.18-.036.356c-.067.433-.215.85-.436 1.228a3.4 3.4 0 0 1-.704.868q-.348.317-.768.528c-.375.19-.782.31-1.2.356q-.214.082-.436.136\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M169.332 76.965a.77.77 0 0 1-.25.56.76.76 0 0 1-.582.196c-.616 0-.98-.4-.98-1.156s.456-1.236 1.112-1.236c.209-.007.415.044.596.148l-.156.328a.75.75 0 0 0-.432-.116c-.428 0-.696.272-.696.8a.78.78 0 0 1 .608-.24.71.71 0 0 1 .721.425q.06.139.059.29m-.4.02c0-.244-.18-.4-.456-.4a.4.4 0 0 0-.322.093.4.4 0 0 0-.138.307c0 .22.168.4.472.4a.4.4 0 0 0 .44-.4zM169.552 76.524c0-.764.4-1.2.944-1.2s.948.432.948 1.2-.4 1.2-.948 1.2-.944-.436-.944-1.2m1.468 0c0-.564-.212-.82-.524-.82s-.52.256-.52.82.212.82.52.82.524-.26.524-.82M171.7 75.976c0-.4.216-.64.54-.64s.544.252.544.64a.54.54 0 0 1-.127.439.546.546 0 0 1-.957-.44m.8 0c0-.26-.104-.4-.276-.4s-.28.152-.28.4.112.4.28.4.276-.144.276-.4m1.08-.616h.32l-1.548 2.324h-.316zm-.4 1.712c0-.4.216-.64.54-.64a.65.65 0 0 1 .754.698.65.65 0 0 1-.479.567.65.65 0 0 1-.815-.625m.82 0c0-.256-.108-.4-.28-.4s-.28.148-.28.4.108.4.28.4.276-.144.276-.4z\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M137.82 73.504h-35.188a2.704 2.704 0 0 0-2.704 2.704v.448a2.704 2.704 0 0 0 2.704 2.704h35.188a2.704 2.704 0 0 0 2.704-2.704v-.448a2.704 2.704 0 0 0-2.704-2.704\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"m102.284 79.36 3.488-5.856h1.864l-3.44 5.856zM106.896 79.36l3.484-5.856h1.864l-3.436 5.856zM111.504 79.36l3.488-5.856h1.864l-3.436 5.856zM116.116 79.36l3.488-5.856h1.86l-3.436 5.856zM120.724 79.36l3.488-5.856h1.864l-3.436 5.856zM125.336 79.36l3.488-5.856h1.86l-3.436 5.856zM129.948 79.36l3.484-5.856h1.864l-3.436 5.856zM134.556 79.36l3.468-5.833c.55.064 1.067.296 1.48.664l-3.036 5.168z\"\r\n opacity=\"0.2\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M162.748 83.432c0 .056-10.844.104-24.22.104s-24.224-.048-24.224-.104 10.84-.104 24.224-.104 24.22.048 24.22.104\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import { packageDictionary } from \"../../../../../../../../locales/utils\";\r\nimport { CreatingWorkspaceIllustration } from \"../../../../../../../../assets/illustrations/CreatingWorkspaceIllustration\";\r\nimport React from \"react\";\r\nimport { useMirantesFoundation } from \"../../../../../../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../../../../../../context/types\";\r\nimport { LoadingIcon } from \"../../../../../../../../assets/icons/loading-icon\";\r\nimport { motion } from \"motion/react\";\r\n\r\nexport function AddWorkspaceLoading() {\r\n const { locale } = useMirantesFoundation();\r\n\r\n return (\r\n <motion.div\r\n initial={{ opacity: 0, y: 10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.3, ease: \"easeInOut\"}}\r\n className=\"w-full flex flex-col items-center gap-y-4\"\r\n >\r\n <CreatingWorkspaceIllustration />\r\n\r\n <h4 className=\"text-2xl font-bold\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.button.creating\"\r\n )}\r\n </h4>\r\n\r\n <div className=\"w-10 h-10 flex mt-4 items-center justify-center animate-spin\">\r\n <LoadingIcon />\r\n </div>\r\n </motion.div>\r\n );\r\n}\r\n","\"use client\";\r\n\r\nimport React, { useState, useRef, useEffect } from \"react\";\r\nimport { SmileIcon } from \"lucide-react\";\r\nimport { Button } from \"../../ui/button\";\r\nimport EmojiPicker, { type EmojiClickData, Theme } from \"emoji-picker-react\";\r\n\r\nexport function EmojiButton({\r\n className,\r\n onChange,\r\n icon,\r\n containerClassName,\r\n}: {\r\n className?: string;\r\n containerClassName?: string;\r\n onChange: (emoji: string) => void;\r\n icon?: React.ReactNode;\r\n}) {\r\n const [showPicker, setShowPicker] = useState(false);\r\n const pickerRef = useRef<HTMLDivElement>(null);\r\n const buttonRef = useRef<HTMLButtonElement>(null);\r\n\r\n // Close the emoji picker when clicking outside\r\n useEffect(() => {\r\n const handleClickOutside = (event: MouseEvent) => {\r\n if (\r\n pickerRef.current &&\r\n !pickerRef.current.contains(event.target as Node) &&\r\n buttonRef.current &&\r\n !buttonRef.current.contains(event.target as Node)\r\n ) {\r\n setShowPicker(false);\r\n }\r\n };\r\n\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, []);\r\n\r\n const togglePicker = () => {\r\n setShowPicker(!showPicker);\r\n };\r\n\r\n const handleEmojiClick = (emojiData: EmojiClickData) => {\r\n const emoji = emojiData.emoji;\r\n onChange(emoji);\r\n };\r\n\r\n return (\r\n <div className={`relative ${className}`}>\r\n <Button\r\n type=\"button\"\r\n ref={buttonRef}\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n className=\"!p-0 rounded-full flex items-center gap-x-2 hover:bg-transparent\"\r\n onClick={togglePicker}\r\n >\r\n {icon}\r\n </Button>\r\n\r\n {showPicker && (\r\n <div\r\n ref={pickerRef}\r\n className={`absolute bottom-12 left-0 z-50 ${containerClassName}`}\r\n >\r\n <EmojiPicker\r\n onEmojiClick={handleEmojiClick}\r\n theme={Theme.LIGHT}\r\n searchPlaceHolder=\"Buscar emoji\"\r\n width={320}\r\n height={400}\r\n previewConfig={{\r\n showPreview: false,\r\n }}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const UserIcon = ({ color = \"#0B89CE\" }: { color?: string }) => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\"\r\n height=\"18\"\r\n fill=\"none\"\r\n viewBox=\"0 0 16 18\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M7.997 11C3.684 11 0 11.68 0 14.4c0 2.721 3.66 3.425 7.997 3.425 4.313 0 7.997-.679 7.997-3.4S12.334 11 7.997 11\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"M7.996 10.584a5.273 5.273 0 0 0 5.293-5.292A5.273 5.273 0 0 0 7.996 0a5.274 5.274 0 0 0-5.292 5.292 5.274 5.274 0 0 0 5.292 5.292\"\r\n opacity=\"0.4\"\r\n ></path>\r\n </svg>\r\n);\r\n","import React from \"react\";\r\n\r\nimport { motion } from \"motion/react\";\r\nimport { TLocale } from \"../../../../../../../../context/types\";\r\nimport { useMirantesFoundation } from \"../../../../../../../../context/useMirantesFoundation\";\r\nimport { packageDictionary } from \"../../../../../../../../locales/utils\";\r\nimport { useAddWorkspaceModal } from \"./useAddWorkspaceModal\";\r\nimport { BaseInput } from \"../../../../../../../../components/shared/BaseInput/BaseInput\";\r\nimport { SelectInput } from \"../../../../../../../../components/shared/select-input/select-input\";\r\nimport { Badge } from \"../../../../../../../../components/shared/badge/badge\";\r\nimport { DescriptionInput } from \"../../../../../../../../components/shared/description-input/description-input\";\r\nimport { useAddWorkspaceStore } from \"../../store/add-workspace.store\";\r\nimport { AddWorkspaceLoading } from \"../AddWorkspaceLoading/AddWorkspaceLoading\";\r\nimport { EmojiButton } from \"../../../../../../../shared/emogi-picker/emoji-picker\";\r\nimport { UserIcon } from \"../../../../../../../../assets/icons/use-icon\";\r\n\r\nexport function AddWorkspaceForm({ onClose }: { onClose: () => void }) {\r\n const { locale } = useMirantesFoundation();\r\n const { step, workspace } = useAddWorkspaceStore();\r\n const {\r\n errors,\r\n getError,\r\n watch,\r\n selectedInterests,\r\n onChangeDescription,\r\n onChangeName,\r\n onSelectInterest,\r\n interests,\r\n onSubmit,\r\n onRemoveInterest,\r\n isCreatingWorkspace,\r\n setValue,\r\n } = useAddWorkspaceModal();\r\n\r\n if (step === \"loading\") {\r\n return <AddWorkspaceLoading />;\r\n }\r\n\r\n return (\r\n <motion.div\r\n initial={{ opacity: 0, y: 10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.3, ease: \"easeInOut\", delay: 0.3 }}\r\n className=\"w-full flex flex-col gap-y-8\"\r\n >\r\n <h4 className=\"text-xl font-bold\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n workspace?.id\r\n ? \"component.workspace.panel.modal.edit.title\"\r\n : \"component.workspace.panel.modal.title\"\r\n )}\r\n </h4>\r\n\r\n <form onSubmit={onSubmit} className=\"w-full flex flex-col gap-y-4\">\r\n <div className=\"relative\">\r\n <BaseInput\r\n leftIcon={\r\n <div className=\"w-8 h-8 rounded-lg border-2 flex items-center bottom-4 justify-center bg-primary/10 border-primary border-dotted\">\r\n <EmojiButton\r\n containerClassName=\"top-10 -left-4\"\r\n icon={\r\n watch(\"icon\") ? (\r\n <span className=\"text-lg\">{watch(\"icon\")}</span>\r\n ) : (\r\n <UserIcon />\r\n )\r\n }\r\n onChange={(emoji) => {\r\n setValue(\"icon\", emoji);\r\n }}\r\n />\r\n </div>\r\n }\r\n error={getError(errors?.name?.message)}\r\n required\r\n value={watch(\"name\")}\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.name\"\r\n )}\r\n onChange={(e) => onChangeName(e.target.value)}\r\n className=\"w-full bg-white\"\r\n placeholder={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.name.placeholder\"\r\n )}\r\n />\r\n </div>\r\n\r\n <SelectInput\r\n disableSelectedItem\r\n options={interests.map((interest) => ({\r\n id: interest.id,\r\n value: interest.name,\r\n }))}\r\n onChange={(id) => onSelectInterest(id)}\r\n className=\"bg-white\"\r\n placeholder={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.interests.placeholder\"\r\n )}\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.interests\"\r\n )}\r\n />\r\n\r\n {selectedInterests?.length > 0 && (\r\n <div className=\"flex flex-wrap w-full items-center gap-4\">\r\n {selectedInterests?.map((interest) => {\r\n const interestData = interests.find(\r\n (item) => item.id === interest\r\n );\r\n return (\r\n <Badge\r\n className=\"bg-white text-gray-shade8\"\r\n key={interest}\r\n label={interestData?.name ?? \"\"}\r\n onRemove={() => onRemoveInterest(interestData?.id ?? \"\")}\r\n />\r\n );\r\n })}\r\n </div>\r\n )}\r\n\r\n <DescriptionInput\r\n maxLength={120}\r\n value={watch(\"description\")}\r\n onChange={onChangeDescription}\r\n textAreaClassName=\"bg-white\"\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.description\"\r\n )}\r\n />\r\n\r\n <div className=\"w-full flex-col lg:flex-row mt-4 flex items-center gap-4\">\r\n <button\r\n disabled={isCreatingWorkspace}\r\n type=\"button\"\r\n onClick={onClose}\r\n className=\"flex-1 py-3 border w-full lg:w-auto border-primary text-primary font-bold lg:py-4\"\r\n >\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.button.back\"\r\n )}\r\n </button>\r\n\r\n <button\r\n disabled={isCreatingWorkspace}\r\n type=\"submit\"\r\n className=\"flex-1 py-3 border w-full lg:w-auto border-primary text-white bg-primary font-bold lg:py-4\"\r\n >\r\n {packageDictionary(\r\n locale as TLocale,\r\n workspace?.id\r\n ? \"component.workspace.panel.modal.edit.button.save\"\r\n : \"component.workspace.panel.modal.form.button.create\"\r\n )}\r\n </button>\r\n </div>\r\n </form>\r\n </motion.div>\r\n );\r\n}\r\n","import { packageDictionary } from \"../../../../../../locales/utils\";\r\nimport { EditIcon } from \"../../../../../../assets/icons/edit-icon\";\r\nimport { useMirantesFoundation } from \"../../../../../../context/useMirantesFoundation\";\r\nimport React, { RefObject } from \"react\";\r\nimport { TLocale } from \"../../../../../../context/types\";\r\nimport { DeleteIcon } from \"../../../../../../assets/icons/delete-icon\";\r\nimport { Palette } from \"../../../../../../styles/palette.const\";\r\nimport { useOpen } from \"../../../../../fromMirantes/hooks/use-open\";\r\nimport { ConfirmModal } from \"../../../../../../components/shared/modal/confirm-modal\";\r\nimport { useApiDeleteWorkspace } from \"../../../../../fromMirantes/WorkspacePanel/api/use-api-delete-workspace\";\r\nimport { WorkspaceProps } from \"../../../../../../types/workspace.types\";\r\nimport { useToast } from \"../../../../../../components/shared/toasts/toasts\";\r\nimport { AlertIllustration } from \"../../../../../../assets/illustrations/AlertIllustration\";\r\nimport { useAddWorkspaceStore } from \"../AddWorkspaceModal/store/add-workspace.store\";\r\nimport { AddWorkspaceModal } from \"../AddWorkspaceModal/AddWorkspaceModal\";\r\nexport function WorkspaceBarItemOptions({\r\n isOpen,\r\n ref,\r\n workspace,\r\n}: {\r\n isOpen: boolean;\r\n ref: RefObject<HTMLDivElement>;\r\n workspace?: WorkspaceProps;\r\n}) {\r\n const { setWorkspace } = useAddWorkspaceStore();\r\n const { successToast, errorToast } = useToast();\r\n const { widgetsApi, user } = useMirantesFoundation();\r\n const { deleteWorkspace, isDeletingWorkspace } = useApiDeleteWorkspace();\r\n const { locale } = useMirantesFoundation();\r\n const {\r\n isOpen: isOpenDelete,\r\n onOpen: onOpenDelete,\r\n onClose: onCloseDelete,\r\n } = useOpen();\r\n\r\n const {\r\n isOpen: isOpenEdit,\r\n onOpen: onOpenEdit,\r\n onClose: onCloseEdit,\r\n } = useOpen();\r\n\r\n const handleDeleteWorkspace = () => {\r\n deleteWorkspace(\r\n {\r\n accessToken: user?.accessToken as string,\r\n apiUrl: widgetsApi,\r\n id: workspace?.id as string,\r\n },\r\n {\r\n onSuccess() {\r\n successToast({\r\n title: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.title\"\r\n ),\r\n message: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.description\"\r\n ),\r\n });\r\n },\r\n onError() {\r\n errorToast({\r\n title: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.title\"\r\n ),\r\n message: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.description\"\r\n ),\r\n });\r\n },\r\n }\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n {isOpen && (\r\n <div\r\n ref={ref}\r\n className=\"p-2 min-w-[166px] absolute z-20 right-0 shadow-dark-1/10 rounded-2xl bg-white shadow-lg\"\r\n >\r\n <button\r\n onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n if (workspace) {\r\n onOpenEdit();\r\n setWorkspace(workspace);\r\n }\r\n }}\r\n className=\"flex items-center px-2 font-medium text-gray-shade8 justify-start w-full hover:bg-primary/10 py-2 gap-x-4\"\r\n >\r\n <EditIcon />\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.edit\"\r\n )}\r\n </button>\r\n\r\n <button\r\n onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n onOpenDelete();\r\n }}\r\n className=\"flex items-center px-2 font-medium text-red-shade6 justify-start w-full hover:bg-red-shade6/10 py-2 gap-x-4\"\r\n >\r\n <DeleteIcon color={Palette.red.shade6} />\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete\"\r\n )}\r\n </button>\r\n </div>\r\n )}\r\n\r\n {isOpenDelete && (\r\n <ConfirmModal\r\n isOpen\r\n isLoading={isDeletingWorkspace}\r\n onClose={onCloseDelete}\r\n onConfirm={handleDeleteWorkspace}\r\n title={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.confirm.title\"\r\n )}\r\n description={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.confirm.description\"\r\n )}\r\n illustration={<AlertIllustration />}\r\n />\r\n )}\r\n\r\n {isOpenEdit && <AddWorkspaceModal onClose={onCloseEdit} />}\r\n </>\r\n );\r\n}\r\n","import { cn } from \"../../../../../../lib/utils\";\r\nimport React, { RefObject, useRef } from \"react\";\r\nimport { Tooltip } from \"../../../../../../components/shared/tooltip/tooltip\";\r\nimport { useOpen } from \"../../../../../fromMirantes/hooks/use-open\";\r\nimport { useOutsideClick } from \"../../../../../fromMirantes/hooks/use-outside-click\";\r\nimport { WorkspaceBarItemOptions } from \"./WorkspaceBarItemOptions\";\r\nimport { WorkspaceProps } from \"@/types/workspace.types\";\r\n\r\ntype WorkspaceBarItemProps = {\r\n icon: React.ReactNode;\r\n label: string;\r\n description?: string;\r\n href: string;\r\n disabled?: boolean;\r\n active?: boolean;\r\n isCurrent?: boolean;\r\n workspace?: WorkspaceProps;\r\n};\r\n\r\nexport function WorkspaceBarItem({\r\n icon,\r\n label,\r\n href,\r\n disabled,\r\n active,\r\n isCurrent,\r\n description,\r\n workspace,\r\n}: WorkspaceBarItemProps) {\r\n const ref = useRef<HTMLDivElement>(null);\r\n const { onOpen, onClose, isOpen } = useOpen();\r\n useOutsideClick(ref as RefObject<HTMLElement>, onClose);\r\n\r\n const handleClick = () => {\r\n if (isCurrent) {\r\n onOpen();\r\n return;\r\n }\r\n\r\n if (isOpen) {\r\n return;\r\n }\r\n window.location.href = href;\r\n };\r\n\r\n const handleRightClick = (e: React.MouseEvent<HTMLDivElement>) => {\r\n e.preventDefault();\r\n onOpen();\r\n };\r\n\r\n return (\r\n <div\r\n className={cn(\r\n \"col-span-1 flex relative hover:bg-primary/5 transition-all items-center justify-center gap-x-4\",\r\n isCurrent && \"bg-primary/5\"\r\n )}\r\n role=\"button\"\r\n onContextMenu={handleRightClick}\r\n >\r\n <div onClick={handleClick} className=\"w-full h-full\">\r\n <Tooltip className=\"bg-white -top-20\" content={description}>\r\n <div\r\n className={cn(\r\n \"w-8 md:w-12 h-8 lg:h-12 flex bg-primary/10 items-center justify-center rounded-full\",\r\n !active && \"grayscale\"\r\n )}\r\n >\r\n <div\r\n className={cn(\r\n \"w-5 h-5 flex items-center justify-center md:w-6 md:h-6 lg:w-8 lg:h-8\",\r\n !active && \"grayscale\"\r\n )}\r\n >\r\n {icon}\r\n </div>\r\n </div>\r\n\r\n <span\r\n className={cn(\r\n \"text-body-md hidden lg:block font-medium text-gray-shade8\",\r\n isCurrent && \"text-primary font-bold\"\r\n )}\r\n >\r\n {label}\r\n </span>\r\n </Tooltip>\r\n </div>\r\n\r\n <WorkspaceBarItemOptions\r\n workspace={workspace}\r\n ref={ref as RefObject<HTMLDivElement>}\r\n isOpen={isOpen}\r\n />\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport const WorkFeedIcon = (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"31\"\r\n height=\"31\"\r\n fill=\"none\"\r\n viewBox=\"0 0 31 31\"\r\n >\r\n <path\r\n fill=\"url(#paint0_linear_54380_31901)\"\r\n d=\"M15.436 18.675c-4.312 0-7.95.704-7.95 3.424 0 2.721 3.661 3.4 7.95 3.4 4.313 0 7.951-.704 7.951-3.423 0-2.721-3.662-3.401-7.95-3.401\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint1_linear_54380_31901)\"\r\n d=\"M15.436 16.084c2.92 0 5.262-2.355 5.262-5.292 0-2.938-2.342-5.292-5.262-5.292s-5.261 2.354-5.261 5.292 2.341 5.292 5.261 5.292\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint2_linear_54380_31901)\"\r\n d=\"M26.86 12.024c.755-2.972-1.46-5.64-4.28-5.64-.307 0-.6.033-.886.09-.039.01-.081.029-.104.062-.025.043-.006.1.022.138a7.26 7.26 0 0 1 1.334 4.213 7.2 7.2 0 0 1-1.23 4.052c-.08.119-.01.28.133.305a4 4 0 0 0 .604.058c2.054.054 3.898-1.275 4.407-3.278\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint3_linear_54380_31901)\"\r\n d=\"M29.012 19.021c-.377-.806-1.284-1.359-2.664-1.63-.652-.16-2.414-.385-4.054-.354-.025.003-.038.02-.04.031-.004.016.003.043.035.06.758.377 3.687 2.017 3.319 5.476-.016.15.104.28.253.257.72-.104 2.575-.505 3.15-1.753a2.4 2.4 0 0 0 0-2.087\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint4_linear_54380_31901)\"\r\n d=\"M9.306 6.475a4.4 4.4 0 0 0-.886-.091c-2.82 0-5.036 2.669-4.28 5.64.509 2.003 2.352 3.333 4.406 3.279q.31-.008.604-.059a.198.198 0 0 0 .134-.305 7.2 7.2 0 0 1-1.23-4.051c0-1.564.488-3.02 1.335-4.214.027-.037.047-.094.02-.137-.022-.035-.064-.053-.103-.062\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint5_linear_54380_31901)\"\r\n d=\"M4.652 17.39c-1.38.272-2.287.825-2.663 1.63a2.4 2.4 0 0 0 0 2.089c.576 1.247 2.43 1.649 3.15 1.751.15.023.268-.105.253-.256-.368-3.458 2.56-5.098 3.32-5.476.03-.018.038-.044.034-.06-.002-.012-.014-.029-.039-.03-1.64-.032-3.403.193-4.055.353\"\r\n ></path>\r\n <defs>\r\n <linearGradient\r\n id=\"paint0_linear_54380_31901\"\r\n x1=\"15.436\"\r\n x2=\"15.436\"\r\n y1=\"18.675\"\r\n y2=\"25.5\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint1_linear_54380_31901\"\r\n x1=\"15.436\"\r\n x2=\"15.436\"\r\n y1=\"5.5\"\r\n y2=\"16.084\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint2_linear_54380_31901\"\r\n x1=\"24.294\"\r\n x2=\"24.294\"\r\n y1=\"6.383\"\r\n y2=\"15.304\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint3_linear_54380_31901\"\r\n x1=\"25.751\"\r\n x2=\"25.751\"\r\n y1=\"17.034\"\r\n y2=\"22.863\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint4_linear_54380_31901\"\r\n x1=\"6.706\"\r\n x2=\"6.706\"\r\n y1=\"6.384\"\r\n y2=\"15.304\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint5_linear_54380_31901\"\r\n x1=\"5.248\"\r\n x2=\"5.248\"\r\n y1=\"17.034\"\r\n y2=\"22.863\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n </defs>\r\n </svg>\r\n);\r\n","import * as React from \"react\";\r\n\r\nexport const BriefcaseIcon = ({ color = \"#687588\" }: { color?: string }) => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"26\"\r\n height=\"25\"\r\n fill=\"none\"\r\n viewBox=\"0 0 26 25\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M.5 11.348c.063 2.923.238 7.921.263 8.473.089 1.178.54 2.37 1.242 3.21.978 1.178 2.182 1.705 3.86 1.705 2.32.012 4.878.012 7.361.012 2.494 0 4.914 0 6.958-.012 1.655 0 2.896-.54 3.861-1.705.703-.84 1.154-2.044 1.218-3.21.025-.464.15-5.89.225-8.473z\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"M12.057 16.73v1.618a.938.938 0 0 0 1.875 0v-1.617a.938.938 0 0 0-1.875 0\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"M14.608 0c1.876 0 3.415 1.412 3.65 3.227h2.47a4.765 4.765 0 0 1 4.76 4.76v4.332c0 .315-.159.61-.42.783-2.578 1.706-5.638 2.842-8.848 3.286a.938.938 0 0 1-1.037-.697A2.26 2.26 0 0 0 12.988 14a2.28 2.28 0 0 0-2.224 1.696.94.94 0 0 1-1.033.68c-3.189-.445-6.237-1.575-8.81-3.274a.94.94 0 0 1-.42-.783V7.987c0-2.625 2.14-4.76 4.77-4.76h2.46C7.966 1.412 9.503.001 11.38 0zM11.38 1.875c-.84 0-1.544.576-1.754 1.352h6.735a1.82 1.82 0 0 0-1.753-1.352z\"\r\n ></path>\r\n </svg>\r\n);\r\n","import { useInfiniteQuery, useQuery } from \"@tanstack/react-query\";\r\nimport { request } from \"graphql-request\";\r\nimport { WorkspaceProps } from \"../../../../types/workspace.types\";\r\nimport { GET_WORKSPACES } from \"./graphql\";\r\nimport { useMirantesFoundation } from \"../../../../context/useMirantesFoundation\";\r\n\r\nexport type GetWorkspaceInput = {\r\n filter: { name: string; userId: string };\r\n page: number;\r\n perPage: number;\r\n sort: string;\r\n sortDir: string;\r\n};\r\n\r\ntype WorkspacesResponse = {\r\n workspaces: {\r\n meta: {\r\n total: number;\r\n currentPage: number;\r\n perPage: number;\r\n lastPage: number;\r\n };\r\n data: WorkspaceProps[];\r\n };\r\n};\r\n\r\nconst getWorkspaces = async (\r\n pageParam: number,\r\n options: Omit<GetWorkspaceInput, \"page\">,\r\n apiUrl?: string,\r\n accessToken?: string\r\n) => {\r\n const response = await request<WorkspacesResponse>(\r\n apiUrl as string,\r\n GET_WORKSPACES,\r\n {\r\n options: {\r\n ...options,\r\n page: pageParam,\r\n },\r\n },\r\n\r\n {\r\n \"x-access-token\": accessToken as string,\r\n }\r\n );\r\n\r\n return response?.workspaces;\r\n};\r\n\r\nexport const useApiGetWorkspaces = (\r\n options: Omit<GetWorkspaceInput, \"page\">\r\n) => {\r\n const { widgetsApi, user } = useMirantesFoundation();\r\n\r\n const {\r\n data,\r\n isLoading: isGetWorkspacesLoading,\r\n fetchNextPage,\r\n hasNextPage,\r\n isFetchingNextPage,\r\n } = useInfiniteQuery({\r\n queryKey: [\"workspaces\"],\r\n queryFn: ({ pageParam = 1 }) =>\r\n getWorkspaces(pageParam, options, widgetsApi, user?.accessToken),\r\n initialPageParam: 1,\r\n getNextPageParam: (lastPage) => {\r\n if (!lastPage) return undefined;\r\n const { currentPage, lastPage: last } = lastPage.meta;\r\n return currentPage < last ? currentPage + 1 : undefined;\r\n },\r\n });\r\n\r\n return {\r\n workspaces: data?.pages.flatMap((page) => page.data),\r\n isGetWorkspacesLoading,\r\n fetchNextPage,\r\n hasNextPage,\r\n isFetchingNextPage,\r\n };\r\n};\r\n","import * as React from \"react\";\r\n\r\nexport const CircledAddIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"24\"\r\n height=\"25\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 25\"\r\n >\r\n <path\r\n fill=\"#fff\"\r\n d=\"M22 12.5c0 5.515-4.486 10-10 10s-10-4.485-10-10 4.486-10 10-10 10 4.486 10 10\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M15.074 11.574h-2.15V9.426a.926.926 0 1 0-1.851 0v2.148H8.925a.926.926 0 0 0 0 1.853h2.148v2.146a.926.926 0 1 0 1.852 0v-2.146h2.148a.927.927 0 0 0 0-1.853\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import * as React from \"react\";\r\n\r\nexport const AddWorkspaceIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"33\"\r\n height=\"32\"\r\n fill=\"none\"\r\n viewBox=\"0 0 33 32\"\r\n >\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M.5 16c0-8.837 7.163-16 16-16s16 7.163 16 16-7.163 16-16 16-16-7.163-16-16\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M26.5 16c0 5.515-4.486 10-10 10s-10-4.485-10-10 4.486-10 10-10 10 4.486 10 10\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M19.574 15.074h-2.15v-2.147a.926.926 0 1 0-1.851 0v2.147h-2.148a.926.926 0 0 0 0 1.853h2.148v2.146a.926.926 0 1 0 1.852 0v-2.146h2.148a.927.927 0 0 0 0-1.853\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import React from \"react\";\r\nimport { CircledAddIcon } from \"../../../../../../assets/icons/CircledAddIcon\";\r\nimport { TLocale } from \"../../../../../../context/types\";\r\nimport { packageDictionary } from \"../../../../../../locales/utils\";\r\nimport { useMirantesFoundation } from \"../../../../../../context/useMirantesFoundation\";\r\nimport { useOpen } from \"../../../../../../components/fromMirantes/hooks/use-open\";\r\nimport { AddWorkspaceModal } from \"../AddWorkspaceModal/AddWorkspaceModal\";\r\nimport { AddWorkspaceIcon } from \"../../../../../../assets/icons/workspaces-panel/AddWorkspaceIcon\";\r\n\r\nexport function AddWorkspaceButton() {\r\n const { locale } = useMirantesFoundation();\r\n const { isOpen, onOpen, onClose } = useOpen();\r\n\r\n return (\r\n <>\r\n <button\r\n onClick={onOpen}\r\n className=\"flex lg:bg-primary lg:p-4 rounded-2xl text-body-md font-bold text-white gap-x-2 items-center\"\r\n >\r\n <div className=\"lg:flex hidden items-center gap-x-2\">\r\n <CircledAddIcon />\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.create\"\r\n )}\r\n </div>\r\n\r\n <div className=\"lg:hidden\">\r\n <AddWorkspaceIcon />\r\n </div>\r\n </button>\r\n\r\n {isOpen && <AddWorkspaceModal onClose={onClose} />}\r\n </>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { ExploreIcon } from \"../../../../../assets/icons/ExploreIcon\";\r\nimport { AddWorkspaceIcon } from \"../../../../../assets/icons/workspaces-panel/AddWorkspaceIcon\";\r\nimport { WorkspaceBarItem } from \"../WorkspacePanelBar/WorkspaceItems/WorkspaceBarItem\";\r\nimport { WorkFeedIcon } from \"../../../../../assets/icons/WorkFeedIcon\";\r\nimport { BriefcaseIcon } from \"../../../../../assets/icons/BriefcaseIcon\";\r\nimport { useApiGetWorkspaces } from \"../../api/use-api-get-workspaces\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { Palette } from \"../../../../../styles/palette.const\";\r\nimport { AddWorkspaceButton } from \"../WorkspacePanelBar/AddWorkspaceButton/AddWorkspaceButton\";\r\n\r\nexport default function MobileWorkspaceBar() {\r\n const { user } = useMirantesFoundation();\r\n const { workspaces, isGetWorkspacesLoading } = useApiGetWorkspaces({\r\n filter: {\r\n name: \"\",\r\n userId: user?.id as string,\r\n },\r\n perPage: 2,\r\n sort: \"createdAt\",\r\n sortDir: \"desc\",\r\n });\r\n\r\n return (\r\n <div className=\"w-full z-[100] flex divide-x divide-border lg:hidden bg-white h-[64px] rounded-2xl max-w-[349px] fixed bottom-16 left-1/2 -translate-x-1/2\">\r\n <div className=\"flex-1 h-full rounded-l-2xl divide-x divide-border overflow-hidden grid grid-cols-3 lg:grid-cols-4\">\r\n <WorkspaceBarItem\r\n active\r\n icon={WorkFeedIcon}\r\n label=\"Feed\"\r\n href=\"/feed\"\r\n isCurrent\r\n />\r\n\r\n {workspaces\r\n ?.slice(0, 2)\r\n ?.map((workspace) => (\r\n <WorkspaceBarItem\r\n active\r\n key={workspace.id}\r\n icon={\r\n workspace?.icon ? (\r\n <span className=\"text-lg\">{workspace?.icon}</span>\r\n ) : (\r\n <BriefcaseIcon color={Palette.blue.shade1} />\r\n )\r\n }\r\n label={workspace.name}\r\n href={`/workspace/${workspace.id}`}\r\n />\r\n ))}\r\n </div>\r\n <div className=\"flex items-center gap-x-6 px-5\">\r\n <button className=\"scale-125\">\r\n <ExploreIcon />\r\n </button>\r\n\r\n <AddWorkspaceButton />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\"\r\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\n\r\nfunction Avatar({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof AvatarPrimitive.Root>) {\r\n return (\r\n <AvatarPrimitive.Root\r\n data-slot=\"avatar\"\r\n className={cn(\r\n \"relative flex size-8 shrink-0 overflow-hidden rounded-full\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction AvatarImage({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\r\n return (\r\n <AvatarPrimitive.Image\r\n data-slot=\"avatar-image\"\r\n className={cn(\"aspect-square size-full\", className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction AvatarFallback({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\r\n return (\r\n <AvatarPrimitive.Fallback\r\n data-slot=\"avatar-fallback\"\r\n className={cn(\r\n \"bg-muted flex size-full items-center justify-center rounded-full\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport { Avatar, AvatarImage, AvatarFallback }\r\n","import React from \"react\";\r\n\r\nimport {\r\n Avatar as ShadCnAvatar,\r\n AvatarFallback,\r\n AvatarImage,\r\n} from \"../../../components/ui/avatar\";\r\nimport { getInitials } from \"../../../components/fromMirantes\";\r\n\r\nexport function Avatar({\r\n name,\r\n onClick,\r\n src,\r\n className,\r\n}: {\r\n name: string;\r\n src?: string;\r\n onClick?: () => void;\r\n className?: string;\r\n}) {\r\n return (\r\n <ShadCnAvatar\r\n onClick={onClick}\r\n className={`h-10 w-10 hover:opacity-80 ${onClick ? \"cursor-pointer\" : \"\"} transition-all bg-[#0B89CE4D] ${className}`}\r\n >\r\n <AvatarImage src={src} alt={name} />\r\n <AvatarFallback className=\"text-white text-sm font-bold\">\r\n {getInitials(name ?? \"\")}\r\n </AvatarFallback>\r\n </ShadCnAvatar>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport function WorkspaceUserInfoItem({\r\n label,\r\n value,\r\n}: {\r\n label: string;\r\n value: number;\r\n}) {\r\n return (\r\n <div className=\"flex items-center justify-between gap-x-14\">\r\n <span className=\"text-gray-shade8 text-sm font-normal\">{label}</span>\r\n\r\n\r\n <span className=\"p-1 text-body-sm font-medium rounded-md bg-primary/10 text-primary\">\r\n {value}\r\n </span>\r\n </div>\r\n );\r\n}\r\n","import { Avatar } from \"../../../../../components/shared/avatar/avatar\";\r\nimport React from \"react\";\r\nimport { WorkspaceUserInfoItem } from \"./WorkspaceUserInfoItem\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { packageDictionary } from \"../../../../../locales/utils\";\r\nimport { TLocale } from \"../../../../../context/types\";\r\n\r\nexport function WorkspaceUserInfo() {\r\n const { user, locale } = useMirantesFoundation();\r\n const handleRedirectToProfile = () => {\r\n window.location.href = `/profile/${locale}`;\r\n };\r\n\r\n return (\r\n <div className=\"rounded-2xl flex items-stretch gap-x-4 bg-white min-w-[347px] px-6 py-5\">\r\n <div className=\"flex items-center gap-x-2\">\r\n <Avatar\r\n onClick={handleRedirectToProfile}\r\n name={user?.name as string}\r\n src={user?.avatar}\r\n className=\"w-14 h-14\"\r\n />\r\n\r\n <div className=\"flex flex-col items-start gap-y-2\">\r\n <h6 className=\"text-body-md font-bold\">{user?.name}</h6>\r\n <span className=\"text-body-sm text-gray-shade8\">{user?.role}</span>\r\n\r\n <span className=\"p-1 text-body-sm rounded-md font-bold text-orange-shade6 bg-orange-shade6/10\">\r\n 47%{\" \"}\r\n <span className=\"text-gray-shade8 font-normal\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.user.complete\"\r\n )}\r\n </span>\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"w-[1px] bg-border\" />\r\n\r\n <div className=\"flex flex-col gap-y-2\">\r\n <WorkspaceUserInfoItem\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.user.posts\"\r\n )}\r\n value={120}\r\n />\r\n <WorkspaceUserInfoItem\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.user.following\"\r\n )}\r\n value={1250}\r\n />\r\n <WorkspaceUserInfoItem\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.user.followers\"\r\n )}\r\n value={1250}\r\n />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { WorkspaceUserInfo } from \"../WorkspaceUserInfo/WorkspaceUserInfo\";\r\nimport { packageDictionary } from \"../../../../../locales/utils\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../../../context/types\";\r\n\r\nexport function WorkspaceGreetings() {\r\n const { locale, user } = useMirantesFoundation();\r\n\r\n return (\r\n <div className=\"flex items-center w-full justify-between\">\r\n <div className=\"flex flex-col gap-y-2\">\r\n <h4 className=\"text-[2rem] text-white font-bold lg:leading-normal\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.greetings\"\r\n )}{\" \"}\r\n {user?.name}\r\n </h4>\r\n\r\n <span className=\"text-white text-body-md\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.greetings.label\"\r\n )}\r\n </span>\r\n </div>\r\n\r\n <WorkspaceUserInfo />\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const FeedIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"31\"\r\n height=\"31\"\r\n fill=\"none\"\r\n viewBox=\"0 0 31 31\"\r\n >\r\n <path\r\n fill=\"url(#paint0_linear_54380_31901)\"\r\n d=\"M15.436 18.675c-4.312 0-7.95.704-7.95 3.424 0 2.721 3.661 3.4 7.95 3.4 4.313 0 7.951-.704 7.951-3.423 0-2.721-3.662-3.401-7.95-3.401\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint1_linear_54380_31901)\"\r\n d=\"M15.436 16.084c2.92 0 5.262-2.355 5.262-5.292 0-2.938-2.342-5.292-5.262-5.292s-5.261 2.354-5.261 5.292 2.341 5.292 5.261 5.292\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint2_linear_54380_31901)\"\r\n d=\"M26.86 12.024c.755-2.972-1.46-5.64-4.28-5.64-.307 0-.6.033-.886.09-.039.01-.081.029-.104.062-.025.043-.006.1.022.138a7.26 7.26 0 0 1 1.334 4.213 7.2 7.2 0 0 1-1.23 4.052c-.08.119-.01.28.133.305a4 4 0 0 0 .604.058c2.054.054 3.898-1.275 4.407-3.278\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint3_linear_54380_31901)\"\r\n d=\"M29.012 19.021c-.377-.806-1.284-1.359-2.664-1.63-.652-.16-2.414-.385-4.054-.354-.025.003-.038.02-.04.031-.004.016.003.043.035.06.758.377 3.687 2.017 3.319 5.476-.016.15.104.28.253.257.72-.104 2.575-.505 3.15-1.753a2.4 2.4 0 0 0 0-2.087\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint4_linear_54380_31901)\"\r\n d=\"M9.306 6.475a4.4 4.4 0 0 0-.886-.091c-2.82 0-5.036 2.669-4.28 5.64.509 2.003 2.352 3.333 4.406 3.279q.31-.008.604-.059a.198.198 0 0 0 .134-.305 7.2 7.2 0 0 1-1.23-4.051c0-1.564.488-3.02 1.335-4.214.027-.037.047-.094.02-.137-.022-.035-.064-.053-.103-.062\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint5_linear_54380_31901)\"\r\n d=\"M4.652 17.39c-1.38.272-2.287.825-2.663 1.63a2.4 2.4 0 0 0 0 2.089c.576 1.247 2.43 1.649 3.15 1.751.15.023.268-.105.253-.256-.368-3.458 2.56-5.098 3.32-5.476.03-.018.038-.044.034-.06-.002-.012-.014-.029-.039-.03-1.64-.032-3.403.193-4.055.353\"\r\n ></path>\r\n <defs>\r\n <linearGradient\r\n id=\"paint0_linear_54380_31901\"\r\n x1=\"15.436\"\r\n x2=\"15.436\"\r\n y1=\"18.675\"\r\n y2=\"25.5\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint1_linear_54380_31901\"\r\n x1=\"15.436\"\r\n x2=\"15.436\"\r\n y1=\"5.5\"\r\n y2=\"16.084\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint2_linear_54380_31901\"\r\n x1=\"24.294\"\r\n x2=\"24.294\"\r\n y1=\"6.383\"\r\n y2=\"15.304\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint3_linear_54380_31901\"\r\n x1=\"25.751\"\r\n x2=\"25.751\"\r\n y1=\"17.034\"\r\n y2=\"22.863\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint4_linear_54380_31901\"\r\n x1=\"6.706\"\r\n x2=\"6.706\"\r\n y1=\"6.384\"\r\n y2=\"15.304\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint5_linear_54380_31901\"\r\n x1=\"5.248\"\r\n x2=\"5.248\"\r\n y1=\"17.034\"\r\n y2=\"22.863\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n </defs>\r\n </svg>\r\n);\r\n\r\n","import React from \"react\";\r\n\r\nexport function WorkspaceBarItemSkeleton() {\r\n return (\r\n <div className=\"items-center flex justify-center gap-x-4 col-span-1\">\r\n <div className=\"skeleton bg-gray-shade1/80 w-12 h-12 rounded-full\" />\r\n\r\n <div className=\"h-3 rounded-lg skeleton bg-gray-shade1/80 w-32\" />\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { WorkspaceBarItem } from \"./WorkspaceBarItem\";\r\nimport { FeedIcon } from \"../../../../../../assets/icons/workspaces-panel/FeedIcon\";\r\nimport { BriefcaseIcon } from \"../../../../../../assets/icons/BriefcaseIcon\";\r\nimport { useApiGetWorkspaces } from \"../../../api/use-api-get-workspaces\";\r\nimport { useMirantesFoundation } from \"../../../../../../context/useMirantesFoundation\";\r\nimport { Palette } from \"../../../../../../styles/palette.const\";\r\nimport { WorkspaceBarItemSkeleton } from \"./WorkspaceBarItemSkeleton\";\r\n\r\nexport function WorkspaceBarItems() {\r\n const { user } = useMirantesFoundation();\r\n const { workspaces, isGetWorkspacesLoading } = useApiGetWorkspaces({\r\n filter: {\r\n name: \"\",\r\n userId: user?.id as string,\r\n },\r\n perPage: 3,\r\n sort: \"createdAt\",\r\n sortDir: \"desc\",\r\n });\r\n return (\r\n <div className=\"flex-1 h-full rounded-l-2xl divide-x divide-border overflow-hidden grid grid-cols-3 lg:grid-cols-4\">\r\n <WorkspaceBarItem\r\n isCurrent\r\n active\r\n icon={<FeedIcon />}\r\n label=\"Feed\"\r\n href=\"/feed\"\r\n />\r\n {isGetWorkspacesLoading\r\n ? Array(3)\r\n .fill(0)\r\n .map((_, index) => <WorkspaceBarItemSkeleton key={index} />)\r\n : workspaces\r\n ?.slice(0, 3)\r\n ?.map((item) => (\r\n <WorkspaceBarItem\r\n workspace={item}\r\n description={item?.description}\r\n href={`/workspace/${item?.id}`}\r\n key={item?.id}\r\n icon={\r\n item?.icon ? (\r\n <span className=\"text-2xl\">{item?.icon}</span>\r\n ) : (\r\n <BriefcaseIcon color={Palette.blue.shade1} />\r\n )\r\n }\r\n active\r\n label={item?.name}\r\n />\r\n ))}\r\n </div>\r\n );\r\n}\r\n","import { ExploreIcon } from \"../../../../../assets/icons/ExploreIcon\";\r\nimport { ChevronDownIcon } from \"lucide-react\";\r\nimport React from \"react\";\r\nimport { WorkspaceBarItems } from \"./WorkspaceItems/WorkspaceBarItems\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../../../context/types\";\r\nimport { packageDictionary } from \"../../../../../locales/utils\";\r\nimport { AddWorkspaceButton } from \"./AddWorkspaceButton/AddWorkspaceButton\";\r\nimport { motion } from \"motion/react\";\r\n\r\nexport function WorkspacePanelBar() {\r\n const { locale } = useMirantesFoundation();\r\n return (\r\n <motion.div\r\n className=\"h-[91px] divide-x divide-border bg-white rounded-2xl w-full -bottom-[65px] absolute flex items-center justify-between\"\r\n initial={{ opacity: 0, y: 10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.3, ease: \"easeInOut\", delay: 0.3 }}\r\n >\r\n <WorkspaceBarItems />\r\n\r\n <div className=\"pl-14 pr-5 h-full flex gap-x-8 items-center\">\r\n <button className=\"flex text-gray-shade8 items-center button-empty gap-x-3\">\r\n <ExploreIcon />\r\n <span className=\"text-sm font-bold text-body-md\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.explore\"\r\n )}\r\n </span>\r\n <ChevronDownIcon className=\"text-gray-shade8 w-4 h-4\" />\r\n </button>\r\n\r\n <AddWorkspaceButton />\r\n </div>\r\n </motion.div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { WorkspaceGreetings } from \"../WorkspaceGreetings/WorkspaceGreetings\";\r\nimport { WorkspacePanelBar } from \"../WorkspacePanelBar/WorkspacePanelBar\";\r\n\r\nexport function DesktopWorkspaceBar() {\r\n return (\r\n <div className=\"w-full hidden lg:block h-[204px] bg-primary\">\r\n <div className=\"w-full h-full mx-auto relative max-w-[1216px] flex items-center\">\r\n <div className=\"flex-col w-full items-start flex\">\r\n <WorkspaceGreetings />\r\n </div>\r\n\r\n <WorkspacePanelBar />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import { useEffect, useState } from \"react\";\r\n\r\nconst MOBILE_BREAKPOINT = 1014; // You can change this to your design breakpoint\r\n\r\nexport function useMobile() {\r\n const [isMobile, setIsMobile] = useState<boolean>(false);\r\n\r\n useEffect(() => {\r\n const checkIsMobile = () => {\r\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\r\n };\r\n\r\n checkIsMobile(); // Initial check\r\n window.addEventListener(\"resize\", checkIsMobile);\r\n\r\n return () => {\r\n window.removeEventListener(\"resize\", checkIsMobile);\r\n };\r\n }, []);\r\n\r\n return { isMobile };\r\n}\r\n","import React from \"react\";\r\nimport MobileWorkspaceBar from \"./components/MobileWorspaceBar/MobileWorkspaceBar\";\r\nimport { DesktopWorkspaceBar } from \"./components/DesktopWorkspaceBar/DesktopWorkspaceBar\";\r\nimport { useMobile } from \"../../../hooks/useMobile\";\r\n\r\nexport default function WorkspacePanel() {\r\n const { isMobile } = useMobile();\r\n\r\n return <>{isMobile ? <MobileWorkspaceBar /> : <DesktopWorkspaceBar />}</>;\r\n}\r\n","import React from \"react\";\r\n\r\ninterface IMirantesLogo {\r\n className?: string;\r\n color?: string;\r\n}\r\n\r\nexport function MirantesLogo({ className, color }: IMirantesLogo) {\r\n return (\r\n <svg\r\n width=\"88\"\r\n height=\"32\"\r\n viewBox=\"0 0 88 32\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n className={className}\r\n >\r\n <path\r\n d=\"M7.35135 32H3.70811C1.66054 32 0 30.3395 0 28.2919V0H3.41838C5.59135 0 7.35135 1.76 7.35135 3.93297V32Z\"\r\n fill=\"#0B89CE\"\r\n />\r\n <path\r\n d=\"M15.7835 30.9189H12.1424C10.0927 30.9189 8.43213 29.2584 8.43213 27.2087V3.45947H11.87C14.0321 3.45947 15.7835 5.21082 15.7835 7.37299V30.9189Z\"\r\n fill=\"#0B89CE\"\r\n />\r\n <path\r\n d=\"M23.3514 27.2432H19.8638C18.0887 27.2432 16.6487 25.8032 16.6487 24.0281V7.13513H19.9806C21.8422 7.13513 23.3514 8.64432 23.3514 10.5059V27.2432Z\"\r\n fill=\"#0B89CE\"\r\n />\r\n <path\r\n d=\"M26.1622 25.7427V15.5676H27.2454C27.8422 15.5676 28.3243 16.0497 28.3243 16.6465V26.8108H27.2303C26.64 26.8108 26.1622 26.333 26.1622 25.7427Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M31.5677 18.9254C31.5677 17.5762 31.546 16.4151 31.479 15.3492H32.1579C32.7352 15.3492 33.2087 15.8076 33.2239 16.387L33.2628 17.7276H33.3536C33.8552 16.0995 35.0595 15.0746 36.4044 15.0746C36.6314 15.0746 36.7914 15.1005 36.9731 15.1503V16.9427C36.9731 17.0876 36.8477 17.1978 36.705 17.1784C36.5817 17.1611 36.4477 17.1546 36.292 17.1546C34.8801 17.1546 33.879 18.3308 33.6066 19.9827C33.5612 20.2832 33.5158 20.6335 33.5158 21.0097V26.8108H32.6293C32.0455 26.8108 31.5698 26.3373 31.5698 25.7513V18.9254H31.5677Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M46.0563 26.8108C45.5093 26.8108 45.0509 26.3978 44.9947 25.853L44.9363 25.2973H44.8693C44.2661 26.24 43.1028 27.0832 41.559 27.0832C39.3666 27.0832 38.2488 25.3708 38.2488 23.6346C38.2488 20.7308 40.5753 19.1438 44.7569 19.1676V18.9189C44.7569 17.9265 44.5104 16.1405 42.2963 16.1405C41.7342 16.1405 41.159 16.2486 40.6272 16.4389C39.972 16.6746 39.2542 16.307 39.0466 15.6411L39.0315 15.5935C39.9266 14.9492 41.2239 14.5276 42.5882 14.5276C45.8985 14.5276 46.7028 17.0335 46.7028 19.44V23.9308C46.7028 24.973 46.7482 25.9892 46.8823 26.8086H46.0563V26.8108ZM44.7569 21.0832C42.5839 21.0357 40.119 21.4335 40.119 23.6346C40.119 24.9686 40.9796 25.6 41.998 25.6C43.4228 25.6 44.3288 24.6638 44.6445 23.7038C44.7115 23.494 44.7569 23.2584 44.7569 23.0486V21.0832Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M49.7296 18.6097C49.7296 17.4486 49.7058 16.4951 49.6323 15.5676H50.5556C51.1221 15.5676 51.5912 16.0086 51.6258 16.5751L51.6821 17.5135H51.6626C52.1967 16.454 53.4421 15.4184 55.2215 15.4184C56.7112 15.4184 59.0248 16.3394 59.0248 20.16V26.8108H58.3567C57.7707 26.8108 57.295 26.3351 57.295 25.7492V20.2789C57.295 18.4519 56.6312 16.9319 54.7307 16.9319C53.4031 16.9319 52.3718 17.8919 52.028 19.0378C51.9372 19.2951 51.8896 19.6476 51.8896 19.9978V26.8108H50.7977C50.2053 26.8108 49.7275 26.3308 49.7275 25.7405V18.6097H49.7296Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M64.8649 14.0238V15.3513H66.5708C67.1805 15.3513 67.6757 15.8465 67.6757 16.4562V17.0811H64.8649V23.1978C64.8649 24.6032 65.2497 25.4011 66.3589 25.4011H66.4065C67.0335 25.4011 67.5503 25.8876 67.587 26.5124L67.6043 26.8065C67.2194 26.9708 66.6097 27.0876 65.84 27.0876C64.9124 27.0876 64.1665 26.7827 63.6908 26.2205C63.1243 25.6108 62.9211 24.6032 62.9211 23.2692V17.0811H62.4022C61.734 17.0811 61.1913 16.5384 61.1913 15.8703V15.3513H62.9211V12.6357L63.0097 12.6119C63.9416 12.3524 64.8649 13.0551 64.8649 14.0238Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M70.8021 21.6216C70.8475 24.4065 72.5664 25.5546 74.5577 25.5546C75.2561 25.5546 75.8183 25.4919 76.2983 25.3924C77.0356 25.2368 77.7599 25.7103 77.9307 26.4454C77.2302 26.7741 76.0302 27.1481 74.2875 27.1481C70.9167 27.1481 68.9037 24.8541 68.9037 21.4357C68.9037 18.0173 70.8496 15.3254 74.0388 15.3254C77.6129 15.3254 78.5642 18.5795 78.5642 20.6616C78.5642 21.0832 78.5188 21.4119 78.4972 21.6216H70.8021ZM76.6399 20.1081C76.6615 18.7978 76.1188 16.7611 73.8788 16.7611C71.8658 16.7611 70.9837 18.6811 70.8237 20.1081H76.6399Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M80.2594 26.3265C80.5037 25.5568 81.3232 25.1416 82.0972 25.3751C82.5059 25.4984 82.9491 25.5784 83.3816 25.5784C84.8302 25.5784 85.5091 24.8281 85.5091 23.8919C85.5091 22.9081 84.9426 22.3697 83.4724 21.8076C81.5048 21.0811 80.5772 19.9589 80.5772 18.6011C80.5772 16.7762 82.0021 15.2778 84.3545 15.2778C85.4637 15.2778 86.4367 15.6065 87.0464 15.9805L87.0335 16.0173C86.7956 16.7351 86.041 17.1265 85.3059 16.9449C85.0054 16.8713 84.6724 16.8238 84.307 16.8238C83.1308 16.8238 82.4735 17.5265 82.4735 18.3697C82.4735 19.3059 83.1286 19.7276 84.5556 20.2897C86.4562 21.0378 87.4291 22.0216 87.4291 23.7081C87.4291 25.6973 85.9351 27.1027 83.334 27.1027C82.1383 27.0984 81.0291 26.7957 80.2594 26.3265Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n </svg>\r\n );\r\n}\r\n\r\nexport function MirantesLogoSmall({\r\n className,\r\n color = \"#0B89CE\",\r\n}: IMirantesLogo) {\r\n return (\r\n <svg\r\n height=\"32\"\r\n width=\"32\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n className={className}\r\n >\r\n <path\r\n d=\"M7.35135 32H3.70811C1.66054 32 0 30.3395 0 28.2919V0H3.41838C5.59135 0 7.35135 1.76 7.35135 3.93297V32Z\"\r\n fill={color}\r\n />\r\n <path\r\n d=\"M15.7835 30.9189H12.1424C10.0927 30.9189 8.43213 29.2584 8.43213 27.2087V3.45947H11.87C14.0321 3.45947 15.7835 5.21082 15.7835 7.37299V30.9189Z\"\r\n fill={color}\r\n />\r\n <path\r\n d=\"M23.3514 27.2432H19.8638C18.0887 27.2432 16.6487 25.8032 16.6487 24.0281V7.13513H19.9806C21.8422 7.13513 23.3514 8.64432 23.3514 10.5059V27.2432Z\"\r\n fill={color}\r\n />\r\n </svg>\r\n );\r\n}\r\n","import React, { useRef, RefObject } from \"react\";\r\nimport { MoreVerticalIcon } from \"lucide-react\";\r\nimport { useOpen } from \"../../fromMirantes/hooks/use-open\";\r\nimport { useOutsideClick } from \"../../fromMirantes/hooks/use-outside-click\";\r\nimport { motion } from \"motion/react\";\r\n\r\nexport function Dropdown({\r\n children,\r\n className,\r\n trigger,\r\n}: {\r\n children: React.ReactNode;\r\n className?: string;\r\n trigger?: React.ReactNode;\r\n}) {\r\n const ref = useRef<HTMLDivElement>(null);\r\n const { isOpen, toggle, onClose } = useOpen();\r\n useOutsideClick(ref as RefObject<HTMLDivElement>, onClose);\r\n\r\n return (\r\n <div className=\"relative inline-block\" ref={ref}>\r\n {trigger ? (\r\n <div className=\"cursor-pointer\" onClick={toggle}>\r\n {trigger}\r\n </div>\r\n ) : (\r\n <button\r\n onClick={toggle}\r\n className=\"p-2 rounded-full hover:bg-gray-100 focus:outline-none\"\r\n >\r\n <MoreVerticalIcon className=\"w-5 h-5\" />\r\n </button>\r\n )}\r\n {isOpen && (\r\n <motion.div\r\n style={{\r\n boxShadow: \"0px 0px 16px 5px rgb(11 137 206 / 0.09)\",\r\n }}\r\n initial={{ opacity: 0, y: -10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n exit={{ opacity: 0, y: -10 }}\r\n transition={{ duration: 0.2 }}\r\n className={`absolute right-0 mt-2 min-w-[200px] rounded-2xl bg-white p-2 z-50 ${className}`}\r\n >\r\n {children}\r\n </motion.div>\r\n )}\r\n </div>\r\n );\r\n}\r\n","import { useMirantesFoundation } from \"../../../context/useMirantesFoundation\";\r\nimport { deleteCookie, getCookie, setCookie, OptionsType } from \"cookies-next\";\r\n\r\nexport const useUserSessions = () => {\r\n const { environment, mirantesDomain } = useMirantesFoundation();\r\n const resolvedDomain = environment === \"dev\" ? \"localhost\" : mirantesDomain;\r\n function saveCookie(name: string, value: string, options?: OptionsType) {\r\n setCookie(name, value, {\r\n sameSite: \"lax\",\r\n secure: environment !== \"dev\",\r\n path: \"/\",\r\n domain: resolvedDomain,\r\n ...options,\r\n });\r\n }\r\n\r\n function destroyCookie(name: string, options?: OptionsType) {\r\n deleteCookie(name, {\r\n sameSite: \"lax\",\r\n secure: environment !== \"dev\",\r\n path: \"/\",\r\n domain: resolvedDomain,\r\n ...options,\r\n });\r\n }\r\n\r\n function getSavedCookie(name: string) {\r\n return getCookie(name);\r\n }\r\n\r\n return {\r\n saveCookie,\r\n destroyCookie,\r\n getSavedCookie,\r\n };\r\n};\r\n","import { Dropdown } from \"../../../../shared/dropdown/Dropdown\";\r\nimport React from \"react\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { packageDictionary } from \"../../../../../locales/utils\";\r\nimport { TLocale } from \"../../../../../context/types\";\r\nimport { useUserSessions } from \"../../../../../components/fromMirantes/utils/cookies-utils\";\r\nimport { AppKeys } from \"../../../../../components/fromMirantes/utils/app.keys\";\r\nimport { LogOut } from \"lucide-react\";\r\n\r\nexport function UserOptions({ trigger }: { trigger?: React.ReactNode }) {\r\n const { locale } = useMirantesFoundation();\r\n const { destroyCookie } = useUserSessions();\r\n\r\n const handleLogout = () => {\r\n destroyCookie(AppKeys.accessToken);\r\n destroyCookie(AppKeys.refreshToken);\r\n destroyCookie(AppKeys.userData);\r\n destroyCookie(AppKeys.userId);\r\n destroyCookie(AppKeys.userSlug);\r\n destroyCookie(AppKeys.userStatus);\r\n\r\n window.location.href = \"/\";\r\n };\r\n\r\n return (\r\n <Dropdown trigger={trigger}>\r\n <div className=\"w-full flex flex-col gap-y-4\">\r\n \r\n <div\r\n role=\"button\"\r\n onClick={handleLogout}\r\n className=\"px-4 group flex gap-x-2 cursor-pointer justify-start hover:font-medium py-2 w-full text-body-md text-gray-shade8 hover:text-primary transition-all hover:bg-primary/10 rounded-[10px]\"\r\n >\r\n <div className=\"w-5 h-5 flex items-center justify-center \">\r\n <LogOut className=\"w-5 h-5 text-gray-shade8 group-hover:text-primary\" />\r\n </div>\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.user.options.logout\"\r\n )}\r\n </div>\r\n </div>\r\n </Dropdown>\r\n );\r\n}\r\n","import { ChevronDownIcon } from \"lucide-react\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { Avatar } from \"../../../../shared/avatar/avatar\";\r\nimport React from \"react\";\r\nimport { UserOptions } from \"./UserOptions\";\r\n\r\nexport function UserInfo() {\r\n const { user, locale } = useMirantesFoundation();\r\n\r\n const handleRedirectToProfile = () => {\r\n window.location.href = `/profile/${locale}`;\r\n };\r\n\r\n return (\r\n <UserOptions\r\n trigger={\r\n <div className=\"flex items-center gap-x-2\">\r\n <Avatar\r\n onClick={handleRedirectToProfile}\r\n name={user?.name as string}\r\n src={user?.avatar}\r\n className=\"w-8 h-8\"\r\n />\r\n\r\n <div className=\"flex items-center gap-x-2\">\r\n <div className=\"flex flex-col items-start\">\r\n <span className=\"text-body-sm font-semibold\">{user?.name}</span>\r\n <span className=\"text-body-sm text-gray-shade8\">\r\n {user?.slug}\r\n </span>\r\n </div>\r\n\r\n <ChevronDownIcon className=\"w-4 h-4\" />\r\n </div>\r\n </div>\r\n }\r\n />\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { cn } from \"../../../../../utils/utils\";\r\n\r\ntype NavbarItemProps = {\r\n icon: React.ReactNode;\r\n label: string;\r\n isActive?: boolean;\r\n href: string;\r\n};\r\n\r\nexport function NavbarItem({ icon, label, href, isActive }: NavbarItemProps) {\r\n return (\r\n <button\r\n onClick={() => (window.location.href = href)}\r\n className={cn(\r\n \"flex items-center px-5 h-[44px] transition-all text-body-sm font-bold text-gray-shade8 gap-x-2\",\r\n isActive && \"bg-primary/10 text-primary rounded-lg\"\r\n )}\r\n >\r\n <div className={cn(\"w-6 h-6 transition-all\", !isActive && \"grayscale\")}>\r\n {icon}\r\n </div>\r\n\r\n {label}\r\n </button>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport const HomeIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"21\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 21 20\"\r\n >\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M8.12 17.318v-2.556c0-.647.526-1.173 1.179-1.177h2.395c.655 0 1.186.527 1.186 1.177v2.549c0 .562.457 1.018 1.022 1.022h1.635a2.88 2.88 0 0 0 2.036-.833c.54-.535.844-1.261.844-2.019v-7.26a2.06 2.06 0 0 0-.747-1.585l-5.55-4.408a2.596 2.596 0 0 0-3.299.06L3.39 6.636a2.06 2.06 0 0 0-.806 1.585v7.253a2.87 2.87 0 0 0 2.88 2.86H7.06c.273.001.535-.105.728-.296.193-.19.302-.45.302-.72z\"\r\n ></path>\r\n </svg>\r\n);\r\n","import React from \"react\";\r\n\r\nexport const MCPIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"21\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 21 20\"\r\n >\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M18.276 6.202c-.35-.22-.779-.24-1.144-.053l-1.235.623c-.457.23-.74.696-.74 1.214v4.86c0 .519.283.983.74 1.215l1.234.623a1.14 1.14 0 0 0 1.145-.053c.349-.22.557-.599.557-1.015V7.218c0-.416-.208-.796-.557-1.016\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M10.42 16.667H5.595c-2.018 0-3.427-1.392-3.427-3.385V7.551c0-1.994 1.409-3.384 3.427-3.384h4.827c2.018 0 3.427 1.39 3.427 3.384v5.731c0 1.993-1.409 3.384-3.427 3.384\"\r\n ></path>\r\n </svg>\r\n);\r\n","import React from \"react\";\r\n\r\nexport const ExploreIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"21\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 21 20\"\r\n >\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M13.896 1.667h2.822c1.169 0 2.115.954 2.115 2.133v2.845a2.124 2.124 0 0 1-2.115 2.134h-2.822a2.124 2.124 0 0 1-2.115-2.134V3.8c0-1.179.947-2.133 2.115-2.133\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n fillRule=\"evenodd\"\r\n d=\"M4.282 1.667h2.822c1.168 0 2.115.954 2.115 2.133v2.845A2.124 2.124 0 0 1 7.104 8.78H4.282a2.124 2.124 0 0 1-2.115-2.134V3.8c0-1.179.947-2.133 2.115-2.133m0 9.554h2.822c1.168 0 2.115.955 2.115 2.133V16.2a2.125 2.125 0 0 1-2.115 2.133H4.282A2.125 2.125 0 0 1 2.167 16.2v-2.846c0-1.178.947-2.133 2.115-2.133m12.436 0h-2.822a2.124 2.124 0 0 0-2.115 2.133V16.2c0 1.178.947 2.133 2.115 2.133h2.822a2.125 2.125 0 0 0 2.115-2.133v-2.846a2.124 2.124 0 0 0-2.115-2.133\"\r\n clipRule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n);\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { NavbarItem } from \"./NavbarItem\";\r\nimport { packageDictionary } from \"../../../../../locales/utils\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../../../context/types\";\r\nimport { HomeIcon } from \"../../../../../assets/icons/nav-icons/HomeIcon\";\r\nimport { MCPIcon } from \"../../../../../assets/icons/nav-icons/MCPIcon\";\r\nimport { ExploreIcon } from \"../../../../../assets/icons/nav-icons/ExploreIcon\";\r\n\r\nexport function Navbar() {\r\n const { locale } = useMirantesFoundation();\r\n\r\n return (\r\n <nav className=\"flex items-center\">\r\n <NavbarItem\r\n isActive\r\n href=\"/\"\r\n label={packageDictionary(locale as TLocale, \"main.navbar.home\")}\r\n icon={<HomeIcon />}\r\n />\r\n\r\n <NavbarItem\r\n label={packageDictionary(locale as TLocale, \"main.navbar.mcp\")}\r\n icon={<MCPIcon />}\r\n href=\"/mcp\"\r\n />\r\n\r\n <NavbarItem\r\n label={packageDictionary(locale as TLocale, \"main.navbar.explore\")}\r\n icon={<ExploreIcon />}\r\n href=\"/explore\"\r\n />\r\n </nav>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const AIIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 20 20\"\r\n >\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M5.551 8.897s.307 2.859 1.5 4.052 4.052 1.5 4.052 1.5-2.86.306-4.052 1.499C5.858 17.14 5.55 20 5.55 20s-.306-2.86-1.499-4.052C2.859 14.755 0 14.448 0 14.448s2.859-.306 4.052-1.499 1.5-4.052 1.5-4.052M13.482 4.184s.306 2.859 1.5 4.052c1.192 1.193 4.052 1.5 4.052 1.5s-2.86.306-4.053 1.499-1.499 4.052-1.499 4.052-.306-2.859-1.5-4.052c-1.192-1.193-4.051-1.5-4.051-1.5s2.859-.306 4.052-1.499 1.5-4.052 1.5-4.052\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M5.551 0s.307 2.859 1.5 4.052 4.052 1.5 4.052 1.5-2.86.306-4.052 1.499c-1.193 1.193-1.5 4.052-1.5 4.052s-.306-2.86-1.499-4.052C2.859 5.858 0 5.55 0 5.55s2.859-.306 4.052-1.499S5.552 0 5.552 0\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import * as React from \"react\";\r\n\r\nexport const MessagesIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"24\"\r\n height=\"24\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n >\r\n <path\r\n fill=\"#111827\"\r\n d=\"M12.02 2C6.21 2 2 6.74 2 12c0 1.68.49 3.41 1.35 4.99.16.26.18.59.07.9l-.67 2.24c-.15.54.31.94.82.78l2.02-.6c.55-.18.98.05 1.491.36 1.46.86 3.279 1.3 4.919 1.3 4.96 0 10-3.83 10-10C22 6.65 17.7 2 12.02 2\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#111827\"\r\n d=\"M7.37 10.73c.71 0 1.28.57 1.28 1.28 0 .7-.57 1.27-1.28 1.28-.7 0-1.28-.58-1.28-1.28 0-.71.57-1.28 1.28-1.28m4.61 0c.71 0 1.28.57 1.28 1.28 0 .7-.57 1.28-1.28 1.28-.71-.01-1.28-.58-1.28-1.29 0-.7.58-1.28 1.28-1.27m4.61 0c.71 0 1.28.57 1.28 1.28 0 .7-.57 1.28-1.28 1.28s-1.28-.58-1.28-1.28c0-.71.57-1.28 1.28-1.28\"\r\n ></path>\r\n <rect width=\"10\" height=\"10\" x=\"13.002\" y=\"1\" fill=\"#E03137\" rx=\"5\"></rect>\r\n <rect\r\n width=\"10\"\r\n height=\"10\"\r\n x=\"13.002\"\r\n y=\"1\"\r\n stroke=\"#fff\"\r\n strokeWidth=\"2\"\r\n rx=\"5\"\r\n ></rect>\r\n </svg>\r\n);\r\n\r\n","import { BellIcon } from \"../../../../assets/icons/BellIcon\";\r\nimport { MirantesLogo } from \"../../../../assets/logos/MirantesLogo\";\r\nimport React, { useState } from \"react\";\r\nimport { UserInfo } from \"../components/UserInfo/UserInfo\";\r\nimport { Navbar } from \"../components/Navbar/Navbar\";\r\nimport { BaseInput } from \"../../../shared/BaseInput/BaseInput\";\r\nimport { TLocale } from \"../../../../context/types\";\r\nimport { packageDictionary } from \"../../../../locales/utils\";\r\nimport { AIIcon } from \"../../../../assets/icons/nav-icons/AIIcon\";\r\nimport { useMirantesFoundation } from \"../../../../context/useMirantesFoundation\";\r\nimport { MessagesIcon } from \"../../../../assets/icons/MessagesIcon\";\r\nimport { cn } from \"../../../../utils/utils\";\r\nimport { NotificationsWrapper } from \"@mirantes-micro/notifications-v2\"\r\n\r\nexport function DesktopHeader({ className }: { className?: string }) {\r\n const { locale } = useMirantesFoundation();\r\n const [search, setSearch] = useState(\"\");\r\n\r\n return (\r\n <header\r\n className={cn(\r\n \"hidden lg:block w-full z-[200] h-[70px] bg-white rounded-2xl sticky top-0\",\r\n className\r\n )}\r\n >\r\n <div className=\"flex max-w-[1440px] px-8 h-full items-center justify-between w-full mx-auto\">\r\n <div className=\"flex items-center gap-x-6\">\r\n <button\r\n className=\"button-empty !p-0\"\r\n onClick={() => (window.location.href = \"/\")}\r\n >\r\n <MirantesLogo />\r\n </button>\r\n\r\n <BaseInput\r\n onChange={(e) => setSearch(e.target.value)}\r\n className=\"h-[46px]\"\r\n wrapperClassName=\"min-w-[400px]\"\r\n leftIcon={<AIIcon />}\r\n placeholder={packageDictionary(\r\n locale as TLocale,\r\n \"component.search.placeholder\"\r\n )}\r\n value={search}\r\n />\r\n </div>\r\n\r\n <Navbar />\r\n\r\n <div className=\"flex items-center gap-x-6\">\r\n <button>\r\n <MessagesIcon />\r\n </button>\r\n <NotificationsWrapper />\r\n <UserInfo />\r\n </div>\r\n </div>\r\n </header>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport default function SearchSvg() {\r\n return (\r\n <svg\r\n width=\"21\"\r\n height=\"21\"\r\n viewBox=\"0 0 21 21\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M9.76639 1.52734C5.21636 1.52734 1.52783 5.21587 1.52783 9.7659C1.52783 14.3159 5.21636 18.0045 9.76639 18.0045C14.3164 18.0045 18.0049 14.3159 18.0049 9.7659C18.0049 5.21587 14.3164 1.52734 9.76639 1.52734ZM0.027832 9.7659C0.027832 4.38744 4.38793 0.0273438 9.76639 0.0273438C15.1448 0.0273438 19.5049 4.38744 19.5049 9.7659C19.5049 15.1444 15.1448 19.5045 9.76639 19.5045C4.38793 19.5045 0.027832 15.1444 0.027832 9.7659Z\"\r\n fill=\"#111827\"\r\n />\r\n <path\r\n fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M15.4871 15.9548C15.7796 15.6615 16.2545 15.6609 16.5477 15.9534L20.0718 19.4683C20.365 19.7608 20.3657 20.2357 20.0732 20.529C19.7806 20.8222 19.3058 20.8228 19.0125 20.5303L15.4885 17.0155C15.1952 16.7229 15.1946 16.2481 15.4871 15.9548Z\"\r\n fill=\"#111827\"\r\n />\r\n </svg>\r\n );\r\n}\r\n","import { Avatar } from \"../../../shared/avatar/avatar\";\r\nimport { useMirantesFoundation } from \"../../../../context/useMirantesFoundation\";\r\nimport React from \"react\";\r\nimport { packageDictionary } from \"../../../../locales/utils\";\r\nimport { TLocale } from \"../../../../context/types\";\r\nimport SearchSvg from \"../../../../assets/icons/Search\";\r\nimport { BellIcon } from \"../../../../assets/icons/BellIcon\";\r\nimport { MenuIcon } from \"lucide-react\";\r\nimport { cn } from \"../../../../utils/utils\";\r\nimport { NotificationsWrapper } from \"@mirantes-micro/notifications-v2\";\r\n\r\nexport function MobileHeader({ className }: { className?: string }) {\r\n const { user, locale } = useMirantesFoundation();\r\n\r\n const handleRedirectToProfile = () => {\r\n window.location.href = `/profile/${locale}`;\r\n };\r\n\r\n return (\r\n <header\r\n className={cn(\r\n \"w-full sticky top-0 z-[200] bg-primary h-[80px] px-6 flex lg:hidden items-center justify-between\",\r\n className\r\n )}\r\n >\r\n <div className=\"flex items-center gap-x-2\">\r\n <Avatar\r\n onClick={handleRedirectToProfile}\r\n name={user?.name as string}\r\n className=\"w-[46px] h-[46px] bg-[#ffffff20]\"\r\n />\r\n\r\n <div className=\"flex flex-col gap-y-1\">\r\n <span className=\"text-[10px] text-white\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.greetings\"\r\n )}\r\n </span>\r\n\r\n <span className=\"text-body-sm text-white font-bold\">\r\n {user?.name}\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"flex items-center gap-x-4\">\r\n <button className=\"w-8 h-8 rounded-full flex items-center justify-center bg-[#ffffff20]\">\r\n <div className=\"w-5 h-5 [&>svg_*]:fill-white flex items-center justify-center\">\r\n <SearchSvg />\r\n </div>\r\n </button>\r\n\r\n <NotificationsWrapper />\r\n\r\n <button>\r\n <MenuIcon className=\"w-6 h-6 text-white\" />\r\n </button>\r\n </div>\r\n </header>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { DesktopHeader } from \"./DesktopHeader/DesktopHeader\";\r\nimport { MobileHeader } from \"./MobileHeader/MobileHeader\";\r\n\r\nexport default function Header({ className }: { className?: string }) {\r\n return (\r\n <>\r\n <DesktopHeader className={className} />\r\n <MobileHeader className={className} />\r\n </>\r\n );\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/fromMirantes/Spinner/Spinner.tsx","../src/components/fromMirantes/utils/joinUrlWithPathAndQuery.ts","../src/components/fromMirantes/utils/stringToObj.ts","../src/components/fromMirantes/utils/get-initials.ts","../src/context/MirantesFoundationContext.ts","../src/context/MirantesFoundationProvider.tsx","../src/assets/icons/ExploreIcon.tsx","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/class-group-utils.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/lru-cache.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/parse-class-name.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/config-utils.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/merge-classlist.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/tw-join.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/create-tailwind-merge.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/from-theme.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/validators.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/default-config.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/tw-merge.ts","../src/lib/utils.ts","../src/components/ui/tooltip.tsx","../src/components/shared/tooltip/tooltip.tsx","../src/components/fromMirantes/hooks/use-open.ts","../src/components/fromMirantes/hooks/use-outside-click.ts","../src/locales/dictionaries/en.ts","../src/locales/dictionaries/fr.ts","../src/locales/dictionaries/pt.ts","../src/locales/utils.ts","../src/assets/icons/edit-icon.tsx","../src/context/useMirantesFoundation.ts","../src/assets/icons/delete-icon.tsx","../src/styles/palette.const.ts","../src/components/shared/modal/confirm-modal.tsx","../src/components/ui/dialog.tsx","../src/components/shared/modal/modal.tsx","../src/assets/icons/loading-icon.tsx","../src/components/shared/button/button.tsx","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/subscribable.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/utils.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/focusManager.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/onlineManager.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/thenable.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/retryer.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/notifyManager.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/removable.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/query.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/queryCache.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/mutation.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/mutationCache.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/infiniteQueryBehavior.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/queryClient.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/queryObserver.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/infiniteQueryObserver.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/mutationObserver.ts","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/QueryClientProvider.tsx","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/IsRestoringProvider.ts","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/QueryErrorResetBoundary.tsx","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/errorBoundaryUtils.ts","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/suspense.ts","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/useBaseQuery.ts","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/useMutation.ts","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/useInfiniteQuery.ts","../src/components/fromMirantes/WorkspacePanel/api/graphql.ts","../src/client/queryClient.ts","../src/components/fromMirantes/WorkspacePanel/api/use-api-delete-workspace.ts","../src/components/shared/toasts/toasts.tsx","../src/assets/illustrations/AlertIllustration.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/store/add-workspace.store.ts","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/AddWorkspaceModal.tsx","../src/assets/illustrations/CongratulationsIllustration.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/components/AddWorkspaceDone/AddWorkspaceDone.tsx","../src/components/fromMirantes/WorkspacePanel/api/use-api-create-workspace.ts","../src/components/fromMirantes/WorkspacePanel/api/use-api-update-workspace.ts","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/components/AddWorkspaceForm/useAddWorkspaceModal.tsx","../src/assets/icons/CircledInfoIcon.tsx","../src/components/ui/input.tsx","../src/utils/utils.ts","../src/components/shared/BaseInput/BaseInput.tsx","../src/components/ui/button.tsx","../src/components/ui/command.tsx","../src/components/ui/popover.tsx","../src/components/shared/select-input/select-input.tsx","../src/components/shared/badge/badge.tsx","../src/components/ui/textarea.tsx","../src/components/shared/description-input/description-input.tsx","../src/assets/illustrations/CreatingWorkspaceIllustration.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/components/AddWorkspaceLoading/AddWorkspaceLoading.tsx","../src/components/shared/emogi-picker/emoji-picker.tsx","../src/assets/icons/use-icon.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/components/AddWorkspaceForm/AddWorkspaceForm.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/WorkspaceItems/WorkspaceBarItemOptions.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/WorkspaceItems/WorkspaceBarItem.tsx","../src/assets/icons/WorkFeedIcon.tsx","../src/assets/icons/BriefcaseIcon.tsx","../src/components/fromMirantes/WorkspacePanel/api/use-api-get-workspaces.ts","../src/assets/icons/CircledAddIcon.tsx","../src/assets/icons/workspaces-panel/AddWorkspaceIcon.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceButton/AddWorkspaceButton.tsx","../src/components/fromMirantes/WorkspacePanel/components/MobileWorspaceBar/MobileWorkspaceBar.tsx","../src/components/ui/avatar.tsx","../src/components/shared/avatar/avatar.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspaceUserInfo/WorkspaceUserInfoItem.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspaceUserInfo/WorkspaceUserInfo.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspaceGreetings/WorkspaceGreetings.tsx","../src/assets/icons/workspaces-panel/FeedIcon.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/WorkspaceItems/WorkspaceBarItemSkeleton.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/WorkspaceItems/WorkspaceBarItems.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/WorkspacePanelBar.tsx","../src/components/fromMirantes/WorkspacePanel/components/DesktopWorkspaceBar/DesktopWorkspaceBar.tsx","../src/hooks/useMobile.ts","../src/components/fromMirantes/WorkspacePanel/WorkspacePanel.tsx","../src/assets/logos/MirantesLogo.tsx","../src/components/shared/dropdown/Dropdown.tsx","../src/components/fromMirantes/utils/cookies-utils.ts","../src/components/fromMirantes/Header/components/UserInfo/UserOptions.tsx","../src/components/fromMirantes/Header/components/UserInfo/UserInfo.tsx","../src/components/fromMirantes/Header/components/Navbar/NavbarItem.tsx","../src/assets/icons/nav-icons/HomeIcon.tsx","../src/assets/icons/nav-icons/MCPIcon.tsx","../src/assets/icons/nav-icons/ExploreIcon.tsx","../src/components/fromMirantes/Header/components/Navbar/Navbar.tsx","../src/assets/icons/nav-icons/AIIcon.tsx","../src/assets/icons/MessagesIcon.tsx","../src/components/fromMirantes/Header/DesktopHeader/DesktopHeader.tsx","../src/assets/icons/Search.tsx","../src/components/fromMirantes/Header/MobileHeader/MobileHeader.tsx","../src/components/fromMirantes/Header/Header.tsx"],"names":["Spinner","className","React","joinUrlWithPathAndQuery","baseUrl","path","query","url","queryParams","key","e","stringToObj","inputString","separator","keyValuePairs","resultObj","pair","value","__spreadProps","__spreadValues","getInitials","fullName","_a","_b","_c","_d","parts","firstInitial","lastInitial","MirantesFoundationContext","createContext","MirantesFoundationProviderNotification","lazy","module","MirantesFoundationProvider","children","locale","Link","usePathname","user","mirantesDomain","environment","widgetsApi","hostUrl","isDev","useMemo","ExploreIcon","Ao","CLASS_PART_SEPARATOR","createClassGroupUtils","config","classMap","createClassMap","conflictingClassGroups","conflictingClassGroupModifiers","getClassGroupId","classParts","split","length","shift","getGroupRecursive","getGroupIdForArbitraryProperty","getConflictingClassGroupIds","classGroupId","hasPostfixModifier","conflicts","classPartObject","currentClassPart","nextClassPartObject","nextPart","get","classGroupFromNextClassPart","slice","undefined","validators","classRest","join","find","validator","arbitraryPropertyRegex","test","arbitraryPropertyClassName","exec","property","substring","indexOf","theme","prefix","Map","prefixedClassGroupEntries","getPrefixedClassGroupEntries","Object","entries","classGroups","forEach","classGroup","processClassesRecursively","classDefinition","classPartObjectToEdit","getPart","isThemeGetter","push","currentClassPartObject","pathPart","has","set","func","classGroupEntries","map","prefixedClassGroup","fromEntries","createLruCache","maxCacheSize","cacheSize","cache","previousCache","update","IMPORTANT_MODIFIER","createParseClassName","experimentalParseClassName","isSeparatorSingleCharacter","firstSeparatorCharacter","separatorLength","parseClassName","modifiers","bracketDepth","modifierStart","postfixModifierPosition","index","currentCharacter","baseClassNameWithImportantModifier","hasImportantModifier","startsWith","baseClassName","maybePostfixModifierPosition","sortModifiers","sortedModifiers","unsortedModifiers","modifier","sort","createConfigUtils","SPLIT_CLASSES_REGEX","mergeClassList","classList","configUtils","classGroupsInConflict","classNames","trim","result","originalClassName","Boolean","variantModifier","modifierId","classId","includes","conflictGroups","i","group","twJoin","argument","resolvedValue","string","arguments","toValue","mix","k","createTailwindMerge","createConfigFirst","createConfigRest","cacheGet","cacheSet","functionToCall","initTailwindMerge","reduce","previousConfig","createConfigCurrent","tailwindMerge","cachedResult","apply","fromTheme","themeGetter","arbitraryValueRegex","fractionRegex","stringLengths","Set","tshirtUnitRegex","lengthUnitRegex","colorFunctionRegex","shadowRegex","imageRegex","isLength","isNumber","isArbitraryLength","getIsArbitraryValue","isLengthOnly","Number","isNaN","isArbitraryNumber","isInteger","isPercent","endsWith","isArbitraryValue","isTshirtSize","sizeLabels","isArbitrarySize","isNever","isArbitraryPosition","imageLabels","isArbitraryImage","isImage","isArbitraryShadow","isShadow","isAny","label","testValue","getDefaultConfig","colors","spacing","blur","brightness","borderColor","borderRadius","borderSpacing","borderWidth","contrast","grayscale","hueRotate","invert","gap","gradientColorStops","gradientColorStopPositions","inset","margin","opacity","padding","saturate","scale","sepia","skew","space","translate","getOverscroll","getOverflow","getSpacingWithAutoAndArbitrary","getSpacingWithArbitrary","getLengthWithEmptyAndArbitrary","getNumberWithAutoAndArbitrary","getPositions","getLineStyles","getBlendModes","getAlign","getZeroAndEmpty","getBreaks","getNumberAndArbitrary","aspect","container","columns","box","display","float","clear","isolation","object","overflow","overscroll","position","start","end","top","right","bottom","left","visibility","z","basis","flex","grow","shrink","order","col","span","row","justify","content","items","self","p","px","py","ps","pe","pt","pr","pb","pl","m","mx","my","ms","me","mt","mr","mb","ml","w","screen","h","size","text","font","tracking","leading","list","placeholder","decoration","indent","align","whitespace","break","hyphens","bg","repeat","from","via","to","rounded","border","divide","outline","ring","shadow","filter","table","caption","transition","duration","ease","delay","animate","transform","rotate","origin","accent","appearance","cursor","caret","resize","scroll","snap","touch","select","fill","stroke","sr","twMerge","cn","inputs","clsx","TooltipProvider","delayDuration","props","__objRest","Ue","ue","Tooltip","TooltipTrigger","TooltipContent","sideOffset","useOpen","isOpen","setIsOpen","useState","useOutsideClick","ref","callback","useEffect","handleClick","event","packagesEnglishDictionary","packagesFrenchDictionary","packagesPortugueseDictionary","billingTranslation","packageDictionary","EditIcon","color","ro","useMirantesFoundation","mirantesContext","useContext","DeleteIcon","Wo","Palette","Dialog","Z","DialogPortal","DialogOverlay","ee","DialogContent","onClose","overlayClassName","closeOnOverlayClick","hideCloseButton","X","DialogHeader","DialogTitle","DialogDescription","Modal","header","isLoading","closeOnClickOutside","disableFullScreen","open","LoadingIcon","ie","Button","disabled","onClick","type","ConfirmModal","onConfirm","title","description","illustration","Subscribable","listener","isServer","noop","functionalUpdate","updater","input","isValidTimeout","timeUntilStale","updatedAt","staleTime","resolveStaleTime","resolveEnabled","enabled","matchQuery","filters","exact","fetchStatus","predicate","queryKey","stale","hashQueryKeyByOptions","partialMatchKey","isActive","matchMutation","mutation","status","mutationKey","hashKey","options","_","val","isPlainObject","a","b","replaceEqualDeep","array","isPlainArray","aItems","aSize","bItems","bSize","copy","equalItems","shallowEqualObjects","o","hasObjectPrototype","ctor","prot","sleep","timeout","resolve","replaceData","prevData","data","error","addToEnd","item","max","newItems","addToStart","skipToken","ensureQueryFn","fetchOptions","shouldThrowError","throwOnError","params","FocusManager","__privateAdd","_focused","_cleanup","_setup","__privateSet","onFocus","__privateGet","setup","focused","isFocused","focusManager","OnlineManager","_online","onOnline","onlineListener","offlineListener","online","onlineManager","pendingThenable","reject","thenable","_resolve","_reject","finalize","reason","defaultRetryDelay","failureCount","__pow","canFetch","networkMode","CancelledError","isCancelledError","createRetryer","isRetryCancelled","isResolved","continueFn","cancel","cancelOptions","cancelRetry","continueRetry","canContinue","canStart","pause","continueResolve","run","promiseOrValue","initialPromise","retry","retryDelay","shouldRetry","defaultScheduler","cb","createNotifyManager","queue","transactions","notifyFn","batchNotifyFn","scheduleFn","schedule","flush","originalQueue","args","fn","notifyManager","Removable","_gcTimeout","newGcTime","Query","_Query_instances","_initialState","_revertState","_cache","_client","_retryer","_defaultOptions","_abortSignalConsumed","getDefaultState","newData","__privateMethod","dispatch_fn","state","setStateOptions","promise","observer","x","abortController","addSignalProperty","fetchFn","queryFn","queryFnContext","context","onError","action","reducer","fetchState","hasData","initialDataUpdatedAt","QueryCache","_queries","client","queryHash","queryInMap","defaultedFilters","queries","Mutation","_Mutation_instances","_observers","_mutationCache","variables","__async","onContinue","restored","isPaused","_e","_g","_f","_i","_h","_k","_j","_m","_l","_o","_n","_q","_p","_s","_r","_u","_t","MutationCache","_mutations","_scopes","_mutationId","__privateWrapper","scope","scopeFor","scopedMutations","mutationsWithSameScope","firstPendingMutation","foundMutation","pausedMutations","infiniteQueryBehavior","pages","direction","oldPages","oldPageParams","currentPage","cancelled","fetchPage","param","previous","page","maxPages","addTo","pageParamFn","getPreviousPageParam","getNextPageParam","oldData","remainingPages","pageParams","lastIndex","hasNextPage","hasPreviousPage","QueryClient","_queryCache","_queryDefaults","_mutationDefaults","_mountCount","_unsubscribeFocus","_unsubscribeOnline","defaultedOptions","cachedData","queryCache","defaultedCancelOptions","promises","defaults","queryDefault","QueryObserver","_QueryObserver_instances","_currentQuery","_currentQueryInitialState","_currentResult","_currentResultState","_currentResultOptions","_currentThenable","_selectError","_selectFn","_selectResult","_lastQueryWithDefinedData","_staleTimeoutId","_refetchIntervalId","_currentRefetchInterval","_trackedProps","shouldFetchOnMount","executeFetch_fn","updateTimers_fn","shouldFetchOn","clearStaleTimeout_fn","clearRefetchInterval_fn","prevOptions","prevQuery","updateQuery_fn","mounted","shouldFetchOptionally","updateStaleTimeout_fn","nextRefetchInterval","computeRefetchInterval_fn","updateRefetchInterval_fn","shouldAssignObserverCurrentProperties","onPropTracked","target","prevResult","prevResultState","prevResultOptions","queryInitialState","newState","isPlaceholderData","fetchOnMount","fetchOptionally","errorUpdatedAt","skipSelect","placeholderData","selectError","isFetching","isPending","isError","nextResult","isStale","finalizeThenableIfPossible","recreateThenable","pending","prevThenable","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","typedKey","notify_fn","nextInterval","notifyOptions","shouldLoadOnMount","field","optimisticResult","InfiniteQueryObserver","parentResult","isRefetching","isRefetchError","fetchDirection","isFetchNextPageError","isFetchingNextPage","isFetchPreviousPageError","isFetchingPreviousPage","MutationObserver","_MutationObserver_instances","_currentMutation","_mutateOptions","updateResult_fn","QueryClientContext","go","useQueryClient","queryClient","IsRestoringContext","Xo","useIsRestoring","createValue","isReset","QueryErrorResetBoundaryContext","vo","useQueryErrorResetBoundary","ensurePreventErrorBoundaryRetry","errorResetBoundary","useClearResetErrorBoundary","ga","getHasError","suspense","ensureSuspenseTimers","originalStaleTime","willFetch","isRestoring","shouldSuspend","fetchOptimistic","useBaseQuery","Observer","isNewCacheEntry","tt","shouldSubscribe","onStoreChange","unsubscribe","useMutation","De","mutate","mutateOptions","useInfiniteQuery","GET_WORKSPACES","gql","CREATE_WORKSPACES_MUTATION","DELETE_WORKSPACE_MUTATION","UPDATE_WORKSPACE_MUTATION","mutationFn","_0","id","apiUrl","accessToken","request","useApiDeleteWorkspace","deleteWorkspace","isDeletingWorkspace","previousData","workspace","TOAST_ID","useToast","message","toast","ToastContainer","AlertIllustration","Gr","useAddWorkspaceStore","create","step","CongratulationsIllustration","R","AddWorkspaceDone","motion","useApiCreateWorkspace","createWorkspace","isCreatingWorkspace","newWorkspace","useApiUpdateWorkspace","updateWorkspace","isUpdatingWorkspace","updatedWorkspace","AddWorkspaceModalFormSchema","qe","useAddWorkspaceModal","setStep","errorToast","selectedInterests","setSelectedInterests","interests","watch","setValue","clearErrors","handleSubmit","errors","useForm","yupResolver","getError","onSelectInterest","onRemoveInterest","onChangeName","onChangeDescription","onSubmit","rest","CircledInfoIcon","Input","ke","leftElement","rightElement","leftElementClassName","rightElementClassName","inputClassName","BaseInput","onChange","rightIcon","leftIcon","name","required","wrapperClassName","isFocusing","setIsFocusing","inputRef","useRef","handleFocus","handleBlur","buttonVariants","cva","variant","asChild","Slot","Command","We","CommandPrimitive","CommandInput","SearchIcon","CommandList","CommandEmpty","CommandGroup","CommandItem","Popover","yo","Be","PopoverTrigger","PopoverContent","SelectInput","register","onChangeItem","disableSelectedItem","setOpen","selectedValue","setSelectedValue","handleSelect","currentValue","selectedItem","option","selectedOption","hiddenInputRef","ChevronDown","Check","Badge","onRemove","iconClassName","Textarea","$a","DescriptionInput","maxLength","textAreaClassName","setText","handleChange","newValue","CreatingWorkspaceIllustration","f","AddWorkspaceLoading","EmojiButton","icon","containerClassName","showPicker","setShowPicker","pickerRef","buttonRef","handleClickOutside","togglePicker","handleEmojiClick","emojiData","emoji","EmojiPicker","Theme","UserIcon","AddWorkspaceForm","interest","interestData","AddWorkspaceModal","setWorkspace","handleClose","WorkspaceBarItemOptions","successToast","isOpenDelete","onOpenDelete","onCloseDelete","isOpenEdit","onOpenEdit","onCloseEdit","handleDeleteWorkspace","WorkspaceBarItem","href","active","isCurrent","onOpen","handleRightClick","WorkFeedIcon","BriefcaseIcon","wo","getWorkspaces","pageParam","response","useApiGetWorkspaces","isGetWorkspacesLoading","fetchNextPage","lastPage","last","CircledAddIcon","lr","AddWorkspaceIcon","Co","AddWorkspaceButton","MobileWorkspaceBar","workspaces","Avatar","Kt","AvatarImage","AvatarFallback","src","WorkspaceUserInfoItem","WorkspaceUserInfo","WorkspaceGreetings","FeedIcon","U","WorkspaceBarItemSkeleton","WorkspaceBarItems","WorkspacePanelBar","ChevronDownIcon","DesktopWorkspaceBar","MOBILE_BREAKPOINT","useMobile","isMobile","setIsMobile","checkIsMobile","WorkspacePanel","MirantesLogo","Dropdown","trigger","toggle","MoreVerticalIcon","useUserSessions","resolvedDomain","saveCookie","setCookie","destroyCookie","deleteCookie","getSavedCookie","getCookie","UserOptions","LogOut","UserInfo","NavbarItem","HomeIcon","MCPIcon","Navbar","AIIcon","fr","MessagesIcon","Jt","DesktopHeader","search","setSearch","NotificationsWrapper","SearchSvg","MobileHeader","handleRedirectToProfile","MenuIcon","Header"],"mappings":"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","file":"index.js","sourcesContent":["import React from \"react\";\r\n\r\nexport default function Spinner({ className }: { className?: string }) {\r\n return (\r\n <div className=\"\">\r\n <svg\r\n aria-hidden=\"true\"\r\n className={`w-6 h-6 mr-2 animate-spin text-gray-200 fill-primary ${className}`}\r\n viewBox=\"0 0 100 101\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\r\n fill=\"currentColor\"\r\n />\r\n <path\r\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\r\n fill=\"currentFill\"\r\n />\r\n </svg>\r\n </div>\r\n );\r\n}\r\n","export default function joinUrlWithPathAndQuery(\r\n baseUrl: string,\r\n path: string,\r\n query?: Record<string, string>\r\n): string {\r\n try {\r\n if (!baseUrl.endsWith(\"/\")) {\r\n baseUrl += \"/\";\r\n }\r\n\r\n if (path.startsWith(\"/\")) {\r\n path = path.substring(1);\r\n }\r\n\r\n let url = baseUrl + path;\r\n\r\n if (query) {\r\n const queryParams = Object.keys(query)\r\n .map(\r\n (key) =>\r\n encodeURIComponent(key) + \"=\" + encodeURIComponent(query[key])\r\n )\r\n .join(\"&\");\r\n\r\n if (queryParams) {\r\n url += \"?\" + queryParams;\r\n }\r\n }\r\n\r\n return url;\r\n } catch {\r\n return \"\";\r\n }\r\n}\r\n","export default function stringToObj<T>(\r\n inputString: string,\r\n separator: string\r\n): T | undefined {\r\n const keyValuePairs: string[] = inputString.split(separator);\r\n\r\n let resultObj: T | undefined;\r\n\r\n for (const pair of keyValuePairs) {\r\n const [key, value] = pair.split(\"=\");\r\n if (!resultObj) resultObj = {} as T;\r\n\r\n if (value) {\r\n resultObj = {\r\n ...resultObj,\r\n [key]: value,\r\n };\r\n }\r\n }\r\n\r\n return resultObj;\r\n}\r\n","export default function getInitials(fullName: string): string {\r\n if (!fullName) return \"\";\r\n\r\n const parts = fullName.trim().split(/\\s+/);\r\n\r\n if (parts.length === 0) return \"\";\r\n\r\n const firstInitial = parts[0][0]?.toUpperCase() ?? \"\";\r\n const lastInitial =\r\n parts.length > 1 ? parts[parts.length - 1][0]?.toUpperCase() ?? \"\" : \"\";\r\n\r\n return firstInitial + lastInitial;\r\n}\r\n","import { createContext } from \"react\";\r\nimport { IMirantesFoundationContext, User } from \"./types\";\r\n\r\nexport const MirantesFoundationContext =\r\n createContext<IMirantesFoundationContext>({\r\n locale: \"pt\",\r\n user: {} as User,\r\n });\r\n","import React, { useMemo, lazy } from \"react\";\r\nimport { MirantesFoundationContext } from \"./MirantesFoundationContext\";\r\nimport { IMirantesFoundationProviderProps } from \"./types\";\r\n// import { MirantesFoundationProvider as MirantesFoundationProviderNotification } from \"@mirantes-micro/notifications-v2\";\r\n\r\nconst MirantesFoundationProviderNotification = lazy(() =>\r\n import(\"@mirantes-micro/notifications-v2\").then((module) => ({\r\n default: module.MirantesFoundationProvider,\r\n }))\r\n);\r\n\r\nexport default function MirantesFoundationProvider({\r\n children,\r\n values: {\r\n locale,\r\n Link,\r\n usePathname,\r\n user,\r\n mirantesDomain,\r\n environment,\r\n widgetsApi,\r\n hostUrl,\r\n isDev,\r\n } = {},\r\n}: IMirantesFoundationProviderProps) {\r\n const value = useMemo(\r\n () => ({\r\n locale,\r\n Link,\r\n usePathname,\r\n user,\r\n mirantesDomain,\r\n environment,\r\n widgetsApi,\r\n hostUrl,\r\n isDev,\r\n }),\r\n [locale, Link, usePathname, user, mirantesDomain, environment, widgetsApi]\r\n );\r\n\r\n return (\r\n <MirantesFoundationContext.Provider value={value}>\r\n <MirantesFoundationProviderNotification\r\n values={{\r\n locale: value?.locale,\r\n user: value?.user,\r\n hostUrl: value?.hostUrl,\r\n notification: {\r\n pusherCredentials: {\r\n key: \"11920e01b8a8ccb07424\",\r\n cluster: \"mt1\",\r\n to: \"B2C\",\r\n channel: \"mirantes-micro-notifications-app\",\r\n },\r\n },\r\n }}\r\n isDev={isDev}\r\n >\r\n {children}\r\n </MirantesFoundationProviderNotification>\r\n </MirantesFoundationContext.Provider>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const ExploreIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"21\"\r\n fill=\"none\"\r\n viewBox=\"0 0 20 21\"\r\n >\r\n <path\r\n fill=\"#687588\"\r\n d=\"M13.396 2.167h2.822c1.169 0 2.115.954 2.115 2.133v2.845a2.124 2.124 0 0 1-2.115 2.134h-2.822a2.124 2.124 0 0 1-2.115-2.134V4.3c0-1.179.947-2.133 2.115-2.133\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#687588\"\r\n d=\"M6.604 11.721c1.168 0 2.115.955 2.115 2.133V16.7a2.125 2.125 0 0 1-2.115 2.134H3.782A2.125 2.125 0 0 1 1.667 16.7v-2.846c0-1.178.947-2.133 2.115-2.133zm9.614 0c1.168 0 2.116.955 2.116 2.133V16.7a2.126 2.126 0 0 1-2.116 2.134h-2.822a2.125 2.125 0 0 1-2.115-2.134v-2.846c0-1.178.947-2.133 2.115-2.133zM6.604 2.167c1.169 0 2.115.955 2.115 2.133v2.845a2.125 2.125 0 0 1-2.115 2.134H3.782a2.125 2.125 0 0 1-2.115-2.134V4.3c0-1.178.946-2.133 2.115-2.133z\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import {\n AnyClassGroupIds,\n AnyConfig,\n AnyThemeGroupIds,\n ClassGroup,\n ClassValidator,\n Config,\n ThemeGetter,\n ThemeObject,\n} from './types'\n\nexport interface ClassPartObject {\n nextPart: Map<string, ClassPartObject>\n validators: ClassValidatorObject[]\n classGroupId?: AnyClassGroupIds\n}\n\ninterface ClassValidatorObject {\n classGroupId: AnyClassGroupIds\n validator: ClassValidator\n}\n\nconst CLASS_PART_SEPARATOR = '-'\n\nexport const createClassGroupUtils = (config: AnyConfig) => {\n const classMap = createClassMap(config)\n const { conflictingClassGroups, conflictingClassGroupModifiers } = config\n\n const getClassGroupId = (className: string) => {\n const classParts = className.split(CLASS_PART_SEPARATOR)\n\n // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.\n if (classParts[0] === '' && classParts.length !== 1) {\n classParts.shift()\n }\n\n return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className)\n }\n\n const getConflictingClassGroupIds = (\n classGroupId: AnyClassGroupIds,\n hasPostfixModifier: boolean,\n ) => {\n const conflicts = conflictingClassGroups[classGroupId] || []\n\n if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {\n return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]!]\n }\n\n return conflicts\n }\n\n return {\n getClassGroupId,\n getConflictingClassGroupIds,\n }\n}\n\nconst getGroupRecursive = (\n classParts: string[],\n classPartObject: ClassPartObject,\n): AnyClassGroupIds | undefined => {\n if (classParts.length === 0) {\n return classPartObject.classGroupId\n }\n\n const currentClassPart = classParts[0]!\n const nextClassPartObject = classPartObject.nextPart.get(currentClassPart)\n const classGroupFromNextClassPart = nextClassPartObject\n ? getGroupRecursive(classParts.slice(1), nextClassPartObject)\n : undefined\n\n if (classGroupFromNextClassPart) {\n return classGroupFromNextClassPart\n }\n\n if (classPartObject.validators.length === 0) {\n return undefined\n }\n\n const classRest = classParts.join(CLASS_PART_SEPARATOR)\n\n return classPartObject.validators.find(({ validator }) => validator(classRest))?.classGroupId\n}\n\nconst arbitraryPropertyRegex = /^\\[(.+)\\]$/\n\nconst getGroupIdForArbitraryProperty = (className: string) => {\n if (arbitraryPropertyRegex.test(className)) {\n const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)![1]\n const property = arbitraryPropertyClassName?.substring(\n 0,\n arbitraryPropertyClassName.indexOf(':'),\n )\n\n if (property) {\n // I use two dots here because one dot is used as prefix for class groups in plugins\n return 'arbitrary..' + property\n }\n }\n}\n\n/**\n * Exported for testing only\n */\nexport const createClassMap = (config: Config<AnyClassGroupIds, AnyThemeGroupIds>) => {\n const { theme, prefix } = config\n const classMap: ClassPartObject = {\n nextPart: new Map<string, ClassPartObject>(),\n validators: [],\n }\n\n const prefixedClassGroupEntries = getPrefixedClassGroupEntries(\n Object.entries(config.classGroups),\n prefix,\n )\n\n prefixedClassGroupEntries.forEach(([classGroupId, classGroup]) => {\n processClassesRecursively(classGroup, classMap, classGroupId, theme)\n })\n\n return classMap\n}\n\nconst processClassesRecursively = (\n classGroup: ClassGroup<AnyThemeGroupIds>,\n classPartObject: ClassPartObject,\n classGroupId: AnyClassGroupIds,\n theme: ThemeObject<AnyThemeGroupIds>,\n) => {\n classGroup.forEach((classDefinition) => {\n if (typeof classDefinition === 'string') {\n const classPartObjectToEdit =\n classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition)\n classPartObjectToEdit.classGroupId = classGroupId\n return\n }\n\n if (typeof classDefinition === 'function') {\n if (isThemeGetter(classDefinition)) {\n processClassesRecursively(\n classDefinition(theme),\n classPartObject,\n classGroupId,\n theme,\n )\n return\n }\n\n classPartObject.validators.push({\n validator: classDefinition,\n classGroupId,\n })\n\n return\n }\n\n Object.entries(classDefinition).forEach(([key, classGroup]) => {\n processClassesRecursively(\n classGroup,\n getPart(classPartObject, key),\n classGroupId,\n theme,\n )\n })\n })\n}\n\nconst getPart = (classPartObject: ClassPartObject, path: string) => {\n let currentClassPartObject = classPartObject\n\n path.split(CLASS_PART_SEPARATOR).forEach((pathPart) => {\n if (!currentClassPartObject.nextPart.has(pathPart)) {\n currentClassPartObject.nextPart.set(pathPart, {\n nextPart: new Map(),\n validators: [],\n })\n }\n\n currentClassPartObject = currentClassPartObject.nextPart.get(pathPart)!\n })\n\n return currentClassPartObject\n}\n\nconst isThemeGetter = (func: ClassValidator | ThemeGetter): func is ThemeGetter =>\n (func as ThemeGetter).isThemeGetter\n\nconst getPrefixedClassGroupEntries = (\n classGroupEntries: Array<[classGroupId: string, classGroup: ClassGroup<AnyThemeGroupIds>]>,\n prefix: string | undefined,\n): Array<[classGroupId: string, classGroup: ClassGroup<AnyThemeGroupIds>]> => {\n if (!prefix) {\n return classGroupEntries\n }\n\n return classGroupEntries.map(([classGroupId, classGroup]) => {\n const prefixedClassGroup = classGroup.map((classDefinition) => {\n if (typeof classDefinition === 'string') {\n return prefix + classDefinition\n }\n\n if (typeof classDefinition === 'object') {\n return Object.fromEntries(\n Object.entries(classDefinition).map(([key, value]) => [prefix + key, value]),\n )\n }\n\n return classDefinition\n })\n\n return [classGroupId, prefixedClassGroup]\n })\n}\n","// Export is needed because TypeScript complains about an error otherwise:\n// Error: …/tailwind-merge/src/config-utils.ts(8,17): semantic error TS4058: Return type of exported function has or is using name 'LruCache' from external module \"…/tailwind-merge/src/lru-cache\" but cannot be named.\nexport interface LruCache<Key, Value> {\n get(key: Key): Value | undefined\n set(key: Key, value: Value): void\n}\n\n// LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance\nexport const createLruCache = <Key, Value>(maxCacheSize: number): LruCache<Key, Value> => {\n if (maxCacheSize < 1) {\n return {\n get: () => undefined,\n set: () => {},\n }\n }\n\n let cacheSize = 0\n let cache = new Map<Key, Value>()\n let previousCache = new Map<Key, Value>()\n\n const update = (key: Key, value: Value) => {\n cache.set(key, value)\n cacheSize++\n\n if (cacheSize > maxCacheSize) {\n cacheSize = 0\n previousCache = cache\n cache = new Map()\n }\n }\n\n return {\n get(key) {\n let value = cache.get(key)\n\n if (value !== undefined) {\n return value\n }\n if ((value = previousCache.get(key)) !== undefined) {\n update(key, value)\n return value\n }\n },\n set(key, value) {\n if (cache.has(key)) {\n cache.set(key, value)\n } else {\n update(key, value)\n }\n },\n }\n}\n","import { AnyConfig } from './types'\n\nexport const IMPORTANT_MODIFIER = '!'\n\nexport const createParseClassName = (config: AnyConfig) => {\n const { separator, experimentalParseClassName } = config\n const isSeparatorSingleCharacter = separator.length === 1\n const firstSeparatorCharacter = separator[0]\n const separatorLength = separator.length\n\n // parseClassName inspired by https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js\n const parseClassName = (className: string) => {\n const modifiers = []\n\n let bracketDepth = 0\n let modifierStart = 0\n let postfixModifierPosition: number | undefined\n\n for (let index = 0; index < className.length; index++) {\n let currentCharacter = className[index]\n\n if (bracketDepth === 0) {\n if (\n currentCharacter === firstSeparatorCharacter &&\n (isSeparatorSingleCharacter ||\n className.slice(index, index + separatorLength) === separator)\n ) {\n modifiers.push(className.slice(modifierStart, index))\n modifierStart = index + separatorLength\n continue\n }\n\n if (currentCharacter === '/') {\n postfixModifierPosition = index\n continue\n }\n }\n\n if (currentCharacter === '[') {\n bracketDepth++\n } else if (currentCharacter === ']') {\n bracketDepth--\n }\n }\n\n const baseClassNameWithImportantModifier =\n modifiers.length === 0 ? className : className.substring(modifierStart)\n const hasImportantModifier =\n baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)\n const baseClassName = hasImportantModifier\n ? baseClassNameWithImportantModifier.substring(1)\n : baseClassNameWithImportantModifier\n\n const maybePostfixModifierPosition =\n postfixModifierPosition && postfixModifierPosition > modifierStart\n ? postfixModifierPosition - modifierStart\n : undefined\n\n return {\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition,\n }\n }\n\n if (experimentalParseClassName) {\n return (className: string) => experimentalParseClassName({ className, parseClassName })\n }\n\n return parseClassName\n}\n\n/**\n * Sorts modifiers according to following schema:\n * - Predefined modifiers are sorted alphabetically\n * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it\n */\nexport const sortModifiers = (modifiers: string[]) => {\n if (modifiers.length <= 1) {\n return modifiers\n }\n\n const sortedModifiers: string[] = []\n let unsortedModifiers: string[] = []\n\n modifiers.forEach((modifier) => {\n const isArbitraryVariant = modifier[0] === '['\n\n if (isArbitraryVariant) {\n sortedModifiers.push(...unsortedModifiers.sort(), modifier)\n unsortedModifiers = []\n } else {\n unsortedModifiers.push(modifier)\n }\n })\n\n sortedModifiers.push(...unsortedModifiers.sort())\n\n return sortedModifiers\n}\n","import { createClassGroupUtils } from './class-group-utils'\nimport { createLruCache } from './lru-cache'\nimport { createParseClassName } from './parse-class-name'\nimport { AnyConfig } from './types'\n\nexport type ConfigUtils = ReturnType<typeof createConfigUtils>\n\nexport const createConfigUtils = (config: AnyConfig) => ({\n cache: createLruCache<string, string>(config.cacheSize),\n parseClassName: createParseClassName(config),\n ...createClassGroupUtils(config),\n})\n","import { ConfigUtils } from './config-utils'\nimport { IMPORTANT_MODIFIER, sortModifiers } from './parse-class-name'\n\nconst SPLIT_CLASSES_REGEX = /\\s+/\n\nexport const mergeClassList = (classList: string, configUtils: ConfigUtils) => {\n const { parseClassName, getClassGroupId, getConflictingClassGroupIds } = configUtils\n\n /**\n * Set of classGroupIds in following format:\n * `{importantModifier}{variantModifiers}{classGroupId}`\n * @example 'float'\n * @example 'hover:focus:bg-color'\n * @example 'md:!pr'\n */\n const classGroupsInConflict: string[] = []\n const classNames = classList.trim().split(SPLIT_CLASSES_REGEX)\n\n let result = ''\n\n for (let index = classNames.length - 1; index >= 0; index -= 1) {\n const originalClassName = classNames[index]!\n\n const { modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition } =\n parseClassName(originalClassName)\n\n let hasPostfixModifier = Boolean(maybePostfixModifierPosition)\n let classGroupId = getClassGroupId(\n hasPostfixModifier\n ? baseClassName.substring(0, maybePostfixModifierPosition)\n : baseClassName,\n )\n\n if (!classGroupId) {\n if (!hasPostfixModifier) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n continue\n }\n\n classGroupId = getClassGroupId(baseClassName)\n\n if (!classGroupId) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n continue\n }\n\n hasPostfixModifier = false\n }\n\n const variantModifier = sortModifiers(modifiers).join(':')\n\n const modifierId = hasImportantModifier\n ? variantModifier + IMPORTANT_MODIFIER\n : variantModifier\n\n const classId = modifierId + classGroupId\n\n if (classGroupsInConflict.includes(classId)) {\n // Tailwind class omitted due to conflict\n continue\n }\n\n classGroupsInConflict.push(classId)\n\n const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier)\n for (let i = 0; i < conflictGroups.length; ++i) {\n const group = conflictGroups[i]!\n classGroupsInConflict.push(modifierId + group)\n }\n\n // Tailwind class not in conflict\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n }\n\n return result\n}\n","/**\n * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.\n *\n * Specifically:\n * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js\n * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts\n *\n * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)\n */\n\nexport type ClassNameValue = ClassNameArray | string | null | undefined | 0 | 0n | false\ntype ClassNameArray = ClassNameValue[]\n\nexport function twJoin(...classLists: ClassNameValue[]): string\nexport function twJoin() {\n let index = 0\n let argument: ClassNameValue\n let resolvedValue: string\n let string = ''\n\n while (index < arguments.length) {\n if ((argument = arguments[index++])) {\n if ((resolvedValue = toValue(argument))) {\n string && (string += ' ')\n string += resolvedValue\n }\n }\n }\n return string\n}\n\nconst toValue = (mix: ClassNameArray | string) => {\n if (typeof mix === 'string') {\n return mix\n }\n\n let resolvedValue: string\n let string = ''\n\n for (let k = 0; k < mix.length; k++) {\n if (mix[k]) {\n if ((resolvedValue = toValue(mix[k] as ClassNameArray | string))) {\n string && (string += ' ')\n string += resolvedValue\n }\n }\n }\n\n return string\n}\n","import { createConfigUtils } from './config-utils'\nimport { mergeClassList } from './merge-classlist'\nimport { ClassNameValue, twJoin } from './tw-join'\nimport { AnyConfig } from './types'\n\ntype CreateConfigFirst = () => AnyConfig\ntype CreateConfigSubsequent = (config: AnyConfig) => AnyConfig\ntype TailwindMerge = (...classLists: ClassNameValue[]) => string\ntype ConfigUtils = ReturnType<typeof createConfigUtils>\n\nexport function createTailwindMerge(\n createConfigFirst: CreateConfigFirst,\n ...createConfigRest: CreateConfigSubsequent[]\n): TailwindMerge {\n let configUtils: ConfigUtils\n let cacheGet: ConfigUtils['cache']['get']\n let cacheSet: ConfigUtils['cache']['set']\n let functionToCall = initTailwindMerge\n\n function initTailwindMerge(classList: string) {\n const config = createConfigRest.reduce(\n (previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig),\n createConfigFirst() as AnyConfig,\n )\n\n configUtils = createConfigUtils(config)\n cacheGet = configUtils.cache.get\n cacheSet = configUtils.cache.set\n functionToCall = tailwindMerge\n\n return tailwindMerge(classList)\n }\n\n function tailwindMerge(classList: string) {\n const cachedResult = cacheGet(classList)\n\n if (cachedResult) {\n return cachedResult\n }\n\n const result = mergeClassList(classList, configUtils)\n cacheSet(classList, result)\n\n return result\n }\n\n return function callTailwindMerge() {\n return functionToCall(twJoin.apply(null, arguments as any))\n }\n}\n","import { DefaultThemeGroupIds, NoInfer, ThemeGetter, ThemeObject } from './types'\n\nexport const fromTheme = <\n AdditionalThemeGroupIds extends string = never,\n DefaultThemeGroupIdsInner extends string = DefaultThemeGroupIds,\n>(key: NoInfer<DefaultThemeGroupIdsInner | AdditionalThemeGroupIds>): ThemeGetter => {\n const themeGetter = (theme: ThemeObject<DefaultThemeGroupIdsInner | AdditionalThemeGroupIds>) =>\n theme[key] || []\n\n themeGetter.isThemeGetter = true as const\n\n return themeGetter\n}\n","const arbitraryValueRegex = /^\\[(?:([a-z-]+):)?(.+)\\]$/i\nconst fractionRegex = /^\\d+\\/\\d+$/\nconst stringLengths = new Set(['px', 'full', 'screen'])\nconst tshirtUnitRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/\nconst lengthUnitRegex =\n /\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/\nconst colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\\(.+\\)$/\n// Shadow always begins with x and y offset separated by underscore optionally prepended by inset\nconst shadowRegex = /^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/\nconst imageRegex =\n /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/\n\nexport const isLength = (value: string) =>\n isNumber(value) || stringLengths.has(value) || fractionRegex.test(value)\n\nexport const isArbitraryLength = (value: string) =>\n getIsArbitraryValue(value, 'length', isLengthOnly)\n\nexport const isNumber = (value: string) => Boolean(value) && !Number.isNaN(Number(value))\n\nexport const isArbitraryNumber = (value: string) => getIsArbitraryValue(value, 'number', isNumber)\n\nexport const isInteger = (value: string) => Boolean(value) && Number.isInteger(Number(value))\n\nexport const isPercent = (value: string) => value.endsWith('%') && isNumber(value.slice(0, -1))\n\nexport const isArbitraryValue = (value: string) => arbitraryValueRegex.test(value)\n\nexport const isTshirtSize = (value: string) => tshirtUnitRegex.test(value)\n\nconst sizeLabels = new Set(['length', 'size', 'percentage'])\n\nexport const isArbitrarySize = (value: string) => getIsArbitraryValue(value, sizeLabels, isNever)\n\nexport const isArbitraryPosition = (value: string) =>\n getIsArbitraryValue(value, 'position', isNever)\n\nconst imageLabels = new Set(['image', 'url'])\n\nexport const isArbitraryImage = (value: string) => getIsArbitraryValue(value, imageLabels, isImage)\n\nexport const isArbitraryShadow = (value: string) => getIsArbitraryValue(value, '', isShadow)\n\nexport const isAny = () => true\n\nconst getIsArbitraryValue = (\n value: string,\n label: string | Set<string>,\n testValue: (value: string) => boolean,\n) => {\n const result = arbitraryValueRegex.exec(value)\n\n if (result) {\n if (result[1]) {\n return typeof label === 'string' ? result[1] === label : label.has(result[1])\n }\n\n return testValue(result[2]!)\n }\n\n return false\n}\n\nconst isLengthOnly = (value: string) =>\n // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.\n // For example, `hsl(0 0% 0%)` would be classified as a length without this check.\n // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.\n lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)\n\nconst isNever = () => false\n\nconst isShadow = (value: string) => shadowRegex.test(value)\n\nconst isImage = (value: string) => imageRegex.test(value)\n","import { fromTheme } from './from-theme'\nimport { Config, DefaultClassGroupIds, DefaultThemeGroupIds } from './types'\nimport {\n isAny,\n isArbitraryImage,\n isArbitraryLength,\n isArbitraryNumber,\n isArbitraryPosition,\n isArbitraryShadow,\n isArbitrarySize,\n isArbitraryValue,\n isInteger,\n isLength,\n isNumber,\n isPercent,\n isTshirtSize,\n} from './validators'\n\nexport const getDefaultConfig = () => {\n const colors = fromTheme('colors')\n const spacing = fromTheme('spacing')\n const blur = fromTheme('blur')\n const brightness = fromTheme('brightness')\n const borderColor = fromTheme('borderColor')\n const borderRadius = fromTheme('borderRadius')\n const borderSpacing = fromTheme('borderSpacing')\n const borderWidth = fromTheme('borderWidth')\n const contrast = fromTheme('contrast')\n const grayscale = fromTheme('grayscale')\n const hueRotate = fromTheme('hueRotate')\n const invert = fromTheme('invert')\n const gap = fromTheme('gap')\n const gradientColorStops = fromTheme('gradientColorStops')\n const gradientColorStopPositions = fromTheme('gradientColorStopPositions')\n const inset = fromTheme('inset')\n const margin = fromTheme('margin')\n const opacity = fromTheme('opacity')\n const padding = fromTheme('padding')\n const saturate = fromTheme('saturate')\n const scale = fromTheme('scale')\n const sepia = fromTheme('sepia')\n const skew = fromTheme('skew')\n const space = fromTheme('space')\n const translate = fromTheme('translate')\n\n const getOverscroll = () => ['auto', 'contain', 'none'] as const\n const getOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'] as const\n const getSpacingWithAutoAndArbitrary = () => ['auto', isArbitraryValue, spacing] as const\n const getSpacingWithArbitrary = () => [isArbitraryValue, spacing] as const\n const getLengthWithEmptyAndArbitrary = () => ['', isLength, isArbitraryLength] as const\n const getNumberWithAutoAndArbitrary = () => ['auto', isNumber, isArbitraryValue] as const\n const getPositions = () =>\n [\n 'bottom',\n 'center',\n 'left',\n 'left-bottom',\n 'left-top',\n 'right',\n 'right-bottom',\n 'right-top',\n 'top',\n ] as const\n const getLineStyles = () => ['solid', 'dashed', 'dotted', 'double', 'none'] as const\n const getBlendModes = () =>\n [\n 'normal',\n 'multiply',\n 'screen',\n 'overlay',\n 'darken',\n 'lighten',\n 'color-dodge',\n 'color-burn',\n 'hard-light',\n 'soft-light',\n 'difference',\n 'exclusion',\n 'hue',\n 'saturation',\n 'color',\n 'luminosity',\n ] as const\n const getAlign = () =>\n ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch'] as const\n const getZeroAndEmpty = () => ['', '0', isArbitraryValue] as const\n const getBreaks = () =>\n ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'] as const\n const getNumberAndArbitrary = () => [isNumber, isArbitraryValue]\n\n return {\n cacheSize: 500,\n separator: ':',\n theme: {\n colors: [isAny],\n spacing: [isLength, isArbitraryLength],\n blur: ['none', '', isTshirtSize, isArbitraryValue],\n brightness: getNumberAndArbitrary(),\n borderColor: [colors],\n borderRadius: ['none', '', 'full', isTshirtSize, isArbitraryValue],\n borderSpacing: getSpacingWithArbitrary(),\n borderWidth: getLengthWithEmptyAndArbitrary(),\n contrast: getNumberAndArbitrary(),\n grayscale: getZeroAndEmpty(),\n hueRotate: getNumberAndArbitrary(),\n invert: getZeroAndEmpty(),\n gap: getSpacingWithArbitrary(),\n gradientColorStops: [colors],\n gradientColorStopPositions: [isPercent, isArbitraryLength],\n inset: getSpacingWithAutoAndArbitrary(),\n margin: getSpacingWithAutoAndArbitrary(),\n opacity: getNumberAndArbitrary(),\n padding: getSpacingWithArbitrary(),\n saturate: getNumberAndArbitrary(),\n scale: getNumberAndArbitrary(),\n sepia: getZeroAndEmpty(),\n skew: getNumberAndArbitrary(),\n space: getSpacingWithArbitrary(),\n translate: getSpacingWithArbitrary(),\n },\n classGroups: {\n // Layout\n /**\n * Aspect Ratio\n * @see https://tailwindcss.com/docs/aspect-ratio\n */\n aspect: [{ aspect: ['auto', 'square', 'video', isArbitraryValue] }],\n /**\n * Container\n * @see https://tailwindcss.com/docs/container\n */\n container: ['container'],\n /**\n * Columns\n * @see https://tailwindcss.com/docs/columns\n */\n columns: [{ columns: [isTshirtSize] }],\n /**\n * Break After\n * @see https://tailwindcss.com/docs/break-after\n */\n 'break-after': [{ 'break-after': getBreaks() }],\n /**\n * Break Before\n * @see https://tailwindcss.com/docs/break-before\n */\n 'break-before': [{ 'break-before': getBreaks() }],\n /**\n * Break Inside\n * @see https://tailwindcss.com/docs/break-inside\n */\n 'break-inside': [{ 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column'] }],\n /**\n * Box Decoration Break\n * @see https://tailwindcss.com/docs/box-decoration-break\n */\n 'box-decoration': [{ 'box-decoration': ['slice', 'clone'] }],\n /**\n * Box Sizing\n * @see https://tailwindcss.com/docs/box-sizing\n */\n box: [{ box: ['border', 'content'] }],\n /**\n * Display\n * @see https://tailwindcss.com/docs/display\n */\n display: [\n 'block',\n 'inline-block',\n 'inline',\n 'flex',\n 'inline-flex',\n 'table',\n 'inline-table',\n 'table-caption',\n 'table-cell',\n 'table-column',\n 'table-column-group',\n 'table-footer-group',\n 'table-header-group',\n 'table-row-group',\n 'table-row',\n 'flow-root',\n 'grid',\n 'inline-grid',\n 'contents',\n 'list-item',\n 'hidden',\n ],\n /**\n * Floats\n * @see https://tailwindcss.com/docs/float\n */\n float: [{ float: ['right', 'left', 'none', 'start', 'end'] }],\n /**\n * Clear\n * @see https://tailwindcss.com/docs/clear\n */\n clear: [{ clear: ['left', 'right', 'both', 'none', 'start', 'end'] }],\n /**\n * Isolation\n * @see https://tailwindcss.com/docs/isolation\n */\n isolation: ['isolate', 'isolation-auto'],\n /**\n * Object Fit\n * @see https://tailwindcss.com/docs/object-fit\n */\n 'object-fit': [{ object: ['contain', 'cover', 'fill', 'none', 'scale-down'] }],\n /**\n * Object Position\n * @see https://tailwindcss.com/docs/object-position\n */\n 'object-position': [{ object: [...getPositions(), isArbitraryValue] }],\n /**\n * Overflow\n * @see https://tailwindcss.com/docs/overflow\n */\n overflow: [{ overflow: getOverflow() }],\n /**\n * Overflow X\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-x': [{ 'overflow-x': getOverflow() }],\n /**\n * Overflow Y\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-y': [{ 'overflow-y': getOverflow() }],\n /**\n * Overscroll Behavior\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n overscroll: [{ overscroll: getOverscroll() }],\n /**\n * Overscroll Behavior X\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-x': [{ 'overscroll-x': getOverscroll() }],\n /**\n * Overscroll Behavior Y\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-y': [{ 'overscroll-y': getOverscroll() }],\n /**\n * Position\n * @see https://tailwindcss.com/docs/position\n */\n position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],\n /**\n * Top / Right / Bottom / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n inset: [{ inset: [inset] }],\n /**\n * Right / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-x': [{ 'inset-x': [inset] }],\n /**\n * Top / Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-y': [{ 'inset-y': [inset] }],\n /**\n * Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n start: [{ start: [inset] }],\n /**\n * End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n end: [{ end: [inset] }],\n /**\n * Top\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n top: [{ top: [inset] }],\n /**\n * Right\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n right: [{ right: [inset] }],\n /**\n * Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n bottom: [{ bottom: [inset] }],\n /**\n * Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n left: [{ left: [inset] }],\n /**\n * Visibility\n * @see https://tailwindcss.com/docs/visibility\n */\n visibility: ['visible', 'invisible', 'collapse'],\n /**\n * Z-Index\n * @see https://tailwindcss.com/docs/z-index\n */\n z: [{ z: ['auto', isInteger, isArbitraryValue] }],\n // Flexbox and Grid\n /**\n * Flex Basis\n * @see https://tailwindcss.com/docs/flex-basis\n */\n basis: [{ basis: getSpacingWithAutoAndArbitrary() }],\n /**\n * Flex Direction\n * @see https://tailwindcss.com/docs/flex-direction\n */\n 'flex-direction': [{ flex: ['row', 'row-reverse', 'col', 'col-reverse'] }],\n /**\n * Flex Wrap\n * @see https://tailwindcss.com/docs/flex-wrap\n */\n 'flex-wrap': [{ flex: ['wrap', 'wrap-reverse', 'nowrap'] }],\n /**\n * Flex\n * @see https://tailwindcss.com/docs/flex\n */\n flex: [{ flex: ['1', 'auto', 'initial', 'none', isArbitraryValue] }],\n /**\n * Flex Grow\n * @see https://tailwindcss.com/docs/flex-grow\n */\n grow: [{ grow: getZeroAndEmpty() }],\n /**\n * Flex Shrink\n * @see https://tailwindcss.com/docs/flex-shrink\n */\n shrink: [{ shrink: getZeroAndEmpty() }],\n /**\n * Order\n * @see https://tailwindcss.com/docs/order\n */\n order: [{ order: ['first', 'last', 'none', isInteger, isArbitraryValue] }],\n /**\n * Grid Template Columns\n * @see https://tailwindcss.com/docs/grid-template-columns\n */\n 'grid-cols': [{ 'grid-cols': [isAny] }],\n /**\n * Grid Column Start / End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start-end': [\n {\n col: [\n 'auto',\n { span: ['full', isInteger, isArbitraryValue] },\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Grid Column Start\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start': [{ 'col-start': getNumberWithAutoAndArbitrary() }],\n /**\n * Grid Column End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-end': [{ 'col-end': getNumberWithAutoAndArbitrary() }],\n /**\n * Grid Template Rows\n * @see https://tailwindcss.com/docs/grid-template-rows\n */\n 'grid-rows': [{ 'grid-rows': [isAny] }],\n /**\n * Grid Row Start / End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start-end': [\n { row: ['auto', { span: [isInteger, isArbitraryValue] }, isArbitraryValue] },\n ],\n /**\n * Grid Row Start\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start': [{ 'row-start': getNumberWithAutoAndArbitrary() }],\n /**\n * Grid Row End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-end': [{ 'row-end': getNumberWithAutoAndArbitrary() }],\n /**\n * Grid Auto Flow\n * @see https://tailwindcss.com/docs/grid-auto-flow\n */\n 'grid-flow': [{ 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense'] }],\n /**\n * Grid Auto Columns\n * @see https://tailwindcss.com/docs/grid-auto-columns\n */\n 'auto-cols': [{ 'auto-cols': ['auto', 'min', 'max', 'fr', isArbitraryValue] }],\n /**\n * Grid Auto Rows\n * @see https://tailwindcss.com/docs/grid-auto-rows\n */\n 'auto-rows': [{ 'auto-rows': ['auto', 'min', 'max', 'fr', isArbitraryValue] }],\n /**\n * Gap\n * @see https://tailwindcss.com/docs/gap\n */\n gap: [{ gap: [gap] }],\n /**\n * Gap X\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-x': [{ 'gap-x': [gap] }],\n /**\n * Gap Y\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-y': [{ 'gap-y': [gap] }],\n /**\n * Justify Content\n * @see https://tailwindcss.com/docs/justify-content\n */\n 'justify-content': [{ justify: ['normal', ...getAlign()] }],\n /**\n * Justify Items\n * @see https://tailwindcss.com/docs/justify-items\n */\n 'justify-items': [{ 'justify-items': ['start', 'end', 'center', 'stretch'] }],\n /**\n * Justify Self\n * @see https://tailwindcss.com/docs/justify-self\n */\n 'justify-self': [{ 'justify-self': ['auto', 'start', 'end', 'center', 'stretch'] }],\n /**\n * Align Content\n * @see https://tailwindcss.com/docs/align-content\n */\n 'align-content': [{ content: ['normal', ...getAlign(), 'baseline'] }],\n /**\n * Align Items\n * @see https://tailwindcss.com/docs/align-items\n */\n 'align-items': [{ items: ['start', 'end', 'center', 'baseline', 'stretch'] }],\n /**\n * Align Self\n * @see https://tailwindcss.com/docs/align-self\n */\n 'align-self': [{ self: ['auto', 'start', 'end', 'center', 'stretch', 'baseline'] }],\n /**\n * Place Content\n * @see https://tailwindcss.com/docs/place-content\n */\n 'place-content': [{ 'place-content': [...getAlign(), 'baseline'] }],\n /**\n * Place Items\n * @see https://tailwindcss.com/docs/place-items\n */\n 'place-items': [{ 'place-items': ['start', 'end', 'center', 'baseline', 'stretch'] }],\n /**\n * Place Self\n * @see https://tailwindcss.com/docs/place-self\n */\n 'place-self': [{ 'place-self': ['auto', 'start', 'end', 'center', 'stretch'] }],\n // Spacing\n /**\n * Padding\n * @see https://tailwindcss.com/docs/padding\n */\n p: [{ p: [padding] }],\n /**\n * Padding X\n * @see https://tailwindcss.com/docs/padding\n */\n px: [{ px: [padding] }],\n /**\n * Padding Y\n * @see https://tailwindcss.com/docs/padding\n */\n py: [{ py: [padding] }],\n /**\n * Padding Start\n * @see https://tailwindcss.com/docs/padding\n */\n ps: [{ ps: [padding] }],\n /**\n * Padding End\n * @see https://tailwindcss.com/docs/padding\n */\n pe: [{ pe: [padding] }],\n /**\n * Padding Top\n * @see https://tailwindcss.com/docs/padding\n */\n pt: [{ pt: [padding] }],\n /**\n * Padding Right\n * @see https://tailwindcss.com/docs/padding\n */\n pr: [{ pr: [padding] }],\n /**\n * Padding Bottom\n * @see https://tailwindcss.com/docs/padding\n */\n pb: [{ pb: [padding] }],\n /**\n * Padding Left\n * @see https://tailwindcss.com/docs/padding\n */\n pl: [{ pl: [padding] }],\n /**\n * Margin\n * @see https://tailwindcss.com/docs/margin\n */\n m: [{ m: [margin] }],\n /**\n * Margin X\n * @see https://tailwindcss.com/docs/margin\n */\n mx: [{ mx: [margin] }],\n /**\n * Margin Y\n * @see https://tailwindcss.com/docs/margin\n */\n my: [{ my: [margin] }],\n /**\n * Margin Start\n * @see https://tailwindcss.com/docs/margin\n */\n ms: [{ ms: [margin] }],\n /**\n * Margin End\n * @see https://tailwindcss.com/docs/margin\n */\n me: [{ me: [margin] }],\n /**\n * Margin Top\n * @see https://tailwindcss.com/docs/margin\n */\n mt: [{ mt: [margin] }],\n /**\n * Margin Right\n * @see https://tailwindcss.com/docs/margin\n */\n mr: [{ mr: [margin] }],\n /**\n * Margin Bottom\n * @see https://tailwindcss.com/docs/margin\n */\n mb: [{ mb: [margin] }],\n /**\n * Margin Left\n * @see https://tailwindcss.com/docs/margin\n */\n ml: [{ ml: [margin] }],\n /**\n * Space Between X\n * @see https://tailwindcss.com/docs/space\n */\n 'space-x': [{ 'space-x': [space] }],\n /**\n * Space Between X Reverse\n * @see https://tailwindcss.com/docs/space\n */\n 'space-x-reverse': ['space-x-reverse'],\n /**\n * Space Between Y\n * @see https://tailwindcss.com/docs/space\n */\n 'space-y': [{ 'space-y': [space] }],\n /**\n * Space Between Y Reverse\n * @see https://tailwindcss.com/docs/space\n */\n 'space-y-reverse': ['space-y-reverse'],\n // Sizing\n /**\n * Width\n * @see https://tailwindcss.com/docs/width\n */\n w: [\n {\n w: [\n 'auto',\n 'min',\n 'max',\n 'fit',\n 'svw',\n 'lvw',\n 'dvw',\n isArbitraryValue,\n spacing,\n ],\n },\n ],\n /**\n * Min-Width\n * @see https://tailwindcss.com/docs/min-width\n */\n 'min-w': [{ 'min-w': [isArbitraryValue, spacing, 'min', 'max', 'fit'] }],\n /**\n * Max-Width\n * @see https://tailwindcss.com/docs/max-width\n */\n 'max-w': [\n {\n 'max-w': [\n isArbitraryValue,\n spacing,\n 'none',\n 'full',\n 'min',\n 'max',\n 'fit',\n 'prose',\n { screen: [isTshirtSize] },\n isTshirtSize,\n ],\n },\n ],\n /**\n * Height\n * @see https://tailwindcss.com/docs/height\n */\n h: [\n {\n h: [\n isArbitraryValue,\n spacing,\n 'auto',\n 'min',\n 'max',\n 'fit',\n 'svh',\n 'lvh',\n 'dvh',\n ],\n },\n ],\n /**\n * Min-Height\n * @see https://tailwindcss.com/docs/min-height\n */\n 'min-h': [\n { 'min-h': [isArbitraryValue, spacing, 'min', 'max', 'fit', 'svh', 'lvh', 'dvh'] },\n ],\n /**\n * Max-Height\n * @see https://tailwindcss.com/docs/max-height\n */\n 'max-h': [\n { 'max-h': [isArbitraryValue, spacing, 'min', 'max', 'fit', 'svh', 'lvh', 'dvh'] },\n ],\n /**\n * Size\n * @see https://tailwindcss.com/docs/size\n */\n size: [{ size: [isArbitraryValue, spacing, 'auto', 'min', 'max', 'fit'] }],\n // Typography\n /**\n * Font Size\n * @see https://tailwindcss.com/docs/font-size\n */\n 'font-size': [{ text: ['base', isTshirtSize, isArbitraryLength] }],\n /**\n * Font Smoothing\n * @see https://tailwindcss.com/docs/font-smoothing\n */\n 'font-smoothing': ['antialiased', 'subpixel-antialiased'],\n /**\n * Font Style\n * @see https://tailwindcss.com/docs/font-style\n */\n 'font-style': ['italic', 'not-italic'],\n /**\n * Font Weight\n * @see https://tailwindcss.com/docs/font-weight\n */\n 'font-weight': [\n {\n font: [\n 'thin',\n 'extralight',\n 'light',\n 'normal',\n 'medium',\n 'semibold',\n 'bold',\n 'extrabold',\n 'black',\n isArbitraryNumber,\n ],\n },\n ],\n /**\n * Font Family\n * @see https://tailwindcss.com/docs/font-family\n */\n 'font-family': [{ font: [isAny] }],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-normal': ['normal-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-ordinal': ['ordinal'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-slashed-zero': ['slashed-zero'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-figure': ['lining-nums', 'oldstyle-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-spacing': ['proportional-nums', 'tabular-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],\n /**\n * Letter Spacing\n * @see https://tailwindcss.com/docs/letter-spacing\n */\n tracking: [\n {\n tracking: [\n 'tighter',\n 'tight',\n 'normal',\n 'wide',\n 'wider',\n 'widest',\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Line Clamp\n * @see https://tailwindcss.com/docs/line-clamp\n */\n 'line-clamp': [{ 'line-clamp': ['none', isNumber, isArbitraryNumber] }],\n /**\n * Line Height\n * @see https://tailwindcss.com/docs/line-height\n */\n leading: [\n {\n leading: [\n 'none',\n 'tight',\n 'snug',\n 'normal',\n 'relaxed',\n 'loose',\n isLength,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * List Style Image\n * @see https://tailwindcss.com/docs/list-style-image\n */\n 'list-image': [{ 'list-image': ['none', isArbitraryValue] }],\n /**\n * List Style Type\n * @see https://tailwindcss.com/docs/list-style-type\n */\n 'list-style-type': [{ list: ['none', 'disc', 'decimal', isArbitraryValue] }],\n /**\n * List Style Position\n * @see https://tailwindcss.com/docs/list-style-position\n */\n 'list-style-position': [{ list: ['inside', 'outside'] }],\n /**\n * Placeholder Color\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/placeholder-color\n */\n 'placeholder-color': [{ placeholder: [colors] }],\n /**\n * Placeholder Opacity\n * @see https://tailwindcss.com/docs/placeholder-opacity\n */\n 'placeholder-opacity': [{ 'placeholder-opacity': [opacity] }],\n /**\n * Text Alignment\n * @see https://tailwindcss.com/docs/text-align\n */\n 'text-alignment': [{ text: ['left', 'center', 'right', 'justify', 'start', 'end'] }],\n /**\n * Text Color\n * @see https://tailwindcss.com/docs/text-color\n */\n 'text-color': [{ text: [colors] }],\n /**\n * Text Opacity\n * @see https://tailwindcss.com/docs/text-opacity\n */\n 'text-opacity': [{ 'text-opacity': [opacity] }],\n /**\n * Text Decoration\n * @see https://tailwindcss.com/docs/text-decoration\n */\n 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],\n /**\n * Text Decoration Style\n * @see https://tailwindcss.com/docs/text-decoration-style\n */\n 'text-decoration-style': [{ decoration: [...getLineStyles(), 'wavy'] }],\n /**\n * Text Decoration Thickness\n * @see https://tailwindcss.com/docs/text-decoration-thickness\n */\n 'text-decoration-thickness': [\n { decoration: ['auto', 'from-font', isLength, isArbitraryLength] },\n ],\n /**\n * Text Underline Offset\n * @see https://tailwindcss.com/docs/text-underline-offset\n */\n 'underline-offset': [{ 'underline-offset': ['auto', isLength, isArbitraryValue] }],\n /**\n * Text Decoration Color\n * @see https://tailwindcss.com/docs/text-decoration-color\n */\n 'text-decoration-color': [{ decoration: [colors] }],\n /**\n * Text Transform\n * @see https://tailwindcss.com/docs/text-transform\n */\n 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],\n /**\n * Text Overflow\n * @see https://tailwindcss.com/docs/text-overflow\n */\n 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],\n /**\n * Text Wrap\n * @see https://tailwindcss.com/docs/text-wrap\n */\n 'text-wrap': [{ text: ['wrap', 'nowrap', 'balance', 'pretty'] }],\n /**\n * Text Indent\n * @see https://tailwindcss.com/docs/text-indent\n */\n indent: [{ indent: getSpacingWithArbitrary() }],\n /**\n * Vertical Alignment\n * @see https://tailwindcss.com/docs/vertical-align\n */\n 'vertical-align': [\n {\n align: [\n 'baseline',\n 'top',\n 'middle',\n 'bottom',\n 'text-top',\n 'text-bottom',\n 'sub',\n 'super',\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Whitespace\n * @see https://tailwindcss.com/docs/whitespace\n */\n whitespace: [\n { whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces'] },\n ],\n /**\n * Word Break\n * @see https://tailwindcss.com/docs/word-break\n */\n break: [{ break: ['normal', 'words', 'all', 'keep'] }],\n /**\n * Hyphens\n * @see https://tailwindcss.com/docs/hyphens\n */\n hyphens: [{ hyphens: ['none', 'manual', 'auto'] }],\n /**\n * Content\n * @see https://tailwindcss.com/docs/content\n */\n content: [{ content: ['none', isArbitraryValue] }],\n // Backgrounds\n /**\n * Background Attachment\n * @see https://tailwindcss.com/docs/background-attachment\n */\n 'bg-attachment': [{ bg: ['fixed', 'local', 'scroll'] }],\n /**\n * Background Clip\n * @see https://tailwindcss.com/docs/background-clip\n */\n 'bg-clip': [{ 'bg-clip': ['border', 'padding', 'content', 'text'] }],\n /**\n * Background Opacity\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/background-opacity\n */\n 'bg-opacity': [{ 'bg-opacity': [opacity] }],\n /**\n * Background Origin\n * @see https://tailwindcss.com/docs/background-origin\n */\n 'bg-origin': [{ 'bg-origin': ['border', 'padding', 'content'] }],\n /**\n * Background Position\n * @see https://tailwindcss.com/docs/background-position\n */\n 'bg-position': [{ bg: [...getPositions(), isArbitraryPosition] }],\n /**\n * Background Repeat\n * @see https://tailwindcss.com/docs/background-repeat\n */\n 'bg-repeat': [{ bg: ['no-repeat', { repeat: ['', 'x', 'y', 'round', 'space'] }] }],\n /**\n * Background Size\n * @see https://tailwindcss.com/docs/background-size\n */\n 'bg-size': [{ bg: ['auto', 'cover', 'contain', isArbitrarySize] }],\n /**\n * Background Image\n * @see https://tailwindcss.com/docs/background-image\n */\n 'bg-image': [\n {\n bg: [\n 'none',\n { 'gradient-to': ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl'] },\n isArbitraryImage,\n ],\n },\n ],\n /**\n * Background Color\n * @see https://tailwindcss.com/docs/background-color\n */\n 'bg-color': [{ bg: [colors] }],\n /**\n * Gradient Color Stops From Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from-pos': [{ from: [gradientColorStopPositions] }],\n /**\n * Gradient Color Stops Via Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via-pos': [{ via: [gradientColorStopPositions] }],\n /**\n * Gradient Color Stops To Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to-pos': [{ to: [gradientColorStopPositions] }],\n /**\n * Gradient Color Stops From\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from': [{ from: [gradientColorStops] }],\n /**\n * Gradient Color Stops Via\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via': [{ via: [gradientColorStops] }],\n /**\n * Gradient Color Stops To\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to': [{ to: [gradientColorStops] }],\n // Borders\n /**\n * Border Radius\n * @see https://tailwindcss.com/docs/border-radius\n */\n rounded: [{ rounded: [borderRadius] }],\n /**\n * Border Radius Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-s': [{ 'rounded-s': [borderRadius] }],\n /**\n * Border Radius End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-e': [{ 'rounded-e': [borderRadius] }],\n /**\n * Border Radius Top\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-t': [{ 'rounded-t': [borderRadius] }],\n /**\n * Border Radius Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-r': [{ 'rounded-r': [borderRadius] }],\n /**\n * Border Radius Bottom\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-b': [{ 'rounded-b': [borderRadius] }],\n /**\n * Border Radius Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-l': [{ 'rounded-l': [borderRadius] }],\n /**\n * Border Radius Start Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ss': [{ 'rounded-ss': [borderRadius] }],\n /**\n * Border Radius Start End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-se': [{ 'rounded-se': [borderRadius] }],\n /**\n * Border Radius End End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ee': [{ 'rounded-ee': [borderRadius] }],\n /**\n * Border Radius End Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-es': [{ 'rounded-es': [borderRadius] }],\n /**\n * Border Radius Top Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tl': [{ 'rounded-tl': [borderRadius] }],\n /**\n * Border Radius Top Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tr': [{ 'rounded-tr': [borderRadius] }],\n /**\n * Border Radius Bottom Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-br': [{ 'rounded-br': [borderRadius] }],\n /**\n * Border Radius Bottom Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-bl': [{ 'rounded-bl': [borderRadius] }],\n /**\n * Border Width\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w': [{ border: [borderWidth] }],\n /**\n * Border Width X\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-x': [{ 'border-x': [borderWidth] }],\n /**\n * Border Width Y\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-y': [{ 'border-y': [borderWidth] }],\n /**\n * Border Width Start\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-s': [{ 'border-s': [borderWidth] }],\n /**\n * Border Width End\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-e': [{ 'border-e': [borderWidth] }],\n /**\n * Border Width Top\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-t': [{ 'border-t': [borderWidth] }],\n /**\n * Border Width Right\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-r': [{ 'border-r': [borderWidth] }],\n /**\n * Border Width Bottom\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-b': [{ 'border-b': [borderWidth] }],\n /**\n * Border Width Left\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-l': [{ 'border-l': [borderWidth] }],\n /**\n * Border Opacity\n * @see https://tailwindcss.com/docs/border-opacity\n */\n 'border-opacity': [{ 'border-opacity': [opacity] }],\n /**\n * Border Style\n * @see https://tailwindcss.com/docs/border-style\n */\n 'border-style': [{ border: [...getLineStyles(), 'hidden'] }],\n /**\n * Divide Width X\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-x': [{ 'divide-x': [borderWidth] }],\n /**\n * Divide Width X Reverse\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-x-reverse': ['divide-x-reverse'],\n /**\n * Divide Width Y\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-y': [{ 'divide-y': [borderWidth] }],\n /**\n * Divide Width Y Reverse\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-y-reverse': ['divide-y-reverse'],\n /**\n * Divide Opacity\n * @see https://tailwindcss.com/docs/divide-opacity\n */\n 'divide-opacity': [{ 'divide-opacity': [opacity] }],\n /**\n * Divide Style\n * @see https://tailwindcss.com/docs/divide-style\n */\n 'divide-style': [{ divide: getLineStyles() }],\n /**\n * Border Color\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color': [{ border: [borderColor] }],\n /**\n * Border Color X\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-x': [{ 'border-x': [borderColor] }],\n /**\n * Border Color Y\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-y': [{ 'border-y': [borderColor] }],\n /**\n * Border Color S\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-s': [{ 'border-s': [borderColor] }],\n /**\n * Border Color E\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-e': [{ 'border-e': [borderColor] }],\n /**\n * Border Color Top\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-t': [{ 'border-t': [borderColor] }],\n /**\n * Border Color Right\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-r': [{ 'border-r': [borderColor] }],\n /**\n * Border Color Bottom\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-b': [{ 'border-b': [borderColor] }],\n /**\n * Border Color Left\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-l': [{ 'border-l': [borderColor] }],\n /**\n * Divide Color\n * @see https://tailwindcss.com/docs/divide-color\n */\n 'divide-color': [{ divide: [borderColor] }],\n /**\n * Outline Style\n * @see https://tailwindcss.com/docs/outline-style\n */\n 'outline-style': [{ outline: ['', ...getLineStyles()] }],\n /**\n * Outline Offset\n * @see https://tailwindcss.com/docs/outline-offset\n */\n 'outline-offset': [{ 'outline-offset': [isLength, isArbitraryValue] }],\n /**\n * Outline Width\n * @see https://tailwindcss.com/docs/outline-width\n */\n 'outline-w': [{ outline: [isLength, isArbitraryLength] }],\n /**\n * Outline Color\n * @see https://tailwindcss.com/docs/outline-color\n */\n 'outline-color': [{ outline: [colors] }],\n /**\n * Ring Width\n * @see https://tailwindcss.com/docs/ring-width\n */\n 'ring-w': [{ ring: getLengthWithEmptyAndArbitrary() }],\n /**\n * Ring Width Inset\n * @see https://tailwindcss.com/docs/ring-width\n */\n 'ring-w-inset': ['ring-inset'],\n /**\n * Ring Color\n * @see https://tailwindcss.com/docs/ring-color\n */\n 'ring-color': [{ ring: [colors] }],\n /**\n * Ring Opacity\n * @see https://tailwindcss.com/docs/ring-opacity\n */\n 'ring-opacity': [{ 'ring-opacity': [opacity] }],\n /**\n * Ring Offset Width\n * @see https://tailwindcss.com/docs/ring-offset-width\n */\n 'ring-offset-w': [{ 'ring-offset': [isLength, isArbitraryLength] }],\n /**\n * Ring Offset Color\n * @see https://tailwindcss.com/docs/ring-offset-color\n */\n 'ring-offset-color': [{ 'ring-offset': [colors] }],\n // Effects\n /**\n * Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow\n */\n shadow: [{ shadow: ['', 'inner', 'none', isTshirtSize, isArbitraryShadow] }],\n /**\n * Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow-color\n */\n 'shadow-color': [{ shadow: [isAny] }],\n /**\n * Opacity\n * @see https://tailwindcss.com/docs/opacity\n */\n opacity: [{ opacity: [opacity] }],\n /**\n * Mix Blend Mode\n * @see https://tailwindcss.com/docs/mix-blend-mode\n */\n 'mix-blend': [{ 'mix-blend': [...getBlendModes(), 'plus-lighter', 'plus-darker'] }],\n /**\n * Background Blend Mode\n * @see https://tailwindcss.com/docs/background-blend-mode\n */\n 'bg-blend': [{ 'bg-blend': getBlendModes() }],\n // Filters\n /**\n * Filter\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/filter\n */\n filter: [{ filter: ['', 'none'] }],\n /**\n * Blur\n * @see https://tailwindcss.com/docs/blur\n */\n blur: [{ blur: [blur] }],\n /**\n * Brightness\n * @see https://tailwindcss.com/docs/brightness\n */\n brightness: [{ brightness: [brightness] }],\n /**\n * Contrast\n * @see https://tailwindcss.com/docs/contrast\n */\n contrast: [{ contrast: [contrast] }],\n /**\n * Drop Shadow\n * @see https://tailwindcss.com/docs/drop-shadow\n */\n 'drop-shadow': [{ 'drop-shadow': ['', 'none', isTshirtSize, isArbitraryValue] }],\n /**\n * Grayscale\n * @see https://tailwindcss.com/docs/grayscale\n */\n grayscale: [{ grayscale: [grayscale] }],\n /**\n * Hue Rotate\n * @see https://tailwindcss.com/docs/hue-rotate\n */\n 'hue-rotate': [{ 'hue-rotate': [hueRotate] }],\n /**\n * Invert\n * @see https://tailwindcss.com/docs/invert\n */\n invert: [{ invert: [invert] }],\n /**\n * Saturate\n * @see https://tailwindcss.com/docs/saturate\n */\n saturate: [{ saturate: [saturate] }],\n /**\n * Sepia\n * @see https://tailwindcss.com/docs/sepia\n */\n sepia: [{ sepia: [sepia] }],\n /**\n * Backdrop Filter\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/backdrop-filter\n */\n 'backdrop-filter': [{ 'backdrop-filter': ['', 'none'] }],\n /**\n * Backdrop Blur\n * @see https://tailwindcss.com/docs/backdrop-blur\n */\n 'backdrop-blur': [{ 'backdrop-blur': [blur] }],\n /**\n * Backdrop Brightness\n * @see https://tailwindcss.com/docs/backdrop-brightness\n */\n 'backdrop-brightness': [{ 'backdrop-brightness': [brightness] }],\n /**\n * Backdrop Contrast\n * @see https://tailwindcss.com/docs/backdrop-contrast\n */\n 'backdrop-contrast': [{ 'backdrop-contrast': [contrast] }],\n /**\n * Backdrop Grayscale\n * @see https://tailwindcss.com/docs/backdrop-grayscale\n */\n 'backdrop-grayscale': [{ 'backdrop-grayscale': [grayscale] }],\n /**\n * Backdrop Hue Rotate\n * @see https://tailwindcss.com/docs/backdrop-hue-rotate\n */\n 'backdrop-hue-rotate': [{ 'backdrop-hue-rotate': [hueRotate] }],\n /**\n * Backdrop Invert\n * @see https://tailwindcss.com/docs/backdrop-invert\n */\n 'backdrop-invert': [{ 'backdrop-invert': [invert] }],\n /**\n * Backdrop Opacity\n * @see https://tailwindcss.com/docs/backdrop-opacity\n */\n 'backdrop-opacity': [{ 'backdrop-opacity': [opacity] }],\n /**\n * Backdrop Saturate\n * @see https://tailwindcss.com/docs/backdrop-saturate\n */\n 'backdrop-saturate': [{ 'backdrop-saturate': [saturate] }],\n /**\n * Backdrop Sepia\n * @see https://tailwindcss.com/docs/backdrop-sepia\n */\n 'backdrop-sepia': [{ 'backdrop-sepia': [sepia] }],\n // Tables\n /**\n * Border Collapse\n * @see https://tailwindcss.com/docs/border-collapse\n */\n 'border-collapse': [{ border: ['collapse', 'separate'] }],\n /**\n * Border Spacing\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing': [{ 'border-spacing': [borderSpacing] }],\n /**\n * Border Spacing X\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-x': [{ 'border-spacing-x': [borderSpacing] }],\n /**\n * Border Spacing Y\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-y': [{ 'border-spacing-y': [borderSpacing] }],\n /**\n * Table Layout\n * @see https://tailwindcss.com/docs/table-layout\n */\n 'table-layout': [{ table: ['auto', 'fixed'] }],\n /**\n * Caption Side\n * @see https://tailwindcss.com/docs/caption-side\n */\n caption: [{ caption: ['top', 'bottom'] }],\n // Transitions and Animation\n /**\n * Tranisition Property\n * @see https://tailwindcss.com/docs/transition-property\n */\n transition: [\n {\n transition: [\n 'none',\n 'all',\n '',\n 'colors',\n 'opacity',\n 'shadow',\n 'transform',\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Transition Duration\n * @see https://tailwindcss.com/docs/transition-duration\n */\n duration: [{ duration: getNumberAndArbitrary() }],\n /**\n * Transition Timing Function\n * @see https://tailwindcss.com/docs/transition-timing-function\n */\n ease: [{ ease: ['linear', 'in', 'out', 'in-out', isArbitraryValue] }],\n /**\n * Transition Delay\n * @see https://tailwindcss.com/docs/transition-delay\n */\n delay: [{ delay: getNumberAndArbitrary() }],\n /**\n * Animation\n * @see https://tailwindcss.com/docs/animation\n */\n animate: [{ animate: ['none', 'spin', 'ping', 'pulse', 'bounce', isArbitraryValue] }],\n // Transforms\n /**\n * Transform\n * @see https://tailwindcss.com/docs/transform\n */\n transform: [{ transform: ['', 'gpu', 'none'] }],\n /**\n * Scale\n * @see https://tailwindcss.com/docs/scale\n */\n scale: [{ scale: [scale] }],\n /**\n * Scale X\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-x': [{ 'scale-x': [scale] }],\n /**\n * Scale Y\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-y': [{ 'scale-y': [scale] }],\n /**\n * Rotate\n * @see https://tailwindcss.com/docs/rotate\n */\n rotate: [{ rotate: [isInteger, isArbitraryValue] }],\n /**\n * Translate X\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-x': [{ 'translate-x': [translate] }],\n /**\n * Translate Y\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-y': [{ 'translate-y': [translate] }],\n /**\n * Skew X\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-x': [{ 'skew-x': [skew] }],\n /**\n * Skew Y\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-y': [{ 'skew-y': [skew] }],\n /**\n * Transform Origin\n * @see https://tailwindcss.com/docs/transform-origin\n */\n 'transform-origin': [\n {\n origin: [\n 'center',\n 'top',\n 'top-right',\n 'right',\n 'bottom-right',\n 'bottom',\n 'bottom-left',\n 'left',\n 'top-left',\n isArbitraryValue,\n ],\n },\n ],\n // Interactivity\n /**\n * Accent Color\n * @see https://tailwindcss.com/docs/accent-color\n */\n accent: [{ accent: ['auto', colors] }],\n /**\n * Appearance\n * @see https://tailwindcss.com/docs/appearance\n */\n appearance: [{ appearance: ['none', 'auto'] }],\n /**\n * Cursor\n * @see https://tailwindcss.com/docs/cursor\n */\n cursor: [\n {\n cursor: [\n 'auto',\n 'default',\n 'pointer',\n 'wait',\n 'text',\n 'move',\n 'help',\n 'not-allowed',\n 'none',\n 'context-menu',\n 'progress',\n 'cell',\n 'crosshair',\n 'vertical-text',\n 'alias',\n 'copy',\n 'no-drop',\n 'grab',\n 'grabbing',\n 'all-scroll',\n 'col-resize',\n 'row-resize',\n 'n-resize',\n 'e-resize',\n 's-resize',\n 'w-resize',\n 'ne-resize',\n 'nw-resize',\n 'se-resize',\n 'sw-resize',\n 'ew-resize',\n 'ns-resize',\n 'nesw-resize',\n 'nwse-resize',\n 'zoom-in',\n 'zoom-out',\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Caret Color\n * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities\n */\n 'caret-color': [{ caret: [colors] }],\n /**\n * Pointer Events\n * @see https://tailwindcss.com/docs/pointer-events\n */\n 'pointer-events': [{ 'pointer-events': ['none', 'auto'] }],\n /**\n * Resize\n * @see https://tailwindcss.com/docs/resize\n */\n resize: [{ resize: ['none', 'y', 'x', ''] }],\n /**\n * Scroll Behavior\n * @see https://tailwindcss.com/docs/scroll-behavior\n */\n 'scroll-behavior': [{ scroll: ['auto', 'smooth'] }],\n /**\n * Scroll Margin\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-m': [{ 'scroll-m': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin X\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mx': [{ 'scroll-mx': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Y\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-my': [{ 'scroll-my': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ms': [{ 'scroll-ms': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-me': [{ 'scroll-me': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Top\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mt': [{ 'scroll-mt': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Right\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mr': [{ 'scroll-mr': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Bottom\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mb': [{ 'scroll-mb': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Left\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ml': [{ 'scroll-ml': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-p': [{ 'scroll-p': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding X\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-px': [{ 'scroll-px': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Y\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-py': [{ 'scroll-py': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-ps': [{ 'scroll-ps': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pe': [{ 'scroll-pe': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Top\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pt': [{ 'scroll-pt': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Right\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pr': [{ 'scroll-pr': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Bottom\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pb': [{ 'scroll-pb': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Left\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pl': [{ 'scroll-pl': getSpacingWithArbitrary() }],\n /**\n * Scroll Snap Align\n * @see https://tailwindcss.com/docs/scroll-snap-align\n */\n 'snap-align': [{ snap: ['start', 'end', 'center', 'align-none'] }],\n /**\n * Scroll Snap Stop\n * @see https://tailwindcss.com/docs/scroll-snap-stop\n */\n 'snap-stop': [{ snap: ['normal', 'always'] }],\n /**\n * Scroll Snap Type\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-type': [{ snap: ['none', 'x', 'y', 'both'] }],\n /**\n * Scroll Snap Type Strictness\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-strictness': [{ snap: ['mandatory', 'proximity'] }],\n /**\n * Touch Action\n * @see https://tailwindcss.com/docs/touch-action\n */\n touch: [\n {\n touch: ['auto', 'none', 'manipulation'],\n },\n ],\n /**\n * Touch Action X\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-x': [\n {\n 'touch-pan': ['x', 'left', 'right'],\n },\n ],\n /**\n * Touch Action Y\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-y': [\n {\n 'touch-pan': ['y', 'up', 'down'],\n },\n ],\n /**\n * Touch Action Pinch Zoom\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-pz': ['touch-pinch-zoom'],\n /**\n * User Select\n * @see https://tailwindcss.com/docs/user-select\n */\n select: [{ select: ['none', 'text', 'all', 'auto'] }],\n /**\n * Will Change\n * @see https://tailwindcss.com/docs/will-change\n */\n 'will-change': [\n { 'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryValue] },\n ],\n // SVG\n /**\n * Fill\n * @see https://tailwindcss.com/docs/fill\n */\n fill: [{ fill: [colors, 'none'] }],\n /**\n * Stroke Width\n * @see https://tailwindcss.com/docs/stroke-width\n */\n 'stroke-w': [{ stroke: [isLength, isArbitraryLength, isArbitraryNumber] }],\n /**\n * Stroke\n * @see https://tailwindcss.com/docs/stroke\n */\n stroke: [{ stroke: [colors, 'none'] }],\n // Accessibility\n /**\n * Screen Readers\n * @see https://tailwindcss.com/docs/screen-readers\n */\n sr: ['sr-only', 'not-sr-only'],\n /**\n * Forced Color Adjust\n * @see https://tailwindcss.com/docs/forced-color-adjust\n */\n 'forced-color-adjust': [{ 'forced-color-adjust': ['auto', 'none'] }],\n },\n conflictingClassGroups: {\n overflow: ['overflow-x', 'overflow-y'],\n overscroll: ['overscroll-x', 'overscroll-y'],\n inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],\n 'inset-x': ['right', 'left'],\n 'inset-y': ['top', 'bottom'],\n flex: ['basis', 'grow', 'shrink'],\n gap: ['gap-x', 'gap-y'],\n p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],\n px: ['pr', 'pl'],\n py: ['pt', 'pb'],\n m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],\n mx: ['mr', 'ml'],\n my: ['mt', 'mb'],\n size: ['w', 'h'],\n 'font-size': ['leading'],\n 'fvn-normal': [\n 'fvn-ordinal',\n 'fvn-slashed-zero',\n 'fvn-figure',\n 'fvn-spacing',\n 'fvn-fraction',\n ],\n 'fvn-ordinal': ['fvn-normal'],\n 'fvn-slashed-zero': ['fvn-normal'],\n 'fvn-figure': ['fvn-normal'],\n 'fvn-spacing': ['fvn-normal'],\n 'fvn-fraction': ['fvn-normal'],\n 'line-clamp': ['display', 'overflow'],\n rounded: [\n 'rounded-s',\n 'rounded-e',\n 'rounded-t',\n 'rounded-r',\n 'rounded-b',\n 'rounded-l',\n 'rounded-ss',\n 'rounded-se',\n 'rounded-ee',\n 'rounded-es',\n 'rounded-tl',\n 'rounded-tr',\n 'rounded-br',\n 'rounded-bl',\n ],\n 'rounded-s': ['rounded-ss', 'rounded-es'],\n 'rounded-e': ['rounded-se', 'rounded-ee'],\n 'rounded-t': ['rounded-tl', 'rounded-tr'],\n 'rounded-r': ['rounded-tr', 'rounded-br'],\n 'rounded-b': ['rounded-br', 'rounded-bl'],\n 'rounded-l': ['rounded-tl', 'rounded-bl'],\n 'border-spacing': ['border-spacing-x', 'border-spacing-y'],\n 'border-w': [\n 'border-w-s',\n 'border-w-e',\n 'border-w-t',\n 'border-w-r',\n 'border-w-b',\n 'border-w-l',\n ],\n 'border-w-x': ['border-w-r', 'border-w-l'],\n 'border-w-y': ['border-w-t', 'border-w-b'],\n 'border-color': [\n 'border-color-s',\n 'border-color-e',\n 'border-color-t',\n 'border-color-r',\n 'border-color-b',\n 'border-color-l',\n ],\n 'border-color-x': ['border-color-r', 'border-color-l'],\n 'border-color-y': ['border-color-t', 'border-color-b'],\n 'scroll-m': [\n 'scroll-mx',\n 'scroll-my',\n 'scroll-ms',\n 'scroll-me',\n 'scroll-mt',\n 'scroll-mr',\n 'scroll-mb',\n 'scroll-ml',\n ],\n 'scroll-mx': ['scroll-mr', 'scroll-ml'],\n 'scroll-my': ['scroll-mt', 'scroll-mb'],\n 'scroll-p': [\n 'scroll-px',\n 'scroll-py',\n 'scroll-ps',\n 'scroll-pe',\n 'scroll-pt',\n 'scroll-pr',\n 'scroll-pb',\n 'scroll-pl',\n ],\n 'scroll-px': ['scroll-pr', 'scroll-pl'],\n 'scroll-py': ['scroll-pt', 'scroll-pb'],\n touch: ['touch-x', 'touch-y', 'touch-pz'],\n 'touch-x': ['touch'],\n 'touch-y': ['touch'],\n 'touch-pz': ['touch'],\n },\n conflictingClassGroupModifiers: {\n 'font-size': ['leading'],\n },\n } as const satisfies Config<DefaultClassGroupIds, DefaultThemeGroupIds>\n}\n","import { createTailwindMerge } from './create-tailwind-merge'\nimport { getDefaultConfig } from './default-config'\n\nexport const twMerge = createTailwindMerge(getDefaultConfig)\n","import { clsx, type ClassValue } from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs));\r\n}\r\n","import * as React from \"react\"\r\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\r\n\r\nimport { cn } from \"../../lib/utils\"\r\n\r\nfunction TooltipProvider({\r\n delayDuration = 0,\r\n ...props\r\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\r\n return (\r\n <TooltipPrimitive.Provider\r\n data-slot=\"tooltip-provider\"\r\n delayDuration={delayDuration}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction Tooltip({\r\n ...props\r\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\r\n return (\r\n <TooltipProvider>\r\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\r\n </TooltipProvider>\r\n )\r\n}\r\n\r\nfunction TooltipTrigger({\r\n ...props\r\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\r\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\r\n}\r\n\r\nfunction TooltipContent({\r\n className,\r\n sideOffset = 0,\r\n children,\r\n ...props\r\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\r\n return (\r\n <TooltipPrimitive.Portal>\r\n <TooltipPrimitive.Content\r\n data-slot=\"tooltip-content\"\r\n sideOffset={sideOffset}\r\n className={cn(\r\n \"bg-white text-primary-foreground shadow-lg shadow-dark/10 animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n <TooltipPrimitive.Arrow className=\"bg-white fill-white z-50 size-3.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\r\n </TooltipPrimitive.Content>\r\n </TooltipPrimitive.Portal>\r\n )\r\n}\r\n\r\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\r\n","import { cn } from \"../../../lib/utils\";\r\nimport {\r\n Tooltip as TooltipUI,\r\n TooltipContent,\r\n TooltipProvider,\r\n TooltipTrigger,\r\n} from \"../../ui/tooltip\";\r\nimport React from \"react\";\r\n\r\nexport function Tooltip({\r\n children,\r\n content,\r\n className,\r\n}: {\r\n children: React.ReactNode;\r\n content?: string;\r\n className?: string;\r\n}) {\r\n return (\r\n <TooltipProvider>\r\n <TooltipUI>\r\n <TooltipTrigger className=\"w-full h-full\">{children}</TooltipTrigger>\r\n {content && (\r\n <TooltipContent className={cn(\"p-4 bg-white rounded-lg\", className)}>\r\n <span className=\"text-body-md font-medium\">{content}</span>\r\n </TooltipContent>\r\n )}\r\n </TooltipUI>\r\n </TooltipProvider>\r\n );\r\n}\r\n","import { useState } from \"react\";\r\n\r\nexport function useOpen() {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const onOpen = () => {\r\n setIsOpen(true);\r\n };\r\n\r\n const onClose = () => {\r\n setIsOpen(false);\r\n };\r\n\r\n const toggle = () => {\r\n setIsOpen(!isOpen);\r\n };\r\n\r\n return { isOpen, onOpen, onClose, toggle };\r\n}\r\n","import { useEffect } from \"react\";\r\n\r\nexport function useOutsideClick(\r\n ref: React.RefObject<HTMLElement>,\r\n callback: () => void\r\n) {\r\n useEffect(() => {\r\n const handleClick = (event: MouseEvent) => {\r\n if (ref.current && !ref.current.contains(event.target as Node)) {\r\n callback();\r\n }\r\n };\r\n\r\n document.addEventListener(\"click\", handleClick);\r\n\r\n return () => {\r\n document.removeEventListener(\"click\", handleClick);\r\n };\r\n }, [ref, callback]);\r\n}\r\n","export const packagesEnglishDictionary = {\r\n \"component.workspace.user.complete\": \"complete\",\r\n \"component.workspace.greetings\": \"Good to have you back, \",\r\n \"component.workspace.greetings.label\":\r\n \"Keep getting the best out of what we’ve prepared for you.\",\r\n \"component.workspace.user.following\": \"Following\",\r\n \"component.workspace.user.followers\": \"Followers\",\r\n \"component.workspace.user.posts\": \"Posts\",\r\n \"component.workspace.panel.explore\": \"Explore\",\r\n \"component.workspace.panel.create\": \"Create workspace\",\r\n \"component.workspace.panel.modal.title\": \"Create new workspace\",\r\n \"component.workspace.panel.modal.form.interests\": \"Interests\",\r\n \"component.workspace.panel.modal.form.name\": \"Workspace name / icon-emoji\",\r\n \"component.workspace.panel.modal.form.interests.placeholder\":\r\n \"Select interests\",\r\n \"component.workspace.panel.modal.form.name.placeholder\":\r\n \"Enter workspace name\",\r\n \"component.workspace.panel.modal.form.description\": \"Short description\",\r\n\r\n \"component.workspace.panel.modal.form.button.back\": \"Back\",\r\n \"component.workspace.panel.modal.form.button.create\": \"Create workspace\",\r\n \"component.workspace.panel.modal.form.button.creating\":\r\n \"Creating your workspace...\",\r\n\r\n \"component.workspace.panel.modal.form.toats.error.title\":\r\n \"Error creating workspace\",\r\n \"component.workspace.panel.modal.form.toats.error.description\":\r\n \"An error occurred while creating the workspace, please try again.\",\r\n\r\n \"component.workspace.panel.modal.form.errors.required-field\":\r\n \"Required field\",\r\n\r\n \"component.workspace.panel.modal.form.options.edit\": \"Edit\",\r\n \"component.workspace.panel.modal.form.options.delete\": \"Delete\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.confirm.title\":\r\n \"Do you want to delete this workspace?\",\r\n \"component.workspace.panel.modal.form.options.delete.confirm.description\":\r\n \"There’s no going back! Are you sure you want to delete it permanently?\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.button.cancel\": \"Cancel\",\r\n \"component.workspace.panel.modal.form.options.delete.button.delete\": \"Delete\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.title\":\r\n \"Workspace successfully deleted!\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.description\":\r\n \"The workspace was successfully deleted.\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.title\":\r\n \"Error deleting workspace\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.description\":\r\n \"An error occurred while deleting the workspace, please try again.\",\r\n\r\n \"component.workspace.panel.modal.edit.title\": \"Edit workspace details\",\r\n \"component.workspace.panel.modal.edit.button.save\": \"Save\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.success.title\":\r\n \"Workspace successfully updated!\",\r\n \"component.workspace.panel.modal.edit.toats.success.description\":\r\n \"The workspace was successfully updated.\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.error.title\":\r\n \"Error updating workspace\",\r\n \"component.workspace.panel.modal.edit.toats.error.description\":\r\n \"An error occurred while updating the workspace, please try again.\",\r\n\r\n \"component.workspace.panel.modal.success.title\":\r\n \"Workspace created successfully!\",\r\n \"component.workspace.panel.modal.success.description\":\r\n \"All set! Your new workspace is the first step towards great achievements.\",\r\n \"component.workspace.panel.modal.success.button.view-workspace\":\r\n \"View workspace\",\r\n \"component.workspace.panel.modal.success.button.store\": \"Go to store\",\r\n\r\n \"component.search.placeholder\": \"Search\",\r\n \"main.navbar.home\": \"Home\",\r\n \"main.navbar.mcp\": \"MCP\",\r\n \"main.navbar.explore\": \"Explore\",\r\n \"main.navbar.notifications\": \"Notifications\",\r\n\r\n \"component.user.options.logout\": \"Log out\",\r\n \"component.select-input.placeholder\": \"Select an option\",\r\n \"component.select-input.no-elements-found\": \"No elements found\",\r\n};\r\n","export const packagesFrenchDictionary = {\r\n \"component.workspace.user.complete\": \"complet\",\r\n \"component.workspace.greetings\": \"Ravi de vous revoir, \",\r\n \"component.workspace.greetings.label\":\r\n \"Continuez à profiter de ce que nous avons préparé pour vous.\",\r\n \"component.workspace.user.following\": \"Abonnements\",\r\n \"component.workspace.user.followers\": \"Abonnés\",\r\n \"component.workspace.user.posts\": \"Publications\",\r\n \"component.workspace.panel.explore\": \"Explorer\",\r\n \"component.workspace.panel.create\": \"Créer un espace de travail\",\r\n \"component.workspace.panel.modal.title\": \"Créer un nouvel espace de travail\",\r\n \"component.workspace.panel.modal.form.interests\": \"Centres d’intérêt\",\r\n \"component.workspace.panel.modal.form.name\": \"Nom de l’espace / icône-emoji\",\r\n \"component.workspace.panel.modal.form.interests.placeholder\":\r\n \"Sélectionnez les centres d’intérêt\",\r\n \"component.workspace.panel.modal.form.name.placeholder\":\r\n \"Saisir le nom de l’espace de travail\",\r\n \"component.workspace.panel.modal.form.description\": \"Brève description\",\r\n\r\n \"component.workspace.panel.modal.form.button.back\": \"Retour\",\r\n \"component.workspace.panel.modal.form.button.create\":\r\n \"Créer l’espace de travail\",\r\n \"component.workspace.panel.modal.form.button.creating\":\r\n \"Création de votre espace de travail...\",\r\n\r\n \"component.workspace.panel.modal.form.toats.error.title\":\r\n \"Erreur lors de la création de l’espace\",\r\n \"component.workspace.panel.modal.form.toats.error.description\":\r\n \"Une erreur est survenue lors de la création de l’espace, veuillez réessayer.\",\r\n\r\n \"component.workspace.panel.modal.form.errors.required-field\":\r\n \"Champ obligatoire\",\r\n\r\n \"component.workspace.panel.modal.form.options.edit\": \"Modifier\",\r\n \"component.workspace.panel.modal.form.options.delete\": \"Supprimer\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.confirm.title\":\r\n \"Voulez-vous supprimer cet espace ?\",\r\n \"component.workspace.panel.modal.form.options.delete.confirm.description\":\r\n \"Cette action est irréversible ! Êtes-vous sûr de vouloir le supprimer ?\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.button.cancel\":\r\n \"Annuler\",\r\n \"component.workspace.panel.modal.form.options.delete.button.delete\":\r\n \"Supprimer\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.title\":\r\n \"Espace supprimé avec succès !\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.description\":\r\n \"L’espace a été supprimé avec succès.\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.title\":\r\n \"Erreur lors de la suppression\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.description\":\r\n \"Une erreur est survenue lors de la suppression de l’espace, veuillez réessayer.\",\r\n\r\n \"component.workspace.panel.modal.edit.title\":\r\n \"Modifier les détails de l’espace\",\r\n \"component.workspace.panel.modal.edit.button.save\": \"Enregistrer\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.success.title\":\r\n \"Espace mis à jour avec succès !\",\r\n \"component.workspace.panel.modal.edit.toats.success.description\":\r\n \"L’espace a été mis à jour avec succès.\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.error.title\":\r\n \"Erreur lors de la mise à jour\",\r\n \"component.workspace.panel.modal.edit.toats.error.description\":\r\n \"Une erreur est survenue lors de la mise à jour de l’espace, veuillez réessayer.\",\r\n\r\n \"component.workspace.panel.modal.success.title\": \"Espace créé avec succès !\",\r\n \"component.workspace.panel.modal.success.description\":\r\n \"Tout est prêt ! Votre nouvel espace de travail est la première étape vers de grandes réussites.\",\r\n \"component.workspace.panel.modal.success.button.view-workspace\":\r\n \"Voir l’espace\",\r\n \"component.workspace.panel.modal.success.button.store\": \"Aller à la boutique\",\r\n\r\n \"component.search.placeholder\": \"Rechercher\",\r\n \"main.navbar.home\": \"Accueil\",\r\n \"main.navbar.mcp\": \"MCP\",\r\n \"main.navbar.explore\": \"Explorer\",\r\n \"main.navbar.notifications\": \"Notifications\",\r\n\r\n \"component.user.options.logout\": \"Se déconnecter\",\r\n \"component.select-input.placeholder\": \"Sélectionner une option\",\r\n \"component.select-input.no-elements-found\": \"Aucun élément trouvé\",\r\n};\r\n","export const packagesPortugueseDictionary = {\r\n \"component.workspace.user.complete\": \"completo\",\r\n \"component.workspace.greetings\": \"Que bom ter você de volta, \",\r\n \"component.workspace.greetings.label\":\r\n \"Continue tirando o melhor do que preparamos para você.\",\r\n \"component.workspace.user.following\": \"A seguir\",\r\n \"component.workspace.user.followers\": \"Seguidores\",\r\n \"component.workspace.user.posts\": \"Posts\",\r\n \"component.workspace.panel.explore\": \"Explorar\",\r\n \"component.workspace.panel.create\": \"Criar workspace\",\r\n \"component.workspace.panel.modal.title\": \"Criar novo workspace\",\r\n \"component.workspace.panel.modal.form.interests\": \"Interesses\",\r\n \"component.workspace.panel.modal.form.name\": \"Nome do workspace / icon-emoji\",\r\n \"component.workspace.panel.modal.form.interests.placeholder\":\r\n \"Selecione os interesses\",\r\n \"component.workspace.panel.modal.form.name.placeholder\":\r\n \"Escrever nome do workspace\",\r\n \"component.workspace.panel.modal.form.description\": \"Descrição curta\",\r\n\r\n \"component.workspace.panel.modal.form.button.back\": \"Voltar\",\r\n \"component.workspace.panel.modal.form.button.create\": \"Criar workspace\",\r\n \"component.workspace.panel.modal.form.button.creating\":\r\n \"Criando o seu workspace...\",\r\n\r\n \"component.workspace.panel.modal.form.toats.error.title\":\r\n \"Erro ao criar workspace\",\r\n \"component.workspace.panel.modal.form.toats.error.description\":\r\n \"Ocorreu um erro ao criar o workspace, por favor, tente novamente.\",\r\n\r\n \"component.workspace.panel.modal.form.errors.required-field\":\r\n \"Campo obrigatório\",\r\n\r\n \"component.workspace.panel.modal.form.options.edit\": \"Editar\",\r\n \"component.workspace.panel.modal.form.options.delete\": \"Deletar\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.confirm.title\":\r\n \"Você quer excluir este workspace?\",\r\n \"component.workspace.panel.modal.form.options.delete.confirm.description\":\r\n \"Depois não tem volta! Tem certeza que quer apagar de vez?.\",\r\n \r\n \"component.workspace.panel.modal.form.options.delete.button.cancel\":\r\n \"Cancelar\",\r\n \"component.workspace.panel.modal.form.options.delete.button.delete\":\r\n \"Deletar\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.title\":\r\n \"Workspace deletado com sucesso!\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.description\":\r\n \"O workspace foi deletado com sucesso.\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.title\":\r\n \"Erro ao deletar workspace\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.description\":\r\n \"Ocorreu um erro ao deletar o workspace, por favor, tente novamente.\",\r\n\r\n \"component.workspace.panel.modal.edit.title\": \"Editar detalhes do worspace\",\r\n \"component.workspace.panel.modal.edit.button.save\": \"Salvar\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.success.title\":\r\n \"Workspace atualizado com sucesso!\",\r\n \"component.workspace.panel.modal.edit.toats.success.description\":\r\n \"O workspace foi atualizado com sucesso.\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.error.title\":\r\n \"Erro ao atualizar workspace\",\r\n \"component.workspace.panel.modal.edit.toats.error.description\":\r\n \"Ocorreu um erro ao atualizar o workspace, por favor, tente novamente.\",\r\n\r\n \"component.workspace.panel.modal.success.title\":\r\n \"Workspace criado com sucesso!\",\r\n \"component.workspace.panel.modal.success.description\":\r\n \"Tudo pronto! Seu novo espaço de trabalho é o primeiro passo para grandes conquistas.\",\r\n \"component.workspace.panel.modal.success.button.view-workspace\":\r\n \"Ver workspace\",\r\n \"component.workspace.panel.modal.success.button.store\": \"Ir na loja\",\r\n\r\n \"component.search.placeholder\": \"Pesquisar\",\r\n \"main.navbar.home\": \"Início\",\r\n \"main.navbar.mcp\": \"MCP\",\r\n \"main.navbar.explore\": \"Explorar\",\r\n \"main.navbar.notifications\": \"Notificações\",\r\n\r\n \"component.user.options.logout\": \"Terminar sessão\",\r\n \"component.select-input.placeholder\": \"Selecione uma opção\",\r\n \"component.select-input.no-elements-found\": \"Nenhum elemento encontrado\",\r\n};\r\n","import { packagesEnglishDictionary } from \"./dictionaries/en\";\r\nimport { packagesFrenchDictionary } from \"./dictionaries/fr\";\r\nimport { packagesPortugueseDictionary } from \"./dictionaries/pt\";\r\n\r\nconst billingTranslation = {\r\n pt: {\r\n ...packagesPortugueseDictionary,\r\n },\r\n en: {\r\n ...packagesEnglishDictionary,\r\n },\r\n fr: {\r\n ...packagesFrenchDictionary,\r\n },\r\n};\r\n\r\nexport function packageDictionary(\r\n locale: keyof typeof billingTranslation,\r\n key: keyof (typeof billingTranslation)[typeof locale]\r\n) {\r\n return billingTranslation[locale][key];\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport function EditIcon({ color = \"#687588\" }: { color?: string }) {\r\n return (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 20 20\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M16.66 15.793h-4.744a.847.847 0 0 0-.84.853c0 .471.377.853.84.853h4.745c.463 0 .84-.382.84-.853a.847.847 0 0 0-.84-.853\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"m8.59 5.755 4.497 3.633a.26.26 0 0 1 .043.358l-5.331 6.946a1.75 1.75 0 0 1-1.358.68l-2.91.036a.33.33 0 0 1-.326-.26l-.662-2.875c-.115-.528 0-1.075.335-1.496l5.357-6.98a.25.25 0 0 1 .356-.042\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"m15.1 7.221-.867 1.082a.25.25 0 0 1-.353.04c-1.053-.852-3.752-3.04-4.5-3.647a.257.257 0 0 1-.037-.36l.836-1.038c.759-.977 2.082-1.066 3.149-.215l1.225.976c.503.394.838.914.953 1.46.132.601-.01 1.192-.406 1.702\"\r\n opacity=\"0.4\"\r\n ></path>\r\n </svg>\r\n );\r\n}\r\n","import { useContext } from \"react\";\r\nimport { MirantesFoundationContext } from \"./MirantesFoundationContext\";\r\n\r\nexport function useMirantesFoundation() {\r\n const mirantesContext = useContext(MirantesFoundationContext);\r\n\r\n if (!mirantesContext) {\r\n throw new Error(\r\n \"useMirantesFoundation must be used within a MirantesFoundationProvider\"\r\n );\r\n }\r\n\r\n return mirantesContext;\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport function DeleteIcon({ color = \"#E03137\" }: { color?: string }) {\r\n return (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 20 20\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M16.37 7.906c0 .057-.445 5.674-.699 8.038-.159 1.45-1.094 2.33-2.497 2.356-1.078.024-2.133.032-3.171.032-1.102 0-2.18-.008-3.226-.032-1.356-.033-2.292-.93-2.443-2.356-.261-2.372-.697-7.981-.705-8.038a.66.66 0 0 1 .159-.465.6.6 0 0 1 .436-.195h11.558c.166 0 .317.073.436.195a.62.62 0 0 1 .151.465\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"M17.5 4.982c0-.342-.27-.61-.594-.61h-2.43c-.494 0-.924-.352-1.034-.848l-.136-.608a1.654 1.654 0 0 0-1.585-1.248H8.28c-.746 0-1.397.514-1.595 1.288l-.127.569a1.07 1.07 0 0 1-1.034.846h-2.43a.6.6 0 0 0-.595.611v.317c0 .334.27.61.595.61h13.81a.607.607 0 0 0 .595-.61z\"\r\n ></path>\r\n </svg>\r\n );\r\n}\r\n","export const Palette = {\r\n white: \"#ffff\",\r\n dark: {\r\n black: \"#0a0909\",\r\n blue: {\r\n shade1: \"#090b19\",\r\n shade2: \"#111827\",\r\n },\r\n },\r\n blue: {\r\n shade1: \"#0b89ce\",\r\n shade2: \"#0e9edd\",\r\n shade3: \"#11b2ea\",\r\n shade4: \"#14c4f4\",\r\n shade5: \"#4dddff\",\r\n shade6: \"#92f0ff\",\r\n shade7: \"#bbf9ff\",\r\n shade8: \"#d9fdff\",\r\n shade9: \"#deebf2\",\r\n shade10: \"#3182CE\",\r\n shade11: \"#2F78EE\",\r\n shade12: \"#EBF3FF\",\r\n shade13: \"#111827\",\r\n shade14: \"#CEECFF\",\r\n shade15: \"#0B89CE33\",\r\n shade16: \"#721EFF\",\r\n },\r\n\r\n gray: {\r\n shade1: \"#f2f2f2\",\r\n shade2: \"#F6F6F6\",\r\n shade3: \"#e6e6e6\",\r\n shade4: \"#b3b3b3\",\r\n shade5: \"#666666\",\r\n shade6: \"#1a1a1a\",\r\n shade7: \"#A0AEC0\",\r\n shade8: \"#687588\",\r\n shade9: \"#F8F8F8\",\r\n shade10: \"#F1F2F4\",\r\n shade11: \"#E9EAEC\",\r\n shade12: \"#FAFAFA\",\r\n shade13: \"#44444F\",\r\n shade14: \"#92929D\",\r\n shade15: \"#323B49\",\r\n shade16: \"#111827\",\r\n shade17: \"#CBD5E0\",\r\n shade18: \"#F1F1F1\",\r\n shade19: \"#BABDC5\",\r\n shade20: \"#8E939F\",\r\n shade21: \"#646A78\",\r\n shade22: \"#B5B5BE\",\r\n shade23: \"#EFF4FB\",\r\n },\r\n\r\n green: {\r\n shade1: \"#5c995c\",\r\n shade2: \"#72b772\",\r\n shade3: \"#a1e2a1\",\r\n shade4: \"#b4efb4\",\r\n shade5: \"#daedda\",\r\n shade6: \"#27A376\",\r\n shade7: \"#0CAF60\",\r\n shade8: \"#38A169\",\r\n shade9: \"#E7F7EF\",\r\n shade10: \"#5C995D\",\r\n bg: \"rgba(202, 234, 203, 0.40)\",\r\n },\r\n yellow: {\r\n shade1: \"#ffc545\",\r\n shade2: \"#ffc85a\",\r\n shade3: \"#ffd28a\",\r\n shade4: \"#ffe6b3\",\r\n shade5: \"#ffecd2\",\r\n },\r\n orange: {\r\n shade1: \"#f9922d\",\r\n shade2: \"#ffa14d\",\r\n shade3: \"#f4aa6e\",\r\n shade4: \"#f7cca6\",\r\n shade5: \"#f2e6dd\",\r\n shade6: \"#EC991C\",\r\n shade7: \"#EC991C33\",\r\n shade8: \"#F39912\",\r\n shade9: \"#FF9900\",\r\n },\r\n red: {\r\n shade1: \"#ad3e36\",\r\n shade2: \"#e86464\",\r\n shade3: \"#ea9696\",\r\n shade4: \"#eacccc\",\r\n shade5: \"#FFEDEC\",\r\n shade6: \"#E03137\",\r\n shade7: \"#E53E3E\",\r\n },\r\n};\r\n","import React from \"react\";\r\nimport { Modal } from \"./modal\";\r\nimport { Button } from \"../button/button\";\r\nimport { packageDictionary } from \"../../../locales/utils\";\r\nimport { useMirantesFoundation } from \"../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../context/types\";\r\n\r\nexport function ConfirmModal({\r\n isOpen,\r\n onClose,\r\n onConfirm,\r\n title,\r\n description,\r\n illustration,\r\n isLoading,\r\n}: {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n onConfirm: () => void;\r\n title: string;\r\n description: string;\r\n illustration?: React.ReactNode;\r\n isLoading?: boolean;\r\n}) {\r\n const { locale } = useMirantesFoundation();\r\n\r\n \r\n return (\r\n <Modal\r\n isLoading={isLoading}\r\n closeOnClickOutside={false}\r\n hideCloseButton\r\n className=\"min-w-[31.25rem]\"\r\n disableFullScreen\r\n isOpen={isOpen}\r\n onClose={onClose}\r\n >\r\n <div className=\"w-full flex flex-col items-center gap-y-8\">\r\n {illustration && <div>{illustration}</div>}\r\n\r\n <h2 className=\"text-[2rem] font-bold text-center\">{title}</h2>\r\n\r\n <p className=\"text-center text-body-xl text-dark-1\">{description}</p>\r\n\r\n <div className=\"w-full flex gap-x-4\">\r\n <Button\r\n disabled={isLoading}\r\n className=\"bg-white text-primary border border-primary\"\r\n onClick={onClose}\r\n >\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.button.cancel\"\r\n )}\r\n </Button>\r\n <Button disabled={isLoading} onClick={onConfirm}>\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.button.delete\"\r\n )}\r\n </Button>\r\n </div>\r\n </div>\r\n </Modal>\r\n );\r\n}\r\n","\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\r\nimport { X } from \"lucide-react\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\n\r\nconst Dialog = DialogPrimitive.Root;\r\n\r\nconst DialogTrigger = DialogPrimitive.Trigger;\r\n\r\nconst DialogPortal = DialogPrimitive.Portal;\r\n\r\nconst DialogClose = DialogPrimitive.Close;\r\n\r\nconst DialogOverlay = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Overlay>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay> & {\r\n className?: string;\r\n }\r\n>(({ className, ...props }, ref) => (\r\n <DialogPrimitive.Overlay\r\n ref={ref}\r\n className={cn(\r\n \"fixed inset-0 z-50 bg-black/10 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n));\r\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\r\n\r\nconst DialogContent = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {\r\n overlayClassName?: string;\r\n onClose?: () => void;\r\n hideCloseButton?: boolean;\r\n closeOnOverlayClick?: boolean;\r\n }\r\n>(\r\n (\r\n {\r\n className,\r\n children,\r\n onClose,\r\n overlayClassName,\r\n closeOnOverlayClick = true,\r\n hideCloseButton = false,\r\n ...props\r\n },\r\n ref\r\n ) => (\r\n <DialogPortal>\r\n <DialogOverlay\r\n className={`${overlayClassName} z-[60] bg-[#00000050]`}\r\n onClick={(e) => {\r\n if (!closeOnOverlayClick) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n }}\r\n />\r\n <DialogPrimitive.Content\r\n ref={ref}\r\n className={cn(\r\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 bg-white shadow-2xl shadow-[#00000010] duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] !outline-none\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n {!hideCloseButton && (\r\n <button\r\n onClick={onClose}\r\n className=\"absolute cursor-pointer hidden lg:flex top-4 lg:right-6 right-4\"\r\n >\r\n <X className=\"h-6 w-6\" />\r\n </button>\r\n )}\r\n </DialogPrimitive.Content>\r\n </DialogPortal>\r\n )\r\n);\r\nDialogContent.displayName = DialogPrimitive.Content.displayName;\r\n\r\nconst DialogHeader = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n);\r\nDialogHeader.displayName = \"DialogHeader\";\r\n\r\nconst DialogFooter = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n);\r\nDialogFooter.displayName = \"DialogFooter\";\r\n\r\nconst DialogTitle = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Title>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\r\n>(({ className, ...props }, ref) => (\r\n <DialogPrimitive.Title\r\n ref={ref}\r\n className={cn(\r\n \"text-lg font-semibold leading-none tracking-tight\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n));\r\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\r\n\r\nconst DialogDescription = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Description>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\r\n>(({ className, ...props }, ref) => (\r\n <DialogPrimitive.Description\r\n ref={ref}\r\n className={cn(\"text-sm text-muted-foreground\", className)}\r\n {...props}\r\n />\r\n));\r\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\r\n\r\nexport {\r\n Dialog,\r\n DialogPortal,\r\n DialogOverlay,\r\n DialogClose,\r\n DialogTrigger,\r\n DialogContent,\r\n DialogHeader,\r\n DialogFooter,\r\n DialogTitle,\r\n DialogDescription,\r\n};\r\n","\"use client\";\r\nimport React from \"react\";\r\nimport {\r\n Dialog,\r\n DialogContent,\r\n DialogHeader,\r\n DialogTitle,\r\n} from \"../../../components/ui/dialog\";\r\nimport { X } from \"lucide-react\";\r\nimport type { ReactNode } from \"react\";\r\n\r\ninterface ModalProps {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n children: ReactNode;\r\n hideCloseButton?: boolean;\r\n closeOnClickOutside?: boolean;\r\n className?: string;\r\n header?: React.ReactNode;\r\n disableFullScreen?: boolean;\r\n isLoading?: boolean;\r\n}\r\n\r\nexport function Modal({\r\n isOpen,\r\n header,\r\n onClose,\r\n isLoading,\r\n children,\r\n hideCloseButton = false,\r\n closeOnClickOutside = true,\r\n className,\r\n disableFullScreen = false,\r\n}: ModalProps) {\r\n return (\r\n <div className=\"absolute\">\r\n <Dialog\r\n open={isOpen}\r\n onOpenChange={(open) => {\r\n if (!open && closeOnClickOutside) {\r\n onClose();\r\n }\r\n }}\r\n >\r\n <DialogHeader />\r\n\r\n <DialogContent\r\n hideCloseButton={hideCloseButton}\r\n onClose={onClose}\r\n className={`px-0 py-6 lg:px-6 w-full ${\r\n !disableFullScreen && \"h-[100dvh] z-[999] !rounded-none\" \r\n } flex flex-col !justify-start overflow-hidden z-[70] rounded-xl lg:!rounded-2xl lg:h-auto pt-4 gap-0 ${className}`}\r\n onInteractOutside={(e) => {\r\n if (!closeOnClickOutside) {\r\n e.preventDefault();\r\n }\r\n }}\r\n >\r\n {isLoading && <div className=\"loading-bar\" />}\r\n\r\n {!disableFullScreen && (\r\n <header className=\"px-4 border-b-8 border-[#F6F6F6] pb-4 lg:hidden flex items-center w-full\">\r\n <button onClick={() => onClose()} className=\"cursor-pointer\">\r\n <X className=\"h-6 w-6\" />\r\n </button>\r\n\r\n {header}\r\n </header>\r\n )}\r\n\r\n <DialogTitle />\r\n {children}\r\n </DialogContent>\r\n </Dialog>\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const LoadingIcon = ({ color = \"#0B89CE\" }: { color?: string }) => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"41\"\r\n height=\"40\"\r\n fill=\"none\"\r\n viewBox=\"0 0 41 40\"\r\n >\r\n <mask\r\n id=\"mask0_56449_70362\"\r\n width=\"41\"\r\n height=\"40\"\r\n x=\"0\"\r\n y=\"0\"\r\n maskUnits=\"userSpaceOnUse\"\r\n style={{ maskType: \"alpha\" }}\r\n >\r\n <path\r\n fill=\"#C4C4C4\"\r\n d=\"M40.5 20c0 11.046-8.954 20-20 20S.5 31.046.5 20s8.954-20 20-20 20 8.954 20 20M7.543 20c0 7.156 5.801 12.957 12.957 12.957S33.457 27.156 33.457 20 27.656 7.043 20.5 7.043 7.543 12.844 7.543 20\"\r\n ></path>\r\n </mask>\r\n <g mask=\"url(#mask0_56449_70362)\">\r\n <g\r\n clipPath=\"url(#paint0_angular_56449_70362_clip_path)\"\r\n data-figma-skip-parse=\"true\"\r\n >\r\n <foreignObject\r\n width=\"2088.83\"\r\n height=\"2088.83\"\r\n x=\"-1044.42\"\r\n y=\"-1044.42\"\r\n transform=\"matrix(0 .02251 -.02251 0 20.5 20.01)\"\r\n >\r\n <div\r\n style={{\r\n background: `conic-gradient(from 90deg,${color} 0deg,rgba(11,137,206,0) 360deg)`,\r\n height: \"100%\",\r\n width: \"100%\",\r\n }}\r\n ></div>\r\n </foreignObject>\r\n </g>\r\n <path\r\n d=\"M-2.014-2.504h45.029v45.029H-2.014z\"\r\n data-figma-gradient-fill='{\"type\":\"GRADIENT_ANGULAR\",\"stops\":[{\"color\":{\"r\":0.043137256056070328,\"g\":0.53725492954254150,\"b\":0.80784314870834351,\"a\":1.0},\"position\":0.0},{\"color\":{\"r\":0.043137256056070328,\"g\":0.53725492954254150,\"b\":0.80784314870834351,\"a\":0.0},\"position\":1.0}],\"stopsVar\":[{\"color\":{\"r\":0.043137256056070328,\"g\":0.53725492954254150,\"b\":0.80784314870834351,\"a\":1.0},\"position\":0.0},{\"color\":{\"r\":0.043137256056070328,\"g\":0.53725492954254150,\"b\":0.80784314870834351,\"a\":0.0},\"position\":1.0}],\"transform\":{\"m00\":2.7572048986947324e-15,\"m01\":-45.028572082519531,\"m02\":43.014411926269531,\"m10\":45.028572082519531,\"m11\":2.7572048986947324e-15,\"m12\":-2.503906250},\"opacity\":1.0,\"blendMode\":\"NORMAL\",\"visible\":true}'\r\n ></path>\r\n <circle cx=\"20.769\" cy=\"36.538\" r=\"3.562\" fill={color}></circle>\r\n </g>\r\n <defs>\r\n <clipPath id=\"paint0_angular_56449_70362_clip_path\">\r\n <path d=\"M-2.014-2.504h45.029v45.029H-2.014z\"></path>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n);\r\n","import React from \"react\";\r\nimport { cn } from \"../../../lib/utils\";\r\nimport { LoadingIcon } from \"../../../assets/icons/loading-icon\";\r\n\r\ntype ButtonProps = {\r\n children: React.ReactNode;\r\n type?: \"button\" | \"submit\";\r\n className?: string;\r\n onClick?: () => void;\r\n disabled?: boolean;\r\n isLoading?: boolean;\r\n};\r\n\r\nexport function Button({\r\n children,\r\n className,\r\n disabled,\r\n isLoading,\r\n onClick,\r\n type = \"button\",\r\n}: ButtonProps) {\r\n return (\r\n <button\r\n disabled={disabled || isLoading}\r\n type={type}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n onClick?.();\r\n }}\r\n className={cn(\r\n \"flex-1 flex items-center border border-primary text-white bg-primary font-bold py-4\",\r\n className\r\n )}\r\n >\r\n {children}\r\n {isLoading && (\r\n <div className=\"w-4 h-4 flex items-center justify-center\">\r\n <LoadingIcon color=\"#fff\" />\r\n </div>\r\n )}\r\n </button>\r\n );\r\n}\r\n","export class Subscribable<TListener extends Function> {\n protected listeners = new Set<TListener>()\n\n constructor() {\n this.subscribe = this.subscribe.bind(this)\n }\n\n subscribe(listener: TListener): () => void {\n this.listeners.add(listener)\n\n this.onSubscribe()\n\n return () => {\n this.listeners.delete(listener)\n this.onUnsubscribe()\n }\n }\n\n hasListeners(): boolean {\n return this.listeners.size > 0\n }\n\n protected onSubscribe(): void {\n // Do nothing\n }\n\n protected onUnsubscribe(): void {\n // Do nothing\n }\n}\n","import type {\n DefaultError,\n Enabled,\n FetchStatus,\n MutationKey,\n MutationStatus,\n QueryFunction,\n QueryKey,\n QueryOptions,\n StaleTime,\n} from './types'\nimport type { Mutation } from './mutation'\nimport type { FetchOptions, Query } from './query'\n\n// TYPES\n\nexport interface QueryFilters<TQueryKey extends QueryKey = QueryKey> {\n /**\n * Filter to active queries, inactive queries or all queries\n */\n type?: QueryTypeFilter\n /**\n * Match query key exactly\n */\n exact?: boolean\n /**\n * Include queries matching this predicate function\n */\n predicate?: (query: Query) => boolean\n /**\n * Include queries matching this query key\n */\n queryKey?: TQueryKey\n /**\n * Include or exclude stale queries\n */\n stale?: boolean\n /**\n * Include queries matching their fetchStatus\n */\n fetchStatus?: FetchStatus\n}\n\nexport interface MutationFilters<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TContext = unknown,\n> {\n /**\n * Match mutation key exactly\n */\n exact?: boolean\n /**\n * Include mutations matching this predicate function\n */\n predicate?: (\n mutation: Mutation<TData, TError, TVariables, TContext>,\n ) => boolean\n /**\n * Include mutations matching this mutation key\n */\n mutationKey?: MutationKey\n /**\n * Filter by mutation status\n */\n status?: MutationStatus\n}\n\nexport type Updater<TInput, TOutput> = TOutput | ((input: TInput) => TOutput)\n\nexport type QueryTypeFilter = 'all' | 'active' | 'inactive'\n\n// UTILS\n\nexport const isServer = typeof window === 'undefined' || 'Deno' in globalThis\n\nexport function noop(): void\nexport function noop(): undefined\nexport function noop() {}\n\nexport function functionalUpdate<TInput, TOutput>(\n updater: Updater<TInput, TOutput>,\n input: TInput,\n): TOutput {\n return typeof updater === 'function'\n ? (updater as (_: TInput) => TOutput)(input)\n : updater\n}\n\nexport function isValidTimeout(value: unknown): value is number {\n return typeof value === 'number' && value >= 0 && value !== Infinity\n}\n\nexport function timeUntilStale(updatedAt: number, staleTime?: number): number {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0)\n}\n\nexport function resolveStaleTime<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n staleTime: undefined | StaleTime<TQueryFnData, TError, TData, TQueryKey>,\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n): number | undefined {\n return typeof staleTime === 'function' ? staleTime(query) : staleTime\n}\n\nexport function resolveEnabled<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n enabled: undefined | Enabled<TQueryFnData, TError, TData, TQueryKey>,\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n): boolean | undefined {\n return typeof enabled === 'function' ? enabled(query) : enabled\n}\n\nexport function matchQuery(\n filters: QueryFilters,\n query: Query<any, any, any, any>,\n): boolean {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale,\n } = filters\n\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive()\n if (type === 'active' && !isActive) {\n return false\n }\n if (type === 'inactive' && isActive) {\n return false\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false\n }\n\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false\n }\n\n if (predicate && !predicate(query)) {\n return false\n }\n\n return true\n}\n\nexport function matchMutation(\n filters: MutationFilters,\n mutation: Mutation<any, any>,\n): boolean {\n const { exact, status, predicate, mutationKey } = filters\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false\n }\n }\n\n if (status && mutation.state.status !== status) {\n return false\n }\n\n if (predicate && !predicate(mutation)) {\n return false\n }\n\n return true\n}\n\nexport function hashQueryKeyByOptions<TQueryKey extends QueryKey = QueryKey>(\n queryKey: TQueryKey,\n options?: Pick<QueryOptions<any, any, any, any>, 'queryKeyHashFn'>,\n): string {\n const hashFn = options?.queryKeyHashFn || hashKey\n return hashFn(queryKey)\n}\n\n/**\n * Default query & mutation keys hash function.\n * Hashes the value into a stable hash.\n */\nexport function hashKey(queryKey: QueryKey | MutationKey): string {\n return JSON.stringify(queryKey, (_, val) =>\n isPlainObject(val)\n ? Object.keys(val)\n .sort()\n .reduce((result, key) => {\n result[key] = val[key]\n return result\n }, {} as any)\n : val,\n )\n}\n\n/**\n * Checks if key `b` partially matches with key `a`.\n */\nexport function partialMatchKey(a: QueryKey, b: QueryKey): boolean\nexport function partialMatchKey(a: any, b: any): boolean {\n if (a === b) {\n return true\n }\n\n if (typeof a !== typeof b) {\n return false\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n return Object.keys(b).every((key) => partialMatchKey(a[key], b[key]))\n }\n\n return false\n}\n\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\nexport function replaceEqualDeep<T>(a: unknown, b: T): T\nexport function replaceEqualDeep(a: any, b: any): any {\n if (a === b) {\n return a\n }\n\n const array = isPlainArray(a) && isPlainArray(b)\n\n if (array || (isPlainObject(a) && isPlainObject(b))) {\n const aItems = array ? a : Object.keys(a)\n const aSize = aItems.length\n const bItems = array ? b : Object.keys(b)\n const bSize = bItems.length\n const copy: any = array ? [] : {}\n\n let equalItems = 0\n\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i]\n if (\n ((!array && aItems.includes(key)) || array) &&\n a[key] === undefined &&\n b[key] === undefined\n ) {\n copy[key] = undefined\n equalItems++\n } else {\n copy[key] = replaceEqualDeep(a[key], b[key])\n if (copy[key] === a[key] && a[key] !== undefined) {\n equalItems++\n }\n }\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy\n }\n\n return b\n}\n\n/**\n * Shallow compare objects.\n */\nexport function shallowEqualObjects<T extends Record<string, any>>(\n a: T,\n b: T | undefined,\n): boolean {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false\n }\n }\n\n return true\n}\n\nexport function isPlainArray(value: unknown) {\n return Array.isArray(value) && value.length === Object.keys(value).length\n}\n\n// Copied from: https://github.com/jonschlinkert/is-plain-object\n// eslint-disable-next-line @typescript-eslint/no-wrapper-object-types\nexport function isPlainObject(o: any): o is Object {\n if (!hasObjectPrototype(o)) {\n return false\n }\n\n // If has no constructor\n const ctor = o.constructor\n if (ctor === undefined) {\n return true\n }\n\n // If has modified prototype\n const prot = ctor.prototype\n if (!hasObjectPrototype(prot)) {\n return false\n }\n\n // If constructor does not have an Object-specific method\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false\n }\n\n // Handles Objects created by Object.create(<arbitrary prototype>)\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n\nfunction hasObjectPrototype(o: any): boolean {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function sleep(timeout: number): Promise<void> {\n return new Promise((resolve) => {\n setTimeout(resolve, timeout)\n })\n}\n\nexport function replaceData<\n TData,\n TOptions extends QueryOptions<any, any, any, any>,\n>(prevData: TData | undefined, data: TData, options: TOptions): TData {\n if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data) as TData\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== 'production') {\n try {\n return replaceEqualDeep(prevData, data)\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`,\n )\n\n // Prevent the replaceEqualDeep from being called again down below.\n throw error\n }\n }\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data)\n }\n return data\n}\n\nexport function keepPreviousData<T>(\n previousData: T | undefined,\n): T | undefined {\n return previousData\n}\n\nexport function addToEnd<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [...items, item]\n return max && newItems.length > max ? newItems.slice(1) : newItems\n}\n\nexport function addToStart<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [item, ...items]\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems\n}\n\nexport const skipToken = Symbol()\nexport type SkipToken = typeof skipToken\n\nexport function ensureQueryFn<\n TQueryFnData = unknown,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: {\n queryFn?: QueryFunction<TQueryFnData, TQueryKey> | SkipToken\n queryHash?: string\n },\n fetchOptions?: FetchOptions<TQueryFnData>,\n): QueryFunction<TQueryFnData, TQueryKey> {\n if (process.env.NODE_ENV !== 'production') {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`,\n )\n }\n }\n\n // if we attempt to retry a fetch that was triggered from an initialPromise\n // when we don't have a queryFn yet, we can't retry, so we just return the already rejected initialPromise\n // if an observer has already mounted, we will be able to retry with that queryFn\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise!\n }\n\n if (!options.queryFn || options.queryFn === skipToken) {\n return () =>\n Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`))\n }\n\n return options.queryFn\n}\n\nexport function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwOnError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwOnError function to override throwing behavior on a per-error basis\n if (typeof throwOnError === 'function') {\n return throwOnError(...params)\n }\n\n return !!throwOnError\n}\n","import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype Listener = (focused: boolean) => void\n\ntype SetupFn = (\n setFocused: (focused?: boolean) => void,\n) => (() => void) | undefined\n\nexport class FocusManager extends Subscribable<Listener> {\n #focused?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onFocus) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus()\n // Listen to visibilitychange\n window.addEventListener('visibilitychange', listener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener)\n }\n }\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((focused) => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused)\n } else {\n this.onFocus()\n }\n })\n }\n\n setFocused(focused?: boolean): void {\n const changed = this.#focused !== focused\n if (changed) {\n this.#focused = focused\n this.onFocus()\n }\n }\n\n onFocus(): void {\n const isFocused = this.isFocused()\n this.listeners.forEach((listener) => {\n listener(isFocused)\n })\n }\n\n isFocused(): boolean {\n if (typeof this.#focused === 'boolean') {\n return this.#focused\n }\n\n // document global can be unavailable in react native\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return globalThis.document?.visibilityState !== 'hidden'\n }\n}\n\nexport const focusManager = new FocusManager()\n","import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype Listener = (online: boolean) => void\ntype SetupFn = (setOnline: Listener) => (() => void) | undefined\n\nexport class OnlineManager extends Subscribable<Listener> {\n #online = true\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const onlineListener = () => onOnline(true)\n const offlineListener = () => onOnline(false)\n // Listen to online\n window.addEventListener('online', onlineListener, false)\n window.addEventListener('offline', offlineListener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('online', onlineListener)\n window.removeEventListener('offline', offlineListener)\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup(this.setOnline.bind(this))\n }\n\n setOnline(online: boolean): void {\n const changed = this.#online !== online\n\n if (changed) {\n this.#online = online\n this.listeners.forEach((listener) => {\n listener(online)\n })\n }\n }\n\n isOnline(): boolean {\n return this.#online\n }\n}\n\nexport const onlineManager = new OnlineManager()\n","/**\n * Thenable types which matches React's types for promises\n *\n * React seemingly uses `.status`, `.value` and `.reason` properties on a promises to optimistically unwrap data from promises\n *\n * @see https://github.com/facebook/react/blob/main/packages/shared/ReactTypes.js#L112-L138\n * @see https://github.com/facebook/react/blob/4f604941569d2e8947ce1460a0b2997e835f37b9/packages/react-debug-tools/src/ReactDebugHooks.js#L224-L227\n */\n\ninterface Fulfilled<T> {\n status: 'fulfilled'\n value: T\n}\ninterface Rejected {\n status: 'rejected'\n reason: unknown\n}\ninterface Pending<T> {\n status: 'pending'\n\n /**\n * Resolve the promise with a value.\n * Will remove the `resolve` and `reject` properties from the promise.\n */\n resolve: (value: T) => void\n /**\n * Reject the promise with a reason.\n * Will remove the `resolve` and `reject` properties from the promise.\n */\n reject: (reason: unknown) => void\n}\n\nexport type FulfilledThenable<T> = Promise<T> & Fulfilled<T>\nexport type RejectedThenable<T> = Promise<T> & Rejected\nexport type PendingThenable<T> = Promise<T> & Pending<T>\n\nexport type Thenable<T> =\n | FulfilledThenable<T>\n | RejectedThenable<T>\n | PendingThenable<T>\n\nexport function pendingThenable<T>(): PendingThenable<T> {\n let resolve: Pending<T>['resolve']\n let reject: Pending<T>['reject']\n // this could use `Promise.withResolvers()` in the future\n const thenable = new Promise((_resolve, _reject) => {\n resolve = _resolve\n reject = _reject\n }) as PendingThenable<T>\n\n thenable.status = 'pending'\n thenable.catch(() => {\n // prevent unhandled rejection errors\n })\n\n function finalize(data: Fulfilled<T> | Rejected) {\n Object.assign(thenable, data)\n\n // clear pending props props to avoid calling them twice\n delete (thenable as Partial<PendingThenable<T>>).resolve\n delete (thenable as Partial<PendingThenable<T>>).reject\n }\n\n thenable.resolve = (value) => {\n finalize({\n status: 'fulfilled',\n value,\n })\n\n resolve(value)\n }\n thenable.reject = (reason) => {\n finalize({\n status: 'rejected',\n reason,\n })\n\n reject(reason)\n }\n\n return thenable\n}\n","import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { pendingThenable } from './thenable'\nimport { isServer, sleep } from './utils'\nimport type { CancelOptions, DefaultError, NetworkMode } from './types'\n\n// TYPES\n\ninterface RetryerConfig<TData = unknown, TError = DefaultError> {\n fn: () => TData | Promise<TData>\n initialPromise?: Promise<TData>\n abort?: () => void\n onError?: (error: TError) => void\n onSuccess?: (data: TData) => void\n onFail?: (failureCount: number, error: TError) => void\n onPause?: () => void\n onContinue?: () => void\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode: NetworkMode | undefined\n canRun: () => boolean\n}\n\nexport interface Retryer<TData = unknown> {\n promise: Promise<TData>\n cancel: (cancelOptions?: CancelOptions) => void\n continue: () => Promise<unknown>\n cancelRetry: () => void\n continueRetry: () => void\n canStart: () => boolean\n start: () => Promise<TData>\n}\n\nexport type RetryValue<TError> = boolean | number | ShouldRetryFunction<TError>\n\ntype ShouldRetryFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue<TError> = number | RetryDelayFunction<TError>\n\ntype RetryDelayFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => number\n\nfunction defaultRetryDelay(failureCount: number) {\n return Math.min(1000 * 2 ** failureCount, 30000)\n}\n\nexport function canFetch(networkMode: NetworkMode | undefined): boolean {\n return (networkMode ?? 'online') === 'online'\n ? onlineManager.isOnline()\n : true\n}\n\nexport class CancelledError extends Error {\n revert?: boolean\n silent?: boolean\n constructor(options?: CancelOptions) {\n super('CancelledError')\n this.revert = options?.revert\n this.silent = options?.silent\n }\n}\n\nexport function isCancelledError(value: any): value is CancelledError {\n return value instanceof CancelledError\n}\n\nexport function createRetryer<TData = unknown, TError = DefaultError>(\n config: RetryerConfig<TData, TError>,\n): Retryer<TData> {\n let isRetryCancelled = false\n let failureCount = 0\n let isResolved = false\n let continueFn: ((value?: unknown) => void) | undefined\n\n const thenable = pendingThenable<TData>()\n\n const cancel = (cancelOptions?: CancelOptions): void => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions))\n\n config.abort?.()\n }\n }\n const cancelRetry = () => {\n isRetryCancelled = true\n }\n\n const continueRetry = () => {\n isRetryCancelled = false\n }\n\n const canContinue = () =>\n focusManager.isFocused() &&\n (config.networkMode === 'always' || onlineManager.isOnline()) &&\n config.canRun()\n\n const canStart = () => canFetch(config.networkMode) && config.canRun()\n\n const resolve = (value: any) => {\n if (!isResolved) {\n isResolved = true\n config.onSuccess?.(value)\n continueFn?.()\n thenable.resolve(value)\n }\n }\n\n const reject = (value: any) => {\n if (!isResolved) {\n isResolved = true\n config.onError?.(value)\n continueFn?.()\n thenable.reject(value)\n }\n }\n\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved || canContinue()) {\n continueResolve(value)\n }\n }\n config.onPause?.()\n }).then(() => {\n continueFn = undefined\n if (!isResolved) {\n config.onContinue?.()\n }\n })\n }\n\n // Create loop function\n const run = () => {\n // Do nothing if already resolved\n if (isResolved) {\n return\n }\n\n let promiseOrValue: any\n\n // we can re-use config.initialPromise on the first call of run()\n const initialPromise =\n failureCount === 0 ? config.initialPromise : undefined\n\n // Execute query\n try {\n promiseOrValue = initialPromise ?? config.fn()\n } catch (error) {\n promiseOrValue = Promise.reject(error)\n }\n\n Promise.resolve(promiseOrValue)\n .then(resolve)\n .catch((error) => {\n // Stop if the fetch is already resolved\n if (isResolved) {\n return\n }\n\n // Do we need to retry the request?\n const retry = config.retry ?? (isServer ? 0 : 3)\n const retryDelay = config.retryDelay ?? defaultRetryDelay\n const delay =\n typeof retryDelay === 'function'\n ? retryDelay(failureCount, error)\n : retryDelay\n const shouldRetry =\n retry === true ||\n (typeof retry === 'number' && failureCount < retry) ||\n (typeof retry === 'function' && retry(failureCount, error))\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error)\n return\n }\n\n failureCount++\n\n // Notify on fail\n config.onFail?.(failureCount, error)\n\n // Delay\n sleep(delay)\n // Pause if the document is not visible or when the device is offline\n .then(() => {\n return canContinue() ? undefined : pause()\n })\n .then(() => {\n if (isRetryCancelled) {\n reject(error)\n } else {\n run()\n }\n })\n })\n }\n\n return {\n promise: thenable,\n cancel,\n continue: () => {\n continueFn?.()\n return thenable\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n // Start loop\n if (canStart()) {\n run()\n } else {\n pause().then(run)\n }\n return thenable\n },\n }\n}\n","// TYPES\n\ntype NotifyCallback = () => void\n\ntype NotifyFunction = (callback: () => void) => void\n\ntype BatchNotifyFunction = (callback: () => void) => void\n\ntype BatchCallsCallback<T extends Array<unknown>> = (...args: T) => void\n\ntype ScheduleFunction = (callback: () => void) => void\n\nexport const defaultScheduler: ScheduleFunction = (cb) => setTimeout(cb, 0)\n\nexport function createNotifyManager() {\n let queue: Array<NotifyCallback> = []\n let transactions = 0\n let notifyFn: NotifyFunction = (callback) => {\n callback()\n }\n let batchNotifyFn: BatchNotifyFunction = (callback: () => void) => {\n callback()\n }\n let scheduleFn = defaultScheduler\n\n const schedule = (callback: NotifyCallback): void => {\n if (transactions) {\n queue.push(callback)\n } else {\n scheduleFn(() => {\n notifyFn(callback)\n })\n }\n }\n const flush = (): void => {\n const originalQueue = queue\n queue = []\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback)\n })\n })\n })\n }\n }\n\n return {\n batch: <T>(callback: () => T): T => {\n let result\n transactions++\n try {\n result = callback()\n } finally {\n transactions--\n if (!transactions) {\n flush()\n }\n }\n return result\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: <T extends Array<unknown>>(\n callback: BatchCallsCallback<T>,\n ): BatchCallsCallback<T> => {\n return (...args) => {\n schedule(() => {\n callback(...args)\n })\n }\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn: NotifyFunction) => {\n notifyFn = fn\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn: BatchNotifyFunction) => {\n batchNotifyFn = fn\n },\n setScheduler: (fn: ScheduleFunction) => {\n scheduleFn = fn\n },\n } as const\n}\n\n// SINGLETON\nexport const notifyManager = createNotifyManager()\n","import { isServer, isValidTimeout } from './utils'\n\nexport abstract class Removable {\n gcTime!: number\n #gcTimeout?: ReturnType<typeof setTimeout>\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = setTimeout(() => {\n this.optionalRemove()\n }, this.gcTime)\n }\n }\n\n protected updateGcTime(newGcTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout)\n this.#gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n","import {\n ensureQueryFn,\n noop,\n replaceData,\n resolveEnabled,\n skipToken,\n timeUntilStale,\n} from './utils'\nimport { notifyManager } from './notifyManager'\nimport { canFetch, createRetryer, isCancelledError } from './retryer'\nimport { Removable } from './removable'\nimport type { QueryCache } from './queryCache'\nimport type { QueryClient } from './queryClient'\nimport type {\n CancelOptions,\n DefaultError,\n FetchStatus,\n InitialDataFunction,\n OmitKeyof,\n QueryFunction,\n QueryFunctionContext,\n QueryKey,\n QueryMeta,\n QueryOptions,\n QueryStatus,\n SetDataOptions,\n} from './types'\nimport type { QueryObserver } from './queryObserver'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n client: QueryClient\n queryKey: TQueryKey\n queryHash: string\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state?: QueryState<TData, TError>\n}\n\nexport interface QueryState<TData = unknown, TError = DefaultError> {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: FetchMeta | null\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise<unknown>\n fetchOptions?: FetchOptions\n signal: AbortSignal\n options: QueryOptions<TQueryFnData, TError, TData, any>\n client: QueryClient\n queryKey: TQueryKey\n state: QueryState<TData, TError>\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n query: Query,\n ) => void\n}\n\nexport type FetchDirection = 'forward' | 'backward'\n\nexport interface FetchMeta {\n fetchMore?: { direction: FetchDirection }\n}\n\nexport interface FetchOptions<TData = unknown> {\n cancelRefetch?: boolean\n meta?: FetchMeta\n initialPromise?: Promise<TData>\n}\n\ninterface FailedAction<TError> {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: FetchMeta\n}\n\ninterface SuccessAction<TData> {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction<TError> {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction<TData, TError> {\n type: 'setState'\n state: Partial<QueryState<TData, TError>>\n setStateOptions?: SetStateOptions\n}\n\nexport type Action<TData, TError> =\n | ContinueAction\n | ErrorAction<TError>\n | FailedAction<TError>\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction<TData, TError>\n | SuccessAction<TData>\n\nexport interface SetStateOptions {\n meta?: any\n}\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state: QueryState<TData, TError>\n\n #initialState: QueryState<TData, TError>\n #revertState?: QueryState<TData, TError>\n #cache: QueryCache\n #client: QueryClient\n #retryer?: Retryer<TData>\n observers: Array<QueryObserver<any, any, any, any, any>>\n #defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n #abortSignalConsumed: boolean\n\n constructor(config: QueryConfig<TQueryFnData, TError, TData, TQueryKey>) {\n super()\n\n this.#abortSignalConsumed = false\n this.#defaultOptions = config.defaultOptions\n this.setOptions(config.options)\n this.observers = []\n this.#client = config.client\n this.#cache = this.#client.getQueryCache()\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.#initialState = getDefaultState(this.options)\n this.state = config.state ?? this.#initialState\n this.scheduleGc()\n }\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n get promise(): Promise<TData> | undefined {\n return this.#retryer?.promise\n }\n\n setOptions(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): void {\n this.options = { ...this.#defaultOptions, ...options }\n\n this.updateGcTime(this.options.gcTime)\n }\n\n protected optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.#cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.#dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(\n state: Partial<QueryState<TData, TError>>,\n setStateOptions?: SetStateOptions,\n ): void {\n this.#dispatch({ type: 'setState', state, setStateOptions })\n }\n\n cancel(options?: CancelOptions): Promise<void> {\n const promise = this.#retryer?.promise\n this.#retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.#initialState)\n }\n\n isActive(): boolean {\n return this.observers.some(\n (observer) => resolveEnabled(observer.options.enabled, this) !== false,\n )\n }\n\n isDisabled(): boolean {\n if (this.getObserversCount() > 0) {\n return !this.isActive()\n }\n // if a query has no observers, it should still be considered disabled if it never attempted a fetch\n return (\n this.options.queryFn === skipToken ||\n this.state.dataUpdateCount + this.state.errorUpdateCount === 0\n )\n }\n\n isStale(): boolean {\n if (this.state.isInvalidated) {\n return true\n }\n\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale,\n )\n }\n\n return this.state.data === undefined\n }\n\n isStaleByTime(staleTime = 0): boolean {\n return (\n this.state.isInvalidated ||\n this.state.data === undefined ||\n !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n )\n }\n\n onFocus(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n addObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.#cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer)\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({ revert: true })\n } else {\n this.#retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.#cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.observers.length\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: 'invalidate' })\n }\n }\n\n fetch(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n fetchOptions?: FetchOptions<TQueryFnData>,\n ): Promise<TData> {\n if (this.state.fetchStatus !== 'idle') {\n if (this.state.data !== undefined && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetch\n this.cancel({ silent: true })\n } else if (this.#retryer) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.#retryer.continueRetry()\n // Return current promise if we are already fetching\n return this.#retryer.promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn)\n if (observer) {\n this.setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = new AbortController()\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true\n return abortController.signal\n },\n })\n }\n\n // Create fetch function\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions)\n\n // Create query function context\n const queryFnContext: OmitKeyof<\n QueryFunctionContext<TQueryKey>,\n 'signal'\n > = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta,\n }\n\n addSignalProperty(queryFnContext)\n\n this.#abortSignalConsumed = false\n if (this.options.persister) {\n return this.options.persister(\n queryFn as QueryFunction<any>,\n queryFnContext as QueryFunctionContext<TQueryKey>,\n this as unknown as Query,\n )\n }\n\n return queryFn(queryFnContext as QueryFunctionContext<TQueryKey>)\n }\n\n // Trigger behavior hook\n const context: OmitKeyof<\n FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n 'signal'\n > = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n\n this.options.behavior?.onFetch(\n context as FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n this as unknown as Query,\n )\n\n // Store state in case the current fetch needs to be reverted\n this.#revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.#dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n const onError = (error: TError | { silent?: boolean }) => {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: 'error',\n error: error as TError,\n })\n }\n\n if (!isCancelledError(error)) {\n // Notify cache callback\n this.#cache.config.onError?.(\n error as any,\n this as Query<any, any, any, any>,\n )\n this.#cache.config.onSettled?.(\n this.state.data,\n error as any,\n this as Query<any, any, any, any>,\n )\n }\n\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n\n // Try to fetch the data\n this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise as\n | Promise<TData>\n | undefined,\n fn: context.fetchFn as () => Promise<TData>,\n abort: abortController.abort.bind(abortController),\n onSuccess: (data) => {\n if (data === undefined) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n onError(new Error(`${this.queryHash} data is undefined`) as any)\n return\n }\n\n try {\n this.setData(data)\n } catch (error) {\n onError(error as TError)\n return\n }\n\n // Notify cache callback\n this.#cache.config.onSuccess?.(data, this as Query<any, any, any, any>)\n this.#cache.config.onSettled?.(\n data,\n this.state.error as any,\n this as Query<any, any, any, any>,\n )\n\n // Schedule query gc after fetching\n this.scheduleGc()\n },\n onError,\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.#dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true,\n })\n\n return this.#retryer.start()\n }\n\n #dispatch(action: Action<TData, TError>): void {\n const reducer = (\n state: QueryState<TData, TError>,\n ): QueryState<TData, TError> => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null,\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success',\n ...(!action.manual && {\n fetchStatus: 'idle',\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n case 'error':\n const error = action.error\n\n if (isCancelledError(error) && error.revert && this.#revertState) {\n return { ...this.#revertState, fetchStatus: 'idle' }\n }\n\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: 'idle',\n status: 'error',\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate()\n })\n\n this.#cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nexport function fetchState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n data: TData | undefined,\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? 'fetching' : 'paused',\n ...(data === undefined &&\n ({\n error: null,\n status: 'pending',\n } as const)),\n } as const\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n): QueryState<TData, TError> {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction<TData>)()\n : options.initialData\n\n const hasData = data !== undefined\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? (options.initialDataUpdatedAt as () => number | undefined)()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? (initialDataUpdatedAt ?? Date.now()) : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'pending',\n fetchStatus: 'idle',\n }\n}\n","import { hashQueryKeyByOptions, matchQuery } from './utils'\nimport { Query } from './query'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport type { QueryFilters } from './utils'\nimport type { Action, QueryState } from './query'\nimport type {\n DefaultError,\n NotifyEvent,\n QueryKey,\n QueryOptions,\n WithRequired,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { QueryObserver } from './queryObserver'\n\n// TYPES\n\ninterface QueryCacheConfig {\n onError?: (\n error: DefaultError,\n query: Query<unknown, unknown, unknown>,\n ) => void\n onSuccess?: (data: unknown, query: Query<unknown, unknown, unknown>) => void\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n query: Query<unknown, unknown, unknown>,\n ) => void\n}\n\ninterface NotifyEventQueryAdded extends NotifyEvent {\n type: 'added'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryRemoved extends NotifyEvent {\n type: 'removed'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryUpdated extends NotifyEvent {\n type: 'updated'\n query: Query<any, any, any, any>\n action: Action<any, any>\n}\n\ninterface NotifyEventQueryObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverResultsUpdated extends NotifyEvent {\n type: 'observerResultsUpdated'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\nexport type QueryCacheNotifyEvent =\n | NotifyEventQueryAdded\n | NotifyEventQueryRemoved\n | NotifyEventQueryUpdated\n | NotifyEventQueryObserverAdded\n | NotifyEventQueryObserverRemoved\n | NotifyEventQueryObserverResultsUpdated\n | NotifyEventQueryObserverOptionsUpdated\n\ntype QueryCacheListener = (event: QueryCacheNotifyEvent) => void\n\nexport interface QueryStore {\n has: (queryHash: string) => boolean\n set: (queryHash: string, query: Query) => void\n get: (queryHash: string) => Query | undefined\n delete: (queryHash: string) => void\n values: () => IterableIterator<Query>\n}\n\n// CLASS\n\nexport class QueryCache extends Subscribable<QueryCacheListener> {\n #queries: QueryStore\n\n constructor(public config: QueryCacheConfig = {}) {\n super()\n this.#queries = new Map<string, Query>()\n }\n\n build<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n client: QueryClient,\n options: WithRequired<\n QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'queryKey'\n >,\n state?: QueryState<TData, TError>,\n ): Query<TQueryFnData, TError, TData, TQueryKey> {\n const queryKey = options.queryKey\n const queryHash =\n options.queryHash ?? hashQueryKeyByOptions(queryKey, options)\n let query = this.get<TQueryFnData, TError, TData, TQueryKey>(queryHash)\n\n if (!query) {\n query = new Query({\n client,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey),\n })\n this.add(query)\n }\n\n return query\n }\n\n add(query: Query<any, any, any, any>): void {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query)\n\n this.notify({\n type: 'added',\n query,\n })\n }\n }\n\n remove(query: Query<any, any, any, any>): void {\n const queryInMap = this.#queries.get(query.queryHash)\n\n if (queryInMap) {\n query.destroy()\n\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash)\n }\n\n this.notify({ type: 'removed', query })\n }\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query)\n })\n })\n }\n\n get<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryHash: string,\n ): Query<TQueryFnData, TError, TData, TQueryKey> | undefined {\n return this.#queries.get(queryHash) as\n | Query<TQueryFnData, TError, TData, TQueryKey>\n | undefined\n }\n\n getAll(): Array<Query> {\n return [...this.#queries.values()]\n }\n\n find<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData>(\n filters: WithRequired<QueryFilters, 'queryKey'>,\n ): Query<TQueryFnData, TError, TData> | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.getAll().find((query) =>\n matchQuery(defaultedFilters, query),\n ) as Query<TQueryFnData, TError, TData> | undefined\n }\n\n findAll(filters: QueryFilters<any> = {}): Array<Query> {\n const queries = this.getAll()\n return Object.keys(filters).length > 0\n ? queries.filter((query) => matchQuery(filters, query))\n : queries\n }\n\n notify(event: QueryCacheNotifyEvent): void {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n onFocus(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus()\n })\n })\n }\n\n onOnline(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline()\n })\n })\n }\n}\n","import { notifyManager } from './notifyManager'\nimport { Removable } from './removable'\nimport { createRetryer } from './retryer'\nimport type {\n DefaultError,\n MutationMeta,\n MutationOptions,\n MutationStatus,\n} from './types'\nimport type { MutationCache } from './mutationCache'\nimport type { MutationObserver } from './mutationObserver'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface MutationConfig<TData, TError, TVariables, TContext> {\n mutationId: number\n mutationCache: MutationCache\n options: MutationOptions<TData, TError, TVariables, TContext>\n state?: MutationState<TData, TError, TVariables, TContext>\n}\n\nexport interface MutationState<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TContext = unknown,\n> {\n context: TContext | undefined\n data: TData | undefined\n error: TError | null\n failureCount: number\n failureReason: TError | null\n isPaused: boolean\n status: MutationStatus\n variables: TVariables | undefined\n submittedAt: number\n}\n\ninterface FailedAction<TError> {\n type: 'failed'\n failureCount: number\n error: TError | null\n}\n\ninterface PendingAction<TVariables, TContext> {\n type: 'pending'\n isPaused: boolean\n variables?: TVariables\n context?: TContext\n}\n\ninterface SuccessAction<TData> {\n type: 'success'\n data: TData\n}\n\ninterface ErrorAction<TError> {\n type: 'error'\n error: TError\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\nexport type Action<TData, TError, TVariables, TContext> =\n | ContinueAction\n | ErrorAction<TError>\n | FailedAction<TError>\n | PendingAction<TVariables, TContext>\n | PauseAction\n | SuccessAction<TData>\n\n// CLASS\n\nexport class Mutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TContext = unknown,\n> extends Removable {\n state: MutationState<TData, TError, TVariables, TContext>\n options!: MutationOptions<TData, TError, TVariables, TContext>\n readonly mutationId: number\n\n #observers: Array<MutationObserver<TData, TError, TVariables, TContext>>\n #mutationCache: MutationCache\n #retryer?: Retryer<TData>\n\n constructor(config: MutationConfig<TData, TError, TVariables, TContext>) {\n super()\n\n this.mutationId = config.mutationId\n this.#mutationCache = config.mutationCache\n this.#observers = []\n this.state = config.state || getDefaultState()\n\n this.setOptions(config.options)\n this.scheduleGc()\n }\n\n setOptions(\n options: MutationOptions<TData, TError, TVariables, TContext>,\n ): void {\n this.options = options\n\n this.updateGcTime(this.options.gcTime)\n }\n\n get meta(): MutationMeta | undefined {\n return this.options.meta\n }\n\n addObserver(observer: MutationObserver<any, any, any, any>): void {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer)\n\n // Stop the mutation from being garbage collected\n this.clearGcTimeout()\n\n this.#mutationCache.notify({\n type: 'observerAdded',\n mutation: this,\n observer,\n })\n }\n }\n\n removeObserver(observer: MutationObserver<any, any, any, any>): void {\n this.#observers = this.#observers.filter((x) => x !== observer)\n\n this.scheduleGc()\n\n this.#mutationCache.notify({\n type: 'observerRemoved',\n mutation: this,\n observer,\n })\n }\n\n protected optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === 'pending') {\n this.scheduleGc()\n } else {\n this.#mutationCache.remove(this)\n }\n }\n }\n\n continue(): Promise<unknown> {\n return (\n this.#retryer?.continue() ??\n // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables!)\n )\n }\n\n async execute(variables: TVariables): Promise<TData> {\n const onContinue = () => {\n this.#dispatch({ type: 'continue' })\n }\n\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error('No mutationFn found'))\n }\n return this.options.mutationFn(variables)\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue,\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this),\n })\n\n const restored = this.state.status === 'pending'\n const isPaused = !this.#retryer.canStart()\n\n try {\n if (restored) {\n // Dispatch continue action to unpause restored mutation\n onContinue()\n } else {\n this.#dispatch({ type: 'pending', variables, isPaused })\n // Notify cache callback\n await this.#mutationCache.config.onMutate?.(\n variables,\n this as Mutation<unknown, unknown, unknown, unknown>,\n )\n const context = await this.options.onMutate?.(variables)\n if (context !== this.state.context) {\n this.#dispatch({\n type: 'pending',\n context,\n variables,\n isPaused,\n })\n }\n }\n const data = await this.#retryer.start()\n\n // Notify cache callback\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this as Mutation<unknown, unknown, unknown, unknown>,\n )\n\n await this.options.onSuccess?.(data, variables, this.state.context!)\n\n // Notify cache callback\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this as Mutation<unknown, unknown, unknown, unknown>,\n )\n\n await this.options.onSettled?.(data, null, variables, this.state.context)\n\n this.#dispatch({ type: 'success', data })\n return data\n } catch (error) {\n try {\n // Notify cache callback\n await this.#mutationCache.config.onError?.(\n error as any,\n variables,\n this.state.context,\n this as Mutation<unknown, unknown, unknown, unknown>,\n )\n\n await this.options.onError?.(\n error as TError,\n variables,\n this.state.context,\n )\n\n // Notify cache callback\n await this.#mutationCache.config.onSettled?.(\n undefined,\n error as any,\n this.state.variables,\n this.state.context,\n this as Mutation<unknown, unknown, unknown, unknown>,\n )\n\n await this.options.onSettled?.(\n undefined,\n error as TError,\n variables,\n this.state.context,\n )\n throw error\n } finally {\n this.#dispatch({ type: 'error', error: error as TError })\n }\n } finally {\n this.#mutationCache.runNext(this)\n }\n }\n\n #dispatch(action: Action<TData, TError, TVariables, TContext>): void {\n const reducer = (\n state: MutationState<TData, TError, TVariables, TContext>,\n ): MutationState<TData, TError, TVariables, TContext> => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n isPaused: true,\n }\n case 'continue':\n return {\n ...state,\n isPaused: false,\n }\n case 'pending':\n return {\n ...state,\n context: action.context,\n data: undefined,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: 'pending',\n variables: action.variables,\n submittedAt: Date.now(),\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: 'success',\n isPaused: false,\n }\n case 'error':\n return {\n ...state,\n data: undefined,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: 'error',\n }\n }\n }\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action)\n })\n this.#mutationCache.notify({\n mutation: this,\n type: 'updated',\n action,\n })\n })\n }\n}\n\nexport function getDefaultState<\n TData,\n TError,\n TVariables,\n TContext,\n>(): MutationState<TData, TError, TVariables, TContext> {\n return {\n context: undefined,\n data: undefined,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: 'idle',\n variables: undefined,\n submittedAt: 0,\n }\n}\n","import { notifyManager } from './notifyManager'\nimport { Mutation } from './mutation'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\nimport type { MutationObserver } from './mutationObserver'\nimport type { DefaultError, MutationOptions, NotifyEvent } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Action, MutationState } from './mutation'\nimport type { MutationFilters } from './utils'\n\n// TYPES\n\ninterface MutationCacheConfig {\n onError?: (\n error: DefaultError,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSuccess?: (\n data: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onMutate?: (\n variables: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n type: 'added'\n mutation: Mutation<any, any, any, any>\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n type: 'removed'\n mutation: Mutation<any, any, any, any>\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n mutation?: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any, any>\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n type: 'updated'\n mutation: Mutation<any, any, any, any>\n action: Action<any, any, any, any>\n}\n\nexport type MutationCacheNotifyEvent =\n | NotifyEventMutationAdded\n | NotifyEventMutationRemoved\n | NotifyEventMutationObserverAdded\n | NotifyEventMutationObserverRemoved\n | NotifyEventMutationObserverOptionsUpdated\n | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable<MutationCacheListener> {\n #mutations: Set<Mutation<any, any, any, any>>\n #scopes: Map<string, Array<Mutation<any, any, any, any>>>\n #mutationId: number\n\n constructor(public config: MutationCacheConfig = {}) {\n super()\n this.#mutations = new Set()\n this.#scopes = new Map()\n this.#mutationId = 0\n }\n\n build<TData, TError, TVariables, TContext>(\n client: QueryClient,\n options: MutationOptions<TData, TError, TVariables, TContext>,\n state?: MutationState<TData, TError, TVariables, TContext>,\n ): Mutation<TData, TError, TVariables, TContext> {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state,\n })\n\n this.add(mutation)\n\n return mutation\n }\n\n add(mutation: Mutation<any, any, any, any>): void {\n this.#mutations.add(mutation)\n const scope = scopeFor(mutation)\n if (typeof scope === 'string') {\n const scopedMutations = this.#scopes.get(scope)\n if (scopedMutations) {\n scopedMutations.push(mutation)\n } else {\n this.#scopes.set(scope, [mutation])\n }\n }\n this.notify({ type: 'added', mutation })\n }\n\n remove(mutation: Mutation<any, any, any, any>): void {\n if (this.#mutations.delete(mutation)) {\n const scope = scopeFor(mutation)\n if (typeof scope === 'string') {\n const scopedMutations = this.#scopes.get(scope)\n if (scopedMutations) {\n if (scopedMutations.length > 1) {\n const index = scopedMutations.indexOf(mutation)\n if (index !== -1) {\n scopedMutations.splice(index, 1)\n }\n } else if (scopedMutations[0] === mutation) {\n this.#scopes.delete(scope)\n }\n }\n }\n }\n\n // Currently we notify the removal even if the mutation was already removed.\n // Consider making this an error or not notifying of the removal depending on the desired semantics.\n this.notify({ type: 'removed', mutation })\n }\n\n canRun(mutation: Mutation<any, any, any, any>): boolean {\n const scope = scopeFor(mutation)\n if (typeof scope === 'string') {\n const mutationsWithSameScope = this.#scopes.get(scope)\n const firstPendingMutation = mutationsWithSameScope?.find(\n (m) => m.state.status === 'pending',\n )\n // we can run if there is no current pending mutation (start use-case)\n // or if WE are the first pending mutation (continue use-case)\n return !firstPendingMutation || firstPendingMutation === mutation\n } else {\n // For unscoped mutations there are never any pending mutations in front of the\n // current mutation\n return true\n }\n }\n\n runNext(mutation: Mutation<any, any, any, any>): Promise<unknown> {\n const scope = scopeFor(mutation)\n if (typeof scope === 'string') {\n const foundMutation = this.#scopes\n .get(scope)\n ?.find((m) => m !== mutation && m.state.isPaused)\n\n return foundMutation?.continue() ?? Promise.resolve()\n } else {\n return Promise.resolve()\n }\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.notify({ type: 'removed', mutation })\n })\n this.#mutations.clear()\n this.#scopes.clear()\n })\n }\n\n getAll(): Array<Mutation> {\n return Array.from(this.#mutations)\n }\n\n find<\n TData = unknown,\n TError = DefaultError,\n TVariables = any,\n TContext = unknown,\n >(\n filters: MutationFilters,\n ): Mutation<TData, TError, TVariables, TContext> | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.getAll().find((mutation) =>\n matchMutation(defaultedFilters, mutation),\n ) as Mutation<TData, TError, TVariables, TContext> | undefined\n }\n\n findAll(filters: MutationFilters = {}): Array<Mutation> {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation))\n }\n\n notify(event: MutationCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n resumePausedMutations(): Promise<unknown> {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused)\n\n return notifyManager.batch(() =>\n Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop)),\n ),\n )\n }\n}\n\nfunction scopeFor(mutation: Mutation<any, any, any, any>) {\n return mutation.options.scope?.id\n}\n","import { addToEnd, addToStart, ensureQueryFn } from './utils'\nimport type { QueryBehavior } from './query'\nimport type {\n InfiniteData,\n InfiniteQueryPageParamsOptions,\n OmitKeyof,\n QueryFunctionContext,\n QueryKey,\n} from './types'\n\nexport function infiniteQueryBehavior<TQueryFnData, TError, TData, TPageParam>(\n pages?: number,\n): QueryBehavior<TQueryFnData, TError, InfiniteData<TData, TPageParam>> {\n return {\n onFetch: (context, query) => {\n const options = context.options as InfiniteQueryPageParamsOptions<TData>\n const direction = context.fetchOptions?.meta?.fetchMore?.direction\n const oldPages = context.state.data?.pages || []\n const oldPageParams = context.state.data?.pageParams || []\n let result: InfiniteData<unknown> = { pages: [], pageParams: [] }\n let currentPage = 0\n\n const fetchFn = async () => {\n let cancelled = false\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true\n } else {\n context.signal.addEventListener('abort', () => {\n cancelled = true\n })\n }\n return context.signal\n },\n })\n }\n\n const queryFn = ensureQueryFn(context.options, context.fetchOptions)\n\n // Create function to fetch a page\n const fetchPage = async (\n data: InfiniteData<unknown>,\n param: unknown,\n previous?: boolean,\n ): Promise<InfiniteData<unknown>> => {\n if (cancelled) {\n return Promise.reject()\n }\n\n if (param == null && data.pages.length) {\n return Promise.resolve(data)\n }\n\n const queryFnContext: OmitKeyof<\n QueryFunctionContext<QueryKey, unknown>,\n 'signal'\n > = {\n client: context.client,\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? 'backward' : 'forward',\n meta: context.options.meta,\n }\n\n addSignalProperty(queryFnContext)\n\n const page = await queryFn(\n queryFnContext as QueryFunctionContext<QueryKey, unknown>,\n )\n\n const { maxPages } = context.options\n const addTo = previous ? addToStart : addToEnd\n\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages),\n }\n }\n\n // fetch next / previous page?\n if (direction && oldPages.length) {\n const previous = direction === 'backward'\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams,\n }\n const param = pageParamFn(options, oldData)\n\n result = await fetchPage(oldData, param, previous)\n } else {\n const remainingPages = pages ?? oldPages.length\n\n // Fetch all pages\n do {\n const param =\n currentPage === 0\n ? (oldPageParams[0] ?? options.initialPageParam)\n : getNextPageParam(options, result)\n if (currentPage > 0 && param == null) {\n break\n }\n result = await fetchPage(result, param)\n currentPage++\n } while (currentPage < remainingPages)\n }\n\n return result\n }\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn as any,\n {\n client: context.client,\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal,\n },\n query,\n )\n }\n } else {\n context.fetchFn = fetchFn\n }\n },\n }\n}\n\nfunction getNextPageParam(\n options: InfiniteQueryPageParamsOptions<any>,\n { pages, pageParams }: InfiniteData<unknown>,\n): unknown | undefined {\n const lastIndex = pages.length - 1\n return pages.length > 0\n ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams,\n )\n : undefined\n}\n\nfunction getPreviousPageParam(\n options: InfiniteQueryPageParamsOptions<any>,\n { pages, pageParams }: InfiniteData<unknown>,\n): unknown | undefined {\n return pages.length > 0\n ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams)\n : undefined\n}\n\n/**\n * Checks if there is a next page.\n */\nexport function hasNextPage(\n options: InfiniteQueryPageParamsOptions<any, any>,\n data?: InfiniteData<unknown>,\n): boolean {\n if (!data) return false\n return getNextPageParam(options, data) != null\n}\n\n/**\n * Checks if there is a previous page.\n */\nexport function hasPreviousPage(\n options: InfiniteQueryPageParamsOptions<any, any>,\n data?: InfiniteData<unknown>,\n): boolean {\n if (!data || !options.getPreviousPageParam) return false\n return getPreviousPageParam(options, data) != null\n}\n","import {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken,\n} from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport type {\n CancelOptions,\n DefaultError,\n DefaultOptions,\n DefaultedQueryObserverOptions,\n EnsureInfiniteQueryDataOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InferDataFromTag,\n InferErrorFromTag,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n NoInfer,\n OmitKeyof,\n QueryClientConfig,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n SetDataOptions,\n} from './types'\nimport type { QueryState } from './query'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: OmitKeyof<QueryOptions<any, any, any>, 'queryKey'>\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions<any, any, any, any>\n}\n\n// CLASS\n\nexport class QueryClient {\n #queryCache: QueryCache\n #mutationCache: MutationCache\n #defaultOptions: DefaultOptions\n #queryDefaults: Map<string, QueryDefaults>\n #mutationDefaults: Map<string, MutationDefaults>\n #mountCount: number\n #unsubscribeFocus?: () => void\n #unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.#queryCache = config.queryCache || new QueryCache()\n this.#mutationCache = config.mutationCache || new MutationCache()\n this.#defaultOptions = config.defaultOptions || {}\n this.#queryDefaults = new Map()\n this.#mutationDefaults = new Map()\n this.#mountCount = 0\n }\n\n mount(): void {\n this.#mountCount++\n if (this.#mountCount !== 1) return\n\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations()\n this.#queryCache.onFocus()\n }\n })\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations()\n this.#queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.#mountCount--\n if (this.#mountCount !== 0) return\n\n this.#unsubscribeFocus?.()\n this.#unsubscribeFocus = undefined\n\n this.#unsubscribeOnline?.()\n this.#unsubscribeOnline = undefined\n }\n\n isFetching<TQueryFilters extends QueryFilters<any> = QueryFilters>(\n filters?: TQueryFilters,\n ): number {\n return this.#queryCache.findAll({ ...filters, fetchStatus: 'fetching' })\n .length\n }\n\n isMutating<\n TMutationFilters extends MutationFilters<any, any> = MutationFilters,\n >(filters?: TMutationFilters): number {\n return this.#mutationCache.findAll({ ...filters, status: 'pending' }).length\n }\n\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(queryKey: TTaggedQueryKey): TInferredQueryFnData | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n\n return this.#queryCache.get(options.queryHash)?.state.data as\n | TInferredQueryFnData\n | undefined\n }\n\n ensureQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: EnsureQueryDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n const query = this.#queryCache.build(this, defaultedOptions)\n const cachedData = query.state.data\n\n if (cachedData === undefined) {\n return this.fetchQuery(options)\n }\n\n if (\n options.revalidateIfStale &&\n query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))\n ) {\n void this.prefetchQuery(defaultedOptions)\n }\n\n return Promise.resolve(cachedData)\n }\n\n getQueriesData<\n TQueryFnData = unknown,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(filters: TQueryFilters): Array<[QueryKey, TQueryFnData | undefined]> {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data as TQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<\n NoInfer<TInferredQueryFnData> | undefined,\n NoInfer<TInferredQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): NoInfer<TInferredQueryFnData> | undefined {\n const defaultedOptions = this.defaultQueryOptions<\n any,\n any,\n unknown,\n any,\n QueryKey\n >({ queryKey })\n\n const query = this.#queryCache.get<TInferredQueryFnData>(\n defaultedOptions.queryHash,\n )\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (data === undefined) {\n return undefined\n }\n\n return this.#queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData<\n TQueryFnData,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(\n filters: TQueryFilters,\n updater: Updater<\n NoInfer<TQueryFnData> | undefined,\n NoInfer<TQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): Array<[QueryKey, TQueryFnData | undefined]> {\n return notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData<TQueryFnData>(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState<\n TQueryFnData = unknown,\n TError = DefaultError,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n ): QueryState<TInferredQueryFnData, TInferredError> | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n return this.#queryCache.get<TInferredQueryFnData, TInferredError>(\n options.queryHash,\n )?.state\n }\n\n removeQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n ): void {\n const queryCache = this.#queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n options?: ResetOptions,\n ): Promise<void> {\n const queryCache = this.#queryCache\n\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(\n {\n type: 'active',\n ...filters,\n },\n options,\n )\n })\n }\n\n cancelQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n cancelOptions: CancelOptions = {},\n ): Promise<void> {\n const defaultedCancelOptions = { revert: true, ...cancelOptions }\n\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map((query) => query.cancel(defaultedCancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: InvalidateQueryFilters<TTaggedQueryKey>,\n options: InvalidateOptions = {},\n ): Promise<void> {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters?.refetchType === 'none') {\n return Promise.resolve()\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? 'active',\n },\n options,\n )\n })\n }\n\n refetchQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: RefetchQueryFilters<TTaggedQueryKey>,\n options: RefetchOptions = {},\n ): Promise<void> {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true,\n }\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled())\n .map((query) => {\n let promise = query.fetch(undefined, fetchOptions)\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop)\n }\n return query.state.fetchStatus === 'paused'\n ? Promise.resolve()\n : promise\n }),\n )\n\n return Promise.all(promises).then(noop)\n }\n\n fetchQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query),\n )\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n prefetchQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void> {\n return this.fetchQuery(options).then(noop).catch(noop)\n }\n\n fetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options.behavior = infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData,\n TPageParam\n >(options.pages)\n return this.fetchQuery(options as any)\n }\n\n prefetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<void> {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop)\n }\n\n ensureInfiniteQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: EnsureInfiniteQueryDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options.behavior = infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData,\n TPageParam\n >(options.pages)\n\n return this.ensureQueryData(options as any)\n }\n\n resumePausedMutations(): Promise<unknown> {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations()\n }\n return Promise.resolve()\n }\n\n getQueryCache(): QueryCache {\n return this.#queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.#mutationCache\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.#defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.#defaultOptions = options\n }\n\n setQueryDefaults<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n >(\n queryKey: QueryKey,\n options: Partial<\n OmitKeyof<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData>,\n 'queryKey'\n >\n >,\n ): void {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options,\n })\n }\n\n getQueryDefaults(\n queryKey: QueryKey,\n ): OmitKeyof<QueryObserverOptions<any, any, any, any, any>, 'queryKey'> {\n const defaults = [...this.#queryDefaults.values()]\n\n const result: OmitKeyof<\n QueryObserverOptions<any, any, any, any, any>,\n 'queryKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n return result\n }\n\n setMutationDefaults<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n >(\n mutationKey: MutationKey,\n options: OmitKeyof<\n MutationObserverOptions<TData, TError, TVariables, TContext>,\n 'mutationKey'\n >,\n ): void {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options,\n })\n }\n\n getMutationDefaults(\n mutationKey: MutationKey,\n ): OmitKeyof<MutationObserverOptions<any, any, any, any>, 'mutationKey'> {\n const defaults = [...this.#mutationDefaults.values()]\n\n const result: OmitKeyof<\n MutationObserverOptions<any, any, any, any>,\n 'mutationKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n\n return result\n }\n\n defaultQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options:\n | QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (defaultedOptions.refetchOnReconnect === undefined) {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (defaultedOptions.throwOnError === undefined) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense\n }\n\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = 'offlineFirst'\n }\n\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions<T extends MutationOptions<any, any, any, any>>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.#defaultOptions.mutations,\n ...(options?.mutationKey &&\n this.getMutationDefaults(options.mutationKey)),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.#queryCache.clear()\n this.#mutationCache.clear()\n }\n}\n","import { focusManager } from './focusManager'\nimport { notifyManager } from './notifyManager'\nimport { fetchState } from './query'\nimport { Subscribable } from './subscribable'\nimport { pendingThenable } from './thenable'\nimport {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n resolveEnabled,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale,\n} from './utils'\nimport type { FetchOptions, Query, QueryState } from './query'\nimport type { QueryClient } from './queryClient'\nimport type { PendingThenable, Thenable } from './thenable'\nimport type {\n DefaultError,\n DefaultedQueryObserverOptions,\n PlaceholderDataFunction,\n QueryKey,\n QueryObserverBaseResult,\n QueryObserverOptions,\n QueryObserverResult,\n QueryOptions,\n RefetchOptions,\n} from './types'\n\ntype QueryObserverListener<TData, TError> = (\n result: QueryObserverResult<TData, TError>,\n) => void\n\ninterface ObserverFetchOptions extends FetchOptions {\n throwOnError?: boolean\n}\n\nexport class QueryObserver<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Subscribable<QueryObserverListener<TData, TError>> {\n #client: QueryClient\n #currentQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> = undefined!\n #currentQueryInitialState: QueryState<TQueryData, TError> = undefined!\n #currentResult: QueryObserverResult<TData, TError> = undefined!\n #currentResultState?: QueryState<TQueryData, TError>\n #currentResultOptions?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n #currentThenable: Thenable<TData>\n #selectError: TError | null\n #selectFn?: (data: TQueryData) => TData\n #selectResult?: TData\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData?: Query<TQueryFnData, TError, TQueryData, TQueryKey>\n #staleTimeoutId?: ReturnType<typeof setTimeout>\n #refetchIntervalId?: ReturnType<typeof setInterval>\n #currentRefetchInterval?: number | false\n #trackedProps = new Set<keyof QueryObserverResult>()\n\n constructor(\n client: QueryClient,\n public options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super()\n\n this.#client = client\n this.#selectError = null\n this.#currentThenable = pendingThenable()\n if (!this.options.experimental_prefetchInRender) {\n this.#currentThenable.reject(\n new Error('experimental_prefetchInRender feature flag is not enabled'),\n )\n }\n\n this.bindMethods()\n this.setOptions(options)\n }\n\n protected bindMethods(): void {\n this.refetch = this.refetch.bind(this)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this)\n\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch()\n } else {\n this.updateResult()\n }\n\n this.#updateTimers()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.destroy()\n }\n }\n\n shouldFetchOnReconnect(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect,\n )\n }\n\n shouldFetchOnWindowFocus(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus,\n )\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#clearStaleTimeout()\n this.#clearRefetchInterval()\n this.#currentQuery.removeObserver(this)\n }\n\n setOptions(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): void {\n const prevOptions = this.options\n const prevQuery = this.#currentQuery\n\n this.options = this.#client.defaultQueryOptions(options)\n\n if (\n this.options.enabled !== undefined &&\n typeof this.options.enabled !== 'boolean' &&\n typeof this.options.enabled !== 'function' &&\n typeof resolveEnabled(this.options.enabled, this.#currentQuery) !==\n 'boolean'\n ) {\n throw new Error(\n 'Expected enabled to be a boolean or a callback that returns a boolean',\n )\n }\n\n this.#updateQuery()\n this.#currentQuery.setOptions(this.options)\n\n if (\n prevOptions._defaulted &&\n !shallowEqualObjects(this.options, prevOptions)\n ) {\n this.#client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.#currentQuery,\n observer: this,\n })\n }\n\n const mounted = this.hasListeners()\n\n // Fetch if there are subscribers\n if (\n mounted &&\n shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions,\n )\n ) {\n this.#executeFetch()\n }\n\n // Update result\n this.updateResult()\n\n // Update stale interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveEnabled(this.options.enabled, this.#currentQuery) !==\n resolveEnabled(prevOptions.enabled, this.#currentQuery) ||\n resolveStaleTime(this.options.staleTime, this.#currentQuery) !==\n resolveStaleTime(prevOptions.staleTime, this.#currentQuery))\n ) {\n this.#updateStaleTimeout()\n }\n\n const nextRefetchInterval = this.#computeRefetchInterval()\n\n // Update refetch interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveEnabled(this.options.enabled, this.#currentQuery) !==\n resolveEnabled(prevOptions.enabled, this.#currentQuery) ||\n nextRefetchInterval !== this.#currentRefetchInterval)\n ) {\n this.#updateRefetchInterval(nextRefetchInterval)\n }\n }\n\n getOptimisticResult(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const query = this.#client.getQueryCache().build(this.#client, options)\n\n const result = this.createResult(query, options)\n\n if (shouldAssignObserverCurrentProperties(this, result)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult every time\n // an observer reads an optimistic value.\n\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.#currentResult = result\n this.#currentResultOptions = this.options\n this.#currentResultState = this.#currentQuery.state\n }\n return result\n }\n\n getCurrentResult(): QueryObserverResult<TData, TError> {\n return this.#currentResult\n }\n\n trackResult(\n result: QueryObserverResult<TData, TError>,\n onPropTracked?: (key: keyof QueryObserverResult) => void,\n ): QueryObserverResult<TData, TError> {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key as keyof QueryObserverResult)\n onPropTracked?.(key as keyof QueryObserverResult)\n return Reflect.get(target, key)\n },\n })\n }\n\n trackProp(key: keyof QueryObserverResult) {\n this.#trackedProps.add(key)\n }\n\n getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey> {\n return this.#currentQuery\n }\n\n refetch({ ...options }: RefetchOptions = {}): Promise<\n QueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n })\n }\n\n fetchOptimistic(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): Promise<QueryObserverResult<TData, TError>> {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n\n const query = this.#client\n .getQueryCache()\n .build(this.#client, defaultedOptions)\n\n return query.fetch().then(() => this.createResult(query, defaultedOptions))\n }\n\n protected fetch(\n fetchOptions: ObserverFetchOptions,\n ): Promise<QueryObserverResult<TData, TError>> {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true,\n }).then(() => {\n this.updateResult()\n return this.#currentResult\n })\n }\n\n #executeFetch(\n fetchOptions?: Omit<ObserverFetchOptions, 'initialPromise'>,\n ): Promise<TQueryData | undefined> {\n // Make sure we reference the latest query as the current one might have been removed\n this.#updateQuery()\n\n // Fetch\n let promise: Promise<TQueryData | undefined> = this.#currentQuery.fetch(\n this.options as QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey>,\n fetchOptions,\n )\n\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n #updateStaleTimeout(): void {\n this.#clearStaleTimeout()\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery,\n )\n\n if (isServer || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n return\n }\n\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime)\n\n // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n const timeout = time + 1\n\n this.#staleTimeoutId = setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult()\n }\n }, timeout)\n }\n\n #computeRefetchInterval() {\n return (\n (typeof this.options.refetchInterval === 'function'\n ? this.options.refetchInterval(this.#currentQuery)\n : this.options.refetchInterval) ?? false\n )\n }\n\n #updateRefetchInterval(nextInterval: number | false): void {\n this.#clearRefetchInterval()\n\n this.#currentRefetchInterval = nextInterval\n\n if (\n isServer ||\n resolveEnabled(this.options.enabled, this.#currentQuery) === false ||\n !isValidTimeout(this.#currentRefetchInterval) ||\n this.#currentRefetchInterval === 0\n ) {\n return\n }\n\n this.#refetchIntervalId = setInterval(() => {\n if (\n this.options.refetchIntervalInBackground ||\n focusManager.isFocused()\n ) {\n this.#executeFetch()\n }\n }, this.#currentRefetchInterval)\n }\n\n #updateTimers(): void {\n this.#updateStaleTimeout()\n this.#updateRefetchInterval(this.#computeRefetchInterval())\n }\n\n #clearStaleTimeout(): void {\n if (this.#staleTimeoutId) {\n clearTimeout(this.#staleTimeoutId)\n this.#staleTimeoutId = undefined\n }\n }\n\n #clearRefetchInterval(): void {\n if (this.#refetchIntervalId) {\n clearInterval(this.#refetchIntervalId)\n this.#refetchIntervalId = undefined\n }\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const prevQuery = this.#currentQuery\n const prevOptions = this.options\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n const prevResultState = this.#currentResultState\n const prevResultOptions = this.#currentResultOptions\n const queryChange = query !== prevQuery\n const queryInitialState = queryChange\n ? query.state\n : this.#currentQueryInitialState\n\n const { state } = query\n let newState = { ...state }\n let isPlaceholderData = false\n let data: TData | undefined\n\n // Optimistically set result in fetching state if needed\n if (options._optimisticResults) {\n const mounted = this.hasListeners()\n\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options)\n\n const fetchOptionally =\n mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions)\n\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options),\n }\n }\n if (options._optimisticResults === 'isRestoring') {\n newState.fetchStatus = 'idle'\n }\n }\n\n let { error, errorUpdatedAt, status } = newState\n\n // Per default, use query data\n data = newState.data as unknown as TData\n let skipSelect = false\n\n // use placeholderData if needed\n if (\n options.placeholderData !== undefined &&\n data === undefined &&\n status === 'pending'\n ) {\n let placeholderData\n\n // Memoize placeholder data\n if (\n prevResult?.isPlaceholderData &&\n options.placeholderData === prevResultOptions?.placeholderData\n ) {\n placeholderData = prevResult.data\n // we have to skip select when reading this memoization\n // because prevResult.data is already \"selected\"\n skipSelect = true\n } else {\n // compute placeholderData\n placeholderData =\n typeof options.placeholderData === 'function'\n ? (\n options.placeholderData as unknown as PlaceholderDataFunction<TQueryData>\n )(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData as any,\n )\n : options.placeholderData\n }\n\n if (placeholderData !== undefined) {\n status = 'success'\n data = replaceData(\n prevResult?.data,\n placeholderData as unknown,\n options,\n ) as TData\n isPlaceholderData = true\n }\n }\n\n // Select data if needed\n // this also runs placeholderData through the select function\n if (options.select && data !== undefined && !skipSelect) {\n // Memoize select result\n if (\n prevResult &&\n data === prevResultState?.data &&\n options.select === this.#selectFn\n ) {\n data = this.#selectResult\n } else {\n try {\n this.#selectFn = options.select\n data = options.select(data as any)\n data = replaceData(prevResult?.data, data, options)\n this.#selectResult = data\n this.#selectError = null\n } catch (selectError) {\n this.#selectError = selectError as TError\n }\n }\n }\n\n if (this.#selectError) {\n error = this.#selectError as any\n data = this.#selectResult\n errorUpdatedAt = Date.now()\n status = 'error'\n }\n\n const isFetching = newState.fetchStatus === 'fetching'\n const isPending = status === 'pending'\n const isError = status === 'error'\n\n const isLoading = isPending && isFetching\n const hasData = data !== undefined\n\n const result: QueryObserverBaseResult<TData, TError> = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: newState.dataUpdateCount > 0 || newState.errorUpdateCount > 0,\n isFetchedAfterMount:\n newState.dataUpdateCount > queryInitialState.dataUpdateCount ||\n newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === 'paused',\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n promise: this.#currentThenable,\n }\n\n const nextResult = result as QueryObserverResult<TData, TError>\n\n if (this.options.experimental_prefetchInRender) {\n const finalizeThenableIfPossible = (thenable: PendingThenable<TData>) => {\n if (nextResult.status === 'error') {\n thenable.reject(nextResult.error)\n } else if (nextResult.data !== undefined) {\n thenable.resolve(nextResult.data)\n }\n }\n\n /**\n * Create a new thenable and result promise when the results have changed\n */\n const recreateThenable = () => {\n const pending =\n (this.#currentThenable =\n nextResult.promise =\n pendingThenable())\n\n finalizeThenableIfPossible(pending)\n }\n\n const prevThenable = this.#currentThenable\n switch (prevThenable.status) {\n case 'pending':\n // Finalize the previous thenable if it was pending\n // and we are still observing the same query\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable)\n }\n break\n case 'fulfilled':\n if (\n nextResult.status === 'error' ||\n nextResult.data !== prevThenable.value\n ) {\n recreateThenable()\n }\n break\n case 'rejected':\n if (\n nextResult.status !== 'error' ||\n nextResult.error !== prevThenable.reason\n ) {\n recreateThenable()\n }\n break\n }\n }\n\n return nextResult\n }\n\n updateResult(): void {\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n\n const nextResult = this.createResult(this.#currentQuery, this.options)\n\n this.#currentResultState = this.#currentQuery.state\n this.#currentResultOptions = this.options\n\n if (this.#currentResultState.data !== undefined) {\n this.#lastQueryWithDefinedData = this.#currentQuery\n }\n\n // Only notify and update result if something has changed\n if (shallowEqualObjects(nextResult, prevResult)) {\n return\n }\n\n this.#currentResult = nextResult\n\n const shouldNotifyListeners = (): boolean => {\n if (!prevResult) {\n return true\n }\n\n const { notifyOnChangeProps } = this.options\n const notifyOnChangePropsValue =\n typeof notifyOnChangeProps === 'function'\n ? notifyOnChangeProps()\n : notifyOnChangeProps\n\n if (\n notifyOnChangePropsValue === 'all' ||\n (!notifyOnChangePropsValue && !this.#trackedProps.size)\n ) {\n return true\n }\n\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps,\n )\n\n if (this.options.throwOnError) {\n includedProps.add('error')\n }\n\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key as keyof QueryObserverResult\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey]\n\n return changed && includedProps.has(typedKey)\n })\n }\n\n this.#notify({ listeners: shouldNotifyListeners() })\n }\n\n #updateQuery(): void {\n const query = this.#client.getQueryCache().build(this.#client, this.options)\n\n if (query === this.#currentQuery) {\n return\n }\n\n const prevQuery = this.#currentQuery as\n | Query<TQueryFnData, TError, TQueryData, TQueryKey>\n | undefined\n this.#currentQuery = query\n this.#currentQueryInitialState = query.state\n\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this)\n query.addObserver(this)\n }\n }\n\n onQueryUpdate(): void {\n this.updateResult()\n\n if (this.hasListeners()) {\n this.#updateTimers()\n }\n }\n\n #notify(notifyOptions: { listeners: boolean }): void {\n notifyManager.batch(() => {\n // First, trigger the listeners\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n }\n\n // Then the cache listeners\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: 'observerResultsUpdated',\n })\n })\n }\n}\n\nfunction shouldLoadOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any>,\n): boolean {\n return (\n resolveEnabled(options.enabled, query) !== false &&\n query.state.data === undefined &&\n !(query.state.status === 'error' && options.retryOnMount === false)\n )\n}\n\nfunction shouldFetchOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n shouldLoadOnMount(query, options) ||\n (query.state.data !== undefined &&\n shouldFetchOn(query, options, options.refetchOnMount))\n )\n}\n\nfunction shouldFetchOn(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n field: (typeof options)['refetchOnMount'] &\n (typeof options)['refetchOnWindowFocus'] &\n (typeof options)['refetchOnReconnect'],\n) {\n if (resolveEnabled(options.enabled, query) !== false) {\n const value = typeof field === 'function' ? field(query) : field\n\n return value === 'always' || (value !== false && isStale(query, options))\n }\n return false\n}\n\nfunction shouldFetchOptionally(\n query: Query<any, any, any, any>,\n prevQuery: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n prevOptions: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n (query !== prevQuery ||\n resolveEnabled(prevOptions.enabled, query) === false) &&\n (!options.suspense || query.state.status !== 'error') &&\n isStale(query, options)\n )\n}\n\nfunction isStale(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n resolveEnabled(options.enabled, query) !== false &&\n query.isStaleByTime(resolveStaleTime(options.staleTime, query))\n )\n}\n\n// this function would decide if we will update the observer's 'current'\n// properties after an optimistic reading via getOptimisticResult\nfunction shouldAssignObserverCurrentProperties<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n optimisticResult: QueryObserverResult<TData, TError>,\n) {\n // if the newly created result isn't what the observer is holding as current,\n // then we'll need to update the properties as well\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true\n }\n\n // basically, just keep previous properties if nothing changed\n return false\n}\n","import { QueryObserver } from './queryObserver'\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior,\n} from './infiniteQueryBehavior'\nimport type { Subscribable } from './subscribable'\nimport type {\n DefaultError,\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverBaseResult,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Query } from './query'\n\ntype InfiniteQueryObserverListener<TData, TError> = (\n result: InfiniteQueryObserverResult<TData, TError>,\n) => void\n\nexport class InfiniteQueryObserver<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> extends QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryData, TPageParam>,\n TQueryKey\n> {\n // Type override\n subscribe!: Subscribable<\n InfiniteQueryObserverListener<TData, TError>\n >['subscribe']\n\n // Type override\n getCurrentResult!: ReplaceReturnType<\n QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryData, TPageParam>,\n TQueryKey\n >['getCurrentResult'],\n InfiniteQueryObserverResult<TData, TError>\n >\n\n // Type override\n protected fetch!: ReplaceReturnType<\n QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryData, TPageParam>,\n TQueryKey\n >['fetch'],\n Promise<InfiniteQueryObserverResult<TData, TError>>\n >\n\n constructor(\n client: QueryClient,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ) {\n super(client, options)\n }\n\n protected bindMethods(): void {\n super.bindMethods()\n this.fetchNextPage = this.fetchNextPage.bind(this)\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this)\n }\n\n setOptions(\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ): void {\n super.setOptions({\n ...options,\n behavior: infiniteQueryBehavior(),\n })\n }\n\n getOptimisticResult(\n options: DefaultedInfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n options.behavior = infiniteQueryBehavior()\n return super.getOptimisticResult(options) as InfiniteQueryObserverResult<\n TData,\n TError\n >\n }\n\n fetchNextPage(\n options?: FetchNextPageOptions,\n ): Promise<InfiniteQueryObserverResult<TData, TError>> {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'forward' },\n },\n })\n }\n\n fetchPreviousPage(\n options?: FetchPreviousPageOptions,\n ): Promise<InfiniteQueryObserverResult<TData, TError>> {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'backward' },\n },\n })\n }\n\n protected createResult(\n query: Query<\n TQueryFnData,\n TError,\n InfiniteData<TQueryData, TPageParam>,\n TQueryKey\n >,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n const { state } = query\n const parentResult = super.createResult(query, options)\n\n const { isFetching, isRefetching, isError, isRefetchError } = parentResult\n const fetchDirection = state.fetchMeta?.fetchMore?.direction\n\n const isFetchNextPageError = isError && fetchDirection === 'forward'\n const isFetchingNextPage = isFetching && fetchDirection === 'forward'\n\n const isFetchPreviousPageError = isError && fetchDirection === 'backward'\n const isFetchingPreviousPage = isFetching && fetchDirection === 'backward'\n\n const result: InfiniteQueryObserverBaseResult<TData, TError> = {\n ...parentResult,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data),\n hasPreviousPage: hasPreviousPage(options, state.data),\n isFetchNextPageError,\n isFetchingNextPage,\n isFetchPreviousPageError,\n isFetchingPreviousPage,\n isRefetchError:\n isRefetchError && !isFetchNextPageError && !isFetchPreviousPageError,\n isRefetching:\n isRefetching && !isFetchingNextPage && !isFetchingPreviousPage,\n }\n\n return result as InfiniteQueryObserverResult<TData, TError>\n }\n}\n\ntype ReplaceReturnType<\n TFunction extends (...args: Array<any>) => unknown,\n TReturn,\n> = (...args: Parameters<TFunction>) => TReturn\n","import { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport { hashKey, shallowEqualObjects } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from './types'\nimport type { Action, Mutation } from './mutation'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options as\n | MutationObserverOptions<TData, TError, TVariables, TContext>\n | undefined\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n\n if (\n prevOptions?.mutationKey &&\n this.options.mutationKey &&\n hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)\n ) {\n this.reset()\n } else if (this.#currentMutation?.state.status === 'pending') {\n this.#currentMutation.setOptions(this.options)\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n // reset needs to remove the observer from the mutation because there is no way to \"get it back\"\n // another mutate call will yield a new mutation!\n this.#currentMutation?.removeObserver(this)\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables!\n const context = this.#currentResult.context\n\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(action.data, variables, context!)\n this.#mutateOptions.onSettled?.(action.data, null, variables, context)\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(action.error, variables, context)\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n variables,\n context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n","'use client'\nimport * as React from 'react'\n\nimport type { QueryClient } from '@tanstack/query-core'\n\nexport const QueryClientContext = React.createContext<QueryClient | undefined>(\n undefined,\n)\n\nexport const useQueryClient = (queryClient?: QueryClient) => {\n const client = React.useContext(QueryClientContext)\n\n if (queryClient) {\n return queryClient\n }\n\n if (!client) {\n throw new Error('No QueryClient set, use QueryClientProvider to set one')\n }\n\n return client\n}\n\nexport type QueryClientProviderProps = {\n client: QueryClient\n children?: React.ReactNode\n}\n\nexport const QueryClientProvider = ({\n client,\n children,\n}: QueryClientProviderProps): React.JSX.Element => {\n React.useEffect(() => {\n client.mount()\n return () => {\n client.unmount()\n }\n }, [client])\n\n return (\n <QueryClientContext.Provider value={client}>\n {children}\n </QueryClientContext.Provider>\n )\n}\n","'use client'\nimport * as React from 'react'\n\nconst IsRestoringContext = React.createContext(false)\n\nexport const useIsRestoring = () => React.useContext(IsRestoringContext)\nexport const IsRestoringProvider = IsRestoringContext.Provider\n","'use client'\nimport * as React from 'react'\n\n// CONTEXT\nexport type QueryErrorResetFunction = () => void\nexport type QueryErrorIsResetFunction = () => boolean\nexport type QueryErrorClearResetFunction = () => void\n\nexport interface QueryErrorResetBoundaryValue {\n clearReset: QueryErrorClearResetFunction\n isReset: QueryErrorIsResetFunction\n reset: QueryErrorResetFunction\n}\n\nfunction createValue(): QueryErrorResetBoundaryValue {\n let isReset = false\n return {\n clearReset: () => {\n isReset = false\n },\n reset: () => {\n isReset = true\n },\n isReset: () => {\n return isReset\n },\n }\n}\n\nconst QueryErrorResetBoundaryContext = React.createContext(createValue())\n\n// HOOK\n\nexport const useQueryErrorResetBoundary = () =>\n React.useContext(QueryErrorResetBoundaryContext)\n\n// COMPONENT\n\nexport type QueryErrorResetBoundaryFunction = (\n value: QueryErrorResetBoundaryValue,\n) => React.ReactNode\n\nexport interface QueryErrorResetBoundaryProps {\n children: QueryErrorResetBoundaryFunction | React.ReactNode\n}\n\nexport const QueryErrorResetBoundary = ({\n children,\n}: QueryErrorResetBoundaryProps) => {\n const [value] = React.useState(() => createValue())\n return (\n <QueryErrorResetBoundaryContext.Provider value={value}>\n {typeof children === 'function' ? children(value) : children}\n </QueryErrorResetBoundaryContext.Provider>\n )\n}\n","'use client'\nimport * as React from 'react'\nimport { shouldThrowError } from '@tanstack/query-core'\nimport type {\n DefaultedQueryObserverOptions,\n Query,\n QueryKey,\n QueryObserverResult,\n ThrowOnError,\n} from '@tanstack/query-core'\nimport type { QueryErrorResetBoundaryValue } from './QueryErrorResetBoundary'\n\nexport const ensurePreventErrorBoundaryRetry = <\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) => {\n if (\n options.suspense ||\n options.throwOnError ||\n options.experimental_prefetchInRender\n ) {\n // Prevent retrying failed query if the error boundary has not been reset yet\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false\n }\n }\n}\n\nexport const useClearResetErrorBoundary = (\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset()\n }, [errorResetBoundary])\n}\n\nexport const getHasError = <\n TData,\n TError,\n TQueryFnData,\n TQueryData,\n TQueryKey extends QueryKey,\n>({\n result,\n errorResetBoundary,\n throwOnError,\n query,\n suspense,\n}: {\n result: QueryObserverResult<TData, TError>\n errorResetBoundary: QueryErrorResetBoundaryValue\n throwOnError: ThrowOnError<TQueryFnData, TError, TQueryData, TQueryKey>\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey> | undefined\n suspense: boolean | undefined\n}) => {\n return (\n result.isError &&\n !errorResetBoundary.isReset() &&\n !result.isFetching &&\n query &&\n ((suspense && result.data === undefined) ||\n shouldThrowError(throwOnError, [result.error, query]))\n )\n}\n","import type {\n DefaultError,\n DefaultedQueryObserverOptions,\n Query,\n QueryKey,\n QueryObserver,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { QueryErrorResetBoundaryValue } from './QueryErrorResetBoundary'\n\nexport const defaultThrowOnError = <\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n _error: TError,\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n) => query.state.data === undefined\n\nexport const ensureSuspenseTimers = (\n defaultedOptions: DefaultedQueryObserverOptions<any, any, any, any, any>,\n) => {\n const originalStaleTime = defaultedOptions.staleTime\n\n if (defaultedOptions.suspense) {\n // Handle staleTime to ensure minimum 1000ms in Suspense mode\n // This prevents unnecessary refetching when components remount after suspending\n defaultedOptions.staleTime =\n typeof originalStaleTime === 'function'\n ? (...args) => Math.max(originalStaleTime(...args), 1000)\n : Math.max(originalStaleTime ?? 1000, 1000)\n\n if (typeof defaultedOptions.gcTime === 'number') {\n defaultedOptions.gcTime = Math.max(defaultedOptions.gcTime, 1000)\n }\n }\n}\n\nexport const willFetch = (\n result: QueryObserverResult<any, any>,\n isRestoring: boolean,\n) => result.isLoading && result.isFetching && !isRestoring\n\nexport const shouldSuspend = (\n defaultedOptions:\n | DefaultedQueryObserverOptions<any, any, any, any, any>\n | undefined,\n result: QueryObserverResult<any, any>,\n) => defaultedOptions?.suspense && result.isPending\n\nexport const fetchOptimistic = <\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n defaultedOptions: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) =>\n observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset()\n })\n","'use client'\nimport * as React from 'react'\n\nimport { isServer, noop, notifyManager } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary'\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary,\n} from './errorBoundaryUtils'\nimport { useIsRestoring } from './IsRestoringProvider'\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch,\n} from './suspense'\nimport type {\n QueryClient,\n QueryKey,\n QueryObserver,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { UseBaseQueryOptions } from './types'\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n options: UseBaseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n Observer: typeof QueryObserver,\n queryClient?: QueryClient,\n): QueryObserverResult<TData, TError> {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof options !== 'object' || Array.isArray(options)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object',\n )\n }\n }\n\n const client = useQueryClient(queryClient)\n const isRestoring = useIsRestoring()\n const errorResetBoundary = useQueryErrorResetBoundary()\n const defaultedOptions = client.defaultQueryOptions(options)\n\n ;(client.getDefaultOptions().queries as any)?._experimental_beforeQuery?.(\n defaultedOptions,\n )\n\n if (process.env.NODE_ENV !== 'production') {\n if (!defaultedOptions.queryFn) {\n console.error(\n `[${defaultedOptions.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`,\n )\n }\n }\n\n // Make sure results are optimistically set in fetching state before subscribing or updating options\n defaultedOptions._optimisticResults = isRestoring\n ? 'isRestoring'\n : 'optimistic'\n\n ensureSuspenseTimers(defaultedOptions)\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary)\n\n useClearResetErrorBoundary(errorResetBoundary)\n\n // this needs to be invoked before creating the Observer because that can create a cache entry\n const isNewCacheEntry = !client\n .getQueryCache()\n .get(defaultedOptions.queryHash)\n\n const [observer] = React.useState(\n () =>\n new Observer<TQueryFnData, TError, TData, TQueryData, TQueryKey>(\n client,\n defaultedOptions,\n ),\n )\n\n // note: this must be called before useSyncExternalStore\n const result = observer.getOptimisticResult(defaultedOptions)\n\n const shouldSubscribe = !isRestoring && options.subscribed !== false\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n const unsubscribe = shouldSubscribe\n ? observer.subscribe(notifyManager.batchCalls(onStoreChange))\n : noop\n\n // Update result to make sure we did not miss any query updates\n // between creating the observer and subscribing to it.\n observer.updateResult()\n\n return unsubscribe\n },\n [observer, shouldSubscribe],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n React.useEffect(() => {\n observer.setOptions(defaultedOptions)\n }, [defaultedOptions, observer])\n\n // Handle suspense\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n }\n\n // Handle error boundary\n if (\n getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query: client\n .getQueryCache()\n .get<\n TQueryFnData,\n TError,\n TQueryData,\n TQueryKey\n >(defaultedOptions.queryHash),\n suspense: defaultedOptions.suspense,\n })\n ) {\n throw result.error\n }\n\n ;(client.getDefaultOptions().queries as any)?._experimental_afterQuery?.(\n defaultedOptions,\n result,\n )\n\n if (\n defaultedOptions.experimental_prefetchInRender &&\n !isServer &&\n willFetch(result, isRestoring)\n ) {\n const promise = isNewCacheEntry\n ? // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted\n fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n : // subscribe to the \"cache promise\" so that we can finalize the currentThenable once data comes in\n client.getQueryCache().get(defaultedOptions.queryHash)?.promise\n\n promise?.catch(noop).finally(() => {\n // `.updateResult()` will trigger `.#currentThenable` to finalize\n observer.updateResult()\n })\n }\n\n // Handle result property usage tracking\n return !defaultedOptions.notifyOnChangeProps\n ? observer.trackResult(result)\n : result\n}\n","'use client'\nimport * as React from 'react'\nimport {\n MutationObserver,\n noop,\n notifyManager,\n shouldThrowError,\n} from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport type {\n UseMutateFunction,\n UseMutationOptions,\n UseMutationResult,\n} from './types'\nimport type { DefaultError, QueryClient } from '@tanstack/query-core'\n\n// HOOK\n\nexport function useMutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n options: UseMutationOptions<TData, TError, TVariables, TContext>,\n queryClient?: QueryClient,\n): UseMutationResult<TData, TError, TVariables, TContext> {\n const client = useQueryClient(queryClient)\n\n const [observer] = React.useState(\n () =>\n new MutationObserver<TData, TError, TVariables, TContext>(\n client,\n options,\n ),\n )\n\n React.useEffect(() => {\n observer.setOptions(options)\n }, [observer, options])\n\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n const mutate = React.useCallback<\n UseMutateFunction<TData, TError, TVariables, TContext>\n >(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop)\n },\n [observer],\n )\n\n if (\n result.error &&\n shouldThrowError(observer.options.throwOnError, [result.error])\n ) {\n throw result.error\n }\n\n return { ...result, mutate, mutateAsync: result.mutate }\n}\n","'use client'\nimport { InfiniteQueryObserver } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport type {\n DefaultError,\n InfiniteData,\n QueryClient,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\nimport type {\n DefinedUseInfiniteQueryResult,\n UseInfiniteQueryOptions,\n UseInfiniteQueryResult,\n} from './types'\nimport type {\n DefinedInitialDataInfiniteOptions,\n UndefinedInitialDataInfiniteOptions,\n} from './infiniteQueryOptions'\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: DefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): DefinedUseInfiniteQueryResult<TData, TError>\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UndefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryResult<TData, TError>\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryResult<TData, TError>\n\nexport function useInfiniteQuery(\n options: UseInfiniteQueryOptions,\n queryClient?: QueryClient,\n) {\n return useBaseQuery(\n options,\n InfiniteQueryObserver as typeof QueryObserver,\n queryClient,\n )\n}\n","import { gql } from \"graphql-request\";\r\n\r\nexport const GET_WORKSPACES = gql`\r\n query GetWorkspaces($options: GetWorkspaceInput) {\r\n workspaces(options: $options) {\r\n meta {\r\n total\r\n currentPage\r\n perPage\r\n lastPage\r\n }\r\n data {\r\n id\r\n name\r\n description\r\n userId\r\n icon\r\n isActive\r\n createdAt\r\n updatedAt\r\n layouts {\r\n id\r\n name\r\n workspaceId\r\n config\r\n createdAt\r\n updatedAt\r\n }\r\n user {\r\n id\r\n name\r\n email\r\n avatar\r\n phone\r\n slug\r\n createdAt\r\n updatedAt\r\n }\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const CREATE_WORKSPACES_MUTATION = gql`\r\n mutation createWorkspace($createWorkspaceInput: CreateWorkspaceInput!) {\r\n createWorkspace(createWorkspaceInput: $createWorkspaceInput) {\r\n id\r\n name\r\n description\r\n userId\r\n icon\r\n isActive\r\n createdAt\r\n updatedAt\r\n layouts {\r\n id\r\n name\r\n workspaceId\r\n config\r\n createdAt\r\n updatedAt\r\n }\r\n user {\r\n id\r\n name\r\n email\r\n avatar\r\n phone\r\n slug\r\n createdAt\r\n updatedAt\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const DELETE_WORKSPACE_MUTATION = gql`\r\n mutation removeWorkspace($id: String!) {\r\n removeWorkspace(id: $id) {\r\n success\r\n }\r\n }\r\n`;\r\n\r\nexport const UPDATE_WORKSPACE_MUTATION = gql`\r\n mutation updateWorkspace($updateWorkspaceInput: UpdateWorkspaceInput!) {\r\n updateWorkspace(updateWorkspaceInput: $updateWorkspaceInput) {\r\n id\r\n name\r\n description\r\n userId\r\n icon\r\n isActive\r\n createdAt\r\n updatedAt\r\n layouts {\r\n id\r\n name\r\n workspaceId\r\n config\r\n createdAt\r\n updatedAt\r\n }\r\n user {\r\n id\r\n name\r\n email\r\n avatar\r\n phone\r\n slug\r\n createdAt\r\n updatedAt\r\n }\r\n }\r\n }\r\n`;\r\n","import { QueryClient } from \"@tanstack/react-query\";\r\n\r\nexport const queryClient = new QueryClient({\r\n defaultOptions: {\r\n queries: {\r\n retry: 2,\r\n staleTime: 0,\r\n refetchOnMount: false,\r\n refetchOnWindowFocus: false,\r\n },\r\n },\r\n});\r\n","import { useMutation } from \"@tanstack/react-query\";\r\nimport { request } from \"graphql-request\";\r\nimport { DELETE_WORKSPACE_MUTATION } from \"./graphql\";\r\nimport { WorkspaceProps } from \"../../../../types/workspace.types\";\r\nimport { queryClient } from \"../../../../client/queryClient\";\r\n\r\ntype DeleteWorkspaceResponse = {\r\n deleteWorkspace: {\r\n success: boolean;\r\n };\r\n};\r\n\r\nconst mutationFn = async ({\r\n id,\r\n apiUrl,\r\n accessToken,\r\n}: {\r\n id: string;\r\n apiUrl?: string;\r\n accessToken?: string;\r\n}) => {\r\n const response = await request<DeleteWorkspaceResponse>(\r\n apiUrl as string,\r\n DELETE_WORKSPACE_MUTATION,\r\n { id },\r\n {\r\n \"x-access-token\": accessToken as string,\r\n }\r\n );\r\n\r\n return response.deleteWorkspace;\r\n};\r\n\r\nexport function useApiDeleteWorkspace() {\r\n const { mutate: deleteWorkspace, isPending: isDeletingWorkspace } =\r\n useMutation({\r\n mutationKey: [\"delete-workspace\"],\r\n mutationFn,\r\n onMutate: async ({ id }) => {\r\n await queryClient.cancelQueries({ queryKey: [\"workspaces\"] });\r\n\r\n const previousData = queryClient.getQueryData<any>([\"workspaces\"]);\r\n\r\n queryClient.setQueryData<any>([\"workspaces\"], (oldData: any) => {\r\n if (!oldData) return oldData;\r\n\r\n return {\r\n ...oldData,\r\n pages: oldData.pages.map((page: any) => ({\r\n ...page,\r\n data: page.data.filter(\r\n (workspace: WorkspaceProps) => workspace.id !== id\r\n ),\r\n meta: {\r\n ...page.meta,\r\n total: page.meta.total - 1,\r\n },\r\n })),\r\n };\r\n });\r\n\r\n return { previousData };\r\n },\r\n onSettled: () => {\r\n queryClient.invalidateQueries({ queryKey: [\"workspaces\"] });\r\n },\r\n });\r\n\r\n return {\r\n deleteWorkspace,\r\n isDeletingWorkspace,\r\n };\r\n}\r\n","import React from \"react\";\r\nimport { toast } from \"react-toastify\";\r\n\r\ntype ToastProps = {\r\n title: string;\r\n message: string;\r\n};\r\n\r\ntype ConditionalToastProps = ToastProps & {\r\n open?: boolean;\r\n};\r\n\r\nconst TOAST_ID = \"conditional-info-toast\"; // unique ID for control\r\n\r\nexport function useToast() {\r\n const errorToast = ({ title, message }: ToastProps) =>\r\n toast.error(\r\n <ToastContainer type=\"error\" message={message} title={title} />\r\n );\r\n\r\n const successToast = ({ title, message }: ToastProps) =>\r\n toast.success(\r\n <ToastContainer type=\"success\" message={message} title={title} />\r\n );\r\n\r\n const infoToast = ({ title, message }: ToastProps) =>\r\n toast.info(<ToastContainer type=\"info\" message={message} title={title} />);\r\n\r\n const warnToast = ({ title, message }: ToastProps) =>\r\n toast.warn(<ToastContainer type=\"warn\" message={message} title={title} />);\r\n\r\n const conditionalInfoToast = ({\r\n title,\r\n message,\r\n open = true,\r\n }: ConditionalToastProps) => {\r\n if (open) {\r\n if (!toast.isActive(TOAST_ID)) {\r\n toast.info(\r\n <ToastContainer type=\"info\" message={message} title={title} />,\r\n {\r\n toastId: TOAST_ID,\r\n autoClose: false,\r\n closeOnClick: false,\r\n draggable: false,\r\n }\r\n );\r\n }\r\n } else {\r\n toast.dismiss(TOAST_ID);\r\n }\r\n };\r\n\r\n return {\r\n errorToast,\r\n successToast,\r\n warnToast,\r\n infoToast,\r\n conditionalInfoToast,\r\n };\r\n}\r\n\r\nconst ToastContainer = ({\r\n title,\r\n message,\r\n type,\r\n}: ToastProps & { type: \"info\" | \"error\" | \"success\" | \"warn\" }) => (\r\n <div className=\"w-full flex flex-col gap-1\">\r\n <h6\r\n className={`text-base font-semibold manrope-font ${\r\n type == \"error\"\r\n ? \"text-red-shade6\"\r\n : type == \"success\"\r\n ? \"text-green-shade6\"\r\n : type == \"info\"\r\n ? \"text-blue-shade1\"\r\n : \"text-orange-shade6\"\r\n }`}\r\n >\r\n {title}\r\n </h6>\r\n\r\n {message && (\r\n <span className=\"text-sm manrope-font text-dark-1\">{message}</span>\r\n )}\r\n </div>\r\n);\r\n","import * as React from \"react\";\r\n\r\nexport const AlertIllustration = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"70\"\r\n height=\"70\"\r\n fill=\"none\"\r\n viewBox=\"0 0 70 70\"\r\n >\r\n <path\r\n fill=\"#E03137\"\r\n d=\"M35 6.563C19.32 6.563 6.563 19.32 6.563 35S19.32 63.438 35 63.438 63.438 50.68 63.438 35 50.68 6.563 35 6.563M37.734 50.3h-5.468v-5.469h5.468zm-.547-8.737h-4.374l-.82-21.876h6.015z\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import { WorkspaceProps } from \"../../../../../../../types/workspace.types\";\r\nimport { create } from \"zustand\";\r\n\r\ntype AddWorkspaceStore = {\r\n step: \"form\" | \"loading\" | \"success\" | \"error\";\r\n setStep: (step: \"form\" | \"loading\" | \"success\" | \"error\") => void;\r\n workspace: WorkspaceProps | undefined;\r\n setWorkspace: (workspace?: WorkspaceProps) => void;\r\n};\r\n\r\nexport const useAddWorkspaceStore = create<AddWorkspaceStore>((set) => ({\r\n step: \"form\",\r\n setStep: (step) => set({ step }),\r\n workspace: undefined,\r\n setWorkspace: (workspace) => set({ workspace }),\r\n}));\r\n","import React from \"react\";\r\nimport { Modal } from \"../../../../../../components/shared/modal\";\r\nimport { AddWorkspaceDone } from \"./components/AddWorkspaceDone/AddWorkspaceDone\";\r\nimport { useAddWorkspaceStore } from \"./store/add-workspace.store\";\r\nimport { AddWorkspaceForm } from \"./components/AddWorkspaceForm/AddWorkspaceForm\";\r\n\r\nexport function AddWorkspaceModal({ onClose }: { onClose: () => void }) {\r\n const { step, setStep, setWorkspace } = useAddWorkspaceStore();\r\n\r\n const handleClose = () => {\r\n setStep(\"form\");\r\n onClose();\r\n setWorkspace(undefined);\r\n };\r\n\r\n return (\r\n <Modal\r\n closeOnClickOutside={false}\r\n disableFullScreen\r\n hideCloseButton\r\n isOpen\r\n className=\"bg-gradient-to-b z-[101] !p-8 from-[#DEF3FF] to-[#FCFEFF] max-w-[26rem] lg:max-w-[31.25rem] w-full lg:min-w-[31.25rem]\"\r\n onClose={handleClose}\r\n >\r\n {step !== \"success\" && <AddWorkspaceForm onClose={handleClose} />}\r\n {step === \"success\" && <AddWorkspaceDone onClose={handleClose} />}\r\n </Modal>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const CongratulationsIllustration = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"266\"\r\n height=\"167\"\r\n fill=\"none\"\r\n viewBox=\"0 0 266 167\"\r\n >\r\n <path\r\n fill=\"#FE964A\"\r\n d=\"M92.068 10.15c0 4.177 6.696 7.564 2.037 7.564-4.66 0-8.437-3.387-8.437-7.564 0-4.178 3.777-7.564 8.436-7.564 4.66 0-2.036 3.386-2.036 7.564M158.23 6.5l1.132 3.484h3.664l-2.964 2.154 1.132 3.484-2.964-2.153-2.964 2.153 1.132-3.484-2.964-2.154h3.664z\"\r\n ></path>\r\n <path\r\n stroke=\"#0BA259\"\r\n strokeWidth=\"2.017\"\r\n d=\"M34.378 80.153s10.748-5.354 13.186-2.548c1.34 1.542 2.351 3.409 1.152 4.926-.925 1.169-2.26 1.318-3.825 1.043-3.312-.582-3.262-5.182-1.932-8.031 1.836-3.934 11.582-1.612 11.582-1.612\"\r\n ></path>\r\n <circle cx=\"229.217\" cy=\"74.793\" r=\"5.883\" fill=\"#FFEDEC\"></circle>\r\n <path\r\n stroke=\"#2F78EE\"\r\n strokeWidth=\"1.681\"\r\n d=\"m56.047 136.488.837-7.22 5.835 3.7.666-6.057 5.322 3.667 1.658-6.548\"\r\n ></path>\r\n <path\r\n stroke=\"#2F78EE\"\r\n strokeWidth=\"2.017\"\r\n d=\"M193.3 22.425s-.818-4.86 1.53-5.83c1.973-.813 3.683 2.786 5.304 1.481 1.642-1.322-2.457-3.416-1.122-4.997 1.405-1.664 5.916 0 5.916 0\"\r\n ></path>\r\n <path fill=\"#2F78EE\" d=\"M32.955 15.135 54.56 25.891l-5.4 7.365z\"></path>\r\n <circle cx=\"224.346\" cy=\"94.814\" r=\"2.521\" fill=\"#FFEDEC\"></circle>\r\n <path\r\n fill=\"#2F78EE\"\r\n d=\"M200.116 128.002c2.771.279 5.465-3.937 5.154-.846s-2.81 5.37-5.581 5.091-4.765-3.01-4.454-6.101 2.11 1.577 4.881 1.856\"\r\n ></path>\r\n <path\r\n fill=\"#0BA259\"\r\n d=\"m209.11 39.492 1.886 5.808h6.107l-4.94 3.589 1.887 5.807-4.94-3.59-4.94 3.59 1.886-5.807-4.94-3.59h6.107z\"\r\n ></path>\r\n <rect\r\n width=\"100\"\r\n height=\"100\"\r\n x=\"82.799\"\r\n y=\"26.324\"\r\n fill=\"#0B89CE\"\r\n rx=\"50\"\r\n ></rect>\r\n <g filter=\"url(#filter0_d_56449_70621)\">\r\n <rect\r\n width=\"60\"\r\n height=\"60\"\r\n x=\"102.799\"\r\n y=\"46.324\"\r\n fill=\"#fff\"\r\n rx=\"30\"\r\n shapeRendering=\"crispEdges\"\r\n ></rect>\r\n <path\r\n fill=\"#0B89CE\"\r\n fillRule=\"evenodd\"\r\n d=\"M143.683 69.19a1.25 1.25 0 0 1 0 1.768l-12.5 12.5a1.25 1.25 0 0 1-1.768 0l-6.25-6.25a1.25 1.25 0 0 1 1.768-1.768l5.366 5.367 11.616-11.617a1.25 1.25 0 0 1 1.768 0\"\r\n clipRule=\"evenodd\"\r\n ></path>\r\n </g>\r\n <defs>\r\n <filter\r\n id=\"filter0_d_56449_70621\"\r\n width=\"140\"\r\n height=\"140\"\r\n x=\"62.799\"\r\n y=\"26.324\"\r\n colorInterpolationFilters=\"sRGB\"\r\n filterUnits=\"userSpaceOnUse\"\r\n >\r\n <feFlood floodOpacity=\"0\" result=\"BackgroundImageFix\"></feFlood>\r\n <feColorMatrix\r\n in=\"SourceAlpha\"\r\n result=\"hardAlpha\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n ></feColorMatrix>\r\n <feOffset dy=\"20\"></feOffset>\r\n <feGaussianBlur stdDeviation=\"20\"></feGaussianBlur>\r\n <feComposite in2=\"hardAlpha\" operator=\"out\"></feComposite>\r\n <feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0\"></feColorMatrix>\r\n <feBlend\r\n in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_56449_70621\"\r\n ></feBlend>\r\n <feBlend\r\n in=\"SourceGraphic\"\r\n in2=\"effect1_dropShadow_56449_70621\"\r\n result=\"shape\"\r\n ></feBlend>\r\n </filter>\r\n </defs>\r\n </svg>\r\n);\r\n\r\n","import { CongratulationsIllustration } from \"../../../../../../../../assets/illustrations/CongratulationsIllustration\";\r\nimport { TLocale } from \"../../../../../../../../context/types\";\r\nimport { useMirantesFoundation } from \"../../../../../../../../context/useMirantesFoundation\";\r\nimport { packageDictionary } from \"../../../../../../../../locales/utils\";\r\nimport React from \"react\";\r\nimport { motion } from \"motion/react\";\r\n\r\nexport function AddWorkspaceDone({ onClose }: { onClose: () => void }) {\r\n const { locale } = useMirantesFoundation();\r\n return (\r\n <motion.div\r\n initial={{ opacity: 0, y: 10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.3, ease: \"easeInOut\", delay: 0.3 }}\r\n className=\"w-full flex flex-col items-center gap-y-4\"\r\n >\r\n <div className=\"w-40 h-40 flex items-center justify-center lg:w-auto lg:h-auto\">\r\n <CongratulationsIllustration />\r\n </div>\r\n\r\n <h4 className=\"text-2xl lg:text-[2rem] font-bold lg:leading-normal text-center\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.success.title\"\r\n )}\r\n </h4>\r\n\r\n <p className=\"text-gray-shade8 text-center\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.success.description\"\r\n )}\r\n </p>\r\n\r\n <div className=\"w-full mt-4 flex-col lg:flex-row flex items-center gap-4\">\r\n <button\r\n type=\"button\"\r\n onClick={onClose}\r\n className=\"flex-1 w-full lg:w-auto border border-primary text-primary font-bold py-3 lg:py-4\"\r\n >\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.success.button.store\"\r\n )}\r\n </button>\r\n\r\n <button\r\n onClick={onClose}\r\n className=\"flex-1 w-full lg:w-auto border border-primary text-white bg-primary font-bold py-3 lg:py-4\"\r\n >\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.success.button.view-workspace\"\r\n )}\r\n </button>\r\n </div>\r\n </motion.div>\r\n );\r\n}\r\n","import { useMutation, useQueryClient } from \"@tanstack/react-query\";\r\nimport { request } from \"graphql-request\";\r\nimport { CREATE_WORKSPACES_MUTATION } from \"./graphql\";\r\nimport { WorkspaceProps } from \"@/types/workspace.types\";\r\n\r\ntype CreateWorkspaceInput = {\r\n name: string;\r\n description?: string;\r\n isActive?: boolean;\r\n icon?: string;\r\n};\r\n\r\ntype CreateWorkspaceResponse = {\r\n createWorkspace: WorkspaceProps;\r\n};\r\n\r\nconst mutationFn = async ({\r\n input,\r\n apiUrl,\r\n accessToken,\r\n}: {\r\n input: CreateWorkspaceInput;\r\n apiUrl?: string;\r\n accessToken?: string;\r\n}) => {\r\n const response = await request<CreateWorkspaceResponse>(\r\n apiUrl as string,\r\n CREATE_WORKSPACES_MUTATION,\r\n { createWorkspaceInput: input },\r\n {\r\n \"x-access-token\": accessToken as string,\r\n }\r\n );\r\n\r\n return response.createWorkspace;\r\n};\r\n\r\nexport function useApiCreateWorkspace() {\r\n const queryClient = useQueryClient();\r\n\r\n const { mutate: createWorkspace, isPending: isCreatingWorkspace } =\r\n useMutation({\r\n mutationKey: [\"create-workspace\"],\r\n mutationFn,\r\n onSuccess: (newWorkspace) => {\r\n queryClient.setQueryData<any>([\"workspaces\"], (oldData: any) => {\r\n if (!oldData) return oldData;\r\n\r\n return {\r\n ...oldData,\r\n pages: oldData.pages.map((page: any, index: number) => {\r\n if (index === 0) {\r\n return {\r\n ...page,\r\n data: [newWorkspace, ...page.data],\r\n meta: {\r\n ...page.meta,\r\n total: page.meta.total + 1,\r\n },\r\n };\r\n }\r\n return page;\r\n }),\r\n };\r\n });\r\n },\r\n });\r\n\r\n return {\r\n createWorkspace,\r\n isCreatingWorkspace,\r\n };\r\n}\r\n","import { useMutation } from \"@tanstack/react-query\";\r\nimport { request } from \"graphql-request\";\r\nimport { UPDATE_WORKSPACE_MUTATION } from \"./graphql\";\r\nimport { WorkspaceProps } from \"../../../../types/workspace.types\";\r\nimport { queryClient } from \"../../../../client/queryClient\";\r\n\r\ntype UpdateWorkspaceInput = {\r\n id: string;\r\n name?: string;\r\n description?: string;\r\n isActive?: boolean;\r\n icon?: string;\r\n};\r\n\r\ntype UpdateWorkspaceResponse = {\r\n updateWorkspace: WorkspaceProps;\r\n};\r\n\r\nconst mutationFn = async ({\r\n input,\r\n apiUrl,\r\n accessToken,\r\n}: {\r\n input: UpdateWorkspaceInput;\r\n apiUrl?: string;\r\n accessToken?: string;\r\n}) => {\r\n const response = await request<UpdateWorkspaceResponse>(\r\n apiUrl as string,\r\n UPDATE_WORKSPACE_MUTATION,\r\n { updateWorkspaceInput: input },\r\n {\r\n \"x-access-token\": accessToken as string,\r\n }\r\n );\r\n\r\n return response.updateWorkspace;\r\n};\r\n\r\nexport function useApiUpdateWorkspace() {\r\n const { mutate: updateWorkspace, isPending: isUpdatingWorkspace } =\r\n useMutation({\r\n mutationKey: [\"update-workspace\"],\r\n mutationFn,\r\n onSuccess: (updatedWorkspace) => {\r\n queryClient.setQueryData<any>([\"workspaces\"], (oldData: any) => {\r\n if (!oldData) return oldData;\r\n\r\n return {\r\n ...oldData,\r\n pages: oldData.pages.map((page: any) => ({\r\n ...page,\r\n data: page.data.map((workspace: WorkspaceProps) =>\r\n workspace.id === updatedWorkspace.id\r\n ? updatedWorkspace\r\n : workspace\r\n ),\r\n })),\r\n };\r\n });\r\n },\r\n });\r\n\r\n return {\r\n updateWorkspace,\r\n isUpdatingWorkspace,\r\n };\r\n}\r\n","import * as yup from \"yup\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { useMirantesFoundation } from \"../../../../../../../../context/useMirantesFoundation\";\r\nimport { packageDictionary } from \"../../../../../../../../locales/utils\";\r\nimport { TLocale } from \"../../../../../../../../context/types\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useAddWorkspaceStore } from \"../../store/add-workspace.store\";\r\nimport { useApiCreateWorkspace } from \"../../../../../api/use-api-create-workspace\";\r\nimport { useToast } from \"../../../../../../../../components/shared/toasts/toasts\";\r\nimport { useApiUpdateWorkspace } from \"../../../../../../../../components/fromMirantes/WorkspacePanel/api/use-api-update-workspace\";\r\n\r\nconst AddWorkspaceModalFormSchema = yup.object({\r\n name: yup.string().required(\"required-field\"),\r\n interests: yup.array().of(yup.string()).optional(),\r\n description: yup.string().optional(),\r\n icon: yup.string().optional(),\r\n});\r\n\r\nexport function useAddWorkspaceModal() {\r\n const { updateWorkspace, isUpdatingWorkspace } = useApiUpdateWorkspace();\r\n const { locale } = useMirantesFoundation();\r\n const { setStep, workspace } = useAddWorkspaceStore();\r\n const { errorToast } = useToast();\r\n\r\n const { user, widgetsApi } = useMirantesFoundation();\r\n const { createWorkspace, isCreatingWorkspace } = useApiCreateWorkspace();\r\n const [selectedInterests, setSelectedInterests] = useState<string[]>([]);\r\n const interests = [\r\n {\r\n id: \"1\",\r\n name: \"Looking for a job\",\r\n },\r\n {\r\n id: \"2\",\r\n name: \"Creating a new product\",\r\n },\r\n {\r\n id: \"3\",\r\n name: \"Expanding my business\",\r\n },\r\n {\r\n id: \"4\",\r\n name: \"Learning new things\",\r\n },\r\n ];\r\n\r\n const {\r\n watch,\r\n setValue,\r\n clearErrors,\r\n handleSubmit,\r\n formState: { errors },\r\n } = useForm({\r\n resolver: yupResolver(AddWorkspaceModalFormSchema),\r\n });\r\n\r\n useEffect(() => {\r\n if (workspace) {\r\n setValue(\"name\", workspace.name);\r\n setValue(\"description\", workspace.description);\r\n }\r\n }, [workspace]);\r\n\r\n const getError = (field?: string) =>\r\n field\r\n ? packageDictionary(\r\n locale as TLocale,\r\n `component.workspace.panel.modal.form.errors.${field}` as any\r\n )\r\n : undefined;\r\n\r\n const onSelectInterest = (id: string) => {\r\n setSelectedInterests([...selectedInterests, id]);\r\n };\r\n\r\n const onRemoveInterest = (id: string) => {\r\n setSelectedInterests(selectedInterests.filter((item) => item !== id));\r\n };\r\n\r\n const onChangeName = (value: string) => {\r\n if (errors?.name?.message && value) {\r\n clearErrors(\"name\");\r\n }\r\n\r\n setValue(\"name\", value);\r\n };\r\n\r\n const onChangeDescription = (value: string) => {\r\n if (errors?.description?.message && value) {\r\n clearErrors(\"description\");\r\n }\r\n\r\n setValue(\"description\", value);\r\n };\r\n\r\n const onSubmit = handleSubmit((data) => {\r\n const { interests, ...rest } = data;\r\n setStep(\"loading\");\r\n\r\n if (workspace?.id) {\r\n updateWorkspace(\r\n {\r\n input: {\r\n ...rest,\r\n id: workspace?.id,\r\n },\r\n accessToken: user?.accessToken,\r\n apiUrl: widgetsApi,\r\n },\r\n {\r\n onSuccess() {\r\n setStep(\"success\");\r\n },\r\n onError() {\r\n setStep(\"form\");\r\n errorToast({\r\n title: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.edit.toats.error.title\"\r\n ),\r\n message: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.edit.toats.error.description\"\r\n ),\r\n });\r\n },\r\n }\r\n );\r\n\r\n return;\r\n }\r\n createWorkspace(\r\n {\r\n input: {\r\n ...rest,\r\n },\r\n accessToken: user?.accessToken,\r\n apiUrl: widgetsApi,\r\n },\r\n {\r\n onSuccess() {\r\n setStep(\"success\");\r\n },\r\n onError() {\r\n setStep(\"form\");\r\n errorToast({\r\n title: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.toats.error.title\"\r\n ),\r\n message: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.toats.error.description\"\r\n ),\r\n });\r\n },\r\n }\r\n );\r\n });\r\n\r\n return {\r\n onChangeName,\r\n onChangeDescription,\r\n errors,\r\n watch,\r\n onSelectInterest,\r\n onRemoveInterest,\r\n interests,\r\n getError,\r\n selectedInterests,\r\n onSubmit,\r\n isCreatingWorkspace: isCreatingWorkspace || isUpdatingWorkspace,\r\n setValue,\r\n };\r\n}\r\n","import React from \"react\";\r\n\r\nexport const CircledInfoIcon = (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\"\r\n height=\"15\"\r\n fill=\"none\"\r\n viewBox=\"0 0 16 15\"\r\n >\r\n <path\r\n fill=\"#E03137\"\r\n fillRule=\"evenodd\"\r\n d=\"M8 1.482a6.188 6.188 0 1 0 0 12.375A6.188 6.188 0 0 0 8 1.482M.688 7.669a7.313 7.313 0 1 1 14.625 0 7.313 7.313 0 0 1-14.625 0\"\r\n clipRule=\"evenodd\"\r\n ></path>\r\n <path\r\n fill=\"#E03137\"\r\n fillRule=\"evenodd\"\r\n d=\"M8 4.107c.31 0 .563.252.563.562v3a.563.563 0 0 1-1.126 0v-3c0-.31.252-.562.563-.562M7.438 10.67c0-.312.251-.563.562-.563h.008a.562.562 0 1 1 0 1.125H8a.563.563 0 0 1-.562-.563\"\r\n clipRule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n);\r\n","import * as React from \"react\";\r\nimport { cn } from \"../../lib/utils\";\r\nimport { CircledInfoIcon } from \"../../assets/icons/CircledInfoIcon\";\r\n\r\ninterface InputProps extends React.ComponentProps<\"input\"> {\r\n error?: string;\r\n inputClassName?: string;\r\n leftElementClassName?: string;\r\n leftElement?: React.ReactNode;\r\n rightElement?: React.ReactNode;\r\n rightElementClassName?: string;\r\n}\r\n\r\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\r\n (\r\n {\r\n className,\r\n type,\r\n leftElement,\r\n rightElement,\r\n leftElementClassName,\r\n rightElementClassName,\r\n inputClassName,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n return (\r\n <div className=\"flex flex-col w-full\">\r\n <div\r\n className={cn(\r\n \"relative flex items-center w-full focus-within:border-b-blue-shade1\",\r\n !!props?.error && \"border-b-red-shade6\",\r\n className\r\n )}\r\n >\r\n {leftElement && (\r\n <div className={leftElementClassName}>{leftElement}</div>\r\n )}\r\n\r\n <input\r\n type={type}\r\n className={cn(\r\n \"flex w-full bg-red-400 bg-transparent px-3 focus-within:border-none py-1 h-[52px] text-sm placeholder:text-gray-shade25 outline-none focus-visible:ring-0 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:border-neutral-800 dark:placeholder:text-neutral-400 \",\r\n !!leftElement && \"pl-10\",\r\n !!rightElement && \"pr-10\",\r\n inputClassName\r\n )}\r\n ref={ref}\r\n {...props}\r\n />\r\n\r\n {rightElement && (\r\n <div className={rightElementClassName}>{rightElement}</div>\r\n )}\r\n </div>\r\n\r\n {props?.error && (\r\n <div className=\"flex items-center gap-x-[8px] mt-[5.69px]\">\r\n {CircledInfoIcon}\r\n\r\n <span className=\"text-red-shade6 text-[0.75rem] \">\r\n {props?.error}\r\n </span>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n);\r\nInput.displayName = \"Input\";\r\n\r\nexport { Input };\r\n","import { clsx, type ClassValue } from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs));\r\n}\r\n","import { Input } from \"../../../components/ui/input\";\r\nimport { cn } from \"../../../utils/utils\";\r\nimport React, { useRef, useState } from \"react\";\r\n\r\ntype BaseInputProps = {\r\n placeholder: string;\r\n value: string;\r\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\r\n rightIcon?: React.ReactNode;\r\n leftIcon?: React.ReactNode;\r\n label?: string;\r\n error?: string;\r\n disabled?: boolean;\r\n type?: string;\r\n name?: string;\r\n id?: string;\r\n className?: string;\r\n children?: React.ReactNode;\r\n wrapperClassName?: string;\r\n required?: boolean;\r\n};\r\n\r\nexport function BaseInput({\r\n placeholder,\r\n value,\r\n onChange,\r\n rightIcon,\r\n leftIcon,\r\n label,\r\n className,\r\n error,\r\n disabled,\r\n type,\r\n name,\r\n id,\r\n children,\r\n required,\r\n wrapperClassName,\r\n}: BaseInputProps) {\r\n const [isFocusing, setIsFocusing] = useState(false);\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n\r\n const handleFocus = () => {\r\n setIsFocusing(true);\r\n };\r\n\r\n const handleBlur = () => {\r\n setIsFocusing(false);\r\n };\r\n\r\n return (\r\n <div className={cn(\"flex flex-col gap-y-2\", wrapperClassName)}>\r\n <div className=\"flex items-center gap-x-2\">\r\n {label && <label className=\"text-body-md\">{label}</label>}\r\n {required && <span className=\"text-red-500\">*</span>}\r\n </div>\r\n\r\n <div\r\n onFocus={handleFocus}\r\n onBlur={handleBlur}\r\n ref={inputRef}\r\n className={cn(\r\n \"flex bg-[#EFF4FB] rounded-xl px-4 w-full items-center border border-border\",\r\n className,\r\n !!error && \"border border-red-shade6\"\r\n )}\r\n >\r\n {leftIcon && <div>{leftIcon}</div>}\r\n\r\n <Input\r\n className={cn(\"!h-auto\", className)}\r\n placeholder={placeholder}\r\n value={value}\r\n onChange={onChange}\r\n />\r\n\r\n {rightIcon && <div>{rightIcon}</div>}\r\n </div>\r\n\r\n {error && <p className=\"text-red-shade6 text-body-sm\">{error}</p>}\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n","import * as React from \"react\"\r\nimport { Command as CommandPrimitive } from \"cmdk\"\r\nimport { SearchIcon } from \"lucide-react\"\r\n\r\nimport { cn } from \"../../lib/utils\"\r\nimport {\r\n Dialog,\r\n DialogContent,\r\n DialogDescription,\r\n DialogHeader,\r\n DialogTitle,\r\n} from \"../../components/ui/dialog\"\r\n\r\nfunction Command({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive>) {\r\n return (\r\n <CommandPrimitive\r\n data-slot=\"command\"\r\n className={cn(\r\n \"bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandDialog({\r\n title = \"Command Palette\",\r\n description = \"Search for a command to run...\",\r\n children,\r\n ...props\r\n}: React.ComponentProps<typeof Dialog> & {\r\n title?: string\r\n description?: string\r\n}) {\r\n return (\r\n <Dialog {...props}>\r\n <DialogHeader className=\"sr-only\">\r\n <DialogTitle>{title}</DialogTitle>\r\n <DialogDescription>{description}</DialogDescription>\r\n </DialogHeader>\r\n <DialogContent className=\"overflow-hidden p-0\">\r\n <Command className=\"[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\r\n {children}\r\n </Command>\r\n </DialogContent>\r\n </Dialog>\r\n )\r\n}\r\n\r\nfunction CommandInput({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.Input>) {\r\n return (\r\n <div\r\n data-slot=\"command-input-wrapper\"\r\n className=\"flex h-9 items-center gap-2 border-b px-3\"\r\n >\r\n <SearchIcon className=\"size-4 shrink-0 opacity-50\" />\r\n <CommandPrimitive.Input\r\n data-slot=\"command-input\"\r\n className={cn(\r\n \"placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nfunction CommandList({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.List>) {\r\n return (\r\n <CommandPrimitive.List\r\n data-slot=\"command-list\"\r\n className={cn(\r\n \"max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandEmpty({\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.Empty>) {\r\n return (\r\n <CommandPrimitive.Empty\r\n data-slot=\"command-empty\"\r\n className=\"py-6 text-center text-sm\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandGroup({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.Group>) {\r\n return (\r\n <CommandPrimitive.Group\r\n data-slot=\"command-group\"\r\n className={cn(\r\n \"text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandSeparator({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.Separator>) {\r\n return (\r\n <CommandPrimitive.Separator\r\n data-slot=\"command-separator\"\r\n className={cn(\"bg-border -mx-1 h-px\", className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandItem({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.Item>) {\r\n return (\r\n <CommandPrimitive.Item\r\n data-slot=\"command-item\"\r\n className={cn(\r\n \"data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandShortcut({\r\n className,\r\n ...props\r\n}: React.ComponentProps<\"span\">) {\r\n return (\r\n <span\r\n data-slot=\"command-shortcut\"\r\n className={cn(\r\n \"text-muted-foreground ml-auto text-xs tracking-widest\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport {\r\n Command,\r\n CommandDialog,\r\n CommandInput,\r\n CommandList,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandItem,\r\n CommandShortcut,\r\n CommandSeparator,\r\n}\r\n","import * as React from \"react\"\r\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\"\r\n\r\nimport { cn } from \"../../lib/utils\"\r\n\r\nfunction Popover({\r\n ...props\r\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\r\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\r\n}\r\n\r\nfunction PopoverTrigger({\r\n ...props\r\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\r\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />\r\n}\r\n\r\nfunction PopoverContent({\r\n className,\r\n align = \"center\",\r\n sideOffset = 4,\r\n ...props\r\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\r\n return (\r\n <PopoverPrimitive.Portal>\r\n <PopoverPrimitive.Content\r\n data-slot=\"popover-content\"\r\n align={align}\r\n sideOffset={sideOffset}\r\n className={cn(\r\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </PopoverPrimitive.Portal>\r\n )\r\n}\r\n\r\nfunction PopoverAnchor({\r\n ...props\r\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\r\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />\r\n}\r\n\r\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor }\r\n","\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport { Check, ChevronDown } from \"lucide-react\";\r\nimport { cn } from \"../../../lib/utils\";\r\nimport { Button } from \"../../../components/ui/button\";\r\nimport {\r\n Command,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandInput,\r\n CommandItem,\r\n CommandList,\r\n} from \"../../../components/ui/command\";\r\nimport {\r\n Popover,\r\n PopoverContent,\r\n PopoverTrigger,\r\n} from \"../../../components/ui/popover\";\r\nimport type { UseFormRegisterReturn } from \"react-hook-form\";\r\nimport { packageDictionary } from \"../../../locales/utils\";\r\nimport { TLocale } from \"../../../context/types\";\r\nimport { useMirantesFoundation } from \"../../../context/useMirantesFoundation\";\r\n\r\nexport interface SelectInputOption {\r\n id: string;\r\n value: string;\r\n icon?: string;\r\n}\r\n\r\nexport interface SelectInputProps {\r\n options: SelectInputOption[];\r\n label?: string;\r\n placeholder?: string;\r\n className?: string;\r\n error?: string;\r\n required?: boolean;\r\n value?: string;\r\n onChange?: (id: string) => void;\r\n onChangeItem?: (item: SelectInputOption) => void;\r\n register?: UseFormRegisterReturn;\r\n name?: string;\r\n disabled?: boolean;\r\n disableSelectedItem?: boolean;\r\n}\r\n\r\nexport function SelectInput({\r\n options,\r\n label,\r\n placeholder,\r\n className,\r\n error,\r\n required = false,\r\n value,\r\n onChange,\r\n register,\r\n name = \"selectInput\",\r\n disabled = false,\r\n onChangeItem,\r\n disableSelectedItem = false,\r\n}: SelectInputProps) {\r\n const { locale } = useMirantesFoundation();\r\n const [open, setOpen] = React.useState(false);\r\n const [selectedValue, setSelectedValue] = React.useState(value || \"\");\r\n\r\n // Handle external value changes\r\n React.useEffect(() => {\r\n if (value !== undefined) {\r\n setSelectedValue(value);\r\n }\r\n }, [value]);\r\n\r\n const handleSelect = React.useCallback(\r\n (currentValue: string) => {\r\n const selectedItem = options.find((option) => option.id === currentValue);\r\n setSelectedValue(currentValue);\r\n setOpen(false);\r\n\r\n if (onChange) {\r\n onChange(currentValue);\r\n }\r\n\r\n if (onChangeItem && selectedItem) {\r\n onChangeItem(selectedItem);\r\n }\r\n },\r\n [onChange, onChangeItem, options]\r\n );\r\n\r\n const selectedOption = React.useMemo(\r\n () => options.find((option) => option.id === selectedValue),\r\n [options, selectedValue]\r\n );\r\n\r\n const hiddenInputRef = React.useRef<HTMLInputElement>(null);\r\n\r\n return (\r\n <div className=\"space-y-2\">\r\n {label && (\r\n <label className=\"text-body-md font-medium\">\r\n {label}\r\n {required && <span className=\"text-red-500 ml-1\">*</span>}\r\n </label>\r\n )}\r\n <Popover open={open} onOpenChange={setOpen}>\r\n <PopoverTrigger asChild>\r\n <Button\r\n variant=\"outline\"\r\n role=\"combobox\"\r\n aria-expanded={open}\r\n className={cn(\r\n \"w-full justify-between text-body-md overflow-hidden h-14 px-4 py-3 text-base rounded-xl font-normal\",\r\n \"border border-border bg-background hover:bg-accent hover:text-accent-foreground\",\r\n !selectedValue && \"text-muted-foreground\",\r\n error && \"border-red-500 focus-visible:ring-red-500\",\r\n className\r\n )}\r\n disabled={disabled}\r\n >\r\n <div className=\"flex items-center gap-2 truncate\">\r\n {disableSelectedItem && selectedOption && selectedOption.icon && (\r\n <span className=\"flex items-center text-body-md text-gray-shade8 justify-center w-5 h-5\">\r\n {selectedOption.icon}\r\n </span>\r\n )}\r\n <span className=\"truncate text-body-md text-gray-shade8\">\r\n {disableSelectedItem\r\n ? (placeholder ??\r\n packageDictionary(\r\n locale as TLocale,\r\n \"component.select-input.placeholder\"\r\n ))\r\n : selectedOption\r\n ? selectedOption.value\r\n : (placeholder ??\r\n packageDictionary(\r\n locale as TLocale,\r\n \"component.select-input.placeholder\"\r\n ))}\r\n </span>\r\n </div>\r\n <ChevronDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-[--radix-popover-trigger-width] bg-white z-[102] p-0\">\r\n <Command>\r\n <CommandInput\r\n className=\"outline-none\"\r\n placeholder={\r\n placeholder ??\r\n packageDictionary(\r\n locale as TLocale,\r\n \"component.select-input.placeholder\"\r\n )\r\n }\r\n />\r\n <CommandList>\r\n <CommandEmpty>\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.select-input.no-elements-found\"\r\n )}\r\n </CommandEmpty>\r\n <CommandGroup className=\"max-h-[300px] overflow-auto\">\r\n {options.map((option) => (\r\n <CommandItem\r\n key={option.id}\r\n value={option.id}\r\n onSelect={() => handleSelect(option.id)}\r\n className=\"flex items-center py-2 hover:bg-gray-shade1 cursor-pointer gap-2\"\r\n >\r\n {option.icon && (\r\n <span className=\"flex items-center justify-center w-5 h-5\">\r\n {option.icon}\r\n </span>\r\n )}\r\n <span className=\"text-body-md\">{option.value}</span>\r\n {option.id === selectedValue && (\r\n <Check className=\"ml-auto h-4 w-4\" />\r\n )}\r\n </CommandItem>\r\n ))}\r\n </CommandGroup>\r\n </CommandList>\r\n </Command>\r\n </PopoverContent>\r\n </Popover>\r\n\r\n <input\r\n type=\"hidden\"\r\n ref={hiddenInputRef}\r\n name={name}\r\n value={selectedValue}\r\n {...register}\r\n />\r\n\r\n {error && <p className=\"text-body-md text-red-500\">{error}</p>}\r\n </div>\r\n );\r\n}\r\n","import { cn } from \"../../../lib/utils\";\r\nimport { X } from \"lucide-react\";\r\nimport React from \"react\";\r\n\r\nexport function Badge({\r\n label,\r\n onRemove,\r\n className,\r\n iconClassName,\r\n}: {\r\n label: string;\r\n onRemove: () => void;\r\n className?: string;\r\n iconClassName?: string;\r\n}) {\r\n return (\r\n <span\r\n className={cn(\r\n \"px-2 py-[6px] flex items-center gap-x-2 !text-body-md rounded-full bg-primary text-white\",\r\n className\r\n )}\r\n >\r\n {label}\r\n <button\r\n type=\"button\"\r\n className=\" bg-transparent border border-none p-0\"\r\n onClick={onRemove}\r\n >\r\n <X className={cn(\"w-4 h-4\", iconClassName)} />\r\n </button>\r\n </span>\r\n );\r\n}\r\n","import * as React from \"react\"\r\n\r\nimport { cn } from \"../../lib/utils\"\r\n\r\nfunction Textarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\r\n return (\r\n <textarea\r\n data-slot=\"textarea\"\r\n className={cn(\r\n \"border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport { Textarea }\r\n","import React from \"react\";\r\n\r\nimport { useEffect, useState } from \"react\";\r\nimport { Textarea } from \"../../../components/ui/textarea\";\r\nimport { cn } from \"../../../lib/utils\";\r\nimport { useMirantesFoundation } from \"../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../context/types\";\r\nimport { packageDictionary } from \"../../../locales/utils\";\r\n\r\nexport interface DescriptionInputProps {\r\n label?: string;\r\n placeholder?: string;\r\n value?: string;\r\n onChange?: (value: string) => void;\r\n required?: boolean;\r\n className?: string;\r\n disabled?: boolean;\r\n maxLength?: number;\r\n error?: string;\r\n onGenerateDescription?: () => void;\r\n textAreaClassName?: string;\r\n}\r\n\r\nexport function DescriptionInput({\r\n label = \"Descrição\",\r\n value = \"\",\r\n onChange,\r\n required = false,\r\n className,\r\n disabled = false,\r\n maxLength = 500,\r\n error,\r\n textAreaClassName,\r\n}: DescriptionInputProps) {\r\n const [text, setText] = useState(value);\r\n const { locale } = useMirantesFoundation();\r\n\r\n useEffect(() => {\r\n setText(value);\r\n }, [value]);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\r\n const newValue = e.target.value;\r\n if (newValue.length <= maxLength) {\r\n setText(newValue);\r\n onChange?.(newValue);\r\n }\r\n };\r\n\r\n return (\r\n <div className={cn(\"space-y-2\", className)}>\r\n {label && (\r\n <label className=\"text-body-md font-normal\">\r\n {label} {required && <span className=\"text-red-shade6\">*</span>}\r\n </label>\r\n )}\r\n <div className=\"relative\">\r\n <Textarea\r\n placeholder={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.description\"\r\n )}\r\n value={text}\r\n onChange={handleChange}\r\n disabled={disabled}\r\n className={cn(\r\n \"min-h-[200px] resize-none rounded-xl border-border p-4 text-dark placeholder:text-gray-shade8/70 focus-visible:ring-primary\",\r\n textAreaClassName,\r\n error && \"border-red-500\"\r\n )}\r\n />\r\n <div className=\"absolute bottom-3 left-3 right-3 flex items-center justify-end\">\r\n <div className=\"text-body-sm self-end text-gray-shade8\">\r\n {text.length}/{maxLength}\r\n </div>\r\n </div>\r\n </div>\r\n {error && <p className=\"text-sm text-red-500\">{error}</p>}\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const CreatingWorkspaceIllustration = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"201\"\r\n height=\"200\"\r\n fill=\"none\"\r\n viewBox=\"0 0 201 200\"\r\n >\r\n <path fill=\"#fff\" d=\"M58.884 16.957H19.748v40.796h39.136z\"></path>\r\n <path\r\n fill=\"#A2D0E8\"\r\n fillOpacity=\"0.1\"\r\n d=\"M56.232 16.957H17.096v40.796h39.136z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M50.968 22.441H22.356V52.27h28.612zM22.356 52.465a5.4 5.4 0 0 1-.712.8c-.46.48-1.104 1.132-1.824 1.84s-1.38 1.34-1.868 1.792a5.4 5.4 0 0 1-.8.7q.316-.436.712-.8c.46-.48 1.104-1.132 1.828-1.844a93 93 0 0 1 1.868-1.796q.363-.386.796-.692M50.972 52.402q.433.32.8.716c.48.456 1.132 1.1 1.84 1.82s1.344 1.38 1.796 1.868q.39.363.696.8a5.4 5.4 0 0 1-.8-.712 104 104 0 0 1-3.636-3.696 5 5 0 0 1-.696-.796\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M50.9 22.523q.316-.437.716-.8c.46-.48 1.104-1.132 1.824-1.84s1.38-1.344 1.864-1.792q.366-.39.8-.7-.316.436-.712.8a91 91 0 0 1-1.824 1.844A93 93 0 0 1 51.7 21.83a5.5 5.5 0 0 1-.8.692M22.28 22.595a5.3 5.3 0 0 1-.8-.716c-.48-.46-1.132-1.1-1.84-1.82a91 91 0 0 1-1.792-1.868 5.4 5.4 0 0 1-.7-.8q.435.316.8.712c.48.456 1.132 1.104 1.844 1.824s1.344 1.384 1.796 1.868q.385.365.692.8\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M50.9 52.269v-2.144c0-1.412 0-3.468-.024-6.08 0-5.2-.028-12.668-.048-21.58l.092.092H22.388l.108-.108v29.828l-.092-.092 20.668.044 5.8.024h2.072-2.08l-5.78.024-20.728.048h-.092V22.297h28.74v.096c0 8.94-.036 16.4-.044 21.64 0 2.604 0 4.652-.028 6.056v2a.6.6 0 0 1-.032.18\"\r\n ></path>\r\n <path\r\n fill=\"#A2D0E8\"\r\n fillOpacity=\"0.1\"\r\n d=\"M29.908 34.902s-.608 7.384 7.392 7.384c0-3.94-3.256-7.052-7.392-7.384\"\r\n ></path>\r\n <path\r\n fill=\"#A2D0E8\"\r\n fillOpacity=\"0.1\"\r\n d=\"M44.544 34.905s-7.384-.612-7.384 7.388c3.94 0 7.052-3.252 7.384-7.388\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M36.94 30.863s-6.04 5.416.328 11.42c2.96-3.136 2.712-8.052-.328-11.42M172.276 17.473v39.56h-56.82l-2.048-39.284z\"\r\n ></path>\r\n <path fill=\"#fff\" d=\"M113.412 17.75v39.2h56.82v-39.2z\"></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M170.5 57.22h-57.36V17.48h57.36zm-56.8-.54h56.28V18.02H113.7z\"\r\n ></path>\r\n <path fill=\"#fff\" d=\"M164.076 22.621h-44.512v29.46h44.512z\"></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M164.076 22.62h-3.296l-9.176.037-32.04.064.128-.128v29.456l-.14-.14 44.512.028-.112.112c.024-8.968.044-16.316.06-21.436 0-2.56.02-4.556.028-5.928v-2.096 2.052c0 1.364 0 3.356.028 5.904 0 5.136.036 12.508.06 21.504v.112h-.112l-44.512.028h-.14V22.46h.128l32.128.06 9.14.036h3.04q.14.022.276.064\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M113.408 17.64q.53.256.98.633c.58.4 1.372 1.016 2.224 1.7s1.6 1.328 2.136 1.816q.452.365.8.832c-.052.06-1.42-1.068-3.124-2.432s-3.064-2.484-3.016-2.548M170.228 17.749c.048.06-1.288 1.2-2.988 2.544s-3.116 2.4-3.164 2.328 1.288-1.2 2.988-2.548 3.116-2.384 3.164-2.324M170.184 56.956l-6.336-5.136zM163.848 51.823c.052-.06 1.508 1.04 3.256 2.46s3.128 2.616 3.08 2.676-1.504-1.04-3.256-2.46-3.128-2.616-3.08-2.676M113.408 56.947c-.048-.06 1.28-1.2 2.96-2.516s3.084-2.36 3.132-2.3-1.276 1.2-2.956 2.52-3.088 2.36-3.136 2.296M128.6 31.8v9.864h28.008V31.8z\"\r\n ></path>\r\n <path\r\n fill=\"#F5F5F5\"\r\n d=\"M18.568 169.746s-7.128-36.944-7.144-44.544c-.024-10.516 8.028-14.7 8.028-14.7l-3.128-8.9h17.2l-2.72 8.856s9.06 4.8 7.796 15.708c-2.36 20.4-6.124 43.6-6.124 43.6z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M34.976 114.702h-.192a5.349 5.349 0 0 0-2.648.432 7.36 7.36 0 0 0-2.68 2.048 13 13 0 0 0-1.232 1.732 15 15 0 0 0-1.08 2.128 6.3 6.3 0 0 0-.5 2.536 3.96 3.96 0 0 0 1.016 2.536c.328.353.74.617 1.2.764.48.139.992.125 1.464-.04a3.44 3.44 0 0 0 2.06-2.228 3.32 3.32 0 0 0-.684-3.1 5.05 5.05 0 0 0-2.952-1.712 6.73 6.73 0 0 0-3.556.428 11.6 11.6 0 0 0-6.968 8.176 7.8 7.8 0 0 0 .072 3.48 5.12 5.12 0 0 0 1.696 2.8c.405.344.898.57 1.424.652a2.18 2.18 0 0 0 1.468-.288 3.03 3.03 0 0 0 1.312-2.52 3.1 3.1 0 0 0-.276-1.372 3.5 3.5 0 0 0-.8-1.08 4.8 4.8 0 0 0-2.32-1.08 6.62 6.62 0 0 0-4.336.752 7.84 7.84 0 0 0-2.56 2.204 7.2 7.2 0 0 0-1.032 1.88c-.172.464-.228.72-.244.716q.071-.374.196-.732a7 7 0 0 1 1.004-1.924 7.8 7.8 0 0 1 2.568-2.268 6.8 6.8 0 0 1 4.432-.8 4.95 4.95 0 0 1 2.4 1.108c.366.324.662.718.872 1.16.21.457.313.956.3 1.46a3.2 3.2 0 0 1-1.404 2.7 2.4 2.4 0 0 1-1.6.324 3.1 3.1 0 0 1-1.536-.696 5.33 5.33 0 0 1-1.78-2.928 8 8 0 0 1-.08-3.6 11.46 11.46 0 0 1 3.824-6.348 11.3 11.3 0 0 1 3.268-2 6.95 6.95 0 0 1 3.688-.436c1.207.22 2.3.855 3.088 1.796.379.46.652.998.8 1.576.146.567.13 1.164-.044 1.724a3.65 3.65 0 0 1-2.208 2.368 2.6 2.6 0 0 1-1.6.036 2.97 2.97 0 0 1-1.308-.824 4.14 4.14 0 0 1-1.06-2.672 6.5 6.5 0 0 1 .528-2.604q.474-1.128 1.124-2.164.557-.925 1.26-1.744a7.4 7.4 0 0 1 2.74-2.028 5.3 5.3 0 0 1 2.124-.42q.381.002.752.092M35.424 142.596a6.3 6.3 0 0 1-.16 1.88 8.2 8.2 0 0 1-.764 2.084 8 8 0 0 1-1.804 2.316 7.46 7.46 0 0 1-3.148 1.656 7.67 7.67 0 0 1-4.076-.06 7.14 7.14 0 0 1-3.672-2.588 6.84 6.84 0 0 1-1.408-4.6 3.4 3.4 0 0 1 1.016-2.264 2.47 2.47 0 0 1 2.348-.464A2.94 2.94 0 0 1 25.584 142c.334.692.419 1.477.24 2.224a4.15 4.15 0 0 1-.984 1.884 4.75 4.75 0 0 1-1.652 1.136 6.9 6.9 0 0 1-3.528.444 8.4 8.4 0 0 1-4.628-2.124 6.2 6.2 0 0 1-1.2-1.44q.045.042.084.092c.06.076.132.172.224.284q.448.534.972.992a8.43 8.43 0 0 0 4.588 2.036 6.73 6.73 0 0 0 3.428-.46 4.6 4.6 0 0 0 1.572-1.096 3.95 3.95 0 0 0 .92-1.788 3.1 3.1 0 0 0-.224-2.068A2.73 2.73 0 0 0 23.7 140.8a2.21 2.21 0 0 0-2.116.4 3.17 3.17 0 0 0-.936 2.104 6.64 6.64 0 0 0 1.36 4.432 6.9 6.9 0 0 0 3.54 2.512c1.29.383 2.66.411 3.964.08a7.35 7.35 0 0 0 3.084-1.6 7.8 7.8 0 0 0 1.792-2.248c.358-.642.627-1.33.8-2.044q.16-.678.216-1.372v-.36a1 1 0 0 1 .02-.108M32.22 160c-.024.048-.772-.356-2.076-.736q-.531-.156-1.076-.256c-.4-.088-.8-.132-1.252-.188a15 15 0 0 0-2.904 0c-.956.123-1.897.337-2.812.64-.42.156-.824.292-1.2.464a10 10 0 0 0-.996.476c-1.2.656-1.828 1.2-1.86 1.172q.196-.226.44-.4.263-.23.556-.424.375-.273.78-.5.481-.29.992-.524.586-.276 1.2-.488a14.4 14.4 0 0 1 2.888-.644c.981-.102 1.97-.102 2.952 0q.641.075 1.272.216a9 9 0 0 1 1.084.292q.443.134.868.316.327.124.636.288.27.12.508.296M31.02 110.977q-.269.224-.572.4c-.372.248-.932.576-1.636.948a28.2 28.2 0 0 1-12 3.2c-.8.032-1.448.028-1.892 0a3.7 3.7 0 0 1-.692-.06q.345-.048.692-.036c.444 0 1.088-.024 1.884-.076a31.3 31.3 0 0 0 11.916-3.2c.712-.356 1.28-.656 1.668-.876a3 3 0 0 1 .632-.3M33.184 101.999c0 .024-.424-.04-1.2-.044a10.2 10.2 0 0 0-3.164.516 10.4 10.4 0 0 0-2 .92q-.529.317-1.012.7-.512.402-.908.916c-.284.348-.48.76-.568 1.2a1.36 1.36 0 0 0 .4 1.22c.365.316.802.537 1.272.644.466.169.964.227 1.456.168a1.11 1.11 0 0 0 .8-1.044 2.6 2.6 0 0 0-.288-1.384 4.4 4.4 0 0 0-1.92-1.928 5.55 5.55 0 0 0-2.4-.652 6.7 6.7 0 0 0-2.172.32 10 10 0 0 0-2.832 1.492c-.308.228-.536.4-.692.544a1.2 1.2 0 0 1-.248.184q.096-.122.212-.224c.148-.14.368-.336.668-.58a9.5 9.5 0 0 1 2.84-1.58 6.7 6.7 0 0 1 2.228-.36 5.75 5.75 0 0 1 2.512.656 4.6 4.6 0 0 1 2.028 2.024 2.8 2.8 0 0 1 .316 1.516 1.66 1.66 0 0 1-.268.776c-.167.24-.416.411-.7.48a3.4 3.4 0 0 1-1.6-.172 3.1 3.1 0 0 1-1.4-.708 1.6 1.6 0 0 1-.444-1.44c.097-.475.31-.919.62-1.292.283-.349.61-.661.972-.928a9 9 0 0 1 1.044-.708 10 10 0 0 1 2.064-.908 9.7 9.7 0 0 1 3.2-.448q.443.012.88.08.155 0 .304.044\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M187.3 169.202c0 .056-39.512.104-88.244.104s-88.264-.064-88.264-.104 39.504-.104 88.252-.104 88.256.028 88.256.104M161.668 134.557c-.036.048-.336-.136-.672-.4s-.576-.524-.54-.568.336.136.672.4.572.524.54.568\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M170.788 120.929c.056-1.276.092-2.58-.312-3.792s-1.336-2.32-2.584-2.58c-1.424-.296-2.884.604-3.68 1.82s-1.076 2.692-1.312 4.128a145.7 145.7 0 0 0-1.784 29.972l5.828.8c2.56-10.444 3.38-19.588 3.844-30.348\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M167.084 114.512s0 .032-.028.092-.056.156-.096.264q-.137.372-.4 1.008c-.08.22-.188.456-.276.728q-.13.409-.284.884c-.104.316-.208.656-.324 1.012l-.3 1.156a50 50 0 0 0-1.128 5.772c-.316 2.192-.524 4.62-.684 7.172-.3 5.108-.344 9.744-.476 13.096a151 151 0 0 1-.184 3.968l-.076 1.08c0 .112 0 .204-.024.28a.5.5 0 0 1 0 .096.3.3 0 0 1 0-.096v-.284c0-.264.02-.624.032-1.08.04-.936.076-2.292.12-3.968.092-3.352.116-8 .4-13.108.16-2.552.376-4.988.704-7.2a48 48 0 0 1 1.172-5.78c.112-.4.216-.8.316-1.156s.236-.696.344-1.012l.3-.884c.092-.268.208-.504.292-.724l.428-.992.116-.256c.036-.044.052-.072.056-.068M167.624 114.512c.302.357.543.763.712 1.2a8.9 8.9 0 0 1 .532 3.772c-.156 3.2-.444 7.66-.828 12.56s-.8 9.336-1.156 12.536c-.172 1.6-.32 2.896-.432 3.792a50 50 0 0 1-.132 1.028l-.036.268a.3.3 0 0 1-.024.092.3.3 0 0 1 0-.096c0-.072 0-.16.02-.268.024-.252.056-.6.092-1.032.088-.916.212-2.208.368-3.796.304-3.2.708-7.64 1.092-12.54s.696-9.34.888-12.548a9.1 9.1 0 0 0-.46-3.736 7.4 7.4 0 0 0-.636-1.232M171.668 129.6a3.3 3.3 0 0 1-1.108-.288 3.3 3.3 0 0 1-1.032-.48c.383.026.757.122 1.104.284.372.097.723.261 1.036.484M172.368 123.66a7 7 0 0 1-2.188.98 7 7 0 0 1 2.188-.98M172.004 118.8a1.9 1.9 0 0 1-.868.044 1.8 1.8 0 0 1-.856-.164c.282-.081.579-.096.868-.044a1.9 1.9 0 0 1 .856.164M165.988 115.706c-.048.032-.304-.288-.568-.708a2.1 2.1 0 0 1-.4-.824c.048-.032.304.288.572.712s.444.788.396.82M164 118.636c0 .06-.372.096-.828.088s-.824-.064-.824-.124a3.4 3.4 0 0 1 1.652.036M162.572 124.504a2 2 0 0 1-.872-.24c-.46-.184-.8-.4-.8-.432.305.015.603.097.872.24.468.184.824.38.8.432M162.42 129.442c0 .056-.32.172-.74.26s-.776.116-.8.06.32-.176.74-.264.788-.116.8-.056M161.748 137.511c0 .056-.34.168-.8.248s-.8.1-.824.04.344-.164.8-.244a1.7 1.7 0 0 1 .824-.044M161.3 141.965c.024.052-.268.26-.656.464s-.728.332-.756.284.268-.26.656-.468.732-.332.756-.28M164.94 147.022c-.048.028-.304-.324-.572-.8a2.4 2.4 0 0 1-.4-.896c.052-.028.308.328.572.8.197.266.334.572.4.896M165.992 138.617c.04.044-.248.4-.64.772s-.74.664-.8.624.248-.4.64-.772.76-.664.8-.624\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M165.76 134.21c-.044.04-.308-.176-.592-.484s-.48-.588-.44-.628.308.18.592.484.48.588.44.628M166.5 128.578c.044.036-.196.372-.532.748s-.644.648-.684.608.192-.372.528-.748.624-.648.688-.608M166.9 124.484c-.044.044-.376-.216-.744-.58s-.636-.692-.596-.732.372.22.744.584.624.688.596.728M167.7 118.963c-.06.3-.187.583-.372.828-.256.424-.5.748-.552.72.063-.3.189-.582.372-.828.24-.428.488-.752.552-.72M169.184 113.838c.052.028-.096.4-.328.828s-.46.756-.512.732.096-.4.328-.828.464-.76.512-.732M170.9 116.164c.028.052-.208.216-.52.364s-.584.228-.612.176.212-.216.524-.364.572-.228.608-.176M170.932 134.556a2.3 2.3 0 0 1-1.14-.276 2.33 2.33 0 0 1-.992-.632q1.076.434 2.132.908M170.236 138.456c0 .056-.344.168-.8.256a1.7 1.7 0 0 1-.82.052c0-.056.34-.172.8-.256s.808-.108.82-.052M169.38 145.136a3.32 3.32 0 0 1-1.448-1.824q.401.425.72.912.403.425.728.912M160.008 148.19c-.04-.044.2-.308.528-.588s.628-.476.664-.432-.2.308-.528.592-.628.472-.664.428\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M157.3 133.604c-.38-1.2-1.092-2.564-2.336-2.584a2.072 2.072 0 0 0-1.748 1.172 4.33 4.33 0 0 0-.472 2.144 56 56 0 0 0 2.672 15.528h4.564a54 54 0 0 0-2.68-16.26M149.08 126.153c-.636-2.548-2.532-3.92-4.736-4.048-2 .352-2.8 2.332-3.032 4.36s.4 4.048 1.012 6a27319 27319 0 0 0 6 18.74l5.664-.62c-1.8-8.372-2.832-16.128-4.908-24.432\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M154.976 131.027q-.223.308-.4.644a4.26 4.26 0 0 0-.212 2c.088.868.188 1.908.332 3.052s.352 2.4.608 3.704c.516 2.612 1.096 4.96 1.464 6.672.188.852.328 1.548.4 2.028.036.22.068.4.096.556q.021.097.02.196a.8.8 0 0 1-.064-.188l-.132-.548-.48-2c-.4-1.7-1.008-4.044-1.524-6.664a53 53 0 0 1-.596-3.72c-.072-.576-.12-1.124-.168-1.636s-.096-.988-.12-1.428a4.14 4.14 0 0 1 .288-2.056c.117-.236.283-.445.488-.612M144.424 121.945a7.6 7.6 0 0 0-.684.916 6.5 6.5 0 0 0-.864 2.964 13.7 13.7 0 0 0 .704 4.576c.496 1.684 1.04 3.536 1.6 5.476 1.128 3.88 2.148 7.396 2.896 9.964l.856 3.024.224.828q.043.145.064.292a1.6 1.6 0 0 1-.104-.28c-.068-.208-.152-.476-.26-.8l-.92-3.008c-.764-2.564-1.804-6.072-2.956-9.944l-1.6-5.484a13.6 13.6 0 0 1-.66-4.62 6.33 6.33 0 0 1 .94-2.996c.199-.345.458-.653.764-.908M152.744 149.979a1.3 1.3 0 0 1-.128-.272c-.076-.18-.196-.444-.324-.8a33 33 0 0 1-.972-3.008 64 64 0 0 1-1.056-4.564c-.34-1.728-.688-3.636-1.068-5.636s-.832-3.88-1.34-5.56a30.5 30.5 0 0 0-1.652-4.364 23 23 0 0 0-1.524-2.752c-.196-.316-.372-.548-.48-.712a1.5 1.5 0 0 1-.156-.256q.107.108.192.232c.116.156.304.38.508.692a20 20 0 0 1 1.6 2.732 29 29 0 0 1 1.704 4.372 56 56 0 0 1 1.36 5.576c.376 2 .728 3.904 1.052 5.636s.668 3.28 1.008 4.568.664 2.316.908 3.016c.116.356.224.624.288.8q.056.145.08.3M142.424 131.524c0 .056-.292.18-.688.276s-.724.128-.736.072.296-.18.688-.276.724-.128.736-.072M141.824 127.66a3 3 0 0 1-.956.104 2.9 2.9 0 0 1-.96-.028c.297-.139.625-.201.952-.18a1.93 1.93 0 0 1 .964.104M142.464 124.128c-.04.044-.344-.156-.688-.444s-.588-.56-.552-.604.344.156.688.444.588.56.552.604M144.192 120.86c.056 0 .04.288.032.624s0 .608-.068.616-.152-.268-.14-.624.12-.628.176-.616M147.72 122.401c.048.036-.092.312-.308.624s-.432.536-.48.504.092-.312.308-.624.432-.536.48-.504M150.012 126.402c.02.056-.272.224-.656.38s-.712.24-.732.188.272-.224.652-.38.712-.26.736-.188M151.4 130.477a1.7 1.7 0 0 1-.896.4 1.73 1.73 0 0 1-.98.032c.299-.12.613-.199.932-.236.305-.106.623-.172.944-.196\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M145.02 129.314c-.056 0 0-.3.088-.632s.236-.584.288-.568 0 .3-.088.632-.232.588-.288.568M145.912 134.454c-.056-.02.06-.4.256-.848s.4-.8.444-.768-.06.4-.256.848-.392.792-.444.768M143.7 135.862c-.024.056-.38-.044-.8-.18s-.8-.26-.772-.316c.285-.039.574.002.836.12.44.136.768.324.736.376M144.98 140.053c.032.048-.208.276-.544.516s-.628.4-.66.344.208-.276.54-.516.628-.396.664-.344M145.996 144.235c0 .056-.288.176-.672.268s-.704.124-.716.068.284-.176.668-.268.708-.124.72-.068M151.512 133.969c.032.048-.228.252-.6.4s-.7.156-.712.1.284-.16.64-.296.644-.256.672-.204M152.3 140.468c-.024.052-.328-.04-.68-.204s-.62-.344-.596-.4.332.04.684.204.616.332.592.4M153.7 145.121a4.2 4.2 0 0 1-1.728-.676c.315.013.624.095.904.24.468.188.824.384.824.436M146.22 148.767c-.028-.052.34-.3.772-.64q.364-.348.8-.6c.044.04-.228.4-.676.764a1.8 1.8 0 0 1-.896.476M149.896 146.402c-.056 0-.136-.308-.28-.668s-.288-.652-.24-.684.284.216.436.608.14.744.084.744M148.924 140.8c-.036.048-.272-.068-.532-.252s-.444-.376-.4-.424.268.068.528.256.436.376.404.42M157.496 132.037c.036.048-.196.276-.516.512s-.608.4-.64.34.196-.272.516-.508.608-.38.64-.344M158.788 135.569c0 .056-.356.132-.8.084s-.8-.2-.768-.252.364 0 .8.044c.261-.001.521.041.768.124M153.236 136.362c0 .056-.324.176-.76.204s-.78-.044-.776-.1.348-.08.764-.108.76-.052.772.004M153.7 133.023c0 .056-.344.064-.716-.108s-.584-.432-.544-.472.292.132.632.284.648.236.628.296M159.268 139.362c-.032.052-.38-.112-.776-.364s-.696-.492-.664-.54.376.112.772.364.7.492.668.54\"\r\n ></path>\r\n <path fill=\"#0B89CE\" d=\"M172.82 149.277h-29.636v5.252h29.636z\"></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M145.396 153.488 149 169.184h17.664l3.944-15.696z\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M172.804 154.538c0 .056-6.684.104-14.928.104s-14.932-.048-14.932-.104 6.684-.104 14.932-.104 14.928.044 14.928.104M156.324 136.479c-.052.032-.252-.204-.456-.528s-.324-.608-.272-.636.248.204.452.528.324.604.276.636M156.332 140.704c-.013-.275.04-.549.156-.8.14-.42.3-.748.352-.732s0 .376-.156.8-.296.748-.352.732M157.78 145.142c-.052.024-.272-.332-.496-.8a2.2 2.2 0 0 1-.304-.884c.052-.024.272.332.492.8.167.268.272.57.308.884M154.648 148.709c-.04-.036.136-.312.4-.612s.508-.516.552-.48-.132.312-.4.616-.508.512-.552.476M153.992 142.229c0 .056-.296.052-.636 0s-.612-.156-.6-.212.296-.052.636 0 .612.156.6.212\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"m114.388 163.91 9.876 9.016s12.56-7.016 14.468-5.524l-16.78 19-15.328-13.408z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M118.5 177.653a1.04 1.04 0 0 0 .4 1.316 1 1 0 0 0 1.312-.4 1.09 1.09 0 0 0-.444-1.392c-.468-.192-1.2.068-1.316.564\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"m121.952 186.4-1.492-1.412 16.648-17.672s1.116-.52 1.624.104zM124.676 172.45c.088.084-.28.588-.4 1.308s.068 1.304-.044 1.356-.524-.556-.38-1.424.756-1.336.824-1.24M127.26 170.854c.108.06-.092.6.024 1.26s.448 1.12.36 1.2-.66-.316-.8-1.14.324-1.396.416-1.32M130.64 171.828c-.052.1-.632-.18-.928-.864s-.116-1.3 0-1.272.144.536.4 1.096.6.94.528 1.04\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M102.312 173.572c-.724-.6-1.7-.776-2.632-.932.708-5.048-2.8-9.656-6.476-13.2-4.592-4.46-9.896-8.4-16.048-10.192-5.556-1.6-11.456-1.324-17.232-1.032l-23.688 1.2c-8.08 2.828-14.896 11.2-16.308 19.652a2.775 2.775 0 0 0-4 .44 2.957 2.957 0 0 0 .868 4.02 3.16 3.16 0 0 0 4.088-.844 51.3 51.3 0 0 0 36.068 5.568c3.804-.828 7.512-2.092 11.336-2.824a83 83 0 0 1 8.588-1.028l16.272-1.384 6.36 3.032c1.06.504 2.5.94 3.26.044.608-.74.272-1.916-.456-2.52\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M83.648 170.713a1 1 0 0 1-.152.024l-.46.056-1.76.184c-.76.096-1.692.232-2.772.4s-2.304.376-3.652.652c-2.7.516-5.888 1.248-9.436 2.048s-7.46 1.652-11.628 2.2c-3.92.531-7.888.597-11.824.196a53.6 53.6 0 0 1-9.44-2.072 87 87 0 0 1-6.144-2.168 88 88 0 0 1-1.644-.66l-.424-.18a.7.7 0 0 1-.14-.068q.076.016.148.048l.432.16 1.656.624c1.444.536 3.532 1.304 6.16 2.1a54 54 0 0 0 9.42 2 50.5 50.5 0 0 0 11.776-.212c4.152-.544 8.06-1.396 11.6-2.176s6.748-1.512 9.452-2c1.352-.268 2.584-.444 3.66-.62s2-.268 2.8-.352l1.764-.148.46-.032a.7.7 0 0 1 .148-.004\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M43.104 179.152c-.02 0-.136-.124-.224-.4a1.866 1.866 0 0 1 .628-2.02c.228-.176.4-.224.4-.204s-.128.124-.316.312a2.09 2.09 0 0 0-.58 1.876c.056.264.12.424.092.436M41.08 178.071a1.14 1.14 0 0 1 .036-1.048c.244-.572.728-.8.744-.74s-.344.32-.556.824q-.15.473-.224.964M34.28 161.434c.04 0-.344.712-.736 1.92a10 10 0 0 0-.284.996c-.1.36-.164.756-.24 1.168a14.6 14.6 0 0 0 .156 5.412c.1.4.188.8.308 1.152s.224.684.336.98c.468 1.2.888 1.852.848 1.876a3 3 0 0 1-.304-.468 5 5 0 0 1-.312-.572c-.112-.228-.252-.484-.368-.8a10 10 0 0 1-.364-.98c-.132-.356-.224-.748-.332-1.16a13.9 13.9 0 0 1-.156-5.488c.084-.4.152-.8.26-1.176s.204-.7.312-1.004.22-.568.316-.8q.124-.304.284-.588.115-.248.276-.468M43.376 160.274a7 7 0 0 0-1.816.856c-.52.424-.978.921-1.356 1.476.035-.202.116-.394.236-.56a3.83 3.83 0 0 1 2.328-1.712c.195-.068.404-.088.608-.06M44.548 170.137a1.6 1.6 0 0 1-.176-.364 3 3 0 0 1-.16-.448 6 6 0 0 1-.168-.608 8.3 8.3 0 0 1-.2-1.628 9.4 9.4 0 0 1 .184-2 9.5 9.5 0 0 1 .636-1.908q.35-.746.84-1.408.187-.255.4-.488.153-.183.328-.344c.188-.18.296-.276.308-.264s-.4.424-.912 1.18a9 9 0 0 0-.8 1.404 9.2 9.2 0 0 0-.648 5.428c.184.912.408 1.432.368 1.448M20.92 168.575c.056-.02.272.504.7 1.04s.888.872.852.924a2.75 2.75 0 0 1-1.552-1.964M75.952 174.4c0-.032.168-.096.4-.288.288-.243.477-.583.532-.956a1.58 1.58 0 0 0-.272-1.06c-.164-.244-.324-.352-.304-.38s.204.048.4.288a1.54 1.54 0 0 1 .364 1.176 1.51 1.51 0 0 1-.652 1.048c-.26.172-.464.2-.468.172M79.62 173.71a6 6 0 0 0-.168-1.128 6 6 0 0 0-.552-.98 1.41 1.41 0 0 1 .752.932 1.38 1.38 0 0 1-.032 1.176M72.26 155.852q.238.25.432.536.251.316.456.664.296.446.536.924.139.264.284.552c.096.192.176.4.268.62q.29.686.508 1.4a16.6 16.6 0 0 1 .612 3.356 16.4 16.4 0 0 1-.156 3.404q-.117.738-.312 1.46c-.064.224-.112.444-.18.648s-.14.4-.208.588q-.174.504-.4.988a6 6 0 0 1-.364.72q-.151.31-.356.588c-.044-.024.476-.86.988-2.344q.096-.28.192-.588c.068-.204.112-.424.168-.644.128-.444.2-.932.292-1.444.155-1.115.2-2.241.136-3.364a17 17 0 0 0-.588-3.312c-.16-.492-.296-.968-.484-1.392-.088-.212-.16-.424-.252-.616l-.268-.552c-.72-1.404-1.348-2.164-1.304-2.192\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M26.072 172.002c0 .032-.128.124-.312.316a2.16 2.16 0 0 0-.544 1.908c.056.26.132.4.1.432s-.144-.12-.244-.4a1.87 1.87 0 0 1 0-1.12c.1-.367.311-.694.604-.936.212-.18.388-.224.396-.2M32.26 151.355s-.048.064-.148.172l-.46.472a12 12 0 0 0-.712.728c-.264.296-.588.616-.896 1.008-.156.196-.324.4-.496.604s-.332.448-.508.684c-.356.464-.688 1-1.044 1.552a24.1 24.1 0 0 0-3.128 7.948c-.116.652-.236 1.268-.292 1.852-.032.292-.076.572-.092.844l-.048.8c-.044.496-.028.948-.032 1.344q-.015.512.024 1.02c0 .26 0 .472.028.644q.01.115 0 .228a1 1 0 0 1-.04-.224c0-.168-.04-.4-.064-.644a9 9 0 0 1-.06-1.02c0-.4-.032-.852 0-1.356 0-.252.024-.516.036-.8s.052-.556.08-.852c.048-.592.164-1.2.276-1.868a23.4 23.4 0 0 1 3.152-8c.364-.556.704-1.092 1.072-1.556.18-.232.34-.468.516-.68l.516-.6c.316-.4.644-.704.92-.992a10 10 0 0 1 .74-.708l.5-.46q.074-.077.16-.14M46.552 148.996q-.126.09-.264.16c-.172.104-.444.228-.764.436a16 16 0 0 0-2.584 1.94 18.2 18.2 0 0 0-3.044 3.668 21 21 0 0 0-2.376 5.348 29.1 29.1 0 0 0-.8 10.596c.132 1.364.3 2.46.428 3.2l.144.872q.034.15.04.304a1.5 1.5 0 0 1-.08-.296c-.044-.2-.116-.488-.184-.864a38 38 0 0 1-.492-3.2 32 32 0 0 1-.176-4.824c.074-1.976.377-3.938.904-5.844a20.5 20.5 0 0 1 2.4-5.392 17.6 17.6 0 0 1 3.112-3.692 14.6 14.6 0 0 1 2.64-1.904c.328-.196.608-.308.8-.4a2 2 0 0 1 .296-.108M32.856 174.509c.024.024-.112.164-.264.424a2.5 2.5 0 0 0-.328 1.112c-.017.393.055.784.212 1.144.124.272.248.424.22.448s-.18-.104-.348-.38a2.2 2.2 0 0 1-.292-1.22c.014-.43.153-.847.4-1.2.212-.244.388-.344.4-.328M49.14 179.299c0 .024-.2.032-.484-.1a1.573 1.573 0 0 1-.764-2.08c.132-.288.288-.4.308-.4q-.075.226-.172.444a1.72 1.72 0 0 0 0 1.072c.133.343.375.634.688.828.252.16.432.204.424.236M56.54 148.094c.056 0-.26 6.224-.712 13.896s-.86 13.884-.916 13.884.26-6.224.708-13.896.88-13.888.92-13.884M64.632 176.352c-.06 0-.088-.525-.312-1.117s-.536-1.011-.488-1.047c.334.236.575.581.684.976.177.37.218.79.116 1.188M66.136 148.836s.08.048.216.156.336.26.576.484q1.043.926 1.932 2a19.49 19.49 0 0 1 3.976 17.252c-.221.9-.51 1.783-.864 2.64-.12.304-.236.532-.308.688a1 1 0 0 1-.124.232q.03-.128.084-.248c.06-.164.164-.4.272-.7q.489-1.296.8-2.644a19.86 19.86 0 0 0-3.944-17.124 21 21 0 0 0-1.872-2.028c-.232-.232-.428-.4-.552-.512a1.6 1.6 0 0 1-.192-.196M84.1 173.731a15 15 0 0 0-.592-1.6 14 14 0 0 0-.948-1.404 3.68 3.68 0 0 1 1.54 2.992zM92.1 168.801s.236.092.5.4a2.84 2.84 0 0 1 .496 2.896c-.152.364-.324.544-.344.528s.096-.22.204-.576c.14-.464.17-.955.088-1.432a3.2 3.2 0 0 0-.556-1.324c-.216-.3-.388-.452-.388-.492M87.065 154.602q.131.253.207.528c.128.344.284.848.456 1.48a27.8 27.8 0 0 1 .8 10.14 21 21 0 0 1-.216 1.532 2.7 2.7 0 0 1-.127.556 3.4 3.4 0 0 1 .043-.564c.049-.364.1-.888.157-1.536a31.8 31.8 0 0 0-.8-10.092 23 23 0 0 0-.4-1.492 3.4 3.4 0 0 1-.12-.552\"\r\n ></path>\r\n <path\r\n fill=\"#000\"\r\n d=\"M88.16 152.861c-15.224-10.488-39.02-10.06-55.26-1.904-.368 4.872 2.996 9.776 7.676 11.18 3.6 1.076 7.744.308 10.9 2.324 1.964 1.252 3.316 3.468 5.532 4.184 2.152.696 4.512-.256 6.34-1.6s3.368-3.06 5.308-4.232c4.684-2.844 10.604-1.948 16.076-1.6 2.68.176 6.14-.36 6.748-2.98.5-2.176-1.472-4.1-3.32-5.372\"\r\n opacity=\"0.3\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"m86.952 112.723 2.4 10 4.748 4.632-7.744 1.6s-5.476-.648-6.464-2-2.4-12.108-2.4-12.108z\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"m69.064 84.034 8.032 2.844.312 38s-11.456 10-12.148 9.912-28.456 8.712-29.2 10.344c0 0-3.432-.528-3.432-2.564 0-3.344 3.2-5.24 3.2-5.24.504-3.756 3.696-8.132 3.696-8.352 0-1.56-1.472-11.352-1.472-11.352S37.9 93.07 42.808 87.894c6.092-6.44 26.256-3.86 26.256-3.86\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M89.34 112.034s-6.964-25.06-12.888-25.272l.652 29.952s10.596-1.824 12.236-4.68\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"m102.9 114.213 1.532-2.228a.7.7 0 0 1 .176-.192.55.55 0 0 1 .32-.068 4.4 4.4 0 0 1 1.972.676l1.628.86a.4.4 0 0 1 .128.088.32.32 0 0 1-.076.444.9.9 0 0 1-.472.148c-1.632.204-3.276.34-4.92.4-.108 0-.248 0-.28-.116\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"m112.72 114.332-10.888 10.964-23.528 5.356L84.772 118a3.23 3.23 0 0 1 2.436-1.736c4.776-.644 18.54-2.516 24.66-3.532a.96.96 0 0 1 1.002.493.96.96 0 0 1-.15 1.107\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M112.72 114.332s.048-.056.12-.18a.9.9 0 0 0 .108-.604.94.94 0 0 0-.608-.748 1.1 1.1 0 0 0-.636 0l-.744.124c-2.104.352-5.152.8-8.92 1.364s-8.26 1.2-13.252 1.864c-.616.092-1.268.156-1.88.276a3.08 3.08 0 0 0-1.6.96c-.213.24-.39.51-.528.8l-.456.892-.924 1.812c-1.248 2.44-2.54 4.968-3.86 7.556l-1.148 2.24-.116-.148 23.532-5.332-.04.02 7.98-8c.944-.94 1.68-1.672 2.192-2.176l.56-.532c.132-.128.204-.188.204-.188s-.06.072-.184.204l-.56.58-2.16 2.208-7.928 8.028h-.024l-23.52 5.376-.228.072.1-.2q.566-1.105 1.144-2.24l3.876-7.56c.312-.608.624-1.2.928-1.812l.46-.892a3.316 3.316 0 0 1 2.256-1.872c.652-.124 1.272-.18 1.9-.272l13.256-1.82c3.772-.532 6.82-.972 8.924-1.3l.748-.116c.22-.06.452-.053.668.02a.98.98 0 0 1 .628.8.9.9 0 0 1-.132.62.7.7 0 0 1-.136.176\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M95.024 121.883c.068.496.8.8 1.6.704s1.44-.6 1.376-1.096-.8-.8-1.6-.704-1.44.596-1.376 1.096\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M96.32 122.622c-.692 0-1.248-.3-1.304-.736a.8.8 0 0 1 .356-.704c.301-.222.656-.36 1.028-.4.37-.057.749-.013 1.096.128a.694.694 0 0 1 .172 1.288 2.13 2.13 0 0 1-1.028.4 2 2 0 0 1-.32.024m.4-1.844q-.162 0-.324.02a2.07 2.07 0 0 0-1.016.4.76.76 0 0 0-.352.684c.064.492.8.8 1.6.696.37-.039.722-.178 1.02-.4a.68.68 0 0 0 .345-.686.68.68 0 0 0-.513-.57 1.9 1.9 0 0 0-.752-.144z\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M85.336 119.973q.026-.147.088-.284c.072-.184.18-.452.344-.8.192-.415.449-.797.76-1.132.4-.4 1.04-.52 1.684-.628 2.616-.448 6.228-1.076 10.236-1.68l2.92-.448c.948-.12 1.864-.212 2.736-.312l4.636-.508c1.312-.148 2.36-.4 3.096-.508.364-.06.652-.096.848-.116q.149-.012.296 0a1.5 1.5 0 0 1-.292.056 30 30 0 0 0-.84.156c-.728.132-1.768.4-3.092.572l-4.628.552c-.872.104-1.784.204-2.732.324l-2.92.456c-4 .604-7.6 1.2-10.24 1.6a3.06 3.06 0 0 0-1.632.568 4.5 4.5 0 0 0-.764 1.084 11 11 0 0 0-.376.768 2 2 0 0 1-.128.28\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M73.332 121.495s4.336-2.684 5.736-3.244 4-.28 4.6-.84l2-1.852s1.12 1.176.4 2.244-3.476 2.464-3.476 2.464l9.644-.64s.728.528.336 1.144c0 0 .68.732.116 1.46s-7.42 6.54-9.572 6.716-8.38-.968-8.38-.968zM51.7 117.422l.8 8.552s17.808-3.288 20.8-4.48l1.412 6.484s-23.728 11.148-29.092 10.8-7.028-20.776-7.028-20.776z\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M82.377 122.402q.779.034 1.552.148a11 11 0 0 0 3.707-.132 16 16 0 0 0 1.937-.684l1.58-.612q.668-.26 1.067-.4.194-.082.4-.12-.172.124-.371.196c-.245.112-.605.268-1.048.456l-1.56.656q-.957.421-1.96.708a10.1 10.1 0 0 1-3.776.072c-.477-.064-.86-.132-1.124-.188a1.4 1.4 0 0 1-.405-.1M83.452 125.547c0-.04.604.032 1.568 0a5.3 5.3 0 0 0 1.652-.292 10.6 10.6 0 0 0 1.856-.912c.636-.376 1.24-.756 1.82-1.048s1.1-.532 1.516-.776c.45-.264.86-.588 1.22-.964a1.1 1.1 0 0 1-.244.352 4.4 4.4 0 0 1-.9.736c-.4.268-.94.524-1.504.82s-1.16.68-1.804 1.06a9.6 9.6 0 0 1-1.9.912 5 5 0 0 1-1.708.26 9 9 0 0 1-1.156-.088 1.8 1.8 0 0 1-.416-.06M79.204 122.176c-.024 0-.112-.112-.148-.348a1.7 1.7 0 0 1 .14-.896c.128-.273.3-.522.512-.736.156-.16.272-.244.292-.224s-.336.456-.612 1.048a2 2 0 0 0-.184.8c-.004.212.028.348 0 .356M79.88 124.867c0 .024-.104 0-.212-.084a.91.91 0 0 1-.264-1c.052-.128.12-.188.14-.176s-.06.32.036.664.328.532.3.596\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M74.744 127.978h.108l.316.048 1.2.188c1.064.156 2.604.4 4.544.584.484.036.996.08 1.524.084h.4q.204.007.4-.04.415-.083.8-.256a20 20 0 0 0 3.148-1.932 61 61 0 0 0 3.272-2.544c.552-.468 1.12-.944 1.668-1.452.26-.268.58-.5.656-.84a1.12 1.12 0 0 0-.284-.976l-.052-.06.04-.064a.58.58 0 0 0 .06-.528 1.16 1.16 0 0 0-.368-.48l.064.02-3.64.24-6 .4-.472.032.4-.224a16.4 16.4 0 0 0 2.916-1.872q.312-.26.548-.592a1.24 1.24 0 0 0 .208-.724 2.3 2.3 0 0 0-.608-1.364h.128l-1.14 1.04-.552.5c-.17.185-.37.34-.592.46-.453.146-.924.23-1.4.248-.452.04-.892.068-1.316.108a8.6 8.6 0 0 0-1.2.196 5.3 5.3 0 0 0-1.06.4c-.66.332-1.256.664-1.792.964a142 142 0 0 0-2.472 1.432l-.652.38-.168.096-.06.028.052-.044.16-.104.636-.4c.564-.348 1.388-.856 2.452-1.476a41 41 0 0 1 1.784-.984 5.2 5.2 0 0 1 1.084-.436 8 8 0 0 1 1.232-.208c.428-.048.868-.076 1.32-.116.457-.022.91-.106 1.344-.248.205-.112.389-.258.544-.432l.548-.504 1.136-1.044.068-.064.06.068c.384.406.618.931.664 1.488.008.295-.074.585-.236.832q-.247.357-.58.636a16.4 16.4 0 0 1-2.952 1.904l-.052-.192 6-.4 3.64-.24h.04l.028.02c.198.148.351.347.444.576a.8.8 0 0 1-.084.708v-.124a1.31 1.31 0 0 1 .336 1.164 1.17 1.17 0 0 1-.312.532c-.132.148-.272.268-.4.4-.556.516-1.124.992-1.68 1.456a59 59 0 0 1-3.292 2.54 20 20 0 0 1-3.2 1.932q-.398.182-.828.264a2 2 0 0 1-.4.04h-.4c-.54 0-1.048-.052-1.536-.096-1.944-.2-3.484-.468-4.544-.644l-1.2-.224-.312-.064zM109.904 117.172c-2.42.928-5.392 1.856-7.812 2.608a1.9 1.9 0 0 0-.876.452.665.665 0 0 0-.056.896.97.97 0 0 0 .756.156l1.78-.124a13 13 0 0 0-3.804 1.824c-.308.216-.636.504-.628.88a.83.83 0 0 0 .676.712c.349.053.706.028 1.044-.072q3.3-.732 6.568-1.628a1.94 1.94 0 0 0 1.436-1.12l1.012-1.6a2.7 2.7 0 0 0 .484-1.116 2.28 2.28 0 0 0-.58-1.852\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"m52.388 104.126-7.2-17.364-.164-.528c-.632.38-6.6 4.096-7.82 10.4s-.8 21.312-.8 21.312l16.12-.52z\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M36.84 99a.4.4 0 0 1 0 .096c0 .072 0 .16-.032.272-.028.24-.084.596-.132 1.056a62 62 0 0 0-.288 3.96c-.14 3.376-.136 8.124.112 13.552l-.1-.096c1.756 0 3.6 0 5.516-.036 3.932-.088 7.648-.3 10.88-.56l-.088.088c.188-4.032-.204-7.42-.336-9.804a75 75 0 0 1-.132-2.776v-.736a2 2 0 0 1 0-.252q.02.125.024.252 0 .271.036.732c.036.644.092 1.6.184 2.772.16 2.376.58 5.768.4 9.82v.084h-.08c-3.236.276-6.952.496-10.892.584-1.908.044-3.764.052-5.524.032h-.096v-.096c-.24-5.44-.212-10.188-.036-13.572.084-1.692.228-3.036.344-3.96.06-.46.128-.8.168-1.052 0-.112.036-.2.048-.272A.3.3 0 0 1 36.84 99M45.996 86.691q.209.04.4.128.23.084.448.196.293.135.568.3.732.424 1.376.968c1.053.895 1.907 2 2.508 3.244a9.4 9.4 0 0 1 .736 2.204q.056.238.076.48.038.199.028.4c-.04 0-.112-.584-.4-1.484a10.6 10.6 0 0 0-.62-1.532q-.463-.9-1.076-1.708a11 11 0 0 0-1.384-1.472 10 10 0 0 0-1.328-.988c-.8-.484-1.348-.7-1.332-.736M75.912 95.457s.052.06.124.192.188.32.316.572q.548 1.074.972 2.2a28 28 0 0 1 1.736 7.728 19.5 19.5 0 0 1-.16 4.372 31 31 0 0 1-.84 3.48 50 50 0 0 0-.596 2.324l-.148.636a1 1 0 0 1-.064.22.8.8 0 0 1 .024-.228c.024-.148.052-.368.108-.644.1-.56.28-1.364.536-2.344q.48-1.713.78-3.464c.206-1.433.257-2.884.152-4.328a29.6 29.6 0 0 0-1.664-7.692 28 28 0 0 0-.908-2.216c-.112-.24-.208-.436-.28-.588a1 1 0 0 1-.088-.22M70.42 106q.062.26.068.528c0 .172.032.38.032.628v.828a13 13 0 0 1-.288 2.148 15.3 15.3 0 0 1-.8 2.524q-.539 1.217-1.284 2.32-.616.895-1.372 1.676a8 8 0 0 1-.596.58 6 6 0 0 1-.476.4q-.201.178-.436.312c-.028-.032.58-.496 1.4-1.396q.721-.793 1.32-1.684.72-1.097 1.252-2.296c.333-.805.6-1.636.8-2.484q.244-1.044.328-2.112c.084-1.2.008-1.972.052-1.972\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M52.436 117.379s-.068-.04-.184-.136l-.5-.42a69 69 0 0 1-1.804-1.6 202 202 0 0 1-5.784-5.42 193 193 0 0 1-5.56-5.648c-.696-.74-1.252-1.34-1.632-1.764l-.432-.488a1 1 0 0 1-.14-.18q.094.066.172.152l.46.46 1.68 1.72a333 333 0 0 0 5.6 5.6 341 341 0 0 0 5.736 5.456l1.76 1.636.472.448q.088.083.156.184M78.308 88.145c.04.04-5.7 5.404-12.8 11.972s-12.932 11.884-12.972 11.82 5.696-5.4 12.8-11.972S78.272 88.1 78.308 88.145M89.028 110.402a2 2 0 0 1-.428-.168c-.272-.12-.66-.3-1.136-.532a74 74 0 0 1-3.672-1.912 78 78 0 0 1-3.568-2.1c-.448-.284-.8-.516-1.056-.684a1.8 1.8 0 0 1-.368-.276q.211.083.4.208l1.088.624a190 190 0 0 0 7.236 4.008l1.108.592q.214.095.396.24\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M57.5 47.845c-1.556-.988-1.932-3.276-1.088-4.912s2.628-2.632 4.448-2.928a8.48 8.48 0 0 1 7.304 2.4c1 1.036 1.816 2.4 3.176 2.856 1.2.4 2.52.04 3.776.204 1.68.216 3.124 1.412 4 2.876s1.22 3.164 1.42 4.852c.18 1.548.3 3.244 1.376 4.372s2.7 1.336 4 2.12c2.452 1.472 3.244 5.124 1.628 7.48-.516.752-1.256 1.44-1.316 2.352-.052.828.484 1.568.736 2.36.644 2.044-1.028 4.468-3.164 4.592-1.08.064-2.236-.36-3.2.124s-1.32 1.64-1.936 2.52a4.62 4.62 0 0 1-5.636 1.456c-.8-.4-1.544-1.032-2.428-.972s-1.572.8-2.44.976c-1.132.22-2.212-.616-2.884-1.552s-1.144-2.044-2-2.8c-1.132-1.004-2.72-1.252-4.152-1.748a11.7 11.7 0 0 1-6.608-16.4\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M73.948 68.175a3.2 3.2 0 0 1 1.264-.832h-.096q.132-.033.268-.048a1.26 1.26 0 0 1 .988.124c.55.196 1.007.594 1.276 1.112a2.76 2.76 0 0 1-.328 2.844 2.108 2.108 0 0 1-3.872-.724 2.62 2.62 0 0 1 .5-2.476\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M75.392 56.965c-.4-4.38-3.46-9.684-7.824-9.1l-13.56 3.84A2.58 2.58 0 0 0 51.78 54.4l1.472 29.524 14.964 10.724c-.044-2.66.964-14.764.964-14.74s5.6-1.088 6.536-8.44c.476-3.676.124-9.636-.324-14.504\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M74.692 63.2a.936.936 0 0 1-.88.972.897.897 0 0 1-.992-.8.935.935 0 0 1 .88-.972.896.896 0 0 1 .992.8M74.188 60.105c-.116.128-.84-.38-1.848-.348s-1.736.556-1.852.436c-.052-.052.06-.276.376-.52.427-.317.941-.493 1.472-.504a2.48 2.48 0 0 1 1.476.432c.32.228.432.448.376.504M64.972 63.2a.936.936 0 0 1-.876.972.897.897 0 0 1-.992-.8.936.936 0 0 1 .876-.972.896.896 0 0 1 .992.8M64.268 60.578c-.116.124-.84-.38-1.852-.348s-1.736.556-1.848.436c-.056-.056.056-.28.372-.524.43-.313.945-.488 1.476-.5a2.46 2.46 0 0 1 1.476.432c.316.228.428.448.376.504M68.144 67.96c0-.057.616-.185 1.632-.345.256-.032.5-.092.536-.268a1.3 1.3 0 0 0-.192-.76q-.4-.924-.82-1.94c-1.136-2.768-1.968-5.044-1.856-5.088s1.124 2.16 2.264 4.924c.272.684.536 1.332.8 1.956.173.306.23.663.164 1.008a.64.64 0 0 1-.4.4q-.215.066-.44.076c-1.048.076-1.684.076-1.688.036\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M69.18 79.89a18.6 18.6 0 0 1-9.88-2.335s2.52 4.96 9.824 4.068zM68.064 70.365a2.5 2.5 0 0 0-2.08-1.028 1.63 1.63 0 0 0-1.308.764 1.57 1.57 0 0 0 .072 1.628 1.545 1.545 0 0 0 1.656.544 3.65 3.65 0 0 0 1.46-.96c.132-.109.237-.246.308-.4a.51.51 0 0 0-.052-.512\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M65.192 68.746c.164 0 .196 1.08 1.156 1.832s2.124.596 2.136.752c0 .068-.252.22-.744.248a2.75 2.75 0 0 1-1.784-.568 2.4 2.4 0 0 1-.9-1.536c-.056-.46.06-.732.136-.728M64.596 56.402c-.092.28-1.104.176-2.288.352s-2.128.528-2.292.288c-.072-.116.084-.4.464-.656a4 4 0 0 1 3.488-.488c.44.168.664.376.628.504M73.732 56.64c-.172.232-.872 0-1.708.028s-1.544.196-1.712-.036c-.076-.116.032-.348.332-.576a2.49 2.49 0 0 1 2.756 0c.3.236.408.468.332.584\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M80.324 55.428a5.04 5.04 0 0 0-1.928-2.772 17 17 0 0 1-1.628-.948c-1.06-.852-1.304-2.336-1.956-3.528a5.54 5.54 0 0 0-4.212-2.8c-1.448-.148-2.944.288-4.356-.068-1.044-.264-1.956-.94-3.016-1.144-2.06-.4-3.976 1.088-5.472 2.56 0 1.476 1.172 2.464 2.3 3.412a5.13 5.13 0 0 0 4.144 1.092c1.128-.204 2.36-.776 3.336-.176s1.068 2.176 1.976 2.968c1.3 1.128 3.368.068 5.016.556 1.272.38 2.068 1.6 2.916 2.62s2.112 2 3.388 1.62a15 15 0 0 0-.508-3.392\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M64.848 49.202c-.924-.268-2.8-.864-3.308-1.664-1.076-1.744-2.976-2.932-4.916-2.824a4.66 4.66 0 0 0-4.196 3.688 6.7 6.7 0 0 0-5.76 3.708 7 7 0 0 0-.368.86 5.1 5.1 0 0 0-.34 4.28c.32.836.864 1.764.436 2.548s-1.544.824-2.4 1.12a3.39 3.39 0 0 0-2.132 3.78c.12.556.4 1.112.268 1.668s-.612.988-.996 1.44a4.218 4.218 0 0 0 2.472 6.86c.66.116 1.372.092 1.94.44.652.4.936 1.2 1.4 1.8a3.64 3.64 0 0 0 3.936 1.232c.284-.095.554-.23.8-.4.44.608 1.132 1.024 2.312 1.024l-.296-15.44a1.27 1.27 0 0 0 .932.736c2.476.56 2.84-4.544 2.288-5.928a14.4 14.4 0 0 0 2.484-2.612c.684-1.012 1.284-3.764 1.14-5.008.908.052 4.712-1.2 4.304-1.308\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M54.396 64.577c-.076-1.568-2-1.904-3.356-1.116-.748.432-1.316 1.296-1.248 2.964.184 4.44 4.6 3.34 4.604 3.2s.104-3.224 0-5.048\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M52.972 68c-.02 0-.076.06-.204.123a.8.8 0 0 1-.58.036c-.476-.152-.9-.88-.956-1.68-.026-.38.033-.76.172-1.116a.9.9 0 0 1 .556-.62.4.4 0 0 1 .468.196c.064.12.04.208.064.216s.092-.076.048-.26a.52.52 0 0 0-.188-.272.6.6 0 0 0-.432-.096 1.1 1.1 0 0 0-.8.724c-.172.393-.246.82-.216 1.248.064.892.56 1.712 1.2 1.872a.83.83 0 0 0 .704-.148c.16-.108.18-.224.164-.224\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M58.736 48c-.346.18-.649.432-.888.74-.436.604-.604 1.764-.324 3.072l.024.112-.112.028a4.3 4.3 0 0 0-2.86 2.52c-.134.345-.21.71-.228 1.08q.014.596.14 1.176.13.627.168 1.264c.03.463-.094.922-.352 1.308-.552.84-1.44 1.256-2.204 1.656a7.5 7.5 0 0 0-2.06 1.348 5.56 5.56 0 0 0-1.66 3.72c-.032.949.17 1.891.588 2.744.292.608.54.896.516.916a1.1 1.1 0 0 1-.188-.2 4.6 4.6 0 0 1-.436-.684 5.6 5.6 0 0 1-.7-2.8 5.7 5.7 0 0 1 1.676-3.92 7.6 7.6 0 0 1 2.124-1.416c.764-.4 1.6-.8 2.08-1.556.492-.672.272-1.552.144-2.348a6.6 6.6 0 0 1-.136-1.232c.016-.412.104-.818.26-1.2a4.5 4.5 0 0 1 3.076-2.64l-.088.14c-.26-1.368-.052-2.568.448-3.2.184-.24.423-.434.696-.564q.144-.053.296-.064M51.3 69.671c.348-.375.782-.66 1.264-.832h-.1q.134-.032.272-.048a1.26 1.26 0 0 1 .988.124A2.32 2.32 0 0 1 55 70.023a2.76 2.76 0 0 1-.324 2.848 2.112 2.112 0 0 1-3.876-.724 2.63 2.63 0 0 1 .5-2.476M74.229 66.198c.835-.096 1.871-.264 2.18-.56.46-.432.935-2.044 1.343-3.564.053-.196.085-.328.1-.364l-.32-.124a4 4 0 0 0-.115.4c-.216.8-.8 2.984-1.249 3.416-.536.504-5 .764-5.416.476-.255-.208-.86-2.148-1.2-3.46l-.032-.12-1.775-.048-.044.112c-.348.884-1.428 3.284-2.208 3.732-.98.556-4.8.288-5.076-.092s-.909-2.592-1.297-4.032l-.031-.128-5.42.22v.328l5.144-.208c.195.716.98 3.564 1.316 4 .46.612 4.544.744 5.532.18.987-.564 2.072-3.2 2.311-3.788l1.269.032c.2.744.88 3.2 1.291 3.512.413.312 2.62.152 2.873.132.251-.02.504-.02.823-.052\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"m67.632 62.83.348-.568c-2.344-1.288-6.52-1.824-9.172-.44l.324.576c2.364-1.232 6.304-.772 8.5.432M77.636 62.044l.26-.608c-2.844-1.08-6.512-.728-8.72.84l.4.523c2.004-1.416 5.464-1.74 8.06-.755\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"m99.152 165.976-4.84 12s10.56 10.28 9.732 12.612l-23.78-10.12 8.036-19.152z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M87.596 174.311a1.06 1.06 0 0 0-1.144.824 1.02 1.02 0 0 0 .8 1.14 1.105 1.105 0 0 0 1.2-.876c.032-.52-.452-1.14-.968-1.096\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"m80.264 180.478.888-1.9 22.468 10.4s.86.912.424 1.6zM94.948 178.512c-.052.116-.656-.08-1.388.052s-1.24.488-1.328.4.372-.688 1.256-.832 1.532.268 1.46.38M97.004 180.604c-.024.124-.608.108-1.2.432s-.94.8-1.052.74.092-.744.848-1.132 1.448-.152 1.404-.04M97.148 184.195c-.116-.02-.028-.668.54-1.176s1.22-.532 1.228-.4-.476.316-.936.74-.712.872-.832.836M79.82 130.581s26.032-6.64 28.864-6.464 11.952 1.86 8.4 12.484-19.48 37.632-19.48 37.632l-13.4-5.636 8-19.424s-16.76 5.04-23.656 5.444-12.56-9.34-12.56-9.34z\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M102.044 134q.38-.453.856-.8a12.2 12.2 0 0 1 2.448-1.524c.874-.409 1.79-.719 2.732-.924.716-.164 1.124-.348 1.14-.324a3.2 3.2 0 0 1-1.1.468 16 16 0 0 0-2.684.968c-.859.407-1.678.893-2.448 1.452-.58.428-.924.724-.944.684\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M97.036 142.555q.044-.209.14-.4a35.2 35.2 0 0 1 2.2-4.26 36 36 0 0 1 2.792-3.896q.12-.168.28-.3a1.4 1.4 0 0 1-.216.348c-.176.256-.4.556-.64.912-.54.768-1.292 1.824-2.04 3.044s-1.348 2.372-1.784 3.2l-.52.984a1.4 1.4 0 0 1-.212.368\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M71.796 128.556c1.056-.428 4.324-1.524 5.464-1.58 1.772-.092 4.332 0 6 1.12 2.752 1.836 37.948 38.984 37.948 38.984l-9.876 12.14s-18.116-13.136-22.964-18.376-10.348-13.492-10.348-13.492-6.568 6.944-12.68 9.976c-3.804 1.888-13.116 4-21.128 3.296a12.232 12.232 0 0 1-10.678-8.706 12.2 12.2 0 0 1-.434-4.826v-.136q.276-1.79.748-3.54z\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"m64.632 157.65.244-.16.728-.456c.64-.4 1.6-.996 2.8-1.796s2.684-1.812 4.332-3.088a36.2 36.2 0 0 0 5.224-4.84l.068-.076.04.096a27 27 0 0 0 2.2 3.86c.884 1.288 1.892 2.576 2.992 3.88s2.312 2.596 3.6 3.908a112 112 0 0 0 4.104 3.956c2.888 2.648 6.06 5.336 9.464 8.036s7.028 5.432 10.872 8.108h-.136l9.5-11.392.524-.628v.144c-7.412-7.724-14.464-15.076-20.88-21.756l-9.136-9.444c-1.44-1.468-2.828-2.892-4.184-4.236a100 100 0 0 0-2.02-1.94 15 15 0 0 0-2.052-1.704 9.8 9.8 0 0 0-3.532-1.2 7 7 0 0 0-1.2.024c-1.468.185-2.918.5-4.332.94-2.656.8-4.896 1.64-6.716 2.348s-3.2 1.3-4.164 1.7l-1.06.468c-.24.104-.368.152-.368.152l.36-.172 1.068-.48c.94-.4 2.336-1.012 4.152-1.736a89 89 0 0 1 6.712-2.4 25 25 0 0 1 4.352-.956q.6-.068 1.2-.032.62.069 1.22.24c.849.183 1.66.508 2.4.96.741.51 1.436 1.084 2.076 1.716a100 100 0 0 1 2.032 1.94c1.36 1.34 2.748 2.76 4.192 4.228l9.156 9.432 20.892 21.744.064.064-.06.072-.524.628c-3.252 3.904-6.436 7.716-9.504 11.392l-.06.072-.076-.052a218 218 0 0 1-10.88-8.124c-3.404-2.704-6.576-5.4-9.464-8.056-1.444-1.332-2.8-2.66-4.104-3.968s-2.484-2.632-3.6-3.928a44 44 0 0 1-2.992-3.9 26.4 26.4 0 0 1-2.196-3.892l.108.02a36.5 36.5 0 0 1-5.26 4.832 68 68 0 0 1-4.356 3.064c-1.216.792-2.176 1.376-2.82 1.772l-.736.44z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M180.552 52.063H94.468a1.484 1.484 0 0 0-1.46 1.5v44.04a1.484 1.484 0 0 0 1.46 1.504h2.904v8.124l7.904-8.124h75.276a1.48 1.48 0 0 0 1.46-1.504v-44.04a1.47 1.47 0 0 0-.419-1.053 1.47 1.47 0 0 0-1.041-.447\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M94.752 52.063h85.516a1.745 1.745 0 0 1 1.748 1.747v6.444H93.008v-6.447a1.75 1.75 0 0 1 1.744-1.745\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M98.5 56.289a1.124 1.124 0 1 1-1.12-1.152 1.14 1.14 0 0 1 1.12 1.152M102.1 56.289a1.12 1.12 0 0 1-.714 1.018 1.122 1.122 0 0 1-1.514-.84 1.123 1.123 0 0 1 1.108-1.33 1.14 1.14 0 0 1 1.12 1.152M105.84 56.289a1.12 1.12 0 0 1-.713 1.018 1.125 1.125 0 0 1-1.445-1.485 1.13 1.13 0 0 1 1.038-.685 1.136 1.136 0 0 1 1.12 1.152\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M132.72 55.957c0 .52-.38.84-.984.84h-.436v.644h-.524v-2.328h.98c.584 0 .964.324.964.844m-.532 0c0-.256-.16-.4-.48-.4h-.408v.8h.4c.328.004.488-.148.488-.4M134.136 55.627v.48h-.116c-.276 0-.46.156-.46.5v.844h-.508v-1.788h.484v.236a.7.7 0 0 1 .6-.272M134.288 56.547a.955.955 0 0 1 1.12-.978.95.95 0 0 1 .722 1.299.95.95 0 0 1-.886.599.91.91 0 0 1-.956-.92m1.4 0a.442.442 0 0 0-.444-.508.446.446 0 0 0-.444.508.458.458 0 0 0 .259.468.446.446 0 0 0 .614-.28.4.4 0 0 0 .015-.188M136.404 56.543a.92.92 0 0 1 .603-.868.9.9 0 0 1 .369-.052.8.8 0 0 1 .78.456l-.4.216a.43.43 0 0 0-.4-.244.494.494 0 0 0-.451.494.494.494 0 0 0 .451.494.42.42 0 0 0 .4-.244l.4.216a.8.8 0 0 1-.78.452.91.91 0 0 1-.972-.92M140.1 56.694h-1.316a.466.466 0 0 0 .5.356.58.58 0 0 0 .436-.172l.268.3a.9.9 0 0 1-.72.288.91.91 0 0 1-.918-.55.9.9 0 0 1-.074-.37.9.9 0 0 1 .266-.66.9.9 0 0 1 .662-.26.88.88 0 0 1 .854.569.9.9 0 0 1 .054.359c.016.04.008.096-.012.14m-1.32-.304h.856a.392.392 0 0 0-.273-.352.4.4 0 0 0-.155-.02.4.4 0 0 0-.412.384zM140.292 57.273l.168-.372c.183.112.393.172.608.172.232 0 .32-.064.32-.16 0-.292-1.052 0-1.052-.708 0-.34.296-.58.8-.58.233-.004.464.05.672.156l-.168.368a1 1 0 0 0-.504-.132c-.224 0-.324.076-.324.168 0 .304 1.052 0 1.052.712 0 .332-.3.568-.82.568a1.5 1.5 0 0 1-.752-.192M142.008 57.273l.168-.372c.183.112.394.172.608.172.232 0 .32-.064.32-.16 0-.292-1.052 0-1.052-.708 0-.34.296-.58.8-.58.234-.004.465.05.672.156l-.168.368a1 1 0 0 0-.504-.132c-.224 0-.324.076-.324.168 0 .304 1.052 0 1.052.712 0 .332-.3.568-.8.568-.27.007-.536-.06-.772-.192M143.772 57.14a.31.31 0 0 1 .312-.312.312.312 0 1 1-.312.312M144.616 57.14a.32.32 0 0 1 .314-.352.31.31 0 0 1 .301.221.3.3 0 0 1 .013.132.3.3 0 0 1-.013.13.317.317 0 0 1-.602 0q-.02-.063-.013-.13M145.464 57.14a.32.32 0 0 1 .314-.352.31.31 0 0 1 .236.107.3.3 0 0 1 .066.114.3.3 0 0 1 .012.132.3.3 0 0 1-.012.13.32.32 0 0 1-.302.221.32.32 0 0 1-.301-.22q-.02-.064-.013-.131\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M173.652 86.895h-13.064a2.996 2.996 0 0 0-2.996 2.996v.5a2.996 2.996 0 0 0 2.996 2.995h13.064a2.996 2.996 0 0 0 2.996-2.995v-.5a2.996 2.996 0 0 0-2.996-2.997\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M162.936 90a.955.955 0 0 1 .984-.984.9.9 0 0 1 .688.284l-.124.128a.74.74 0 0 0-.556-.228.801.801 0 1 0 .302 1.543q.145-.061.254-.175l.124.128a.89.89 0 0 1-.688.284.954.954 0 0 1-.984-.98M166.036 90.049v.9h-.18v-.224a.53.53 0 0 1-.488.24c-.32 0-.516-.172-.516-.424s.14-.4.544-.4h.448v-.088a.36.36 0 0 0-.099-.3.36.36 0 0 0-.301-.1.7.7 0 0 0-.468.172l-.088-.144a.9.9 0 0 1 .576-.196.51.51 0 0 1 .547.336.5.5 0 0 1 .025.228m-.192.464v-.236h-.44c-.276 0-.364.108-.364.26s.132.272.356.272a.445.445 0 0 0 .448-.296M167.852 90.11v.84h-.188v-.82c0-.308-.156-.465-.424-.465a.475.475 0 0 0-.474.322q-.034.099-.022.203v.76h-.188v-1.453h.18v.269a.59.59 0 0 1 .536-.276.548.548 0 0 1 .58.62M168.236 90.225a.7.7 0 0 1 .2-.527.7.7 0 0 1 .524-.209.62.62 0 0 1 .556.284l-.144.1a.47.47 0 0 0-.4-.216.566.566 0 0 0-.52.566.565.565 0 0 0 .52.566.46.46 0 0 0 .4-.212l.144.1a.61.61 0 0 1-.556.288.71.71 0 0 1-.678-.455.7.7 0 0 1-.046-.285M171.092 90.283h-1.2a.52.52 0 0 0 .173.368.53.53 0 0 0 .383.136.55.55 0 0 0 .432-.188l.108.124a.69.69 0 0 1-.544.24.713.713 0 0 1-.744-.74.689.689 0 0 1 1.376 0s.016.036.016.06m-1.2-.148h1.008a.499.499 0 0 0-.853-.353.5.5 0 0 0-.147.353zM171.484 88.902h.192v2.048h-.192z\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M180.552 99.101a1.476 1.476 0 0 0 1.436-1.392v-.66c0-1.876 0-4.636-.02-8.188 0-7.116-.02-17.408-.032-30.124v-4.88a3.3 3.3 0 0 0-.028-.608 1.4 1.4 0 0 0-.24-.544 1.36 1.36 0 0 0-1.004-.58H95.032a4.5 4.5 0 0 0-.872.036 1.39 1.39 0 0 0-1.036 1.2c-.024 1.18 0 2.4 0 3.6v40.42a1.48 1.48 0 0 0 .4 1.172c.149.151.331.265.532.332.206.065.422.09.636.072h2.8v8.224l-.168-.068 7.912-8.12.024-.028h.04l54.48.036 15.348.028-15.348.024-54.48.04.068-.028-7.904 8.124-.164.172v-8.36l.1.096h-2.688a2 2 0 0 1-.7-.08 1.68 1.68 0 0 1-1.076-1.712v-43.94a1.6 1.6 0 0 1 1.2-1.364 4.3 4.3 0 0 1 .92-.044h72.272l10.772.044h2.58a1.51 1.51 0 0 1 1.12.648c.129.18.219.384.264.6q.045.319.032.64v4.88c0 12.716-.028 23.008-.036 30.124v8.852a1.5 1.5 0 0 1-.156.556c-.138.27-.352.492-.616.64-.16.087-.335.142-.516.164a1.3 1.3 0 0 1-.22-.004\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M173.552 72.582H102.48a3.544 3.544 0 0 0-3.544 3.544v.592a3.544 3.544 0 0 0 3.544 3.544h71.072a3.544 3.544 0 0 0 3.544-3.544v-.592a3.544 3.544 0 0 0-3.544-3.544\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M173.548 80.263h.108c.072 0 .18 0 .316-.028a3.6 3.6 0 0 0 1.2-.376c.271-.14.523-.317.748-.524a3.48 3.48 0 0 0 1.104-2.072q.033-.172.036-.348v-.364c0-.248 0-.5-.02-.76a3.53 3.53 0 0 0-1.848-2.74 3.8 3.8 0 0 0-.9-.328 4.6 4.6 0 0 0-1-.076h-12.264l-58.528.04a3.44 3.44 0 0 0-3.208 2.208 4.8 4.8 0 0 0-.224 2.036c.035.682.276 1.338.692 1.88.409.536.965.942 1.6 1.168.65.18 1.327.245 2 .192h19.6l26.316.024 17.744.032-17.744.032h-46.948a3.3 3.3 0 0 1-1.04-.196 3.64 3.64 0 0 1-2.444-3.228 11 11 0 0 1 0-1.064 3.6 3.6 0 0 1 .236-1.06 3.67 3.67 0 0 1 1.336-1.688c.305-.204.636-.365.984-.48a4.1 4.1 0 0 1 1.084-.164l58.54.032H173.3q.514-.015 1.02.084c.322.074.634.188.928.34a3.6 3.6 0 0 1 1.88 2.82v1.136q-.003.18-.036.356c-.067.433-.215.85-.436 1.228a3.4 3.4 0 0 1-.704.868q-.348.317-.768.528c-.375.19-.782.31-1.2.356q-.214.082-.436.136\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M169.332 76.965a.77.77 0 0 1-.25.56.76.76 0 0 1-.582.196c-.616 0-.98-.4-.98-1.156s.456-1.236 1.112-1.236c.209-.007.415.044.596.148l-.156.328a.75.75 0 0 0-.432-.116c-.428 0-.696.272-.696.8a.78.78 0 0 1 .608-.24.71.71 0 0 1 .721.425q.06.139.059.29m-.4.02c0-.244-.18-.4-.456-.4a.4.4 0 0 0-.322.093.4.4 0 0 0-.138.307c0 .22.168.4.472.4a.4.4 0 0 0 .44-.4zM169.552 76.524c0-.764.4-1.2.944-1.2s.948.432.948 1.2-.4 1.2-.948 1.2-.944-.436-.944-1.2m1.468 0c0-.564-.212-.82-.524-.82s-.52.256-.52.82.212.82.52.82.524-.26.524-.82M171.7 75.976c0-.4.216-.64.54-.64s.544.252.544.64a.54.54 0 0 1-.127.439.546.546 0 0 1-.957-.44m.8 0c0-.26-.104-.4-.276-.4s-.28.152-.28.4.112.4.28.4.276-.144.276-.4m1.08-.616h.32l-1.548 2.324h-.316zm-.4 1.712c0-.4.216-.64.54-.64a.65.65 0 0 1 .754.698.65.65 0 0 1-.479.567.65.65 0 0 1-.815-.625m.82 0c0-.256-.108-.4-.28-.4s-.28.148-.28.4.108.4.28.4.276-.144.276-.4z\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M137.82 73.504h-35.188a2.704 2.704 0 0 0-2.704 2.704v.448a2.704 2.704 0 0 0 2.704 2.704h35.188a2.704 2.704 0 0 0 2.704-2.704v-.448a2.704 2.704 0 0 0-2.704-2.704\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"m102.284 79.36 3.488-5.856h1.864l-3.44 5.856zM106.896 79.36l3.484-5.856h1.864l-3.436 5.856zM111.504 79.36l3.488-5.856h1.864l-3.436 5.856zM116.116 79.36l3.488-5.856h1.86l-3.436 5.856zM120.724 79.36l3.488-5.856h1.864l-3.436 5.856zM125.336 79.36l3.488-5.856h1.86l-3.436 5.856zM129.948 79.36l3.484-5.856h1.864l-3.436 5.856zM134.556 79.36l3.468-5.833c.55.064 1.067.296 1.48.664l-3.036 5.168z\"\r\n opacity=\"0.2\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M162.748 83.432c0 .056-10.844.104-24.22.104s-24.224-.048-24.224-.104 10.84-.104 24.224-.104 24.22.048 24.22.104\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import { packageDictionary } from \"../../../../../../../../locales/utils\";\r\nimport { CreatingWorkspaceIllustration } from \"../../../../../../../../assets/illustrations/CreatingWorkspaceIllustration\";\r\nimport React from \"react\";\r\nimport { useMirantesFoundation } from \"../../../../../../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../../../../../../context/types\";\r\nimport { LoadingIcon } from \"../../../../../../../../assets/icons/loading-icon\";\r\nimport { motion } from \"motion/react\";\r\n\r\nexport function AddWorkspaceLoading() {\r\n const { locale } = useMirantesFoundation();\r\n\r\n return (\r\n <motion.div\r\n initial={{ opacity: 0, y: 10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.3, ease: \"easeInOut\"}}\r\n className=\"w-full flex flex-col items-center gap-y-4\"\r\n >\r\n <CreatingWorkspaceIllustration />\r\n\r\n <h4 className=\"text-2xl font-bold\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.button.creating\"\r\n )}\r\n </h4>\r\n\r\n <div className=\"w-10 h-10 flex mt-4 items-center justify-center animate-spin\">\r\n <LoadingIcon />\r\n </div>\r\n </motion.div>\r\n );\r\n}\r\n","\"use client\";\r\n\r\nimport React, { useState, useRef, useEffect } from \"react\";\r\nimport { SmileIcon } from \"lucide-react\";\r\nimport { Button } from \"../../ui/button\";\r\nimport EmojiPicker, { type EmojiClickData, Theme } from \"emoji-picker-react\";\r\n\r\nexport function EmojiButton({\r\n className,\r\n onChange,\r\n icon,\r\n containerClassName,\r\n}: {\r\n className?: string;\r\n containerClassName?: string;\r\n onChange: (emoji: string) => void;\r\n icon?: React.ReactNode;\r\n}) {\r\n const [showPicker, setShowPicker] = useState(false);\r\n const pickerRef = useRef<HTMLDivElement>(null);\r\n const buttonRef = useRef<HTMLButtonElement>(null);\r\n\r\n // Close the emoji picker when clicking outside\r\n useEffect(() => {\r\n const handleClickOutside = (event: MouseEvent) => {\r\n if (\r\n pickerRef.current &&\r\n !pickerRef.current.contains(event.target as Node) &&\r\n buttonRef.current &&\r\n !buttonRef.current.contains(event.target as Node)\r\n ) {\r\n setShowPicker(false);\r\n }\r\n };\r\n\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, []);\r\n\r\n const togglePicker = () => {\r\n setShowPicker(!showPicker);\r\n };\r\n\r\n const handleEmojiClick = (emojiData: EmojiClickData) => {\r\n const emoji = emojiData.emoji;\r\n onChange(emoji);\r\n };\r\n\r\n return (\r\n <div className={`relative ${className}`}>\r\n <Button\r\n type=\"button\"\r\n ref={buttonRef}\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n className=\"!p-0 rounded-full flex items-center gap-x-2 hover:bg-transparent\"\r\n onClick={togglePicker}\r\n >\r\n {icon}\r\n </Button>\r\n\r\n {showPicker && (\r\n <div\r\n ref={pickerRef}\r\n className={`absolute bottom-12 left-0 z-50 ${containerClassName}`}\r\n >\r\n <EmojiPicker\r\n onEmojiClick={handleEmojiClick}\r\n theme={Theme.LIGHT}\r\n searchPlaceHolder=\"Buscar emoji\"\r\n width={320}\r\n height={400}\r\n previewConfig={{\r\n showPreview: false,\r\n }}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const UserIcon = ({ color = \"#0B89CE\" }: { color?: string }) => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\"\r\n height=\"18\"\r\n fill=\"none\"\r\n viewBox=\"0 0 16 18\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M7.997 11C3.684 11 0 11.68 0 14.4c0 2.721 3.66 3.425 7.997 3.425 4.313 0 7.997-.679 7.997-3.4S12.334 11 7.997 11\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"M7.996 10.584a5.273 5.273 0 0 0 5.293-5.292A5.273 5.273 0 0 0 7.996 0a5.274 5.274 0 0 0-5.292 5.292 5.274 5.274 0 0 0 5.292 5.292\"\r\n opacity=\"0.4\"\r\n ></path>\r\n </svg>\r\n);\r\n","import React from \"react\";\r\n\r\nimport { motion } from \"motion/react\";\r\nimport { TLocale } from \"../../../../../../../../context/types\";\r\nimport { useMirantesFoundation } from \"../../../../../../../../context/useMirantesFoundation\";\r\nimport { packageDictionary } from \"../../../../../../../../locales/utils\";\r\nimport { useAddWorkspaceModal } from \"./useAddWorkspaceModal\";\r\nimport { BaseInput } from \"../../../../../../../../components/shared/BaseInput/BaseInput\";\r\nimport { SelectInput } from \"../../../../../../../../components/shared/select-input/select-input\";\r\nimport { Badge } from \"../../../../../../../../components/shared/badge/badge\";\r\nimport { DescriptionInput } from \"../../../../../../../../components/shared/description-input/description-input\";\r\nimport { useAddWorkspaceStore } from \"../../store/add-workspace.store\";\r\nimport { AddWorkspaceLoading } from \"../AddWorkspaceLoading/AddWorkspaceLoading\";\r\nimport { EmojiButton } from \"../../../../../../../shared/emogi-picker/emoji-picker\";\r\nimport { UserIcon } from \"../../../../../../../../assets/icons/use-icon\";\r\n\r\nexport function AddWorkspaceForm({ onClose }: { onClose: () => void }) {\r\n const { locale } = useMirantesFoundation();\r\n const { step, workspace } = useAddWorkspaceStore();\r\n const {\r\n errors,\r\n getError,\r\n watch,\r\n selectedInterests,\r\n onChangeDescription,\r\n onChangeName,\r\n onSelectInterest,\r\n interests,\r\n onSubmit,\r\n onRemoveInterest,\r\n isCreatingWorkspace,\r\n setValue,\r\n } = useAddWorkspaceModal();\r\n\r\n if (step === \"loading\") {\r\n return <AddWorkspaceLoading />;\r\n }\r\n\r\n return (\r\n <motion.div\r\n initial={{ opacity: 0, y: 10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.3, ease: \"easeInOut\", delay: 0.3 }}\r\n className=\"w-full flex flex-col gap-y-8\"\r\n >\r\n <h4 className=\"text-xl font-bold\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n workspace?.id\r\n ? \"component.workspace.panel.modal.edit.title\"\r\n : \"component.workspace.panel.modal.title\"\r\n )}\r\n </h4>\r\n\r\n <form onSubmit={onSubmit} className=\"w-full flex flex-col gap-y-4\">\r\n <div className=\"relative\">\r\n <BaseInput\r\n leftIcon={\r\n <div className=\"w-8 h-8 rounded-lg border-2 flex items-center bottom-4 justify-center bg-primary/10 border-primary border-dotted\">\r\n <EmojiButton\r\n containerClassName=\"top-10 -left-4\"\r\n icon={\r\n watch(\"icon\") ? (\r\n <span className=\"text-lg\">{watch(\"icon\")}</span>\r\n ) : (\r\n <UserIcon />\r\n )\r\n }\r\n onChange={(emoji) => {\r\n setValue(\"icon\", emoji);\r\n }}\r\n />\r\n </div>\r\n }\r\n error={getError(errors?.name?.message)}\r\n required\r\n value={watch(\"name\")}\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.name\"\r\n )}\r\n onChange={(e) => onChangeName(e.target.value)}\r\n className=\"w-full bg-white\"\r\n placeholder={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.name.placeholder\"\r\n )}\r\n />\r\n </div>\r\n\r\n <SelectInput\r\n disableSelectedItem\r\n options={interests.map((interest) => ({\r\n id: interest.id,\r\n value: interest.name,\r\n }))}\r\n onChange={(id) => onSelectInterest(id)}\r\n className=\"bg-white\"\r\n placeholder={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.interests.placeholder\"\r\n )}\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.interests\"\r\n )}\r\n />\r\n\r\n {selectedInterests?.length > 0 && (\r\n <div className=\"flex flex-wrap w-full items-center gap-4\">\r\n {selectedInterests?.map((interest) => {\r\n const interestData = interests.find(\r\n (item) => item.id === interest\r\n );\r\n return (\r\n <Badge\r\n className=\"bg-white text-gray-shade8\"\r\n key={interest}\r\n label={interestData?.name ?? \"\"}\r\n onRemove={() => onRemoveInterest(interestData?.id ?? \"\")}\r\n />\r\n );\r\n })}\r\n </div>\r\n )}\r\n\r\n <DescriptionInput\r\n maxLength={120}\r\n value={watch(\"description\")}\r\n onChange={onChangeDescription}\r\n textAreaClassName=\"bg-white\"\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.description\"\r\n )}\r\n />\r\n\r\n <div className=\"w-full flex-col lg:flex-row mt-4 flex items-center gap-4\">\r\n <button\r\n disabled={isCreatingWorkspace}\r\n type=\"button\"\r\n onClick={onClose}\r\n className=\"flex-1 py-3 border w-full lg:w-auto border-primary text-primary font-bold lg:py-4\"\r\n >\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.button.back\"\r\n )}\r\n </button>\r\n\r\n <button\r\n disabled={isCreatingWorkspace}\r\n type=\"submit\"\r\n className=\"flex-1 py-3 border w-full lg:w-auto border-primary text-white bg-primary font-bold lg:py-4\"\r\n >\r\n {packageDictionary(\r\n locale as TLocale,\r\n workspace?.id\r\n ? \"component.workspace.panel.modal.edit.button.save\"\r\n : \"component.workspace.panel.modal.form.button.create\"\r\n )}\r\n </button>\r\n </div>\r\n </form>\r\n </motion.div>\r\n );\r\n}\r\n","import { packageDictionary } from \"../../../../../../locales/utils\";\r\nimport { EditIcon } from \"../../../../../../assets/icons/edit-icon\";\r\nimport { useMirantesFoundation } from \"../../../../../../context/useMirantesFoundation\";\r\nimport React, { RefObject } from \"react\";\r\nimport { TLocale } from \"../../../../../../context/types\";\r\nimport { DeleteIcon } from \"../../../../../../assets/icons/delete-icon\";\r\nimport { Palette } from \"../../../../../../styles/palette.const\";\r\nimport { useOpen } from \"../../../../../fromMirantes/hooks/use-open\";\r\nimport { ConfirmModal } from \"../../../../../../components/shared/modal/confirm-modal\";\r\nimport { useApiDeleteWorkspace } from \"../../../../../fromMirantes/WorkspacePanel/api/use-api-delete-workspace\";\r\nimport { WorkspaceProps } from \"../../../../../../types/workspace.types\";\r\nimport { useToast } from \"../../../../../../components/shared/toasts/toasts\";\r\nimport { AlertIllustration } from \"../../../../../../assets/illustrations/AlertIllustration\";\r\nimport { useAddWorkspaceStore } from \"../AddWorkspaceModal/store/add-workspace.store\";\r\nimport { AddWorkspaceModal } from \"../AddWorkspaceModal/AddWorkspaceModal\";\r\nexport function WorkspaceBarItemOptions({\r\n isOpen,\r\n ref,\r\n workspace,\r\n}: {\r\n isOpen: boolean;\r\n ref: RefObject<HTMLDivElement>;\r\n workspace?: WorkspaceProps;\r\n}) {\r\n const { setWorkspace } = useAddWorkspaceStore();\r\n const { successToast, errorToast } = useToast();\r\n const { widgetsApi, user } = useMirantesFoundation();\r\n const { deleteWorkspace, isDeletingWorkspace } = useApiDeleteWorkspace();\r\n const { locale } = useMirantesFoundation();\r\n const {\r\n isOpen: isOpenDelete,\r\n onOpen: onOpenDelete,\r\n onClose: onCloseDelete,\r\n } = useOpen();\r\n\r\n const {\r\n isOpen: isOpenEdit,\r\n onOpen: onOpenEdit,\r\n onClose: onCloseEdit,\r\n } = useOpen();\r\n\r\n const handleDeleteWorkspace = () => {\r\n deleteWorkspace(\r\n {\r\n accessToken: user?.accessToken as string,\r\n apiUrl: widgetsApi,\r\n id: workspace?.id as string,\r\n },\r\n {\r\n onSuccess() {\r\n successToast({\r\n title: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.title\"\r\n ),\r\n message: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.description\"\r\n ),\r\n });\r\n },\r\n onError() {\r\n errorToast({\r\n title: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.title\"\r\n ),\r\n message: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.description\"\r\n ),\r\n });\r\n },\r\n }\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n {isOpen && (\r\n <div\r\n ref={ref}\r\n className=\"p-2 min-w-[166px] absolute z-20 right-0 shadow-dark-1/10 rounded-2xl bg-white shadow-lg\"\r\n >\r\n <button\r\n onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n if (workspace) {\r\n onOpenEdit();\r\n setWorkspace(workspace);\r\n }\r\n }}\r\n className=\"flex items-center px-2 font-medium text-gray-shade8 justify-start w-full hover:bg-primary/10 py-2 gap-x-4\"\r\n >\r\n <EditIcon />\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.edit\"\r\n )}\r\n </button>\r\n\r\n <button\r\n onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n onOpenDelete();\r\n }}\r\n className=\"flex items-center px-2 font-medium text-red-shade6 justify-start w-full hover:bg-red-shade6/10 py-2 gap-x-4\"\r\n >\r\n <DeleteIcon color={Palette.red.shade6} />\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete\"\r\n )}\r\n </button>\r\n </div>\r\n )}\r\n\r\n {isOpenDelete && (\r\n <ConfirmModal\r\n isOpen\r\n isLoading={isDeletingWorkspace}\r\n onClose={onCloseDelete}\r\n onConfirm={handleDeleteWorkspace}\r\n title={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.confirm.title\"\r\n )}\r\n description={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.confirm.description\"\r\n )}\r\n illustration={<AlertIllustration />}\r\n />\r\n )}\r\n\r\n {isOpenEdit && <AddWorkspaceModal onClose={onCloseEdit} />}\r\n </>\r\n );\r\n}\r\n","import { cn } from \"../../../../../../lib/utils\";\r\nimport React, { RefObject, useRef } from \"react\";\r\nimport { Tooltip } from \"../../../../../../components/shared/tooltip/tooltip\";\r\nimport { useOpen } from \"../../../../../fromMirantes/hooks/use-open\";\r\nimport { useOutsideClick } from \"../../../../../fromMirantes/hooks/use-outside-click\";\r\nimport { WorkspaceBarItemOptions } from \"./WorkspaceBarItemOptions\";\r\nimport { WorkspaceProps } from \"@/types/workspace.types\";\r\n\r\ntype WorkspaceBarItemProps = {\r\n icon: React.ReactNode;\r\n label: string;\r\n description?: string;\r\n href: string;\r\n disabled?: boolean;\r\n active?: boolean;\r\n isCurrent?: boolean;\r\n workspace?: WorkspaceProps;\r\n};\r\n\r\nexport function WorkspaceBarItem({\r\n icon,\r\n label,\r\n href,\r\n disabled,\r\n active,\r\n isCurrent,\r\n description,\r\n workspace,\r\n}: WorkspaceBarItemProps) {\r\n const ref = useRef<HTMLDivElement>(null);\r\n const { onOpen, onClose, isOpen } = useOpen();\r\n useOutsideClick(ref as RefObject<HTMLElement>, onClose);\r\n\r\n const handleClick = () => {\r\n if (isCurrent) {\r\n onOpen();\r\n return;\r\n }\r\n\r\n if (isOpen) {\r\n return;\r\n }\r\n window.location.href = href;\r\n };\r\n\r\n const handleRightClick = (e: React.MouseEvent<HTMLDivElement>) => {\r\n e.preventDefault();\r\n onOpen();\r\n };\r\n\r\n return (\r\n <div\r\n className={cn(\r\n \"col-span-1 flex relative hover:bg-primary/5 transition-all items-center justify-center gap-x-4\",\r\n isCurrent && \"bg-primary/5\"\r\n )}\r\n role=\"button\"\r\n onContextMenu={handleRightClick}\r\n >\r\n <div onClick={handleClick} className=\"w-full h-full\">\r\n <Tooltip className=\"bg-white -top-20\" content={description}>\r\n <div\r\n className={cn(\r\n \"w-8 md:w-12 h-8 lg:h-12 flex bg-primary/10 items-center justify-center rounded-full\",\r\n !active && \"grayscale\"\r\n )}\r\n >\r\n <div\r\n className={cn(\r\n \"w-5 h-5 flex items-center justify-center md:w-6 md:h-6 lg:w-8 lg:h-8\",\r\n !active && \"grayscale\"\r\n )}\r\n >\r\n {icon}\r\n </div>\r\n </div>\r\n\r\n <span\r\n className={cn(\r\n \"text-body-md hidden lg:block font-medium text-gray-shade8\",\r\n isCurrent && \"text-primary font-bold\"\r\n )}\r\n >\r\n {label}\r\n </span>\r\n </Tooltip>\r\n </div>\r\n\r\n <WorkspaceBarItemOptions\r\n workspace={workspace}\r\n ref={ref as RefObject<HTMLDivElement>}\r\n isOpen={isOpen}\r\n />\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport const WorkFeedIcon = (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"31\"\r\n height=\"31\"\r\n fill=\"none\"\r\n viewBox=\"0 0 31 31\"\r\n >\r\n <path\r\n fill=\"url(#paint0_linear_54380_31901)\"\r\n d=\"M15.436 18.675c-4.312 0-7.95.704-7.95 3.424 0 2.721 3.661 3.4 7.95 3.4 4.313 0 7.951-.704 7.951-3.423 0-2.721-3.662-3.401-7.95-3.401\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint1_linear_54380_31901)\"\r\n d=\"M15.436 16.084c2.92 0 5.262-2.355 5.262-5.292 0-2.938-2.342-5.292-5.262-5.292s-5.261 2.354-5.261 5.292 2.341 5.292 5.261 5.292\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint2_linear_54380_31901)\"\r\n d=\"M26.86 12.024c.755-2.972-1.46-5.64-4.28-5.64-.307 0-.6.033-.886.09-.039.01-.081.029-.104.062-.025.043-.006.1.022.138a7.26 7.26 0 0 1 1.334 4.213 7.2 7.2 0 0 1-1.23 4.052c-.08.119-.01.28.133.305a4 4 0 0 0 .604.058c2.054.054 3.898-1.275 4.407-3.278\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint3_linear_54380_31901)\"\r\n d=\"M29.012 19.021c-.377-.806-1.284-1.359-2.664-1.63-.652-.16-2.414-.385-4.054-.354-.025.003-.038.02-.04.031-.004.016.003.043.035.06.758.377 3.687 2.017 3.319 5.476-.016.15.104.28.253.257.72-.104 2.575-.505 3.15-1.753a2.4 2.4 0 0 0 0-2.087\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint4_linear_54380_31901)\"\r\n d=\"M9.306 6.475a4.4 4.4 0 0 0-.886-.091c-2.82 0-5.036 2.669-4.28 5.64.509 2.003 2.352 3.333 4.406 3.279q.31-.008.604-.059a.198.198 0 0 0 .134-.305 7.2 7.2 0 0 1-1.23-4.051c0-1.564.488-3.02 1.335-4.214.027-.037.047-.094.02-.137-.022-.035-.064-.053-.103-.062\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint5_linear_54380_31901)\"\r\n d=\"M4.652 17.39c-1.38.272-2.287.825-2.663 1.63a2.4 2.4 0 0 0 0 2.089c.576 1.247 2.43 1.649 3.15 1.751.15.023.268-.105.253-.256-.368-3.458 2.56-5.098 3.32-5.476.03-.018.038-.044.034-.06-.002-.012-.014-.029-.039-.03-1.64-.032-3.403.193-4.055.353\"\r\n ></path>\r\n <defs>\r\n <linearGradient\r\n id=\"paint0_linear_54380_31901\"\r\n x1=\"15.436\"\r\n x2=\"15.436\"\r\n y1=\"18.675\"\r\n y2=\"25.5\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint1_linear_54380_31901\"\r\n x1=\"15.436\"\r\n x2=\"15.436\"\r\n y1=\"5.5\"\r\n y2=\"16.084\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint2_linear_54380_31901\"\r\n x1=\"24.294\"\r\n x2=\"24.294\"\r\n y1=\"6.383\"\r\n y2=\"15.304\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint3_linear_54380_31901\"\r\n x1=\"25.751\"\r\n x2=\"25.751\"\r\n y1=\"17.034\"\r\n y2=\"22.863\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint4_linear_54380_31901\"\r\n x1=\"6.706\"\r\n x2=\"6.706\"\r\n y1=\"6.384\"\r\n y2=\"15.304\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint5_linear_54380_31901\"\r\n x1=\"5.248\"\r\n x2=\"5.248\"\r\n y1=\"17.034\"\r\n y2=\"22.863\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n </defs>\r\n </svg>\r\n);\r\n","import * as React from \"react\";\r\n\r\nexport const BriefcaseIcon = ({ color = \"#687588\" }: { color?: string }) => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"26\"\r\n height=\"25\"\r\n fill=\"none\"\r\n viewBox=\"0 0 26 25\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M.5 11.348c.063 2.923.238 7.921.263 8.473.089 1.178.54 2.37 1.242 3.21.978 1.178 2.182 1.705 3.86 1.705 2.32.012 4.878.012 7.361.012 2.494 0 4.914 0 6.958-.012 1.655 0 2.896-.54 3.861-1.705.703-.84 1.154-2.044 1.218-3.21.025-.464.15-5.89.225-8.473z\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"M12.057 16.73v1.618a.938.938 0 0 0 1.875 0v-1.617a.938.938 0 0 0-1.875 0\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"M14.608 0c1.876 0 3.415 1.412 3.65 3.227h2.47a4.765 4.765 0 0 1 4.76 4.76v4.332c0 .315-.159.61-.42.783-2.578 1.706-5.638 2.842-8.848 3.286a.938.938 0 0 1-1.037-.697A2.26 2.26 0 0 0 12.988 14a2.28 2.28 0 0 0-2.224 1.696.94.94 0 0 1-1.033.68c-3.189-.445-6.237-1.575-8.81-3.274a.94.94 0 0 1-.42-.783V7.987c0-2.625 2.14-4.76 4.77-4.76h2.46C7.966 1.412 9.503.001 11.38 0zM11.38 1.875c-.84 0-1.544.576-1.754 1.352h6.735a1.82 1.82 0 0 0-1.753-1.352z\"\r\n ></path>\r\n </svg>\r\n);\r\n","import { useInfiniteQuery, useQuery } from \"@tanstack/react-query\";\r\nimport { request } from \"graphql-request\";\r\nimport { WorkspaceProps } from \"../../../../types/workspace.types\";\r\nimport { GET_WORKSPACES } from \"./graphql\";\r\nimport { useMirantesFoundation } from \"../../../../context/useMirantesFoundation\";\r\n\r\nexport type GetWorkspaceInput = {\r\n filter: { name: string; userId: string };\r\n page: number;\r\n perPage: number;\r\n sort: string;\r\n sortDir: string;\r\n};\r\n\r\ntype WorkspacesResponse = {\r\n workspaces: {\r\n meta: {\r\n total: number;\r\n currentPage: number;\r\n perPage: number;\r\n lastPage: number;\r\n };\r\n data: WorkspaceProps[];\r\n };\r\n};\r\n\r\nconst getWorkspaces = async (\r\n pageParam: number,\r\n options: Omit<GetWorkspaceInput, \"page\">,\r\n apiUrl?: string,\r\n accessToken?: string\r\n) => {\r\n const response = await request<WorkspacesResponse>(\r\n apiUrl as string,\r\n GET_WORKSPACES,\r\n {\r\n options: {\r\n ...options,\r\n page: pageParam,\r\n },\r\n },\r\n\r\n {\r\n \"x-access-token\": accessToken as string,\r\n }\r\n );\r\n\r\n return response?.workspaces;\r\n};\r\n\r\nexport const useApiGetWorkspaces = (\r\n options: Omit<GetWorkspaceInput, \"page\">\r\n): {\r\n workspaces: WorkspaceProps[] | undefined;\r\n isGetWorkspacesLoading: boolean;\r\n fetchNextPage: () => void;\r\n hasNextPage: boolean | undefined;\r\n isFetchingNextPage: boolean;\r\n} => {\r\n const { widgetsApi, user } = useMirantesFoundation();\r\n\r\n const {\r\n data,\r\n isLoading: isGetWorkspacesLoading,\r\n fetchNextPage,\r\n hasNextPage,\r\n isFetchingNextPage,\r\n } = useInfiniteQuery({\r\n queryKey: [\"workspaces\"],\r\n queryFn: ({ pageParam = 1 }) =>\r\n getWorkspaces(pageParam, options, widgetsApi, user?.accessToken),\r\n initialPageParam: 1,\r\n getNextPageParam: (lastPage) => {\r\n if (!lastPage) return undefined;\r\n const { currentPage, lastPage: last } = lastPage.meta;\r\n return currentPage < last ? currentPage + 1 : undefined;\r\n },\r\n });\r\n\r\n return {\r\n workspaces: data?.pages.flatMap((page) => page.data),\r\n isGetWorkspacesLoading,\r\n fetchNextPage,\r\n hasNextPage,\r\n isFetchingNextPage,\r\n };\r\n};\r\n","import * as React from \"react\";\r\n\r\nexport const CircledAddIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"24\"\r\n height=\"25\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 25\"\r\n >\r\n <path\r\n fill=\"#fff\"\r\n d=\"M22 12.5c0 5.515-4.486 10-10 10s-10-4.485-10-10 4.486-10 10-10 10 4.486 10 10\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M15.074 11.574h-2.15V9.426a.926.926 0 1 0-1.851 0v2.148H8.925a.926.926 0 0 0 0 1.853h2.148v2.146a.926.926 0 1 0 1.852 0v-2.146h2.148a.927.927 0 0 0 0-1.853\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import * as React from \"react\";\r\n\r\nexport const AddWorkspaceIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"33\"\r\n height=\"32\"\r\n fill=\"none\"\r\n viewBox=\"0 0 33 32\"\r\n >\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M.5 16c0-8.837 7.163-16 16-16s16 7.163 16 16-7.163 16-16 16-16-7.163-16-16\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M26.5 16c0 5.515-4.486 10-10 10s-10-4.485-10-10 4.486-10 10-10 10 4.486 10 10\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M19.574 15.074h-2.15v-2.147a.926.926 0 1 0-1.851 0v2.147h-2.148a.926.926 0 0 0 0 1.853h2.148v2.146a.926.926 0 1 0 1.852 0v-2.146h2.148a.927.927 0 0 0 0-1.853\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import React from \"react\";\r\nimport { CircledAddIcon } from \"../../../../../../assets/icons/CircledAddIcon\";\r\nimport { TLocale } from \"../../../../../../context/types\";\r\nimport { packageDictionary } from \"../../../../../../locales/utils\";\r\nimport { useMirantesFoundation } from \"../../../../../../context/useMirantesFoundation\";\r\nimport { useOpen } from \"../../../../../../components/fromMirantes/hooks/use-open\";\r\nimport { AddWorkspaceModal } from \"../AddWorkspaceModal/AddWorkspaceModal\";\r\nimport { AddWorkspaceIcon } from \"../../../../../../assets/icons/workspaces-panel/AddWorkspaceIcon\";\r\n\r\nexport function AddWorkspaceButton() {\r\n const { locale } = useMirantesFoundation();\r\n const { isOpen, onOpen, onClose } = useOpen();\r\n\r\n return (\r\n <>\r\n <button\r\n onClick={onOpen}\r\n className=\"flex lg:bg-primary lg:p-4 rounded-2xl text-body-md font-bold text-white gap-x-2 items-center\"\r\n >\r\n <div className=\"lg:flex hidden items-center gap-x-2\">\r\n <CircledAddIcon />\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.create\"\r\n )}\r\n </div>\r\n\r\n <div className=\"lg:hidden\">\r\n <AddWorkspaceIcon />\r\n </div>\r\n </button>\r\n\r\n {isOpen && <AddWorkspaceModal onClose={onClose} />}\r\n </>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { ExploreIcon } from \"../../../../../assets/icons/ExploreIcon\";\r\n// import { AddWorkspaceIcon } from \"../../../../../assets/icons/workspaces-panel/AddWorkspaceIcon\";\r\nimport { WorkspaceBarItem } from \"../WorkspacePanelBar/WorkspaceItems/WorkspaceBarItem\";\r\nimport { WorkFeedIcon } from \"../../../../../assets/icons/WorkFeedIcon\";\r\nimport { BriefcaseIcon } from \"../../../../../assets/icons/BriefcaseIcon\";\r\nimport { useApiGetWorkspaces } from \"../../api/use-api-get-workspaces\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { Palette } from \"../../../../../styles/palette.const\";\r\nimport { AddWorkspaceButton } from \"../WorkspacePanelBar/AddWorkspaceButton/AddWorkspaceButton\";\r\n\r\nexport default function MobileWorkspaceBar() {\r\n const { user } = useMirantesFoundation();\r\n const { workspaces, isGetWorkspacesLoading } = useApiGetWorkspaces({\r\n filter: {\r\n name: \"\",\r\n userId: user?.id as string,\r\n },\r\n perPage: 2,\r\n sort: \"createdAt\",\r\n sortDir: \"desc\",\r\n });\r\n\r\n return (\r\n <div className=\"w-full z-[100] flex divide-x divide-border lg:hidden bg-white h-[64px] rounded-2xl max-w-[349px] fixed bottom-16 left-1/2 -translate-x-1/2\">\r\n <div className=\"flex-1 h-full rounded-l-2xl divide-x divide-border overflow-hidden grid grid-cols-3 lg:grid-cols-4\">\r\n <WorkspaceBarItem\r\n active\r\n icon={WorkFeedIcon}\r\n label=\"Feed\"\r\n href=\"/feed\"\r\n isCurrent\r\n />\r\n\r\n {workspaces\r\n ?.slice(0, 2)\r\n ?.map((workspace) => (\r\n <WorkspaceBarItem\r\n active\r\n key={workspace.id}\r\n icon={\r\n workspace?.icon ? (\r\n <span className=\"text-lg\">{workspace?.icon}</span>\r\n ) : (\r\n <BriefcaseIcon color={Palette.blue.shade1} />\r\n )\r\n }\r\n label={workspace.name}\r\n href={`/workspace/${workspace.id}`}\r\n />\r\n ))}\r\n </div>\r\n <div className=\"flex items-center gap-x-6 px-5\">\r\n <button className=\"scale-125\">\r\n <ExploreIcon />\r\n </button>\r\n\r\n <AddWorkspaceButton />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\"\r\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\n\r\nfunction Avatar({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof AvatarPrimitive.Root>) {\r\n return (\r\n <AvatarPrimitive.Root\r\n data-slot=\"avatar\"\r\n className={cn(\r\n \"relative flex size-8 shrink-0 overflow-hidden rounded-full\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction AvatarImage({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\r\n return (\r\n <AvatarPrimitive.Image\r\n data-slot=\"avatar-image\"\r\n className={cn(\"aspect-square size-full\", className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction AvatarFallback({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\r\n return (\r\n <AvatarPrimitive.Fallback\r\n data-slot=\"avatar-fallback\"\r\n className={cn(\r\n \"bg-muted flex size-full items-center justify-center rounded-full\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport { Avatar, AvatarImage, AvatarFallback }\r\n","import React from \"react\";\r\n\r\nimport {\r\n Avatar as ShadCnAvatar,\r\n AvatarFallback,\r\n AvatarImage,\r\n} from \"../../../components/ui/avatar\";\r\nimport { getInitials } from \"../../../components/fromMirantes\";\r\n\r\nexport function Avatar({\r\n name,\r\n onClick,\r\n src,\r\n className,\r\n}: {\r\n name: string;\r\n src?: string;\r\n onClick?: () => void;\r\n className?: string;\r\n}) {\r\n return (\r\n <ShadCnAvatar\r\n onClick={onClick}\r\n className={`h-10 w-10 hover:opacity-80 ${onClick ? \"cursor-pointer\" : \"\"} transition-all bg-[#0B89CE4D] ${className}`}\r\n >\r\n <AvatarImage src={src} alt={name} />\r\n <AvatarFallback className=\"text-white text-sm font-bold\">\r\n {getInitials(name ?? \"\")}\r\n </AvatarFallback>\r\n </ShadCnAvatar>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport function WorkspaceUserInfoItem({\r\n label,\r\n value,\r\n}: {\r\n label: string;\r\n value: number;\r\n}) {\r\n return (\r\n <div className=\"flex items-center justify-between gap-x-14\">\r\n <span className=\"text-gray-shade8 text-sm font-normal\">{label}</span>\r\n\r\n\r\n <span className=\"p-1 text-body-sm font-medium rounded-md bg-primary/10 text-primary\">\r\n {value}\r\n </span>\r\n </div>\r\n );\r\n}\r\n","import { Avatar } from \"../../../../../components/shared/avatar/avatar\";\r\nimport React from \"react\";\r\nimport { WorkspaceUserInfoItem } from \"./WorkspaceUserInfoItem\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { packageDictionary } from \"../../../../../locales/utils\";\r\nimport { TLocale } from \"../../../../../context/types\";\r\n\r\nexport function WorkspaceUserInfo() {\r\n const { user, locale } = useMirantesFoundation();\r\n const handleRedirectToProfile = () => {\r\n window.location.href = `/profile/${locale}`;\r\n };\r\n\r\n return (\r\n <div className=\"rounded-2xl flex items-stretch gap-x-4 bg-white min-w-[347px] px-6 py-5\">\r\n <div className=\"flex items-center gap-x-2\">\r\n <Avatar\r\n onClick={handleRedirectToProfile}\r\n name={user?.name as string}\r\n src={user?.avatar}\r\n className=\"w-14 h-14\"\r\n />\r\n\r\n <div className=\"flex flex-col items-start gap-y-2\">\r\n <h6 className=\"text-body-md font-bold\">{user?.name}</h6>\r\n <span className=\"text-body-sm text-gray-shade8\">{user?.role}</span>\r\n\r\n <span className=\"p-1 text-body-sm rounded-md font-bold text-orange-shade6 bg-orange-shade6/10\">\r\n 47%{\" \"}\r\n <span className=\"text-gray-shade8 font-normal\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.user.complete\"\r\n )}\r\n </span>\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"w-[1px] bg-border\" />\r\n\r\n <div className=\"flex flex-col gap-y-2\">\r\n <WorkspaceUserInfoItem\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.user.posts\"\r\n )}\r\n value={120}\r\n />\r\n <WorkspaceUserInfoItem\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.user.following\"\r\n )}\r\n value={1250}\r\n />\r\n <WorkspaceUserInfoItem\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.user.followers\"\r\n )}\r\n value={1250}\r\n />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { WorkspaceUserInfo } from \"../WorkspaceUserInfo/WorkspaceUserInfo\";\r\nimport { packageDictionary } from \"../../../../../locales/utils\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../../../context/types\";\r\n\r\nexport function WorkspaceGreetings() {\r\n const { locale, user } = useMirantesFoundation();\r\n\r\n return (\r\n <div className=\"flex items-center w-full justify-between\">\r\n <div className=\"flex flex-col gap-y-2\">\r\n <h4 className=\"text-[2rem] text-white font-bold lg:leading-normal\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.greetings\"\r\n )}{\" \"}\r\n {user?.name}\r\n </h4>\r\n\r\n <span className=\"text-white text-body-md\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.greetings.label\"\r\n )}\r\n </span>\r\n </div>\r\n\r\n <WorkspaceUserInfo />\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const FeedIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"31\"\r\n height=\"31\"\r\n fill=\"none\"\r\n viewBox=\"0 0 31 31\"\r\n >\r\n <path\r\n fill=\"url(#paint0_linear_54380_31901)\"\r\n d=\"M15.436 18.675c-4.312 0-7.95.704-7.95 3.424 0 2.721 3.661 3.4 7.95 3.4 4.313 0 7.951-.704 7.951-3.423 0-2.721-3.662-3.401-7.95-3.401\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint1_linear_54380_31901)\"\r\n d=\"M15.436 16.084c2.92 0 5.262-2.355 5.262-5.292 0-2.938-2.342-5.292-5.262-5.292s-5.261 2.354-5.261 5.292 2.341 5.292 5.261 5.292\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint2_linear_54380_31901)\"\r\n d=\"M26.86 12.024c.755-2.972-1.46-5.64-4.28-5.64-.307 0-.6.033-.886.09-.039.01-.081.029-.104.062-.025.043-.006.1.022.138a7.26 7.26 0 0 1 1.334 4.213 7.2 7.2 0 0 1-1.23 4.052c-.08.119-.01.28.133.305a4 4 0 0 0 .604.058c2.054.054 3.898-1.275 4.407-3.278\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint3_linear_54380_31901)\"\r\n d=\"M29.012 19.021c-.377-.806-1.284-1.359-2.664-1.63-.652-.16-2.414-.385-4.054-.354-.025.003-.038.02-.04.031-.004.016.003.043.035.06.758.377 3.687 2.017 3.319 5.476-.016.15.104.28.253.257.72-.104 2.575-.505 3.15-1.753a2.4 2.4 0 0 0 0-2.087\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint4_linear_54380_31901)\"\r\n d=\"M9.306 6.475a4.4 4.4 0 0 0-.886-.091c-2.82 0-5.036 2.669-4.28 5.64.509 2.003 2.352 3.333 4.406 3.279q.31-.008.604-.059a.198.198 0 0 0 .134-.305 7.2 7.2 0 0 1-1.23-4.051c0-1.564.488-3.02 1.335-4.214.027-.037.047-.094.02-.137-.022-.035-.064-.053-.103-.062\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint5_linear_54380_31901)\"\r\n d=\"M4.652 17.39c-1.38.272-2.287.825-2.663 1.63a2.4 2.4 0 0 0 0 2.089c.576 1.247 2.43 1.649 3.15 1.751.15.023.268-.105.253-.256-.368-3.458 2.56-5.098 3.32-5.476.03-.018.038-.044.034-.06-.002-.012-.014-.029-.039-.03-1.64-.032-3.403.193-4.055.353\"\r\n ></path>\r\n <defs>\r\n <linearGradient\r\n id=\"paint0_linear_54380_31901\"\r\n x1=\"15.436\"\r\n x2=\"15.436\"\r\n y1=\"18.675\"\r\n y2=\"25.5\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint1_linear_54380_31901\"\r\n x1=\"15.436\"\r\n x2=\"15.436\"\r\n y1=\"5.5\"\r\n y2=\"16.084\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint2_linear_54380_31901\"\r\n x1=\"24.294\"\r\n x2=\"24.294\"\r\n y1=\"6.383\"\r\n y2=\"15.304\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint3_linear_54380_31901\"\r\n x1=\"25.751\"\r\n x2=\"25.751\"\r\n y1=\"17.034\"\r\n y2=\"22.863\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint4_linear_54380_31901\"\r\n x1=\"6.706\"\r\n x2=\"6.706\"\r\n y1=\"6.384\"\r\n y2=\"15.304\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint5_linear_54380_31901\"\r\n x1=\"5.248\"\r\n x2=\"5.248\"\r\n y1=\"17.034\"\r\n y2=\"22.863\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n </defs>\r\n </svg>\r\n);\r\n\r\n","import React from \"react\";\r\n\r\nexport function WorkspaceBarItemSkeleton() {\r\n return (\r\n <div className=\"items-center flex justify-center gap-x-4 col-span-1\">\r\n <div className=\"skeleton bg-gray-shade1/80 w-12 h-12 rounded-full\" />\r\n\r\n <div className=\"h-3 rounded-lg skeleton bg-gray-shade1/80 w-32\" />\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { WorkspaceBarItem } from \"./WorkspaceBarItem\";\r\nimport { FeedIcon } from \"../../../../../../assets/icons/workspaces-panel/FeedIcon\";\r\nimport { BriefcaseIcon } from \"../../../../../../assets/icons/BriefcaseIcon\";\r\nimport { useApiGetWorkspaces } from \"../../../api/use-api-get-workspaces\";\r\nimport { useMirantesFoundation } from \"../../../../../../context/useMirantesFoundation\";\r\nimport { Palette } from \"../../../../../../styles/palette.const\";\r\nimport { WorkspaceBarItemSkeleton } from \"./WorkspaceBarItemSkeleton\";\r\n\r\nexport function WorkspaceBarItems() {\r\n const { user } = useMirantesFoundation();\r\n const { workspaces, isGetWorkspacesLoading } = useApiGetWorkspaces({\r\n filter: {\r\n name: \"\",\r\n userId: user?.id as string,\r\n },\r\n perPage: 3,\r\n sort: \"createdAt\",\r\n sortDir: \"desc\",\r\n });\r\n return (\r\n <div className=\"flex-1 h-full rounded-l-2xl divide-x divide-border overflow-hidden grid grid-cols-3 lg:grid-cols-4\">\r\n <WorkspaceBarItem\r\n isCurrent\r\n active\r\n icon={<FeedIcon />}\r\n label=\"Feed\"\r\n href=\"/feed\"\r\n />\r\n {isGetWorkspacesLoading\r\n ? Array(3)\r\n .fill(0)\r\n .map((_, index) => <WorkspaceBarItemSkeleton key={index} />)\r\n : workspaces\r\n ?.slice(0, 3)\r\n ?.map((item) => (\r\n <WorkspaceBarItem\r\n workspace={item}\r\n description={item?.description}\r\n href={`/workspace/${item?.id}`}\r\n key={item?.id}\r\n icon={\r\n item?.icon ? (\r\n <span className=\"text-2xl\">{item?.icon}</span>\r\n ) : (\r\n <BriefcaseIcon color={Palette.blue.shade1} />\r\n )\r\n }\r\n active\r\n label={item?.name}\r\n />\r\n ))}\r\n </div>\r\n );\r\n}\r\n","import { ExploreIcon } from \"../../../../../assets/icons/ExploreIcon\";\r\nimport { ChevronDownIcon } from \"lucide-react\";\r\nimport React from \"react\";\r\nimport { WorkspaceBarItems } from \"./WorkspaceItems/WorkspaceBarItems\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../../../context/types\";\r\nimport { packageDictionary } from \"../../../../../locales/utils\";\r\nimport { AddWorkspaceButton } from \"./AddWorkspaceButton/AddWorkspaceButton\";\r\nimport { motion } from \"motion/react\";\r\n\r\nexport function WorkspacePanelBar() {\r\n const { locale } = useMirantesFoundation();\r\n return (\r\n <motion.div\r\n className=\"h-[91px] divide-x divide-border bg-white rounded-2xl w-full -bottom-[65px] absolute flex items-center justify-between\"\r\n initial={{ opacity: 0, y: 10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.3, ease: \"easeInOut\", delay: 0.3 }}\r\n >\r\n <WorkspaceBarItems />\r\n\r\n <div className=\"pl-14 pr-5 h-full flex gap-x-8 items-center\">\r\n <button className=\"flex text-gray-shade8 items-center button-empty gap-x-3\">\r\n <ExploreIcon />\r\n <span className=\"text-sm font-bold text-body-md\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.explore\"\r\n )}\r\n </span>\r\n <ChevronDownIcon className=\"text-gray-shade8 w-4 h-4\" />\r\n </button>\r\n\r\n <AddWorkspaceButton />\r\n </div>\r\n </motion.div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { WorkspaceGreetings } from \"../WorkspaceGreetings/WorkspaceGreetings\";\r\nimport { WorkspacePanelBar } from \"../WorkspacePanelBar/WorkspacePanelBar\";\r\n\r\nexport function DesktopWorkspaceBar() {\r\n return (\r\n <div className=\"w-full hidden lg:block h-[204px] bg-primary\">\r\n <div className=\"w-full h-full mx-auto relative max-w-[1216px] flex items-center\">\r\n <div className=\"flex-col w-full items-start flex\">\r\n <WorkspaceGreetings />\r\n </div>\r\n\r\n <WorkspacePanelBar />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import { useEffect, useState } from \"react\";\r\n\r\nconst MOBILE_BREAKPOINT = 1014; // You can change this to your design breakpoint\r\n\r\nexport function useMobile() {\r\n const [isMobile, setIsMobile] = useState<boolean>(false);\r\n\r\n useEffect(() => {\r\n const checkIsMobile = () => {\r\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\r\n };\r\n\r\n checkIsMobile(); // Initial check\r\n window.addEventListener(\"resize\", checkIsMobile);\r\n\r\n return () => {\r\n window.removeEventListener(\"resize\", checkIsMobile);\r\n };\r\n }, []);\r\n\r\n return { isMobile };\r\n}\r\n","import React from \"react\";\r\nimport MobileWorkspaceBar from \"./components/MobileWorspaceBar/MobileWorkspaceBar\";\r\nimport { DesktopWorkspaceBar } from \"./components/DesktopWorkspaceBar/DesktopWorkspaceBar\";\r\nimport { useMobile } from \"../../../hooks/useMobile\";\r\n\r\nexport default function WorkspacePanel() {\r\n const { isMobile } = useMobile();\r\n\r\n return <>{isMobile ? <MobileWorkspaceBar /> : <DesktopWorkspaceBar />}</>;\r\n}\r\n","import React from \"react\";\r\n\r\ninterface IMirantesLogo {\r\n className?: string;\r\n color?: string;\r\n}\r\n\r\nexport function MirantesLogo({ className, color }: IMirantesLogo) {\r\n return (\r\n <svg\r\n width=\"88\"\r\n height=\"32\"\r\n viewBox=\"0 0 88 32\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n className={className}\r\n >\r\n <path\r\n d=\"M7.35135 32H3.70811C1.66054 32 0 30.3395 0 28.2919V0H3.41838C5.59135 0 7.35135 1.76 7.35135 3.93297V32Z\"\r\n fill=\"#0B89CE\"\r\n />\r\n <path\r\n d=\"M15.7835 30.9189H12.1424C10.0927 30.9189 8.43213 29.2584 8.43213 27.2087V3.45947H11.87C14.0321 3.45947 15.7835 5.21082 15.7835 7.37299V30.9189Z\"\r\n fill=\"#0B89CE\"\r\n />\r\n <path\r\n d=\"M23.3514 27.2432H19.8638C18.0887 27.2432 16.6487 25.8032 16.6487 24.0281V7.13513H19.9806C21.8422 7.13513 23.3514 8.64432 23.3514 10.5059V27.2432Z\"\r\n fill=\"#0B89CE\"\r\n />\r\n <path\r\n d=\"M26.1622 25.7427V15.5676H27.2454C27.8422 15.5676 28.3243 16.0497 28.3243 16.6465V26.8108H27.2303C26.64 26.8108 26.1622 26.333 26.1622 25.7427Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M31.5677 18.9254C31.5677 17.5762 31.546 16.4151 31.479 15.3492H32.1579C32.7352 15.3492 33.2087 15.8076 33.2239 16.387L33.2628 17.7276H33.3536C33.8552 16.0995 35.0595 15.0746 36.4044 15.0746C36.6314 15.0746 36.7914 15.1005 36.9731 15.1503V16.9427C36.9731 17.0876 36.8477 17.1978 36.705 17.1784C36.5817 17.1611 36.4477 17.1546 36.292 17.1546C34.8801 17.1546 33.879 18.3308 33.6066 19.9827C33.5612 20.2832 33.5158 20.6335 33.5158 21.0097V26.8108H32.6293C32.0455 26.8108 31.5698 26.3373 31.5698 25.7513V18.9254H31.5677Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M46.0563 26.8108C45.5093 26.8108 45.0509 26.3978 44.9947 25.853L44.9363 25.2973H44.8693C44.2661 26.24 43.1028 27.0832 41.559 27.0832C39.3666 27.0832 38.2488 25.3708 38.2488 23.6346C38.2488 20.7308 40.5753 19.1438 44.7569 19.1676V18.9189C44.7569 17.9265 44.5104 16.1405 42.2963 16.1405C41.7342 16.1405 41.159 16.2486 40.6272 16.4389C39.972 16.6746 39.2542 16.307 39.0466 15.6411L39.0315 15.5935C39.9266 14.9492 41.2239 14.5276 42.5882 14.5276C45.8985 14.5276 46.7028 17.0335 46.7028 19.44V23.9308C46.7028 24.973 46.7482 25.9892 46.8823 26.8086H46.0563V26.8108ZM44.7569 21.0832C42.5839 21.0357 40.119 21.4335 40.119 23.6346C40.119 24.9686 40.9796 25.6 41.998 25.6C43.4228 25.6 44.3288 24.6638 44.6445 23.7038C44.7115 23.494 44.7569 23.2584 44.7569 23.0486V21.0832Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M49.7296 18.6097C49.7296 17.4486 49.7058 16.4951 49.6323 15.5676H50.5556C51.1221 15.5676 51.5912 16.0086 51.6258 16.5751L51.6821 17.5135H51.6626C52.1967 16.454 53.4421 15.4184 55.2215 15.4184C56.7112 15.4184 59.0248 16.3394 59.0248 20.16V26.8108H58.3567C57.7707 26.8108 57.295 26.3351 57.295 25.7492V20.2789C57.295 18.4519 56.6312 16.9319 54.7307 16.9319C53.4031 16.9319 52.3718 17.8919 52.028 19.0378C51.9372 19.2951 51.8896 19.6476 51.8896 19.9978V26.8108H50.7977C50.2053 26.8108 49.7275 26.3308 49.7275 25.7405V18.6097H49.7296Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M64.8649 14.0238V15.3513H66.5708C67.1805 15.3513 67.6757 15.8465 67.6757 16.4562V17.0811H64.8649V23.1978C64.8649 24.6032 65.2497 25.4011 66.3589 25.4011H66.4065C67.0335 25.4011 67.5503 25.8876 67.587 26.5124L67.6043 26.8065C67.2194 26.9708 66.6097 27.0876 65.84 27.0876C64.9124 27.0876 64.1665 26.7827 63.6908 26.2205C63.1243 25.6108 62.9211 24.6032 62.9211 23.2692V17.0811H62.4022C61.734 17.0811 61.1913 16.5384 61.1913 15.8703V15.3513H62.9211V12.6357L63.0097 12.6119C63.9416 12.3524 64.8649 13.0551 64.8649 14.0238Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M70.8021 21.6216C70.8475 24.4065 72.5664 25.5546 74.5577 25.5546C75.2561 25.5546 75.8183 25.4919 76.2983 25.3924C77.0356 25.2368 77.7599 25.7103 77.9307 26.4454C77.2302 26.7741 76.0302 27.1481 74.2875 27.1481C70.9167 27.1481 68.9037 24.8541 68.9037 21.4357C68.9037 18.0173 70.8496 15.3254 74.0388 15.3254C77.6129 15.3254 78.5642 18.5795 78.5642 20.6616C78.5642 21.0832 78.5188 21.4119 78.4972 21.6216H70.8021ZM76.6399 20.1081C76.6615 18.7978 76.1188 16.7611 73.8788 16.7611C71.8658 16.7611 70.9837 18.6811 70.8237 20.1081H76.6399Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M80.2594 26.3265C80.5037 25.5568 81.3232 25.1416 82.0972 25.3751C82.5059 25.4984 82.9491 25.5784 83.3816 25.5784C84.8302 25.5784 85.5091 24.8281 85.5091 23.8919C85.5091 22.9081 84.9426 22.3697 83.4724 21.8076C81.5048 21.0811 80.5772 19.9589 80.5772 18.6011C80.5772 16.7762 82.0021 15.2778 84.3545 15.2778C85.4637 15.2778 86.4367 15.6065 87.0464 15.9805L87.0335 16.0173C86.7956 16.7351 86.041 17.1265 85.3059 16.9449C85.0054 16.8713 84.6724 16.8238 84.307 16.8238C83.1308 16.8238 82.4735 17.5265 82.4735 18.3697C82.4735 19.3059 83.1286 19.7276 84.5556 20.2897C86.4562 21.0378 87.4291 22.0216 87.4291 23.7081C87.4291 25.6973 85.9351 27.1027 83.334 27.1027C82.1383 27.0984 81.0291 26.7957 80.2594 26.3265Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n </svg>\r\n );\r\n}\r\n\r\nexport function MirantesLogoSmall({\r\n className,\r\n color = \"#0B89CE\",\r\n}: IMirantesLogo) {\r\n return (\r\n <svg\r\n height=\"32\"\r\n width=\"32\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n className={className}\r\n >\r\n <path\r\n d=\"M7.35135 32H3.70811C1.66054 32 0 30.3395 0 28.2919V0H3.41838C5.59135 0 7.35135 1.76 7.35135 3.93297V32Z\"\r\n fill={color}\r\n />\r\n <path\r\n d=\"M15.7835 30.9189H12.1424C10.0927 30.9189 8.43213 29.2584 8.43213 27.2087V3.45947H11.87C14.0321 3.45947 15.7835 5.21082 15.7835 7.37299V30.9189Z\"\r\n fill={color}\r\n />\r\n <path\r\n d=\"M23.3514 27.2432H19.8638C18.0887 27.2432 16.6487 25.8032 16.6487 24.0281V7.13513H19.9806C21.8422 7.13513 23.3514 8.64432 23.3514 10.5059V27.2432Z\"\r\n fill={color}\r\n />\r\n </svg>\r\n );\r\n}\r\n","import React, { useRef, RefObject } from \"react\";\r\nimport { MoreVerticalIcon } from \"lucide-react\";\r\nimport { useOpen } from \"../../fromMirantes/hooks/use-open\";\r\nimport { useOutsideClick } from \"../../fromMirantes/hooks/use-outside-click\";\r\nimport { motion } from \"motion/react\";\r\n\r\nexport function Dropdown({\r\n children,\r\n className,\r\n trigger,\r\n}: {\r\n children: React.ReactNode;\r\n className?: string;\r\n trigger?: React.ReactNode;\r\n}) {\r\n const ref = useRef<HTMLDivElement>(null);\r\n const { isOpen, toggle, onClose } = useOpen();\r\n useOutsideClick(ref as RefObject<HTMLDivElement>, onClose);\r\n\r\n return (\r\n <div className=\"relative inline-block\" ref={ref}>\r\n {trigger ? (\r\n <div className=\"cursor-pointer\" onClick={toggle}>\r\n {trigger}\r\n </div>\r\n ) : (\r\n <button\r\n onClick={toggle}\r\n className=\"p-2 rounded-full hover:bg-gray-100 focus:outline-none\"\r\n >\r\n <MoreVerticalIcon className=\"w-5 h-5\" />\r\n </button>\r\n )}\r\n {isOpen && (\r\n <motion.div\r\n style={{\r\n boxShadow: \"0px 0px 16px 5px rgb(11 137 206 / 0.09)\",\r\n }}\r\n initial={{ opacity: 0, y: -10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n exit={{ opacity: 0, y: -10 }}\r\n transition={{ duration: 0.2 }}\r\n className={`absolute right-0 mt-2 min-w-[200px] rounded-2xl bg-white p-2 z-50 ${className}`}\r\n >\r\n {children}\r\n </motion.div>\r\n )}\r\n </div>\r\n );\r\n}\r\n","import { useMirantesFoundation } from \"../../../context/useMirantesFoundation\";\r\nimport { deleteCookie, getCookie, setCookie, OptionsType } from \"cookies-next\";\r\n\r\nexport const useUserSessions = () => {\r\n const { environment, mirantesDomain } = useMirantesFoundation();\r\n const resolvedDomain = environment === \"dev\" ? \"localhost\" : mirantesDomain;\r\n function saveCookie(name: string, value: string, options?: OptionsType) {\r\n setCookie(name, value, {\r\n sameSite: \"lax\",\r\n secure: environment !== \"dev\",\r\n path: \"/\",\r\n domain: resolvedDomain,\r\n ...options,\r\n });\r\n }\r\n\r\n function destroyCookie(name: string, options?: OptionsType) {\r\n deleteCookie(name, {\r\n sameSite: \"lax\",\r\n secure: environment !== \"dev\",\r\n path: \"/\",\r\n domain: resolvedDomain,\r\n ...options,\r\n });\r\n }\r\n\r\n function getSavedCookie(name: string) {\r\n return getCookie(name);\r\n }\r\n\r\n return {\r\n saveCookie,\r\n destroyCookie,\r\n getSavedCookie,\r\n };\r\n};\r\n","import { Dropdown } from \"../../../../shared/dropdown/Dropdown\";\r\nimport React from \"react\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { packageDictionary } from \"../../../../../locales/utils\";\r\nimport { TLocale } from \"../../../../../context/types\";\r\nimport { useUserSessions } from \"../../../../../components/fromMirantes/utils/cookies-utils\";\r\nimport { AppKeys } from \"../../../../../components/fromMirantes/utils/app.keys\";\r\nimport { LogOut } from \"lucide-react\";\r\n\r\nexport function UserOptions({ trigger }: { trigger?: React.ReactNode }) {\r\n const { locale } = useMirantesFoundation();\r\n const { destroyCookie } = useUserSessions();\r\n\r\n const handleLogout = () => {\r\n destroyCookie(AppKeys.accessToken);\r\n destroyCookie(AppKeys.refreshToken);\r\n destroyCookie(AppKeys.userData);\r\n destroyCookie(AppKeys.userId);\r\n destroyCookie(AppKeys.userSlug);\r\n destroyCookie(AppKeys.userStatus);\r\n\r\n window.location.href = \"/\";\r\n };\r\n\r\n return (\r\n <Dropdown trigger={trigger}>\r\n <div className=\"w-full flex flex-col gap-y-4\">\r\n \r\n <div\r\n role=\"button\"\r\n onClick={handleLogout}\r\n className=\"px-4 group flex gap-x-2 cursor-pointer justify-start hover:font-medium py-2 w-full text-body-md text-gray-shade8 hover:text-primary transition-all hover:bg-primary/10 rounded-[10px]\"\r\n >\r\n <div className=\"w-5 h-5 flex items-center justify-center \">\r\n <LogOut className=\"w-5 h-5 text-gray-shade8 group-hover:text-primary\" />\r\n </div>\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.user.options.logout\"\r\n )}\r\n </div>\r\n </div>\r\n </Dropdown>\r\n );\r\n}\r\n","import { ChevronDownIcon } from \"lucide-react\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { Avatar } from \"../../../../shared/avatar/avatar\";\r\nimport React from \"react\";\r\nimport { UserOptions } from \"./UserOptions\";\r\n\r\nexport function UserInfo() {\r\n const { user, locale } = useMirantesFoundation();\r\n\r\n const handleRedirectToProfile = () => {\r\n window.location.href = `/profile/${locale}`;\r\n };\r\n\r\n return (\r\n <UserOptions\r\n trigger={\r\n <div className=\"flex items-center gap-x-2\">\r\n <Avatar\r\n onClick={handleRedirectToProfile}\r\n name={user?.name as string}\r\n src={user?.avatar}\r\n className=\"w-8 h-8\"\r\n />\r\n\r\n <div className=\"flex items-center gap-x-2\">\r\n <div className=\"flex flex-col items-start\">\r\n <span className=\"text-body-sm font-semibold\">{user?.name}</span>\r\n <span className=\"text-body-sm text-gray-shade8\">\r\n {user?.slug}\r\n </span>\r\n </div>\r\n\r\n <ChevronDownIcon className=\"w-4 h-4\" />\r\n </div>\r\n </div>\r\n }\r\n />\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { cn } from \"../../../../../utils/utils\";\r\n\r\ntype NavbarItemProps = {\r\n icon: React.ReactNode;\r\n label: string;\r\n isActive?: boolean;\r\n href: string;\r\n};\r\n\r\nexport function NavbarItem({ icon, label, href, isActive }: NavbarItemProps) {\r\n return (\r\n <button\r\n onClick={() => (window.location.href = href)}\r\n className={cn(\r\n \"flex items-center px-5 h-[44px] transition-all text-body-sm font-bold text-gray-shade8 gap-x-2\",\r\n isActive && \"bg-primary/10 text-primary rounded-lg\"\r\n )}\r\n >\r\n <div className={cn(\"w-6 h-6 transition-all\", !isActive && \"grayscale\")}>\r\n {icon}\r\n </div>\r\n\r\n {label}\r\n </button>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport const HomeIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"21\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 21 20\"\r\n >\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M8.12 17.318v-2.556c0-.647.526-1.173 1.179-1.177h2.395c.655 0 1.186.527 1.186 1.177v2.549c0 .562.457 1.018 1.022 1.022h1.635a2.88 2.88 0 0 0 2.036-.833c.54-.535.844-1.261.844-2.019v-7.26a2.06 2.06 0 0 0-.747-1.585l-5.55-4.408a2.596 2.596 0 0 0-3.299.06L3.39 6.636a2.06 2.06 0 0 0-.806 1.585v7.253a2.87 2.87 0 0 0 2.88 2.86H7.06c.273.001.535-.105.728-.296.193-.19.302-.45.302-.72z\"\r\n ></path>\r\n </svg>\r\n);\r\n","import React from \"react\";\r\n\r\nexport const MCPIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"21\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 21 20\"\r\n >\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M18.276 6.202c-.35-.22-.779-.24-1.144-.053l-1.235.623c-.457.23-.74.696-.74 1.214v4.86c0 .519.283.983.74 1.215l1.234.623a1.14 1.14 0 0 0 1.145-.053c.349-.22.557-.599.557-1.015V7.218c0-.416-.208-.796-.557-1.016\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M10.42 16.667H5.595c-2.018 0-3.427-1.392-3.427-3.385V7.551c0-1.994 1.409-3.384 3.427-3.384h4.827c2.018 0 3.427 1.39 3.427 3.384v5.731c0 1.993-1.409 3.384-3.427 3.384\"\r\n ></path>\r\n </svg>\r\n);\r\n","import React from \"react\";\r\n\r\nexport const ExploreIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"21\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 21 20\"\r\n >\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M13.896 1.667h2.822c1.169 0 2.115.954 2.115 2.133v2.845a2.124 2.124 0 0 1-2.115 2.134h-2.822a2.124 2.124 0 0 1-2.115-2.134V3.8c0-1.179.947-2.133 2.115-2.133\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n fillRule=\"evenodd\"\r\n d=\"M4.282 1.667h2.822c1.168 0 2.115.954 2.115 2.133v2.845A2.124 2.124 0 0 1 7.104 8.78H4.282a2.124 2.124 0 0 1-2.115-2.134V3.8c0-1.179.947-2.133 2.115-2.133m0 9.554h2.822c1.168 0 2.115.955 2.115 2.133V16.2a2.125 2.125 0 0 1-2.115 2.133H4.282A2.125 2.125 0 0 1 2.167 16.2v-2.846c0-1.178.947-2.133 2.115-2.133m12.436 0h-2.822a2.124 2.124 0 0 0-2.115 2.133V16.2c0 1.178.947 2.133 2.115 2.133h2.822a2.125 2.125 0 0 0 2.115-2.133v-2.846a2.124 2.124 0 0 0-2.115-2.133\"\r\n clipRule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n);\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { NavbarItem } from \"./NavbarItem\";\r\nimport { packageDictionary } from \"../../../../../locales/utils\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../../../context/types\";\r\nimport { HomeIcon } from \"../../../../../assets/icons/nav-icons/HomeIcon\";\r\nimport { MCPIcon } from \"../../../../../assets/icons/nav-icons/MCPIcon\";\r\nimport { ExploreIcon } from \"../../../../../assets/icons/nav-icons/ExploreIcon\";\r\n\r\nexport function Navbar() {\r\n const { locale } = useMirantesFoundation();\r\n\r\n return (\r\n <nav className=\"flex items-center\">\r\n <NavbarItem\r\n isActive\r\n href=\"/\"\r\n label={packageDictionary(locale as TLocale, \"main.navbar.home\")}\r\n icon={<HomeIcon />}\r\n />\r\n\r\n <NavbarItem\r\n label={packageDictionary(locale as TLocale, \"main.navbar.mcp\")}\r\n icon={<MCPIcon />}\r\n href=\"/mcp\"\r\n />\r\n\r\n <NavbarItem\r\n label={packageDictionary(locale as TLocale, \"main.navbar.explore\")}\r\n icon={<ExploreIcon />}\r\n href=\"/explore\"\r\n />\r\n </nav>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const AIIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 20 20\"\r\n >\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M5.551 8.897s.307 2.859 1.5 4.052 4.052 1.5 4.052 1.5-2.86.306-4.052 1.499C5.858 17.14 5.55 20 5.55 20s-.306-2.86-1.499-4.052C2.859 14.755 0 14.448 0 14.448s2.859-.306 4.052-1.499 1.5-4.052 1.5-4.052M13.482 4.184s.306 2.859 1.5 4.052c1.192 1.193 4.052 1.5 4.052 1.5s-2.86.306-4.053 1.499-1.499 4.052-1.499 4.052-.306-2.859-1.5-4.052c-1.192-1.193-4.051-1.5-4.051-1.5s2.859-.306 4.052-1.499 1.5-4.052 1.5-4.052\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M5.551 0s.307 2.859 1.5 4.052 4.052 1.5 4.052 1.5-2.86.306-4.052 1.499c-1.193 1.193-1.5 4.052-1.5 4.052s-.306-2.86-1.499-4.052C2.859 5.858 0 5.55 0 5.55s2.859-.306 4.052-1.499S5.552 0 5.552 0\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import * as React from \"react\";\r\n\r\nexport const MessagesIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"24\"\r\n height=\"24\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n >\r\n <path\r\n fill=\"#111827\"\r\n d=\"M12.02 2C6.21 2 2 6.74 2 12c0 1.68.49 3.41 1.35 4.99.16.26.18.59.07.9l-.67 2.24c-.15.54.31.94.82.78l2.02-.6c.55-.18.98.05 1.491.36 1.46.86 3.279 1.3 4.919 1.3 4.96 0 10-3.83 10-10C22 6.65 17.7 2 12.02 2\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#111827\"\r\n d=\"M7.37 10.73c.71 0 1.28.57 1.28 1.28 0 .7-.57 1.27-1.28 1.28-.7 0-1.28-.58-1.28-1.28 0-.71.57-1.28 1.28-1.28m4.61 0c.71 0 1.28.57 1.28 1.28 0 .7-.57 1.28-1.28 1.28-.71-.01-1.28-.58-1.28-1.29 0-.7.58-1.28 1.28-1.27m4.61 0c.71 0 1.28.57 1.28 1.28 0 .7-.57 1.28-1.28 1.28s-1.28-.58-1.28-1.28c0-.71.57-1.28 1.28-1.28\"\r\n ></path>\r\n <rect width=\"10\" height=\"10\" x=\"13.002\" y=\"1\" fill=\"#E03137\" rx=\"5\"></rect>\r\n <rect\r\n width=\"10\"\r\n height=\"10\"\r\n x=\"13.002\"\r\n y=\"1\"\r\n stroke=\"#fff\"\r\n strokeWidth=\"2\"\r\n rx=\"5\"\r\n ></rect>\r\n </svg>\r\n);\r\n\r\n","import { BellIcon } from \"../../../../assets/icons/BellIcon\";\r\nimport { MirantesLogo } from \"../../../../assets/logos/MirantesLogo\";\r\nimport React, { useState } from \"react\";\r\nimport { UserInfo } from \"../components/UserInfo/UserInfo\";\r\nimport { Navbar } from \"../components/Navbar/Navbar\";\r\nimport { BaseInput } from \"../../../shared/BaseInput/BaseInput\";\r\nimport { TLocale } from \"../../../../context/types\";\r\nimport { packageDictionary } from \"../../../../locales/utils\";\r\nimport { AIIcon } from \"../../../../assets/icons/nav-icons/AIIcon\";\r\nimport { useMirantesFoundation } from \"../../../../context/useMirantesFoundation\";\r\nimport { MessagesIcon } from \"../../../../assets/icons/MessagesIcon\";\r\nimport { cn } from \"../../../../utils/utils\";\r\nimport { NotificationsWrapper } from \"@mirantes-micro/notifications-v2\"\r\n\r\nexport function DesktopHeader({ className }: { className?: string }) {\r\n const { locale } = useMirantesFoundation();\r\n const [search, setSearch] = useState(\"\");\r\n\r\n return (\r\n <header\r\n className={cn(\r\n \"hidden lg:block w-full z-[200] h-[70px] bg-white rounded-2xl sticky top-0\",\r\n className\r\n )}\r\n >\r\n <div className=\"flex max-w-[1440px] px-8 h-full items-center justify-between w-full mx-auto\">\r\n <div className=\"flex items-center gap-x-6\">\r\n <button\r\n className=\"button-empty !p-0\"\r\n onClick={() => (window.location.href = \"/\")}\r\n >\r\n <MirantesLogo />\r\n </button>\r\n\r\n <BaseInput\r\n onChange={(e) => setSearch(e.target.value)}\r\n className=\"h-[46px]\"\r\n wrapperClassName=\"min-w-[400px]\"\r\n leftIcon={<AIIcon />}\r\n placeholder={packageDictionary(\r\n locale as TLocale,\r\n \"component.search.placeholder\"\r\n )}\r\n value={search}\r\n />\r\n </div>\r\n\r\n <Navbar />\r\n\r\n <div className=\"flex items-center gap-x-6\">\r\n <button>\r\n <MessagesIcon />\r\n </button>\r\n <NotificationsWrapper />\r\n <UserInfo />\r\n </div>\r\n </div>\r\n </header>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport default function SearchSvg() {\r\n return (\r\n <svg\r\n width=\"21\"\r\n height=\"21\"\r\n viewBox=\"0 0 21 21\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M9.76639 1.52734C5.21636 1.52734 1.52783 5.21587 1.52783 9.7659C1.52783 14.3159 5.21636 18.0045 9.76639 18.0045C14.3164 18.0045 18.0049 14.3159 18.0049 9.7659C18.0049 5.21587 14.3164 1.52734 9.76639 1.52734ZM0.027832 9.7659C0.027832 4.38744 4.38793 0.0273438 9.76639 0.0273438C15.1448 0.0273438 19.5049 4.38744 19.5049 9.7659C19.5049 15.1444 15.1448 19.5045 9.76639 19.5045C4.38793 19.5045 0.027832 15.1444 0.027832 9.7659Z\"\r\n fill=\"#111827\"\r\n />\r\n <path\r\n fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M15.4871 15.9548C15.7796 15.6615 16.2545 15.6609 16.5477 15.9534L20.0718 19.4683C20.365 19.7608 20.3657 20.2357 20.0732 20.529C19.7806 20.8222 19.3058 20.8228 19.0125 20.5303L15.4885 17.0155C15.1952 16.7229 15.1946 16.2481 15.4871 15.9548Z\"\r\n fill=\"#111827\"\r\n />\r\n </svg>\r\n );\r\n}\r\n","import { Avatar } from \"../../../shared/avatar/avatar\";\r\nimport { useMirantesFoundation } from \"../../../../context/useMirantesFoundation\";\r\nimport React from \"react\";\r\nimport { packageDictionary } from \"../../../../locales/utils\";\r\nimport { TLocale } from \"../../../../context/types\";\r\nimport SearchSvg from \"../../../../assets/icons/Search\";\r\nimport { BellIcon } from \"../../../../assets/icons/BellIcon\";\r\nimport { MenuIcon } from \"lucide-react\";\r\nimport { cn } from \"../../../../utils/utils\";\r\nimport { NotificationsWrapper } from \"@mirantes-micro/notifications-v2\";\r\n\r\nexport function MobileHeader({ className }: { className?: string }) {\r\n const { user, locale } = useMirantesFoundation();\r\n\r\n const handleRedirectToProfile = () => {\r\n window.location.href = `/profile/${locale}`;\r\n };\r\n\r\n return (\r\n <header\r\n className={cn(\r\n \"w-full sticky top-0 z-[200] bg-primary h-[80px] px-6 flex lg:hidden items-center justify-between\",\r\n className\r\n )}\r\n >\r\n <div className=\"flex items-center gap-x-2\">\r\n <Avatar\r\n onClick={handleRedirectToProfile}\r\n name={user?.name as string}\r\n className=\"w-[46px] h-[46px] bg-[#ffffff20]\"\r\n />\r\n\r\n <div className=\"flex flex-col gap-y-1\">\r\n <span className=\"text-[10px] text-white\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.greetings\"\r\n )}\r\n </span>\r\n\r\n <span className=\"text-body-sm text-white font-bold\">\r\n {user?.name}\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"flex items-center gap-x-4\">\r\n <button className=\"w-8 h-8 rounded-full flex items-center justify-center bg-[#ffffff20]\">\r\n <div className=\"w-5 h-5 [&>svg_*]:fill-white flex items-center justify-center\">\r\n <SearchSvg />\r\n </div>\r\n </button>\r\n\r\n <NotificationsWrapper />\r\n\r\n <button>\r\n <MenuIcon className=\"w-6 h-6 text-white\" />\r\n </button>\r\n </div>\r\n </header>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { DesktopHeader } from \"./DesktopHeader/DesktopHeader\";\r\nimport { MobileHeader } from \"./MobileHeader/MobileHeader\";\r\n\r\nexport default function Header({ className }: { className?: string }) {\r\n return (\r\n <>\r\n <DesktopHeader className={className} />\r\n <MobileHeader className={className} />\r\n </>\r\n );\r\n}\r\n"]}
|