diff --git a/frontend/app/package.json b/frontend/app/package.json
index 3cbefac1..1c474975 100644
--- a/frontend/app/package.json
+++ b/frontend/app/package.json
@@ -19,7 +19,6 @@
"@react-spring/web": "^9.7.3",
"@tanstack/react-query": "^5.31.0",
"dnum": "^2.11.0",
- "focus-trap-react": "^10.2.3",
"geist": "^1.3.0",
"next": "14.2.2",
"react": "^18",
diff --git a/frontend/app/src/app/page.tsx b/frontend/app/src/app/page.tsx
index d2ec97a2..0a47b033 100644
--- a/frontend/app/src/app/page.tsx
+++ b/frontend/app/src/app/page.tsx
@@ -1,7 +1,8 @@
"use client";
-import { AppLauncher } from "@/src/comps/AppLauncher/AppLauncher";
import { css } from "@/styled-system/css";
+import { Button } from "@liquity2/uikit";
+import Link from "next/link";
export default function Home() {
return (
@@ -9,11 +10,30 @@ export default function Home() {
className={css({
display: "flex",
alignItems: "center",
+ justifyContent: "center",
+ gap: 16,
width: "100%",
height: "100%",
})}
>
-
+ {([
+ ["/contracts", true],
+ ["/earn", true],
+ ["/borrow", false],
+ ] as const).map(([path, enabled]) => (
+
+
+
+ ))}
);
}
diff --git a/frontend/app/src/comps/AppLauncher/AppIcon.tsx b/frontend/app/src/comps/AppLauncher/AppIcon.tsx
deleted file mode 100644
index 5ffa6bc2..00000000
--- a/frontend/app/src/comps/AppLauncher/AppIcon.tsx
+++ /dev/null
@@ -1,148 +0,0 @@
-"use client";
-
-import type { ReactNode } from "react";
-
-import { a, useSpring } from "@react-spring/web";
-import { match } from "ts-pattern";
-
-type IconProps = {
- state: "initial" | "idle" | "active";
-};
-
-export const springConfig = {
- mass: 1,
- tension: 800,
- friction: 40,
-};
-
-export function AppIcon({
- iconType,
- state,
-}: {
- iconType: "borrow" | "leverage" | "earn";
- state: IconProps["state"];
-}) {
- return match(iconType)
- .with("borrow", () => )
- .with("leverage", () => )
- .with("earn", () => )
- .exhaustive();
-}
-
-function AppIconBorrow({ state }: IconProps) {
- const { t1, t2 } = useSpring({
- t1: state === "active"
- ? "translate(36 0) scale(1.1)"
- : "translate(0 0) scale(1)",
- t2: state === "active"
- ? "translate(-36 0) scale(1.1)"
- : "translate(0 0) scale(1)",
- config: springConfig,
- });
- return (
-
-
-
-
- );
-}
-
-function AppIconLeverage({ state }: IconProps) {
- const { t1, t2 } = useSpring({
- t1: state === "active"
- ? "translate(0 56) scale(0)"
- : "translate(0 36) scale(2)",
- t2: state === "active"
- ? "translate(-6 -6) scale(6.8)"
- : "translate(20 0) scale(3.6)",
- config: springConfig,
- });
-
- return (
-
-
-
-
- );
-}
-
-function AppIconEarn({ state }: IconProps) {
- const { squareT, squareRadius, circleT } = useSpring({
- squareT: state === "active" ? "scale(1.4)" : "scale(1)",
- squareRadius: state === "active" ? "28" : "0",
- circleT: state === "active" ? "scale(0.8)" : "scale(1)",
- config: springConfig,
- });
- return (
-
-
-
-
- );
-}
-
-function IconBase({ children }: { children: ReactNode }) {
- return (
-
- );
-}
diff --git a/frontend/app/src/comps/AppLauncher/AppLauncher.tsx b/frontend/app/src/comps/AppLauncher/AppLauncher.tsx
deleted file mode 100644
index 3ec1a3e4..00000000
--- a/frontend/app/src/comps/AppLauncher/AppLauncher.tsx
+++ /dev/null
@@ -1,196 +0,0 @@
-"use client";
-
-import { css } from "@/styled-system/css";
-import { a, useSpring } from "@react-spring/web";
-import Link from "next/link";
-import { useState } from "react";
-import { AppIcon, springConfig } from "./AppIcon";
-
-type AppData = readonly [
- label: string,
- description: string,
- href: string,
- bg: string,
- fg: string,
- iconType: "borrow" | "leverage" | "earn",
-];
-
-const apps: AppData[] = [
- [
- "Borrow",
- "Borrow BOLD stablecoin against ETH and staked ETH at a rate that you set",
- "/borrow",
- "#121B44",
- "#FFFFFF",
- "borrow",
- ],
- [
- "Leverage",
- "Multiply your ETH and staked ETH at a funding rate that you set",
- "/leverage",
- "#63D77D",
- "#121B44",
- "leverage",
- ],
- [
- "Earn",
- "Deposit BOLD and earn real yield",
- "/earn",
- "#405AE5",
- "#FFFFFF",
- "earn",
- ],
-];
-
-export function AppLauncher() {
- const [highlighted, setHighlighted] = useState(null);
-
- const { gridTemplateColumns } = useSpring({
- gridTemplateColumns: apps.map((app) => (
- highlighted === app ? "1.1fr" : "1fr"
- )).join(" "),
- config: springConfig,
- });
-
- return (
-
- {apps.map((app) => (
- {
- setHighlighted(highlighted ? app : null);
- }}
- />
- ))}
-
- );
-}
-
-function AppCard({
- app,
- highlighted,
- onHighlightChange,
-}: {
- app: AppData;
- highlighted: boolean;
- onHighlightChange: (highlighted: boolean) => void;
-}) {
- const [label, description, href, bg, fg, iconType] = app;
-
- const { titleT, arrowT } = useSpring({
- titleT: highlighted ? "scale(1.2)" : "scale(1)",
- arrowT: highlighted ? "scale(1.4)" : "scale(1)",
- config: springConfig,
- });
-
- return (
- onHighlightChange(true)}
- onMouseLeave={() => onHighlightChange(false)}
- onFocus={() => onHighlightChange(true)}
- onBlur={() => onHighlightChange(false)}
- className={css({
- outline: "none",
- _active: {
- translate: "0 2px",
- },
- _focusVisible: {
- zIndex: 2,
- outlineOffset: 0,
- outlineColor: "#FFFFFF",
- },
- })}
- >
-
-
-
-
-
- {label}
-
-
-
-
-
-
- {description}
-
-
-
-
- );
-}
-
-function Arrow({ color }: { color: string }) {
- return (
-
- );
-}
diff --git a/frontend/uikit/.gitignore b/frontend/uikit/.gitignore
index 65c3c28a..8275bb52 100644
--- a/frontend/uikit/.gitignore
+++ b/frontend/uikit/.gitignore
@@ -24,3 +24,5 @@ dist-ssr
*.sw?
/styled-system/
+
+tsconfig.tsbuildinfo
diff --git a/frontend/uikit/tsconfig.tsbuildinfo b/frontend/uikit/tsconfig.tsbuildinfo
deleted file mode 100644
index 08d1c6d6..00000000
--- a/frontend/uikit/tsconfig.tsbuildinfo
+++ /dev/null
@@ -1 +0,0 @@
-{"program":{"fileNames":["../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/@types+react@18.2.79/node_modules/@types/react/global.d.ts","../../node_modules/.pnpm/csstype@3.1.3/node_modules/csstype/index.d.ts","../../node_modules/.pnpm/@types+prop-types@15.7.12/node_modules/@types/prop-types/index.d.ts","../../node_modules/.pnpm/@types+react@18.2.79/node_modules/@types/react/index.d.ts","../../node_modules/.pnpm/@types+react@18.2.79/node_modules/@types/react/jsx-runtime.d.ts","../../node_modules/.pnpm/ts-pattern@5.1.1/node_modules/ts-pattern/dist/internals/symbols.d.ts","../../node_modules/.pnpm/ts-pattern@5.1.1/node_modules/ts-pattern/dist/types/helpers.d.ts","../../node_modules/.pnpm/ts-pattern@5.1.1/node_modules/ts-pattern/dist/types/FindSelected.d.ts","../../node_modules/.pnpm/ts-pattern@5.1.1/node_modules/ts-pattern/dist/types/Pattern.d.ts","../../node_modules/.pnpm/ts-pattern@5.1.1/node_modules/ts-pattern/dist/types/ExtractPreciseValue.d.ts","../../node_modules/.pnpm/ts-pattern@5.1.1/node_modules/ts-pattern/dist/types/BuildMany.d.ts","../../node_modules/.pnpm/ts-pattern@5.1.1/node_modules/ts-pattern/dist/types/IsMatching.d.ts","../../node_modules/.pnpm/ts-pattern@5.1.1/node_modules/ts-pattern/dist/types/DistributeUnions.d.ts","../../node_modules/.pnpm/ts-pattern@5.1.1/node_modules/ts-pattern/dist/types/DeepExclude.d.ts","../../node_modules/.pnpm/ts-pattern@5.1.1/node_modules/ts-pattern/dist/types/InvertPattern.d.ts","../../node_modules/.pnpm/ts-pattern@5.1.1/node_modules/ts-pattern/dist/patterns.d.ts","../../node_modules/.pnpm/ts-pattern@5.1.1/node_modules/ts-pattern/dist/types/Match.d.ts","../../node_modules/.pnpm/ts-pattern@5.1.1/node_modules/ts-pattern/dist/match.d.ts","../../node_modules/.pnpm/ts-pattern@5.1.1/node_modules/ts-pattern/dist/is-matching.d.ts","../../node_modules/.pnpm/ts-pattern@5.1.1/node_modules/ts-pattern/dist/index.d.ts","../../node_modules/.pnpm/@ts-morph+common@0.22.0/node_modules/@ts-morph/common/lib/typescript.d.ts","../../node_modules/.pnpm/@ts-morph+common@0.22.0/node_modules/@ts-morph/common/lib/ts-morph-common.d.ts","../../node_modules/.pnpm/ts-morph@21.0.1/node_modules/ts-morph/lib/ts-morph.d.ts","../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/typescript.d.ts","../../node_modules/.pnpm/ts-evaluator@1.2.0_jsdom@24.0.0_bufferutil@4.0.8_utf-8-validate@6.0.3__typescript@5.4.5/node_modules/ts-evaluator/dist/esm/index.d.ts","../../node_modules/.pnpm/@pandacss+extractor@0.37.2_jsdom@24.0.0_bufferutil@4.0.8_utf-8-validate@6.0.3__typescript@5.4.5/node_modules/@pandacss/extractor/dist/index.d.ts","../../node_modules/.pnpm/mlly@1.6.1/node_modules/mlly/dist/index.d.ts","../../node_modules/.pnpm/pkg-types@1.0.3/node_modules/pkg-types/dist/index.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/csstype.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/selectors.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/conditions.d.ts","../../node_modules/.pnpm/microdiff@1.3.2/node_modules/microdiff/dist/index.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/artifact.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/static-css.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/prop-type.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/style-props.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/system-types.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/recipe.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/style-rules.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/hooks-api.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/logger.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/parser.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/hooks.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/shared.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/tokens.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/pattern.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/composition.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/theme.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/utility.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/config.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/analyze-report.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/parts.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/runtime.d.ts","../../node_modules/.pnpm/@pandacss+types@0.37.2/node_modules/@pandacss/types/dist/index.d.ts","../../node_modules/.pnpm/@pandacss+dev@0.37.2_jsdom@24.0.0_bufferutil@4.0.8_utf-8-validate@6.0.3__typescript@5.4.5/node_modules/@pandacss/dev/dist/index.d.ts","./styled-system/types/static-css.d.ts","./styled-system/types/csstype.d.ts","./styled-system/types/selectors.d.ts","./styled-system/types/conditions.d.ts","./styled-system/tokens/tokens.d.ts","./styled-system/tokens/index.d.ts","./styled-system/types/prop-type.d.ts","./styled-system/types/style-props.d.ts","./styled-system/types/system-types.d.ts","./styled-system/types/recipe.d.ts","./styled-system/types/parts.d.ts","./styled-system/types/pattern.d.ts","./styled-system/types/composition.d.ts","./styled-system/types/global.d.ts","./styled-system/types/index.d.ts","./styled-system/css/css.d.ts","./styled-system/css/cx.d.ts","./styled-system/css/cva.d.ts","./styled-system/css/sva.d.ts","./styled-system/css/index.d.ts","./src/Button/Button.tsx","./src/Button/TextButton.tsx","./src/FormField/FormField.tsx","./src/Input/TextInput.tsx","../../node_modules/.pnpm/@react-spring+types@9.7.3/node_modules/@react-spring/types/dist/react-spring_types.modern.d.ts","../../node_modules/.pnpm/@react-spring+shared@9.7.3_react@18.2.0/node_modules/@react-spring/shared/dist/react-spring_shared.modern.d.ts","../../node_modules/.pnpm/@react-spring+animated@9.7.3_react@18.2.0/node_modules/@react-spring/animated/dist/react-spring_animated.modern.d.ts","../../node_modules/.pnpm/@react-spring+core@9.7.3_react@18.2.0/node_modules/@react-spring/core/dist/react-spring_core.modern.d.ts","../../node_modules/.pnpm/@react-spring+web@9.7.3_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@react-spring/web/dist/react-spring_web.modern.d.ts","../../node_modules/.pnpm/tabbable@6.2.0/node_modules/tabbable/index.d.ts","../../node_modules/.pnpm/focus-trap@7.5.4/node_modules/focus-trap/index.d.ts","../../node_modules/.pnpm/focus-trap-react@10.2.3_prop-types@15.8.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/focus-trap-react/index.d.ts","../../node_modules/.pnpm/@types+react-dom@18.2.25/node_modules/@types/react-dom/index.d.ts","./src/Root/Root.tsx","./src/Modal/Modal.tsx","./src/theme.tsx","./src/index.ts","../../node_modules/.pnpm/vite@5.2.9_@types+node@20.12.7_lightningcss@1.24.1_terser@5.30.3/node_modules/vite/types/hmrPayload.d.ts","../../node_modules/.pnpm/vite@5.2.9_@types+node@20.12.7_lightningcss@1.24.1_terser@5.30.3/node_modules/vite/types/customEvent.d.ts","../../node_modules/.pnpm/vite@5.2.9_@types+node@20.12.7_lightningcss@1.24.1_terser@5.30.3/node_modules/vite/types/hot.d.ts","../../node_modules/.pnpm/vite@5.2.9_@types+node@20.12.7_lightningcss@1.24.1_terser@5.30.3/node_modules/vite/types/importGlob.d.ts","../../node_modules/.pnpm/vite@5.2.9_@types+node@20.12.7_lightningcss@1.24.1_terser@5.30.3/node_modules/vite/types/importMeta.d.ts","../../node_modules/.pnpm/vite@5.2.9_@types+node@20.12.7_lightningcss@1.24.1_terser@5.30.3/node_modules/vite/client.d.ts","./src/vite-env.d.ts","./src/Button/Button.fixture.tsx","./src/Input/TextInput.fixture.tsx","../../node_modules/.pnpm/@types+eslint@8.56.10/node_modules/@types/eslint/helpers.d.ts","../../node_modules/.pnpm/@types+estree@1.0.5/node_modules/@types/estree/index.d.ts","../../node_modules/.pnpm/@types+json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts","../../node_modules/.pnpm/@types+eslint@8.56.10/node_modules/@types/eslint/index.d.ts","../../node_modules/.pnpm/@types+eslint-scope@3.7.7/node_modules/@types/eslint-scope/index.d.ts","../../node_modules/.pnpm/@types+prettier@2.7.3/node_modules/@types/prettier/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"76f838d5d49b65de83bc345c04aa54c62a3cfdb72a477dc0c0fce89a30596c30","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"55461596dc873b866911ef4e640fae4c39da7ac1fbc7ef5e649cb2f2fb42c349","affectsGlobalScope":true},"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","247a952efd811d780e5630f8cfd76f495196f5fa74f6f0fee39ac8ba4a3c9800",{"version":"8117d2726c78497306ceef07b4ccd08a863a9bd6e1fd7ff9ed6332f0e49bbb1a","affectsGlobalScope":true},"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","d0112c7965d438d2018bf4f25a59b98b1a9a49809560a1c6130ab83f530c91c9","2a52876a30f361da2ffd499410bfd6020aa2fb13ad18dccb7ca568db90012af6","33c6896904b6d2a51cd90bd3a4d2211f30175372893dd98f572f0bf56a392edb","70cd758e61086f2e8e58dbf377063b7b286228c9409a5a98b809c3f93bfe3813","e8bea33f6deeb8796117f280ece2d14e1af4f93450a872f033516381f1a2beaf","5b9fd7fa76e809d2187e4ff44db0b317d637ddb44c096f615c255482b1d96302","9ac5937cb54fdb69aeadd27047fd5ddebc07d3c86c45fa17ad4a7bbd0000c9b5","02d035ff7d4aa492f4cf187cc9334159659ec8f7d18ebeb95c078f9c34810efa","4e17486c14175f1eb6ce1b3e0072cf685b9fb9167cbac597ca3827b848903916","9876fe95f6846dd30b0d91588378cb6e460423a9a3c3a4dfbefb401983865e2e","54753bf196d9bb0f90c9eaa02e55bb052690ea360f02dbe6f5895e041a35bb2f","e6e332982497633298b181a72c6611ee9614ac524250505a30d3d79f3c422bee","b4800a82c9c607b544bf831b1f89ed6e432f517702c4816028222128a2c806fc","4d821383daca2ea31204ca5487204272819a61247d711ff43e73d6fe6a125bdd","b1152042664d55d993ef4336bc1aad185858bbf45fae754d42b59539e5f3e45a","f2a60f3d9dac64110308154059537cd87ab6f4c607395a89e3cc703f837b8d22","b2f74a813678952f4906641449101cb04e6b94a3055a60c194d28f93fcb58a25","e5b2239e66924ad249294b617d85dc561a04fa1491f3b9aa45e067456682ada7","e4ba061c5bcfc75ef8a18eaf677e0ea007ca67931a12aab286cc4a851ce49263","3ae8dd5663704463b336ce8e43dab2a53fc7f085841602f90f07d3edf675ce65","c6c583d215c29a8420c52a01f041a3ebfa5ad9eecd4049b57acda599e3e30ed0","f1e93601192070f3212f86404651bf4d4e734d1be7943044eb86b725ff9da336","1235f6acae8da14ce25d9f75df290c4e4f7d53d024b4e91c6121ff44ea13c801","8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","51997bdd3b56bd6931f3e1d5facd0aeda6745e2288f379085bc384090d676a6c","15bd07838cd4506b93e6835f78c5dedacc0bcae7202b2086444637df4a8f4d45","348c57c67c092eb3c28873d630c320e392e947a07946aaced323e8e6eafb915d","83fcaf1f41dd04269322cfdd47aa2546ec0393c83c2f3a1a2ad321765a3e3aa2","4e3996bccaa20cbc913f05e212f49686a9cc2e719a8e962710eb7347fac50c5d","4baa8b99f90861f5e8ba1efb2deef2195be4037ea47b83180b6770d76bfe845c","03c0c949e86c44a98165752c31d9edea61b853a237254806b5a452c16b6f709f","5f5e73fa8cad75a164478a37c5b24453172d12c92f89c69df40a32d22c749314","99fd2d0041b7c587afbeba742a504f0aa1816454178e2ae682c6e6a87e1bd014","db56a1b0b070b2a9b68561c3542b3928492793e32c632171caa6c53fb8ecb402","a92ea8cdc292bee86d7bf00ade4d4c2b84ef07b6a772650c4a3f503e83c43f95","9cc2ce851dce49e8e831ffefd5ac85b62319e97df4821683dcc80fb17e08197e","10ccdcf171b365e3fc0b9540f9941ad3915ba3672eda63099156d64f5b9616e8","9e6ae4de60321c9c875ce5871dfcc9426dbb006b76ec6593363f012d434cf704","85329c72103a5d46c60b93f130a8cc941d029dfc52caf8ba01f208b3b006083e","d868b6282327adf0650892c688aafbb1e0680c64213066dc330ce0c8e6233939","10c259988db6aa3ac1c4f925f5e60b3d2ef6c27ac732a46694188a01c2297822","44875d1f5092bd0551efbd0a230680c71a647862ba7f52b1f691af418c99cc7c","baac36a022cf0ccddaf1648e242068e358e2b78483efb816c8d05384217928fc","98f990c021d07975cacc0b60fc3b9929d13f24daad42206dd40fedc032739d90","a48ba6e8138de32db8537d2877f9c7454acbea6c48de8cdc008fc0d4fd255dca","910519cd38f4cc2601e06a6e06c9d141d1e33b2cef156c4d5f55b801abf848ef","729d731c01903375efde3fbee81d8bdb2f189bd42f5af97de33c8dde4a948011","f6059a11ad8f08358eec11f1167e9b6ecd4adcba611c266dad5a6476381b6a79","faacee8a12d1ac0edfc1393404f3629e1264f955680a89cbfecc58dabc85e24a","4a76af98755912c8ef98d344a3db66e54f4c70db5cd8e72a16638a345635ddb2","9a1b2f7914e246700eeea18c8b09832478314e7a4f42131537e9e2387489fb7d","1e852a81f8ab8017a2ec279e822641c9a6d856717696da38d7e01b78c7725775","39500b521d79e424f9b06f83fcc90a2feb76e748b92fe4ceed45613959240510","df4136e9ea536adf9e78b11b3ec7984b17f9e4e9cf4e86e6ce9ea1ee76feecd3","ad1bc8154d691b29ae69e3778deca407121b1b82ee8796ad79810548e3902b87","695932cb32b555db096ee4072a818b774aeec9cd0c6864d4af5180c0e58f83dd","ab292f2dd95987fb74b39756d51ea2511f5427591f94a3b590adfc5445a215da","82a5a263d0b20385a47da9f9e8973f323674dcf83fc3fc1a471243ba9c7960a3","ba0c659a603fd149cb24b5c3e835c805aaed35d1b6f9a7dca974f3f534fb0755","7756cb7b0b7079de3109902e32e9b19bf52754ba428e9b58068b868c131c4d09","f6b0d3cfad6acbe42c53a53ec86cd8e8c65881668a1fc627940376eca9beb1fa","d1090a548d71c4ad0abba5693c2451d07aee32d4ea541ee3ec27c390326717a1","0d1f6685be6ae56ad6069806bcb9963432fcc4c022e514652f348e34b50a73bd","951ea5f4424d919bf78c95291e66d0c0f36b26d01b70db627e5f19dca3fe1778","5027a140fc57c7750853cacec34363c091dda7c4ca97dad0e2c4f5c8ad0bc87f","6ab03ab355ed5763f6a54c59e1b7ce97bd250eba734dd8522a5bc7aaba828378","a803b31b8a4ecf5f782da5c6254b1a327a9f55fc90c0d09e4a8770db53d70e30","76702c38ff90508cad63a94e66d752858bd4456dadc501c7dd919b441215df35","4e979330517c1527ed78e19bb70619e5b276b80a89103f8fed7f63b2f27d52cb","044aae1e62523280d3679eed49ffa288bb793d87b98ab4aaa37a7024838929f3","7181b355e78cbd5591b3c5cd87f914d0278a7a52887ecb001e049b13eec5feda","531ad9166506971cf89f09fedbb3a9a2084dbe10df6a23cc4e22f89c727b4885","bdc96ff3c08b8c702cc917b0059283c33ede68b39a817d2f0f967ba1c1a568c1","55b394eeef218a97b170ee7b3286a867a89f53d5ff9efee8d72cd266f1687d8b","338ffc09a052c2296c8d8ac2dc2237be5bb85dffb28f110be640b4dd4d3ecf2d","1ed985d3f6b3b2608bbdc4bf4d0c09a6e351cbf9ae429eb3b7bdebe4944b2fa4","7e875aebefb8528398930da830e00ebeeae443aa01bb4c7c7059e77dc35168e2","9b8d54263cb56a66421cb3723f6997a10d0eb4733d3368ce54e10e57f72aaedb","a25c881c2c683a04a856cd3f8f9ec1afccf07f6e4615bb246cad446237b95bee","0016f5bd02858cb1b8de19eb1da42496ca76aa1cb576c728d61a63c600083fd7","0dc31933a7079e270b8a83a3d047f0130b2975eab4a16552365d91b218c9c244","183cc1a78bacca76705e45d2ebba9017039a906c0088f99b69e4cb04f48781fa","e077886219cf64381045928ab7d90a1b0d42c6236f73b76e37b4b2c546ab1850","7c92d4665ab593e4955a141a0d061c8f0305d125a6bb9c9c2741208d7463a7a3","34a247ff56e34659275235c6b0d1024c5b9921023542e1b079045c1f4fb0b3b4","2a639ccd80fbd8f08a93d2da3481ed6b09009485bb57e7e85dfa893f29d4c7d3","bf409cbe434705e4dfacb6ebdd3a6e2d905aa8f440e1f8ca3b5902c77ad8a653","282f98006ed7fa9bb2cd9bdbe2524595cfc4bcd58a0bb3232e4519f2138df811","80d02a787d4aa00e2e22dcf3ea9d40390f38dfb0c3497bc6855978974a63e20c","cbe726263ae9a7bf32352380f7e8ab66ee25b3457137e316929269c19e18a2be","7f698624bbbb060ece7c0e51b7236520ebada74b747d7523c7df376453ed6fea",{"version":"4025a454b1ca489b179ee8c684bdd70ff8c1967e382076ade53e7e4653e1daec","affectsGlobalScope":true},{"version":"c4baf2c38b00f29adfb4e60554de4152ebf4c17f3365c0f2ff34af7f3b35ef1d","affectsGlobalScope":true},"65996936fbb042915f7b74a200fcdde7e410f32a669b1ab9597cfaa4b0faddb5","594ae246c3989afa3484c779a93233ba2c480e08df83e4e5090266f3b205c171","594ae246c3989afa3484c779a93233ba2c480e08df83e4e5090266f3b205c171",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"ee7d8894904b465b072be0d2e4b45cf6b887cdba16a467645c4e200982ece7ea","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","7852500a7dc3f9cb6b73d619f6e0249119211ea662fd5e16c59ee5aba3deeb80","1f68ab0e055994eb337b67aa87d2a15e0200951e9664959b3866ee6f6b11a0fe","d88a5e779faf033be3d52142a04fbe1cb96009868e3bbdd296b2bc6c59e06c0e"],"root":[[122,125],[135,138],[145,147]],"options":{"allowImportingTsExtensions":true,"allowJs":false,"esModuleInterop":true,"jsx":4,"module":99,"noFallthroughCasesInSwitch":true,"noUnusedLocals":true,"noUnusedParameters":true,"skipLibCheck":true,"strict":true,"target":7,"useDefineForClassFields":true},"fileIdsList":[[51],[50,51,66,121],[50,51,121],[50,51,121,130,133,135,144],[50,51,134],[51,122,123,124,125,135,136,137],[50,51],[144],[116],[111],[117,118,119,120],[106],[110],[104],[101,110,111,112,113,114,115],[105,109,110,111,113,115],[107,110],[105,107,110],[102,110],[103],[105,107,108,110],[103,105,109],[100],[69,71],[72,96],[78],[83],[76],[74,77,80,83,89,90,92,94,95],[83,84,85,96],[79,86,87,88,96],[77,79,80,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99],[72],[83,91],[77,83],[80,83],[75],[75,77,81],[77],[75,77,82],[83,84,91,93],[90],[83,90,91],[126],[50,126,127,128],[50,126],[50],[48,50,126,127,129],[67],[149,151],[148,149,150],[47,48,49],[50,132],[131],[70,73],[70],[68],[62,64,65],[55,62],[52,63],[52,53,55,56,61],[53],[59],[53,57,58],[53,55],[52,53,55],[53,55,60],[52,53,54,55,60,61],[52,53,54,56,62],[143],[139],[140],[141,142]],"referencedMap":[[146,1],[122,2],[123,3],[124,3],[147,1],[125,3],[136,4],[135,5],[138,6],[137,7],[145,8],[117,9],[119,10],[121,11],[120,10],[107,12],[114,13],[105,14],[115,15],[116,16],[113,17],[108,18],[111,19],[104,20],[109,21],[110,22],[101,23],[72,24],[97,25],[79,26],[93,27],[77,28],[96,29],[86,30],[89,31],[100,32],[88,33],[92,34],[81,35],[84,36],[76,37],[82,38],[85,39],[83,40],[94,41],[91,42],[95,43],[128,44],[129,45],[127,46],[126,47],[130,48],[68,49],[152,50],[151,51],[134,47],[50,52],[51,47],[133,53],[132,54],[74,55],[71,56],[69,57],[66,58],[65,59],[64,60],[62,61],[57,62],[60,63],[59,64],[56,65],[54,66],[61,67],[58,62],[63,68],[55,69],[144,70],[140,71],[141,72],[143,73]],"exportedModulesMap":[[146,1],[122,2],[123,3],[124,3],[147,1],[125,3],[136,4],[135,5],[138,6],[137,7],[145,8],[117,9],[119,10],[121,11],[120,10],[107,12],[114,13],[105,14],[115,15],[116,16],[113,17],[108,18],[111,19],[104,20],[109,21],[110,22],[101,23],[72,24],[97,25],[79,26],[93,27],[77,28],[96,29],[86,30],[89,31],[100,32],[88,33],[92,34],[81,35],[84,36],[76,37],[82,38],[85,39],[83,40],[94,41],[91,42],[95,43],[128,44],[129,45],[127,46],[126,47],[130,48],[68,49],[152,50],[151,51],[134,47],[50,52],[51,47],[133,53],[132,54],[74,55],[71,56],[69,57],[66,58],[65,59],[64,60],[62,61],[57,62],[60,63],[59,64],[56,65],[54,66],[61,67],[58,62],[63,68],[55,69],[144,70],[140,71],[141,72],[143,73]],"semanticDiagnosticsPerFile":[146,122,123,124,147,125,136,135,138,137,145,117,119,118,121,120,107,106,114,105,103,115,116,112,113,108,111,104,102,109,110,101,72,97,79,93,77,96,75,86,89,100,87,88,98,92,81,84,99,76,90,80,82,85,83,94,91,95,128,129,127,126,130,68,67,152,148,151,149,150,153,49,134,47,50,51,48,133,132,78,73,74,131,71,69,66,52,65,64,62,57,60,59,56,54,61,58,63,55,53,45,46,8,9,11,10,2,12,13,14,15,16,17,18,19,3,20,4,21,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,1,70,144,140,139,141,142,143],"affectedFilesPendingEmit":[146,122,123,124,147,125,136,135,138,137]},"version":"5.4.5"}
\ No newline at end of file