diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..63d3c53 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,8 @@ +{ + "permissions": { + "allow": [ + "Bash(pnpm run build:*)", + "Bash(npx tsc:*)" + ] + } +} diff --git a/.env.example b/.env.example index 33f2de5..6cf30ee 100644 --- a/.env.example +++ b/.env.example @@ -72,3 +72,12 @@ NEXT_PUBLIC_ENABLE_APPLICATIONS="true" # ------------------------- NEXT_PUBLIC_VERCEL_ANALYTICS_ID="" NEXT_PUBLIC_GA_MEASUREMENT_ID="" + +# ------------------------- +# Security & Performance +# ------------------------- +# Cache TTL in seconds (default: 300 = 5 minutes) +CACHE_TTL_DEFAULT="300" + +# Enable/disable rate limiting (default: true) +RATE_LIMIT_ENABLED="true" diff --git a/packages/api/.cache/tsbuildinfo.json b/packages/api/.cache/tsbuildinfo.json new file mode 100644 index 0000000..d922b94 --- /dev/null +++ b/packages/api/.cache/tsbuildinfo.json @@ -0,0 +1 @@ +{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/lib/symbols.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/lib/index.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/lib/vendored/cookie.d.ts","../../../node_modules/oauth4webapi/build/index.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/lib/utils/cookie.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/warnings.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/lib/utils/logger.d.ts","../../../node_modules/preact/src/jsx.d.ts","../../../node_modules/preact/src/index.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/providers/credentials.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/providers/provider-types.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/providers/nodemailer.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/providers/email.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/providers/oauth.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/providers/webauthn.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/providers/index.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/adapters.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/lib/utils/webauthn-utils.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/types.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/lib/utils/env.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/jwt.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/lib/utils/actions.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/index.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/next/dist/styled-jsx/types/css.d.ts","../../../node_modules/next/dist/styled-jsx/types/macro.d.ts","../../../node_modules/next/dist/styled-jsx/types/style.d.ts","../../../node_modules/next/dist/styled-jsx/types/global.d.ts","../../../node_modules/next/dist/styled-jsx/types/index.d.ts","../../../node_modules/next/dist/shared/lib/amp.d.ts","../../../node_modules/next/amp.d.ts","../../../node_modules/next/dist/server/get-page-files.d.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/react/canary.d.ts","../../../node_modules/@types/react/experimental.d.ts","../../../node_modules/@types/react-dom/index.d.ts","../../../node_modules/@types/react-dom/canary.d.ts","../../../node_modules/@types/react-dom/experimental.d.ts","../../../node_modules/next/dist/lib/fallback.d.ts","../../../node_modules/next/dist/compiled/webpack/webpack.d.ts","../../../node_modules/next/dist/server/config.d.ts","../../../node_modules/next/dist/lib/load-custom-routes.d.ts","../../../node_modules/next/dist/shared/lib/image-config.d.ts","../../../node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","../../../node_modules/next/dist/server/body-streams.d.ts","../../../node_modules/next/dist/server/lib/cache-control.d.ts","../../../node_modules/next/dist/lib/setup-exception-listeners.d.ts","../../../node_modules/next/dist/lib/worker.d.ts","../../../node_modules/next/dist/lib/constants.d.ts","../../../node_modules/next/dist/client/components/app-router-headers.d.ts","../../../node_modules/next/dist/build/rendering-mode.d.ts","../../../node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","../../../node_modules/next/dist/server/require-hook.d.ts","../../../node_modules/next/dist/server/lib/experimental/ppr.d.ts","../../../node_modules/next/dist/build/webpack/plugins/app-build-manifest-plugin.d.ts","../../../node_modules/next/dist/lib/page-types.d.ts","../../../node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","../../../node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","../../../node_modules/next/dist/build/analysis/get-page-static-info.d.ts","../../../node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","../../../node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","../../../node_modules/next/dist/server/node-polyfill-crypto.d.ts","../../../node_modules/next/dist/server/node-environment-baseline.d.ts","../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","../../../node_modules/next/dist/server/node-environment-extensions/random.d.ts","../../../node_modules/next/dist/server/node-environment-extensions/date.d.ts","../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","../../../node_modules/next/dist/server/node-environment.d.ts","../../../node_modules/next/dist/build/page-extensions-type.d.ts","../../../node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","../../../node_modules/next/dist/server/instrumentation/types.d.ts","../../../node_modules/next/dist/lib/coalesced-function.d.ts","../../../node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","../../../node_modules/next/dist/server/lib/router-utils/types.d.ts","../../../node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","../../../node_modules/next/dist/shared/lib/constants.d.ts","../../../node_modules/next/dist/trace/types.d.ts","../../../node_modules/next/dist/trace/trace.d.ts","../../../node_modules/next/dist/trace/shared.d.ts","../../../node_modules/next/dist/trace/index.d.ts","../../../node_modules/next/dist/build/load-jsconfig.d.ts","../../../node_modules/@next/env/dist/index.d.ts","../../../node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","../../../node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","../../../node_modules/next/dist/telemetry/storage.d.ts","../../../node_modules/next/dist/build/build-context.d.ts","../../../node_modules/next/dist/shared/lib/bloom-filter.d.ts","../../../node_modules/next/dist/build/webpack-config.d.ts","../../../node_modules/next/dist/server/route-kind.d.ts","../../../node_modules/next/dist/server/route-definitions/route-definition.d.ts","../../../node_modules/next/dist/build/swc/generated-native.d.ts","../../../node_modules/next/dist/build/swc/types.d.ts","../../../node_modules/next/dist/server/dev/parse-version-info.d.ts","../../../node_modules/next/dist/next-devtools/shared/types.d.ts","../../../node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","../../../node_modules/next/dist/server/lib/parse-stack.d.ts","../../../node_modules/next/dist/next-devtools/server/shared.d.ts","../../../node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","../../../node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","../../../node_modules/@types/react/jsx-runtime.d.ts","../../../node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","../../../node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","../../../node_modules/next/dist/server/dev/hot-reloader-types.d.ts","../../../node_modules/next/dist/server/lib/cache-handlers/types.d.ts","../../../node_modules/next/dist/server/response-cache/types.d.ts","../../../node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","../../../node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","../../../node_modules/next/dist/server/render-result.d.ts","../../../node_modules/next/dist/server/lib/i18n-provider.d.ts","../../../node_modules/next/dist/server/web/next-url.d.ts","../../../node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","../../../node_modules/next/dist/server/web/spec-extension/cookies.d.ts","../../../node_modules/next/dist/server/web/spec-extension/request.d.ts","../../../node_modules/next/dist/server/after/builtin-request-context.d.ts","../../../node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","../../../node_modules/next/dist/server/web/spec-extension/response.d.ts","../../../node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","../../../node_modules/next/dist/server/web/types.d.ts","../../../node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","../../../node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","../../../node_modules/next/dist/server/base-http/node.d.ts","../../../node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","../../../node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","../../../node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","../../../node_modules/next/dist/shared/lib/mitt.d.ts","../../../node_modules/next/dist/client/with-router.d.ts","../../../node_modules/next/dist/client/router.d.ts","../../../node_modules/next/dist/client/route-loader.d.ts","../../../node_modules/next/dist/client/page-loader.d.ts","../../../node_modules/next/dist/shared/lib/router/router.d.ts","../../../node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","../../../node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","../../../node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","../../../node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","../../../node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","../../../node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","../../../node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","../../../node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","../../../node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","../../../node_modules/next/dist/server/lib/app-dir-module.d.ts","../../../node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","../../../node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","../../../node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","../../../node_modules/next/dist/server/app-render/cache-signal.d.ts","../../../node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","../../../node_modules/next/dist/server/request/fallback-params.d.ts","../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","../../../node_modules/next/dist/server/response-cache/index.d.ts","../../../node_modules/next/dist/server/lib/lazy-result.d.ts","../../../node_modules/next/dist/server/lib/implicit-tags.d.ts","../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","../../../node_modules/next/dist/shared/lib/deep-readonly.d.ts","../../../node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","../../../node_modules/next/dist/server/app-render/app-render.d.ts","../../../node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","../../../node_modules/next/dist/shared/lib/amp-context.shared-runtime.d.ts","../../../node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","../../../node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","../../../node_modules/next/dist/client/components/error-boundary.d.ts","../../../node_modules/next/dist/client/components/layout-router.d.ts","../../../node_modules/next/dist/client/components/render-from-template-context.d.ts","../../../node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","../../../node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","../../../node_modules/next/dist/client/components/client-page.d.ts","../../../node_modules/next/dist/client/components/client-segment.d.ts","../../../node_modules/next/dist/server/request/search-params.d.ts","../../../node_modules/next/dist/client/components/hooks-server-context.d.ts","../../../node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","../../../node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","../../../node_modules/next/dist/lib/metadata/types/extra-types.d.ts","../../../node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","../../../node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","../../../node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","../../../node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","../../../node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","../../../node_modules/next/dist/lib/metadata/types/resolvers.d.ts","../../../node_modules/next/dist/lib/metadata/types/icons.d.ts","../../../node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","../../../node_modules/next/dist/lib/metadata/metadata.d.ts","../../../node_modules/next/dist/lib/framework/boundary-components.d.ts","../../../node_modules/next/dist/server/app-render/rsc/preloads.d.ts","../../../node_modules/next/dist/server/app-render/rsc/postpone.d.ts","../../../node_modules/next/dist/server/app-render/rsc/taint.d.ts","../../../node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","../../../node_modules/next/dist/server/app-render/collect-segment-data.d.ts","../../../node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","../../../node_modules/next/dist/server/app-render/entry-base.d.ts","../../../node_modules/next/dist/build/templates/app-page.d.ts","../../../node_modules/@types/react/jsx-dev-runtime.d.ts","../../../node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","../../../node_modules/@types/react-dom/client.d.ts","../../../node_modules/@types/react-dom/server.d.ts","../../../node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","../../../node_modules/next/dist/server/route-modules/app-page/module.d.ts","../../../node_modules/next/dist/server/web/adapter.d.ts","../../../node_modules/next/dist/server/use-cache/cache-life.d.ts","../../../node_modules/next/dist/server/app-render/types.d.ts","../../../node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","../../../node_modules/next/dist/client/flight-data-helpers.d.ts","../../../node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","../../../node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","../../../node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","../../../node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","../../../node_modules/next/dist/build/templates/pages.d.ts","../../../node_modules/next/dist/server/route-modules/pages/module.d.ts","../../../node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","../../../node_modules/next/dist/server/render.d.ts","../../../node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","../../../node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","../../../node_modules/next/dist/server/route-matchers/route-matcher.d.ts","../../../node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","../../../node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","../../../node_modules/next/dist/server/normalizers/normalizer.d.ts","../../../node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","../../../node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","../../../node_modules/next/dist/server/normalizers/request/suffix.d.ts","../../../node_modules/next/dist/server/normalizers/request/rsc.d.ts","../../../node_modules/next/dist/server/normalizers/request/prefetch-rsc.d.ts","../../../node_modules/next/dist/server/normalizers/request/next-data.d.ts","../../../node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","../../../node_modules/next/dist/build/static-paths/types.d.ts","../../../node_modules/next/dist/server/base-server.d.ts","../../../node_modules/next/dist/server/lib/async-callback-set.d.ts","../../../node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","../../../node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","../../../node_modules/sharp/lib/index.d.ts","../../../node_modules/next/dist/server/image-optimizer.d.ts","../../../node_modules/next/dist/server/next-server.d.ts","../../../node_modules/next/dist/server/lib/types.d.ts","../../../node_modules/next/dist/server/lib/lru-cache.d.ts","../../../node_modules/next/dist/server/lib/dev-bundler-service.d.ts","../../../node_modules/next/dist/server/dev/static-paths-worker.d.ts","../../../node_modules/next/dist/server/dev/next-dev-server.d.ts","../../../node_modules/next/dist/server/next.d.ts","../../../node_modules/next/dist/server/lib/render-server.d.ts","../../../node_modules/next/dist/server/lib/router-server.d.ts","../../../node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","../../../node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","../../../node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","../../../node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","../../../node_modules/next/dist/server/route-modules/route-module.d.ts","../../../node_modules/next/dist/server/load-components.d.ts","../../../node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","../../../node_modules/next/dist/server/async-storage/work-store.d.ts","../../../node_modules/next/dist/server/web/http.d.ts","../../../node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","../../../node_modules/next/dist/client/components/redirect-status-code.d.ts","../../../node_modules/next/dist/client/components/redirect-error.d.ts","../../../node_modules/next/dist/build/templates/app-route.d.ts","../../../node_modules/next/dist/server/route-modules/app-route/module.d.ts","../../../node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","../../../node_modules/next/dist/build/segment-config/app/app-segments.d.ts","../../../node_modules/next/dist/build/utils.d.ts","../../../node_modules/next/dist/build/turborepo-access-trace/types.d.ts","../../../node_modules/next/dist/build/turborepo-access-trace/result.d.ts","../../../node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","../../../node_modules/next/dist/build/turborepo-access-trace/index.d.ts","../../../node_modules/next/dist/export/routes/types.d.ts","../../../node_modules/next/dist/export/types.d.ts","../../../node_modules/next/dist/export/worker.d.ts","../../../node_modules/next/dist/build/worker.d.ts","../../../node_modules/next/dist/build/index.d.ts","../../../node_modules/next/dist/server/lib/incremental-cache/index.d.ts","../../../node_modules/next/dist/server/after/after.d.ts","../../../node_modules/next/dist/server/after/after-context.d.ts","../../../node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","../../../node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","../../../node_modules/next/dist/server/request/params.d.ts","../../../node_modules/next/dist/server/route-matches/route-match.d.ts","../../../node_modules/next/dist/server/request-meta.d.ts","../../../node_modules/next/dist/cli/next-test.d.ts","../../../node_modules/next/dist/server/config-shared.d.ts","../../../node_modules/next/dist/server/base-http/index.d.ts","../../../node_modules/next/dist/server/api-utils/index.d.ts","../../../node_modules/next/dist/types.d.ts","../../../node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","../../../node_modules/next/dist/shared/lib/utils.d.ts","../../../node_modules/next/dist/pages/_app.d.ts","../../../node_modules/next/app.d.ts","../../../node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","../../../node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","../../../node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","../../../node_modules/next/dist/server/use-cache/cache-tag.d.ts","../../../node_modules/next/cache.d.ts","../../../node_modules/next/dist/shared/lib/runtime-config.external.d.ts","../../../node_modules/next/config.d.ts","../../../node_modules/next/dist/pages/_document.d.ts","../../../node_modules/next/document.d.ts","../../../node_modules/next/dist/shared/lib/dynamic.d.ts","../../../node_modules/next/dynamic.d.ts","../../../node_modules/next/dist/pages/_error.d.ts","../../../node_modules/next/error.d.ts","../../../node_modules/next/dist/shared/lib/head.d.ts","../../../node_modules/next/head.d.ts","../../../node_modules/next/dist/server/request/cookies.d.ts","../../../node_modules/next/dist/server/request/headers.d.ts","../../../node_modules/next/dist/server/request/draft-mode.d.ts","../../../node_modules/next/headers.d.ts","../../../node_modules/next/dist/shared/lib/get-img-props.d.ts","../../../node_modules/next/dist/client/image-component.d.ts","../../../node_modules/next/dist/shared/lib/image-external.d.ts","../../../node_modules/next/image.d.ts","../../../node_modules/next/dist/client/link.d.ts","../../../node_modules/next/link.d.ts","../../../node_modules/next/dist/client/components/redirect.d.ts","../../../node_modules/next/dist/client/components/not-found.d.ts","../../../node_modules/next/dist/client/components/forbidden.d.ts","../../../node_modules/next/dist/client/components/unauthorized.d.ts","../../../node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","../../../node_modules/next/dist/client/components/unstable-rethrow.d.ts","../../../node_modules/next/dist/client/components/navigation.react-server.d.ts","../../../node_modules/next/dist/client/components/unrecognized-action-error.d.ts","../../../node_modules/next/dist/client/components/navigation.d.ts","../../../node_modules/next/navigation.d.ts","../../../node_modules/next/router.d.ts","../../../node_modules/next/dist/client/script.d.ts","../../../node_modules/next/script.d.ts","../../../node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","../../../node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","../../../node_modules/next/dist/server/web/spec-extension/image-response.d.ts","../../../node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","../../../node_modules/next/dist/compiled/@vercel/og/emoji/index.d.ts","../../../node_modules/next/dist/compiled/@vercel/og/types.d.ts","../../../node_modules/next/dist/server/after/index.d.ts","../../../node_modules/next/dist/server/request/root-params.d.ts","../../../node_modules/next/dist/server/request/connection.d.ts","../../../node_modules/next/server.d.ts","../../../node_modules/next/types/global.d.ts","../../../node_modules/next/types/compiled.d.ts","../../../node_modules/next/types.d.ts","../../../node_modules/next/index.d.ts","../../../node_modules/next-auth/lib/types.d.ts","../../../node_modules/next-auth/lib/index.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/errors.d.ts","../../../node_modules/next-auth/index.d.ts","../../../node_modules/next-auth/node_modules/@auth/core/providers/google.d.ts","../../../node_modules/next-auth/providers/google.d.ts","../../auth/src/config.ts","../../../node_modules/drizzle-orm/entity.d.ts","../../../node_modules/drizzle-orm/logger.d.ts","../../../node_modules/drizzle-orm/operations.d.ts","../../../node_modules/drizzle-orm/table.d.ts","../../../node_modules/drizzle-orm/utils.d.ts","../../../node_modules/drizzle-orm/casing.d.ts","../../../node_modules/drizzle-orm/subquery.d.ts","../../../node_modules/drizzle-orm/sql/sql.d.ts","../../../node_modules/drizzle-orm/column.d.ts","../../../node_modules/drizzle-orm/sql/expressions/conditions.d.ts","../../../node_modules/drizzle-orm/sql/expressions/select.d.ts","../../../node_modules/drizzle-orm/sql/expressions/index.d.ts","../../../node_modules/drizzle-orm/sql/functions/aggregate.d.ts","../../../node_modules/drizzle-orm/query-builders/query-builder.d.ts","../../../node_modules/drizzle-orm/sql/functions/vector.d.ts","../../../node_modules/drizzle-orm/sql/functions/index.d.ts","../../../node_modules/drizzle-orm/sql/index.d.ts","../../../node_modules/drizzle-orm/pg-core/checks.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/bigserial.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/boolean.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/char.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/cidr.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/custom.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/date.common.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/date.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/double-precision.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/inet.d.ts","../../../node_modules/drizzle-orm/pg-core/sequence.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/int.common.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/integer.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/timestamp.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/interval.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/json.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/jsonb.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/line.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/macaddr.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/macaddr8.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/numeric.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/point.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/real.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/serial.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/smallint.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/smallserial.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/text.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/time.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/uuid.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/varchar.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/all.d.ts","../../../node_modules/drizzle-orm/pg-core/indexes.d.ts","../../../node_modules/drizzle-orm/pg-core/roles.d.ts","../../../node_modules/drizzle-orm/pg-core/policies.d.ts","../../../node_modules/drizzle-orm/pg-core/primary-keys.d.ts","../../../node_modules/drizzle-orm/pg-core/unique-constraint.d.ts","../../../node_modules/drizzle-orm/pg-core/table.d.ts","../../../node_modules/drizzle-orm/pg-core/foreign-keys.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/common.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/bigint.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/enum.d.ts","../../../node_modules/drizzle-orm/pg-core/columns/index.d.ts","../../../node_modules/drizzle-orm/pg-core/view-base.d.ts","../../../node_modules/drizzle-orm/query-builders/select.types.d.ts","../../../node_modules/drizzle-orm/migrator.d.ts","../../../node_modules/drizzle-orm/expressions.d.ts","../../../node_modules/drizzle-orm/relations.d.ts","../../../node_modules/drizzle-orm/alias.d.ts","../../../node_modules/drizzle-orm/errors.d.ts","../../../node_modules/drizzle-orm/query-promise.d.ts","../../../node_modules/drizzle-orm/view-common.d.ts","../../../node_modules/drizzle-orm/index.d.ts","../../../node_modules/drizzle-orm/session.d.ts","../../../node_modules/drizzle-orm/pg-core/query-builders/count.d.ts","../../../node_modules/drizzle-orm/runnable-query.d.ts","../../../node_modules/drizzle-orm/pg-core/query-builders/query.d.ts","../../../node_modules/drizzle-orm/pg-core/query-builders/raw.d.ts","../../../node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.d.ts","../../../node_modules/drizzle-orm/pg-core/subquery.d.ts","../../../node_modules/drizzle-orm/pg-core/db.d.ts","../../../node_modules/drizzle-orm/pg-core/session.d.ts","../../../node_modules/drizzle-orm/pg-core/query-builders/delete.d.ts","../../../node_modules/drizzle-orm/pg-core/query-builders/update.d.ts","../../../node_modules/drizzle-orm/pg-core/query-builders/insert.d.ts","../../../node_modules/drizzle-orm/pg-core/query-builders/select.d.ts","../../../node_modules/drizzle-orm/pg-core/query-builders/index.d.ts","../../../node_modules/drizzle-orm/pg-core/dialect.d.ts","../../../node_modules/drizzle-orm/pg-core/query-builders/query-builder.d.ts","../../../node_modules/drizzle-orm/pg-core/view-common.d.ts","../../../node_modules/drizzle-orm/pg-core/view.d.ts","../../../node_modules/drizzle-orm/pg-core/query-builders/select.types.d.ts","../../../node_modules/drizzle-orm/pg-core/alias.d.ts","../../../node_modules/drizzle-orm/pg-core/schema.d.ts","../../../node_modules/drizzle-orm/pg-core/utils.d.ts","../../../node_modules/drizzle-orm/pg-core/utils/array.d.ts","../../../node_modules/drizzle-orm/pg-core/utils/index.d.ts","../../../node_modules/drizzle-orm/pg-core/index.d.ts","../../../node_modules/drizzle-orm/sqlite-core/checks.d.ts","../../../node_modules/drizzle-orm/sqlite-core/columns/custom.d.ts","../../../node_modules/drizzle-orm/sqlite-core/indexes.d.ts","../../../node_modules/drizzle-orm/sqlite-core/primary-keys.d.ts","../../../node_modules/drizzle-orm/sqlite-core/unique-constraint.d.ts","../../../node_modules/drizzle-orm/sqlite-core/query-builders/count.d.ts","../../../node_modules/drizzle-orm/sqlite-core/query-builders/query.d.ts","../../../node_modules/drizzle-orm/sqlite-core/subquery.d.ts","../../../node_modules/drizzle-orm/sqlite-core/view-base.d.ts","../../../node_modules/drizzle-orm/sqlite-core/db.d.ts","../../../node_modules/drizzle-orm/sqlite-core/query-builders/raw.d.ts","../../../node_modules/drizzle-orm/sqlite-core/session.d.ts","../../../node_modules/drizzle-orm/sqlite-core/query-builders/delete.d.ts","../../../node_modules/drizzle-orm/sqlite-core/query-builders/update.d.ts","../../../node_modules/drizzle-orm/sqlite-core/query-builders/insert.d.ts","../../../node_modules/drizzle-orm/sqlite-core/query-builders/select.d.ts","../../../node_modules/drizzle-orm/sqlite-core/query-builders/index.d.ts","../../../node_modules/drizzle-orm/sqlite-core/dialect.d.ts","../../../node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.d.ts","../../../node_modules/drizzle-orm/sqlite-core/view.d.ts","../../../node_modules/drizzle-orm/sqlite-core/utils.d.ts","../../../node_modules/drizzle-orm/sqlite-core/columns/integer.d.ts","../../../node_modules/drizzle-orm/sqlite-core/columns/numeric.d.ts","../../../node_modules/drizzle-orm/sqlite-core/columns/real.d.ts","../../../node_modules/drizzle-orm/sqlite-core/columns/text.d.ts","../../../node_modules/drizzle-orm/sqlite-core/columns/all.d.ts","../../../node_modules/drizzle-orm/sqlite-core/table.d.ts","../../../node_modules/drizzle-orm/sqlite-core/foreign-keys.d.ts","../../../node_modules/drizzle-orm/sqlite-core/columns/common.d.ts","../../../node_modules/drizzle-orm/sqlite-core/columns/blob.d.ts","../../../node_modules/drizzle-orm/sqlite-core/columns/index.d.ts","../../../node_modules/drizzle-orm/sqlite-core/query-builders/select.types.d.ts","../../../node_modules/drizzle-orm/sqlite-core/alias.d.ts","../../../node_modules/drizzle-orm/sqlite-core/index.d.ts","../../../node_modules/drizzle-orm/column-builder.d.ts","../../../node_modules/drizzle-orm/mysql-core/checks.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/binary.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/boolean.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/char.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/custom.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/date.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/datetime.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/decimal.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/double.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/enum.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/float.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/int.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/json.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/mediumint.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/real.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/serial.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/smallint.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/text.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/time.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/date.common.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/timestamp.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/tinyint.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/varbinary.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/varchar.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/year.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/all.d.ts","../../../node_modules/drizzle-orm/mysql-core/indexes.d.ts","../../../node_modules/drizzle-orm/mysql-core/primary-keys.d.ts","../../../node_modules/drizzle-orm/mysql-core/unique-constraint.d.ts","../../../node_modules/drizzle-orm/mysql-core/table.d.ts","../../../node_modules/drizzle-orm/mysql-core/foreign-keys.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/common.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/bigint.d.ts","../../../node_modules/drizzle-orm/mysql-core/columns/index.d.ts","../../../node_modules/drizzle-orm/mysql-core/query-builders/delete.d.ts","../../../node_modules/drizzle-orm/mysql-core/subquery.d.ts","../../../node_modules/drizzle-orm/mysql-core/view-base.d.ts","../../../node_modules/drizzle-orm/mysql-core/query-builders/select.d.ts","../../../node_modules/drizzle-orm/mysql-core/query-builders/query-builder.d.ts","../../../node_modules/drizzle-orm/mysql-core/query-builders/update.d.ts","../../../node_modules/drizzle-orm/mysql-core/query-builders/insert.d.ts","../../../node_modules/drizzle-orm/mysql-core/dialect.d.ts","../../../node_modules/drizzle-orm/mysql-core/query-builders/count.d.ts","../../../node_modules/drizzle-orm/mysql-core/query-builders/index.d.ts","../../../node_modules/drizzle-orm/mysql-core/query-builders/query.d.ts","../../../node_modules/drizzle-orm/mysql-core/db.d.ts","../../../node_modules/drizzle-orm/mysql-core/session.d.ts","../../../node_modules/drizzle-orm/mysql-core/view-common.d.ts","../../../node_modules/drizzle-orm/mysql-core/view.d.ts","../../../node_modules/drizzle-orm/mysql-core/query-builders/select.types.d.ts","../../../node_modules/drizzle-orm/mysql-core/alias.d.ts","../../../node_modules/drizzle-orm/mysql-core/schema.d.ts","../../../node_modules/drizzle-orm/mysql-core/utils.d.ts","../../../node_modules/drizzle-orm/mysql-core/index.d.ts","../../../node_modules/@auth/core/lib/vendored/cookie.d.ts","../../../node_modules/@auth/core/lib/utils/cookie.d.ts","../../../node_modules/@auth/core/warnings.d.ts","../../../node_modules/@auth/core/lib/symbols.d.ts","../../../node_modules/@auth/core/lib/index.d.ts","../../../node_modules/@auth/core/lib/utils/env.d.ts","../../../node_modules/@auth/core/jwt.d.ts","../../../node_modules/@auth/core/lib/utils/actions.d.ts","../../../node_modules/@auth/core/index.d.ts","../../../node_modules/@auth/core/lib/utils/logger.d.ts","../../../node_modules/@auth/core/providers/webauthn.d.ts","../../../node_modules/@auth/core/lib/utils/webauthn-utils.d.ts","../../../node_modules/@auth/core/types.d.ts","../../../node_modules/@auth/core/providers/credentials.d.ts","../../../node_modules/@auth/core/providers/provider-types.d.ts","../../../node_modules/@auth/core/providers/nodemailer.d.ts","../../../node_modules/@auth/core/providers/email.d.ts","../../../node_modules/@auth/core/providers/oauth.d.ts","../../../node_modules/@auth/core/providers/index.d.ts","../../../node_modules/@auth/core/adapters.d.ts","../../../node_modules/@auth/drizzle-adapter/lib/mysql.d.ts","../../../node_modules/@auth/drizzle-adapter/lib/pg.d.ts","../../../node_modules/@auth/drizzle-adapter/lib/sqlite.d.ts","../../../node_modules/@auth/drizzle-adapter/lib/utils.d.ts","../../../node_modules/@auth/drizzle-adapter/index.d.ts","../../../node_modules/pg-types/index.d.ts","../../../node_modules/pg-protocol/dist/messages.d.ts","../../../node_modules/pg-protocol/dist/serializer.d.ts","../../../node_modules/pg-protocol/dist/parser.d.ts","../../../node_modules/pg-protocol/dist/index.d.ts","../../../node_modules/@types/pg/lib/type-overrides.d.ts","../../../node_modules/@types/pg/index.d.ts","../../../node_modules/@types/pg/index.d.mts","../../../node_modules/drizzle-orm/node-postgres/session.d.ts","../../../node_modules/drizzle-orm/node-postgres/driver.d.ts","../../../node_modules/drizzle-orm/node-postgres/index.d.ts","../../../node_modules/next-auth/adapters.d.ts","../../db/src/schemas/auth.ts","../../db/src/schemas/members.ts","../../db/src/schemas/hackathons.ts","../../db/src/schemas/admins.ts","../../db/src/schemas/events.ts","../../db/src/schemas/judge.ts","../../db/src/schemas/index.ts","../../../node_modules/dotenv/lib/main.d.ts","../../db/src/client.ts","../../db/src/index.ts","../../auth/src/adapter.ts","../../auth/src/auth.ts","../../auth/src/utils.ts","../../auth/src/index.ts","../../../node_modules/@trpc/server/dist/index.d-d4qzxqjh.d.mts","../../../node_modules/@trpc/server/dist/unstable-core-do-not-import.d-1rewv6pm.d.mts","../../../node_modules/@trpc/server/dist/index.d-vq_qhko2.d.mts","../../../node_modules/@trpc/server/dist/adapters/fetch/index.d.mts","../src/middleware/cache.ts","../src/context.ts","../../../node_modules/@trpc/server/dist/index.d.mts","../../../node_modules/superjson/dist/transformer.d.ts","../../../node_modules/superjson/dist/plainer.d.ts","../../../node_modules/superjson/dist/types.d.ts","../../../node_modules/superjson/dist/registry.d.ts","../../../node_modules/superjson/dist/class-registry.d.ts","../../../node_modules/superjson/dist/custom-transformer-registry.d.ts","../../../node_modules/superjson/dist/index.d.ts","../../../node_modules/zod/v3/helpers/typealiases.d.cts","../../../node_modules/zod/v3/helpers/util.d.cts","../../../node_modules/zod/v3/index.d.cts","../../../node_modules/zod/v3/zoderror.d.cts","../../../node_modules/zod/v3/locales/en.d.cts","../../../node_modules/zod/v3/errors.d.cts","../../../node_modules/zod/v3/helpers/parseutil.d.cts","../../../node_modules/zod/v3/helpers/enumutil.d.cts","../../../node_modules/zod/v3/helpers/errorutil.d.cts","../../../node_modules/zod/v3/helpers/partialutil.d.cts","../../../node_modules/zod/v3/standard-schema.d.cts","../../../node_modules/zod/v3/types.d.cts","../../../node_modules/zod/v3/external.d.cts","../../../node_modules/zod/index.d.cts","../../../node_modules/htmlparser2/lib/esm/tokenizer.d.ts","../../../node_modules/htmlparser2/lib/esm/parser.d.ts","../../../node_modules/domelementtype/lib/esm/index.d.ts","../../../node_modules/domhandler/lib/esm/node.d.ts","../../../node_modules/domhandler/lib/esm/index.d.ts","../../../node_modules/dom-serializer/lib/esm/index.d.ts","../../../node_modules/domutils/lib/esm/stringify.d.ts","../../../node_modules/domutils/lib/esm/traversal.d.ts","../../../node_modules/domutils/lib/esm/manipulation.d.ts","../../../node_modules/domutils/lib/esm/querying.d.ts","../../../node_modules/domutils/lib/esm/legacy.d.ts","../../../node_modules/domutils/lib/esm/helpers.d.ts","../../../node_modules/domutils/lib/esm/feeds.d.ts","../../../node_modules/domutils/lib/esm/index.d.ts","../../../node_modules/htmlparser2/lib/esm/index.d.ts","../../../node_modules/@types/sanitize-html/index.d.ts","../src/middleware/security.ts","../src/trpc.ts","../src/routers/hello.ts","../src/routers/user.ts","../src/routers/admin.ts","../src/routers/member.ts","../src/routers/hackathon.ts","../src/routers/events.ts","../src/routers/judge.ts","../src/root.ts","../src/index.ts","../src/middleware/http-security.ts","../../../node_modules/@types/emscripten/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/eslint/use-at-your-own-risk.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@eslint/core/dist/cjs/types.d.cts","../../../node_modules/eslint/lib/types/use-at-your-own-risk.d.ts","../../../node_modules/eslint/lib/types/index.d.ts","../../../node_modules/@types/eslint__js/index.d.ts","../../../node_modules/minimatch/dist/commonjs/ast.d.ts","../../../node_modules/minimatch/dist/commonjs/escape.d.ts","../../../node_modules/minimatch/dist/commonjs/unescape.d.ts","../../../node_modules/minimatch/dist/commonjs/index.d.ts","../../../node_modules/@types/glob/index.d.ts","../../../node_modules/rxjs/internal/subscription.d.ts","../../../node_modules/rxjs/internal/types.d.ts","../../../node_modules/rxjs/internal/subscriber.d.ts","../../../node_modules/rxjs/internal/operator.d.ts","../../../node_modules/rxjs/internal/observable/iif.d.ts","../../../node_modules/rxjs/internal/observable/throwerror.d.ts","../../../node_modules/rxjs/internal/observable.d.ts","../../../node_modules/rxjs/internal/subject.d.ts","../../../node_modules/rxjs/internal/observable/connectableobservable.d.ts","../../../node_modules/rxjs/internal/operators/groupby.d.ts","../../../node_modules/rxjs/internal/symbol/observable.d.ts","../../../node_modules/rxjs/internal/behaviorsubject.d.ts","../../../node_modules/rxjs/internal/replaysubject.d.ts","../../../node_modules/rxjs/internal/asyncsubject.d.ts","../../../node_modules/rxjs/internal/scheduler.d.ts","../../../node_modules/rxjs/internal/scheduler/action.d.ts","../../../node_modules/rxjs/internal/scheduler/asyncscheduler.d.ts","../../../node_modules/rxjs/internal/scheduler/asyncaction.d.ts","../../../node_modules/rxjs/internal/scheduler/asapscheduler.d.ts","../../../node_modules/rxjs/internal/scheduler/asap.d.ts","../../../node_modules/rxjs/internal/scheduler/async.d.ts","../../../node_modules/rxjs/internal/scheduler/queuescheduler.d.ts","../../../node_modules/rxjs/internal/scheduler/queue.d.ts","../../../node_modules/rxjs/internal/scheduler/animationframescheduler.d.ts","../../../node_modules/rxjs/internal/scheduler/animationframe.d.ts","../../../node_modules/rxjs/internal/scheduler/virtualtimescheduler.d.ts","../../../node_modules/rxjs/internal/notification.d.ts","../../../node_modules/rxjs/internal/util/pipe.d.ts","../../../node_modules/rxjs/internal/util/noop.d.ts","../../../node_modules/rxjs/internal/util/identity.d.ts","../../../node_modules/rxjs/internal/util/isobservable.d.ts","../../../node_modules/rxjs/internal/util/argumentoutofrangeerror.d.ts","../../../node_modules/rxjs/internal/util/emptyerror.d.ts","../../../node_modules/rxjs/internal/util/objectunsubscribederror.d.ts","../../../node_modules/rxjs/internal/util/unsubscriptionerror.d.ts","../../../node_modules/rxjs/internal/util/timeouterror.d.ts","../../../node_modules/rxjs/internal/observable/bindcallback.d.ts","../../../node_modules/rxjs/internal/observable/bindnodecallback.d.ts","../../../node_modules/rxjs/internal/innersubscriber.d.ts","../../../node_modules/rxjs/internal/outersubscriber.d.ts","../../../node_modules/rxjs/internal/observable/combinelatest.d.ts","../../../node_modules/rxjs/internal/observable/concat.d.ts","../../../node_modules/rxjs/internal/observable/defer.d.ts","../../../node_modules/rxjs/internal/observable/empty.d.ts","../../../node_modules/rxjs/internal/observable/forkjoin.d.ts","../../../node_modules/rxjs/internal/observable/from.d.ts","../../../node_modules/rxjs/internal/observable/fromevent.d.ts","../../../node_modules/rxjs/internal/observable/fromeventpattern.d.ts","../../../node_modules/rxjs/internal/observable/generate.d.ts","../../../node_modules/rxjs/internal/observable/interval.d.ts","../../../node_modules/rxjs/internal/observable/merge.d.ts","../../../node_modules/rxjs/internal/observable/never.d.ts","../../../node_modules/rxjs/internal/observable/of.d.ts","../../../node_modules/rxjs/internal/observable/onerrorresumenext.d.ts","../../../node_modules/rxjs/internal/observable/pairs.d.ts","../../../node_modules/rxjs/internal/observable/partition.d.ts","../../../node_modules/rxjs/internal/observable/race.d.ts","../../../node_modules/rxjs/internal/observable/range.d.ts","../../../node_modules/rxjs/internal/observable/timer.d.ts","../../../node_modules/rxjs/internal/observable/using.d.ts","../../../node_modules/rxjs/internal/observable/zip.d.ts","../../../node_modules/rxjs/internal/scheduled/scheduled.d.ts","../../../node_modules/rxjs/internal/config.d.ts","../../../node_modules/rxjs/index.d.ts","../../../node_modules/@types/through/index.d.ts","../../../node_modules/@types/inquirer/lib/objects/choice.d.ts","../../../node_modules/@types/inquirer/lib/objects/separator.d.ts","../../../node_modules/@types/inquirer/lib/objects/choices.d.ts","../../../node_modules/@types/inquirer/lib/utils/screen-manager.d.ts","../../../node_modules/@types/inquirer/lib/prompts/base.d.ts","../../../node_modules/@types/inquirer/lib/utils/paginator.d.ts","../../../node_modules/@types/inquirer/lib/prompts/checkbox.d.ts","../../../node_modules/@types/inquirer/lib/prompts/confirm.d.ts","../../../node_modules/@types/inquirer/lib/prompts/editor.d.ts","../../../node_modules/@types/inquirer/lib/prompts/expand.d.ts","../../../node_modules/@types/inquirer/lib/prompts/input.d.ts","../../../node_modules/@types/inquirer/lib/prompts/list.d.ts","../../../node_modules/@types/inquirer/lib/prompts/number.d.ts","../../../node_modules/@types/inquirer/lib/prompts/password.d.ts","../../../node_modules/@types/inquirer/lib/prompts/rawlist.d.ts","../../../node_modules/@types/inquirer/lib/ui/baseui.d.ts","../../../node_modules/@types/inquirer/lib/ui/bottom-bar.d.ts","../../../node_modules/@types/inquirer/lib/ui/prompt.d.ts","../../../node_modules/@types/inquirer/lib/utils/events.d.ts","../../../node_modules/@types/inquirer/lib/utils/readline.d.ts","../../../node_modules/@types/inquirer/lib/utils/utils.d.ts","../../../node_modules/@types/inquirer/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/minimatch/dist/esm/ast.d.ts","../../../node_modules/minimatch/dist/esm/escape.d.ts","../../../node_modules/minimatch/dist/esm/unescape.d.ts","../../../node_modules/minimatch/dist/esm/index.d.ts","../../../node_modules/@types/qrcode/index.d.ts","../../../node_modules/@types/react-scroll/modules/components/link.d.ts","../../../node_modules/@types/react-scroll/modules/components/button.d.ts","../../../node_modules/@types/react-scroll/modules/components/element.d.ts","../../../node_modules/@types/react-scroll/modules/mixins/helpers.d.ts","../../../node_modules/@types/react-scroll/modules/mixins/scroll-element.d.ts","../../../node_modules/@types/react-scroll/modules/mixins/scroll-events.d.ts","../../../node_modules/@types/react-scroll/modules/mixins/scroller.d.ts","../../../node_modules/@types/react-scroll/modules/mixins/scroll-link.d.ts","../../../node_modules/@types/react-scroll/modules/mixins/scroll-spy.d.ts","../../../node_modules/@types/react-scroll/modules/mixins/animate-scroll.d.ts","../../../node_modules/@types/react-scroll/modules/index.d.ts","../../../node_modules/@types/react-scroll/index.d.ts","../../../node_modules/@types/three/src/constants.d.ts","../../../node_modules/@types/three/src/three.legacy.d.ts","../../../node_modules/@types/three/src/math/interpolant.d.ts","../../../node_modules/@types/three/src/math/interpolants/discreteinterpolant.d.ts","../../../node_modules/@types/three/src/math/interpolants/linearinterpolant.d.ts","../../../node_modules/@types/three/src/math/interpolants/cubicinterpolant.d.ts","../../../node_modules/@types/three/src/animation/keyframetrack.d.ts","../../../node_modules/@types/three/src/animation/tracks/vectorkeyframetrack.d.ts","../../../node_modules/@types/three/src/animation/tracks/stringkeyframetrack.d.ts","../../../node_modules/@types/three/src/animation/tracks/quaternionkeyframetrack.d.ts","../../../node_modules/@types/three/src/animation/tracks/numberkeyframetrack.d.ts","../../../node_modules/@types/three/src/animation/tracks/colorkeyframetrack.d.ts","../../../node_modules/@types/three/src/animation/tracks/booleankeyframetrack.d.ts","../../../node_modules/@types/three/src/animation/propertymixer.d.ts","../../../node_modules/@types/three/src/animation/propertybinding.d.ts","../../../node_modules/@types/three/src/math/quaternion.d.ts","../../../node_modules/@types/three/src/math/matrix3.d.ts","../../../node_modules/@types/three/src/math/matrix4.d.ts","../../../node_modules/@types/three/src/math/euler.d.ts","../../../node_modules/@types/three/src/core/layers.d.ts","../../../node_modules/@types/three/src/core/bufferattribute.d.ts","../../../node_modules/@types/three/src/math/color.d.ts","../../../node_modules/@types/three/src/scenes/fog.d.ts","../../../node_modules/@types/three/src/math/vector2.d.ts","../../../node_modules/@types/three/src/math/triangle.d.ts","../../../node_modules/@types/three/src/math/box3.d.ts","../../../node_modules/@types/three/src/math/sphere.d.ts","../../../node_modules/@types/three/src/math/line3.d.ts","../../../node_modules/@types/three/src/math/plane.d.ts","../../../node_modules/@types/three/src/core/eventdispatcher.d.ts","../../../node_modules/@types/three/src/renderers/shaders/uniformslib.d.ts","../../../node_modules/@types/three/src/renderers/shaders/shaderlib.d.ts","../../../node_modules/@types/three/src/materials/material.d.ts","../../../node_modules/@types/three/src/textures/texture.d.ts","../../../node_modules/@types/three/src/scenes/scene.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webglcapabilities.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webglextensions.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webglshader.d.ts","../../../node_modules/@types/three/src/math/vector4.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webglstate.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webglproperties.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webglutils.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webgltextures.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webgluniforms.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webglprogram.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webglinfo.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webglobjects.d.ts","../../../node_modules/@types/three/src/objects/group.d.ts","../../../node_modules/@types/three/src/core/interleavedbuffer.d.ts","../../../node_modules/@types/three/src/core/interleavedbufferattribute.d.ts","../../../node_modules/@types/three/src/core/buffergeometry.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webglrenderlists.d.ts","../../../node_modules/@types/three/src/lights/lightshadow.d.ts","../../../node_modules/@types/three/src/lights/light.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webglshadowmap.d.ts","../../../node_modules/@types/three/src/textures/depthtexture.d.ts","../../../node_modules/@types/three/src/renderers/webglrendertarget.d.ts","../../../node_modules/@types/three/src/renderers/webxr/webxr.d.ts","../../../node_modules/@types/three/src/renderers/webxr/webxrmanager.d.ts","../../../node_modules/@types/three/src/textures/datatexture3d.d.ts","../../../node_modules/@types/three/src/textures/datatexture2darray.d.ts","../../../node_modules/@types/three/src/renderers/webglrenderer.d.ts","../../../node_modules/@types/three/src/math/ray.d.ts","../../../node_modules/@types/three/src/core/raycaster.d.ts","../../../node_modules/@types/three/src/core/object3d.d.ts","../../../node_modules/@types/three/src/cameras/camera.d.ts","../../../node_modules/@types/three/src/math/spherical.d.ts","../../../node_modules/@types/three/src/math/cylindrical.d.ts","../../../node_modules/@types/three/src/math/vector3.d.ts","../../../node_modules/@types/three/src/objects/bone.d.ts","../../../node_modules/@types/three/src/animation/animationclip.d.ts","../../../node_modules/@types/three/src/animation/animationutils.d.ts","../../../node_modules/@types/three/src/animation/animationobjectgroup.d.ts","../../../node_modules/@types/three/src/animation/animationaction.d.ts","../../../node_modules/@types/three/src/animation/animationmixer.d.ts","../../../node_modules/@types/three/src/audio/audiocontext.d.ts","../../../node_modules/@types/three/src/audio/audiolistener.d.ts","../../../node_modules/@types/three/src/audio/audio.d.ts","../../../node_modules/@types/three/src/audio/positionalaudio.d.ts","../../../node_modules/@types/three/src/audio/audioanalyser.d.ts","../../../node_modules/@types/three/src/cameras/perspectivecamera.d.ts","../../../node_modules/@types/three/src/cameras/stereocamera.d.ts","../../../node_modules/@types/three/src/cameras/orthographiccamera.d.ts","../../../node_modules/@types/three/src/textures/cubetexture.d.ts","../../../node_modules/@types/three/src/renderers/webglcuberendertarget.d.ts","../../../node_modules/@types/three/src/cameras/cubecamera.d.ts","../../../node_modules/@types/three/src/cameras/arraycamera.d.ts","../../../node_modules/@types/three/src/core/uniform.d.ts","../../../node_modules/@types/three/src/core/instancedbuffergeometry.d.ts","../../../node_modules/@types/three/src/core/instancedinterleavedbuffer.d.ts","../../../node_modules/@types/three/src/core/instancedbufferattribute.d.ts","../../../node_modules/@types/three/src/core/glbufferattribute.d.ts","../../../node_modules/@types/three/src/core/clock.d.ts","../../../node_modules/@types/three/src/extras/objects/immediaterenderobject.d.ts","../../../node_modules/@types/three/src/extras/core/curve.d.ts","../../../node_modules/@types/three/src/extras/curves/ellipsecurve.d.ts","../../../node_modules/@types/three/src/extras/curves/arccurve.d.ts","../../../node_modules/@types/three/src/extras/curves/catmullromcurve3.d.ts","../../../node_modules/@types/three/src/extras/curves/cubicbeziercurve.d.ts","../../../node_modules/@types/three/src/extras/curves/cubicbeziercurve3.d.ts","../../../node_modules/@types/three/src/extras/curves/linecurve.d.ts","../../../node_modules/@types/three/src/extras/curves/linecurve3.d.ts","../../../node_modules/@types/three/src/extras/curves/quadraticbeziercurve.d.ts","../../../node_modules/@types/three/src/extras/curves/quadraticbeziercurve3.d.ts","../../../node_modules/@types/three/src/extras/curves/splinecurve.d.ts","../../../node_modules/@types/three/src/extras/curves/curves.d.ts","../../../node_modules/@types/three/src/extras/core/curvepath.d.ts","../../../node_modules/@types/three/src/extras/core/path.d.ts","../../../node_modules/@types/three/src/extras/core/shape.d.ts","../../../node_modules/@types/three/src/extras/core/shapepath.d.ts","../../../node_modules/@types/three/src/extras/core/font.d.ts","../../../node_modules/@types/three/src/extras/datautils.d.ts","../../../node_modules/@types/three/src/extras/imageutils.d.ts","../../../node_modules/@types/three/src/extras/shapeutils.d.ts","../../../node_modules/@types/three/src/extras/pmremgenerator.d.ts","../../../node_modules/@types/three/src/geometries/boxgeometry.d.ts","../../../node_modules/@types/three/src/geometries/circlegeometry.d.ts","../../../node_modules/@types/three/src/geometries/cylindergeometry.d.ts","../../../node_modules/@types/three/src/geometries/conegeometry.d.ts","../../../node_modules/@types/three/src/geometries/polyhedrongeometry.d.ts","../../../node_modules/@types/three/src/geometries/dodecahedrongeometry.d.ts","../../../node_modules/@types/three/src/geometries/edgesgeometry.d.ts","../../../node_modules/@types/three/src/geometries/extrudegeometry.d.ts","../../../node_modules/@types/three/src/geometries/icosahedrongeometry.d.ts","../../../node_modules/@types/three/src/geometries/lathegeometry.d.ts","../../../node_modules/@types/three/src/geometries/octahedrongeometry.d.ts","../../../node_modules/@types/three/src/geometries/parametricgeometry.d.ts","../../../node_modules/@types/three/src/geometries/planegeometry.d.ts","../../../node_modules/@types/three/src/geometries/ringgeometry.d.ts","../../../node_modules/@types/three/src/geometries/shapegeometry.d.ts","../../../node_modules/@types/three/src/geometries/spheregeometry.d.ts","../../../node_modules/@types/three/src/geometries/tetrahedrongeometry.d.ts","../../../node_modules/@types/three/src/geometries/textgeometry.d.ts","../../../node_modules/@types/three/src/geometries/torusgeometry.d.ts","../../../node_modules/@types/three/src/geometries/torusknotgeometry.d.ts","../../../node_modules/@types/three/src/geometries/tubegeometry.d.ts","../../../node_modules/@types/three/src/geometries/wireframegeometry.d.ts","../../../node_modules/@types/three/src/geometries/geometries.d.ts","../../../node_modules/@types/three/src/objects/line.d.ts","../../../node_modules/@types/three/src/objects/linesegments.d.ts","../../../node_modules/@types/three/src/helpers/spotlighthelper.d.ts","../../../node_modules/@types/three/src/helpers/skeletonhelper.d.ts","../../../node_modules/@types/three/src/lights/pointlightshadow.d.ts","../../../node_modules/@types/three/src/lights/pointlight.d.ts","../../../node_modules/@types/three/src/helpers/pointlighthelper.d.ts","../../../node_modules/@types/three/src/lights/hemispherelight.d.ts","../../../node_modules/@types/three/src/materials/meshbasicmaterial.d.ts","../../../node_modules/@types/three/src/helpers/hemispherelighthelper.d.ts","../../../node_modules/@types/three/src/helpers/gridhelper.d.ts","../../../node_modules/@types/three/src/helpers/polargridhelper.d.ts","../../../node_modules/@types/three/src/lights/directionallightshadow.d.ts","../../../node_modules/@types/three/src/lights/directionallight.d.ts","../../../node_modules/@types/three/src/helpers/directionallighthelper.d.ts","../../../node_modules/@types/three/src/helpers/camerahelper.d.ts","../../../node_modules/@types/three/src/helpers/boxhelper.d.ts","../../../node_modules/@types/three/src/helpers/box3helper.d.ts","../../../node_modules/@types/three/src/helpers/planehelper.d.ts","../../../node_modules/@types/three/src/objects/mesh.d.ts","../../../node_modules/@types/three/src/helpers/arrowhelper.d.ts","../../../node_modules/@types/three/src/helpers/axeshelper.d.ts","../../../node_modules/@types/three/src/lights/spotlightshadow.d.ts","../../../node_modules/@types/three/src/lights/spotlight.d.ts","../../../node_modules/@types/three/src/lights/rectarealight.d.ts","../../../node_modules/@types/three/src/lights/ambientlight.d.ts","../../../node_modules/@types/three/src/math/sphericalharmonics3.d.ts","../../../node_modules/@types/three/src/lights/lightprobe.d.ts","../../../node_modules/@types/three/src/lights/ambientlightprobe.d.ts","../../../node_modules/@types/three/src/lights/hemispherelightprobe.d.ts","../../../node_modules/@types/three/src/loaders/loader.d.ts","../../../node_modules/@types/three/src/loaders/loadingmanager.d.ts","../../../node_modules/@types/three/src/loaders/animationloader.d.ts","../../../node_modules/@types/three/src/textures/compressedtexture.d.ts","../../../node_modules/@types/three/src/loaders/compressedtextureloader.d.ts","../../../node_modules/@types/three/src/textures/datatexture.d.ts","../../../node_modules/@types/three/src/loaders/datatextureloader.d.ts","../../../node_modules/@types/three/src/loaders/cubetextureloader.d.ts","../../../node_modules/@types/three/src/loaders/textureloader.d.ts","../../../node_modules/@types/three/src/loaders/objectloader.d.ts","../../../node_modules/@types/three/src/loaders/materialloader.d.ts","../../../node_modules/@types/three/src/loaders/buffergeometryloader.d.ts","../../../node_modules/@types/three/src/loaders/imageloader.d.ts","../../../node_modules/@types/three/src/loaders/imagebitmaploader.d.ts","../../../node_modules/@types/three/src/loaders/fontloader.d.ts","../../../node_modules/@types/three/src/loaders/fileloader.d.ts","../../../node_modules/@types/three/src/loaders/loaderutils.d.ts","../../../node_modules/@types/three/src/loaders/cache.d.ts","../../../node_modules/@types/three/src/loaders/audioloader.d.ts","../../../node_modules/@types/three/src/materials/shadowmaterial.d.ts","../../../node_modules/@types/three/src/materials/spritematerial.d.ts","../../../node_modules/@types/three/src/materials/shadermaterial.d.ts","../../../node_modules/@types/three/src/materials/rawshadermaterial.d.ts","../../../node_modules/@types/three/src/materials/pointsmaterial.d.ts","../../../node_modules/@types/three/src/materials/meshstandardmaterial.d.ts","../../../node_modules/@types/three/src/materials/meshphysicalmaterial.d.ts","../../../node_modules/@types/three/src/materials/meshphongmaterial.d.ts","../../../node_modules/@types/three/src/materials/meshtoonmaterial.d.ts","../../../node_modules/@types/three/src/materials/meshnormalmaterial.d.ts","../../../node_modules/@types/three/src/materials/meshlambertmaterial.d.ts","../../../node_modules/@types/three/src/materials/meshdepthmaterial.d.ts","../../../node_modules/@types/three/src/materials/meshdistancematerial.d.ts","../../../node_modules/@types/three/src/materials/meshmatcapmaterial.d.ts","../../../node_modules/@types/three/src/materials/linebasicmaterial.d.ts","../../../node_modules/@types/three/src/materials/linedashedmaterial.d.ts","../../../node_modules/@types/three/src/materials/materials.d.ts","../../../node_modules/@types/three/src/math/interpolants/quaternionlinearinterpolant.d.ts","../../../node_modules/@types/three/src/math/mathutils.d.ts","../../../node_modules/@types/three/src/objects/sprite.d.ts","../../../node_modules/@types/three/src/math/frustum.d.ts","../../../node_modules/@types/three/src/math/box2.d.ts","../../../node_modules/@types/three/src/objects/lod.d.ts","../../../node_modules/@types/three/src/objects/instancedmesh.d.ts","../../../node_modules/@types/three/src/objects/skeleton.d.ts","../../../node_modules/@types/three/src/objects/skinnedmesh.d.ts","../../../node_modules/@types/three/src/objects/lineloop.d.ts","../../../node_modules/@types/three/src/objects/points.d.ts","../../../node_modules/@types/three/src/renderers/webglmultisamplerendertarget.d.ts","../../../node_modules/@types/three/src/renderers/webgl1renderer.d.ts","../../../node_modules/@types/three/src/renderers/shaders/uniformsutils.d.ts","../../../node_modules/@types/three/src/renderers/shaders/shaderchunk.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webglbufferrenderer.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webglclipping.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webglattributes.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webglgeometries.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webglindexedbufferrenderer.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webgllights.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webglcubemaps.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webglbindingstates.d.ts","../../../node_modules/@types/three/src/renderers/webgl/webglprograms.d.ts","../../../node_modules/@types/three/src/renderers/webxr/webxrcontroller.d.ts","../../../node_modules/@types/three/src/scenes/fogexp2.d.ts","../../../node_modules/@types/three/src/textures/videotexture.d.ts","../../../node_modules/@types/three/src/textures/canvastexture.d.ts","../../../node_modules/@types/three/src/three.d.ts","../../../node_modules/@types/three/index.d.ts","../../../node_modules/@types/tinycolor2/index.d.ts","../../../../../../node_modules/@types/ws/index.d.ts"],"fileIdsList":[[75,99,148,165,166,705,711,729],[99,148,165,166,696,697,698,699,700,702,705,711,712],[99,148,165,166,702,705],[99,148,165,166,696],[99,148,165,166],[99,148,165,166,705],[99,148,165,166,701,705],[99,148,165,166,695,701],[99,148,165,166,694,703,705,712],[67,99,148,165,166,705,711],[99,148,165,166,705,707,708,711],[99,148,165,166,703,705,706,709,710],[99,148,165,166,705,709],[62,99,148,165,166,696,701,705,707,711],[99,148,165,166,705,711],[62,99,148,165,166,693,694,695,701,702,704,711],[99,148,165,166,712,716],[99,148,165,166,578,692,712],[99,148,165,166,578,603,712],[99,148,165,166,578,637,712],[99,148,165,166,603,637,692,713,714,715],[99,148,165,166,802],[99,148,165,166,744,745,746],[99,148,165,166,744],[99,148,165,166,801,802,803],[99,148,165,166,804],[99,148,165,166,807],[99,148,159,160,165,166,198,812],[99,148,165,166,175,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,895,896,897,898,899],[99,148,165,166,900],[99,148,165,166,879,880,900],[99,148,165,166,175,877,882,900],[99,148,165,166,175,883,884,900],[99,148,165,166,175,883,900],[99,148,165,166,175,877,883,900],[99,148,165,166,175,889,900],[99,148,165,166,175,900],[99,148,165,166,878,894,900],[99,148,165,166,877,894,900],[99,148,165,166,175,877],[99,148,165,166,882],[99,148,165,166,175],[99,148,165,166,877,900],[99,145,146,148,165,166],[99,147,148,165,166],[148,165,166],[99,148,153,165,166,183],[99,148,149,154,159,165,166,168,180,191],[99,148,149,150,159,165,166,168],[94,95,96,99,148,165,166],[99,148,151,165,166,192],[99,148,152,153,160,165,166,169],[99,148,153,165,166,180,188],[99,148,154,156,159,165,166,168],[99,147,148,155,165,166],[99,148,156,157,165,166],[99,148,158,159,165,166],[99,147,148,159,165,166],[99,148,159,160,161,165,166,180,191],[99,148,159,160,161,165,166,175,180,183],[99,141,148,156,159,162,165,166,168,180,191],[99,148,159,160,162,163,165,166,168,180,188,191],[99,148,162,164,165,166,180,188,191],[97,98,99,100,101,102,103,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197],[99,148,159,165,166],[99,148,165,166,167,191],[99,148,156,159,165,166,168,180],[99,148,165,166,169],[99,148,165,166,170],[99,147,148,165,166,171],[99,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197],[99,148,165,166,173],[99,148,165,166,174],[99,148,159,165,166,175,176],[99,148,165,166,175,177,192,194],[99,148,160,165,166],[99,148,159,165,166,180,181,183],[99,148,165,166,182,183],[99,148,165,166,180,181],[99,148,165,166,183],[99,148,165,166,184],[99,145,148,165,166,180,185],[99,148,159,165,166,186,187],[99,148,165,166,186,187],[99,148,153,165,166,168,180,188],[99,148,165,166,189],[99,148,165,166,168,190],[99,148,162,165,166,174,191],[99,148,153,165,166,192],[99,148,165,166,180,193],[99,148,165,166,167,194],[99,148,165,166,195],[99,141,148,165,166],[99,141,148,159,161,165,166,171,180,183,191,193,194,196],[99,148,165,166,180,197],[99,148,165,166,724],[99,148,159,165,166,180,188,198,718,719,722,723,724],[99,148,165,166,180,198],[85,99,148,165,166,201,202,203,357],[85,99,148,165,166],[85,99,148,165,166,201,202],[85,99,148,165,166,202,357],[99,148,165,166,917],[85,99,148,165,166,907],[99,148,165,166,907,908,909,910,911,912,913,914,915,916],[85,99,148,165,166,907,913],[85,89,99,148,165,166,200,441,489],[85,89,99,148,165,166,199,441,489],[82,83,84,99,148,165,166],[99,148,165,166,786],[99,148,165,166,1151],[99,148,165,166,919,983,989,993],[99,148,165,166,919,925,987,988],[99,148,165,166,919,948,983,989,991,992],[99,148,165,166,989],[99,148,165,166,919,922,923,924],[99,148,165,166,925],[99,148,165,166,919,925],[99,148,165,166,983,994,995],[99,148,165,166,996],[99,148,165,166,983,994],[99,148,165,166,995,996],[99,148,165,166,999],[99,148,165,166,936,983,987],[99,148,165,166,953,980,983,1003],[99,148,165,166,984],[99,148,165,166,984,999],[99,148,165,166,919,935,936],[99,148,165,166,919,936,939,942,944,945,948,968,987],[99,148,165,166,939,969],[99,148,165,166,969],[99,148,165,166,967],[99,148,165,166,919,968],[99,148,165,166,935,936,939,967],[99,148,165,166,934,935,936,937,938,948,951,953,966,969,980,982,984,987,989],[99,148,165,166,938,942,981,983,984,987],[99,148,165,166,942,987],[99,148,165,166,942,1013],[99,148,165,166,1027],[99,148,165,166,942,1025],[99,148,165,166,942,1026],[99,148,165,166,940,942,1027],[99,148,165,166,1014],[99,148,165,166,987,1013],[99,148,165,166,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023],[99,148,165,166,919,952],[99,148,165,166,951,983],[99,148,165,166,952,953,975,980,1002],[99,148,165,166,1036],[99,148,165,166,1038],[99,148,165,166,942,969,987,1013,1027],[99,148,165,166,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055],[99,148,165,166,942,969],[99,148,165,166,969,987],[99,148,165,166,969,1027],[99,148,165,166,1029,1041],[99,148,165,166,969,987,1013],[99,148,165,166,940,983,987,1057,1076],[99,148,165,166,1058],[99,148,165,166,940,944,1058],[99,148,165,166,940,983,1058],[99,148,165,166,984,1058],[99,148,165,166,936,940,983,1057,1070],[99,148,165,166,940,1058],[99,148,165,166,936,940,983,1064,1065],[99,148,165,166,947,1058],[99,148,165,166,936,940,983,1062],[99,148,165,166,936,983,988,1058],[99,148,165,166,936,940,972,983,1058],[99,148,165,166,940,972],[99,148,165,166,940,1084],[99,148,165,166,940,972,983,987,1069],[99,148,165,166,971,1001],[99,148,165,166,940,972,987],[99,148,165,166,940,971,983],[99,148,165,166,972,1083],[99,148,165,166,936,942,957,970,972,984],[99,148,165,166,940,972,1061],[99,148,165,166,971,999],[99,148,165,166,940,972,983,987,1079],[99,148,165,166,989,1087,1088],[99,148,165,166,1087,1088],[99,148,165,166,969,1007,1087,1088],[99,148,165,166,1087,1088,1090],[99,148,165,166,1002,1087,1088],[99,148,165,166,1087,1088,1092],[99,148,165,166,1029,1087,1088],[99,148,165,166,1088],[99,148,165,166,1087],[99,148,165,166,951,952,1087,1088],[99,148,165,166,951,952,983,989,1087,1088],[99,148,165,166,952,1087,1088],[99,148,165,166,940,951],[99,148,165,166,1120],[99,148,165,166,919,947,948,950,980],[99,148,165,166,951,1065,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121],[99,148,165,166,919,940,951,952],[99,148,165,166,919,951,952],[99,148,165,166,951,952,987],[99,148,165,166,919,940,942,951,952],[99,148,165,166,919,942,951,952],[99,148,165,166,940,942,952,1111],[99,148,165,166,940,951,952],[99,148,165,166,1108],[99,148,165,166,919,949,951],[99,148,165,166,942],[99,148,165,166,936,939,943,945,947,983,987],[99,148,165,166,939],[99,148,165,166,987],[99,148,165,166,934,936,987],[99,148,165,166,936,944,945,947,983,987,1125],[99,148,165,166,921],[99,148,165,166,936,987],[99,148,165,166,934],[99,148,165,166,934,935,937,987],[99,148,165,166,935,936,944,945,946,987],[99,148,165,166,936,937,987],[99,148,165,166,936,944,945,947,987],[99,148,165,166,936,944,947,987],[99,148,165,166,942,944,947,987],[99,148,165,166,935,939],[99,148,165,166,934,935,936,937,939,942,968,984,985,986],[99,148,165,166,934,936,939,942],[99,148,165,166,983],[99,148,165,166,936,939,940,951,969,1076],[99,148,165,166,951,969,982,983],[99,148,165,166,951,969,1057],[99,148,165,166,982,983,984],[99,148,165,166,936,988,1092],[99,148,165,166,936,951,969,987,1076,1130],[99,148,165,166,942,969,982,983,1122],[99,148,165,166,949],[99,148,165,166,939,954,968],[99,148,165,166,939,951,954,955,963,969,983,1140],[99,148,165,166,954,955,964],[99,148,165,166,951,959,984],[99,148,165,166,980],[99,148,165,166,954],[99,148,165,166,939,964,969,983,1140],[99,148,165,166,963],[99,148,165,166,954,955],[99,148,165,166,956,962,980],[99,148,165,166,951,953,954,955,963,980,1139,1144,1145],[99,148,165,166,951,953,959,963,966,969,983,984],[99,148,165,166,919,953,954,965,972,980,984],[99,148,165,166,919,951,954,955,957],[99,148,165,166,954,955,958,959,960,964],[99,148,165,166,961,963],[99,148,165,166,952,975,980,1002],[99,148,165,166,975],[99,148,165,166,919,940,942,944,951,952,953,954,955,957,958,959,963,964,969,970,973,975,976,977,978,979,983,984,987],[99,148,165,166,919,948,952,957,974],[99,148,165,166,966,976],[99,148,165,166,948,966,976,984],[99,148,165,166,940],[99,148,165,166,940,941],[99,148,165,166,940,941,951,952,980,983,984],[99,148,165,166,919,935,942,948],[99,148,165,166,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,952,953,954,955,956,957,958,959,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1056,1057,1058,1059,1060,1061,1062,1063,1064,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1141,1142,1143,1146,1147,1148,1149,1150],[99,148,165,166,776],[99,148,165,166,775],[99,148,165,166,774],[99,148,165,166,776,778,779,780,781,782,783,784],[99,148,165,166,774,776],[99,148,165,166,776,777],[99,148,165,166,198],[99,148,165,166,505,508,512,513,573],[99,148,165,166,505,509,513],[99,148,165,166,505,509,512,513,603,637,692],[99,148,165,166,505,508,509,512,638],[99,148,165,166,505],[99,148,165,166,516],[99,148,165,166,505,506,507,508,509,511,513,521,572,573,574,575,576,577,638],[99,148,165,166,668,675,688],[99,148,165,166,505,512,668],[99,148,165,166,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,659,660,661,662,663,671],[99,148,165,166,505,513,638,670],[99,148,165,166,505,509,513,638,670],[99,148,165,166,505,509,512,513,638,668,669],[99,148,165,166,505,509,512,513,638,668,670],[99,148,165,166,505,509,513,638,668,670],[99,148,165,166,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,659,660,661,662,663,670,671],[99,148,165,166,505,513,638,650,670],[99,148,165,166,505,509,513,638,658],[99,148,165,166,505,509,511,512,518,573,668,674,675,680,681,682,683,685,688],[99,148,165,166,505,509,512,571,573,668,670,673,678,679,685,688],[99,148,165,166,505,668,672],[99,148,165,166,639,665,666,667,668,669,672,674,680,682,684,685,686,687,689,690,691],[99,148,165,166,505,512,668,672],[99,148,165,166,505,512,668,675,685],[99,148,165,166,505,509,511,512,576,668,670,680,685,688],[99,148,165,166,673,676,677,678,679,688],[99,148,165,166,505,508,512,518,576,581,668,670,677,678,680,685,688],[99,148,165,166,505,511,512,518,674,676,680,688],[99,148,165,166,505,509,512,573,576,668,680,685],[99,148,165,166,505,509,511,512,518,570,576,668,672,674,675,680,685,688],[99,148,165,166,507,508,509,511,512,518,570,668,672,675,676,685,687],[99,148,165,166,505,509,511,512,513,576,668,670,680,685,688],[99,148,165,166,505,668,687],[99,148,165,166,505,509,512,573,680,684,688],[99,148,165,166,511,512,570],[99,148,165,166,505,508,638,639,664,665,666,667,669,670],[99,148,165,166,507,508,513,578,638,639,665,666,667,668,669,687,692],[99,148,165,166,505,512],[99,148,165,166,505,512,518,570,638,672,675,677,686,688],[99,148,165,166,505,506,509,573,586,593,725,726],[99,148,165,166,726,727],[99,148,165,166,505,506,509,512,573,587,593,597,603,725],[99,148,165,166,508,512,513],[99,148,165,166,563,569,597],[99,148,165,166,505,521,563],[99,148,165,166,523,524,525,526,527,529,530,531,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,566],[99,148,165,166,505,513,533,565,638],[99,148,165,166,505,513,565,638],[99,148,165,166,505,509,513,565,638],[99,148,165,166,505,509,512,513,558,563,564,638],[99,148,165,166,505,509,512,513,563,565,638],[99,148,165,166,505,565,638],[99,148,165,166,505,509,513,528,565,638],[99,148,165,166,505,509,513,563,565,638],[99,148,165,166,523,524,525,526,527,529,530,531,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,565,566,567],[99,148,165,166,505,532,565,638],[99,148,165,166,505,513,535,565,638],[99,148,165,166,505,513,563,565,638],[99,148,165,166,505,513,528,535,563,565,638],[99,148,165,166,505,509,513,528,563,565,638],[99,148,165,166,505,509,511,512,518,563,568,569,573,580,582,583,584,585,587,592,593,596,597],[99,148,165,166,505,509,512,563,568,571,573,587,592,596,597],[99,148,165,166,505,563,568],[99,148,165,166,522,532,558,559,560,561,562,563,564,568,585,586,587,592,593,595,596,598,599,600,602],[99,148,165,166,505,512,563,568],[99,148,165,166,505,512,559,563],[99,148,165,166,505,512,563,587],[99,148,165,166,505,511,512,563,570,576,581,587,593,597],[99,148,165,166,584,588,589,590,591,594,597],[99,148,165,166,505,508,511,512,518,558,563,565,570,576,581,587,589,593,594,597],[99,148,165,166,505,511,512,518,568,585,591,593,597],[99,148,165,166,505,509,512,563,573,576,581,587,593],[99,148,165,166,505,512,576,579,581],[99,148,165,166,505,512,576,581,587,593,596],[99,148,165,166,505,509,511,512,518,563,568,569,570,576,581,585,587,593,597],[99,148,165,166,507,508,509,511,512,518,563,568,569,570,587,591,596],[99,148,165,166,505,508,509,511,512,513,563,565,569,570,576,581,587,593,597],[99,148,165,166,505,512,532,563,567,596],[99,148,165,166,505,521,573,579,586,593,597],[99,148,165,166,505,508,522,557,558,560,561,562,564,565,638],[99,148,165,166,507,508,513,522,558,560,561,562,563,564,568,578,596,603,638],[99,148,165,166,601],[99,148,165,166,505,509,512,518,565,569,570,594,595,597,638],[99,148,165,166,505,521],[99,148,165,166,507,508,509,511,512,513,638],[99,148,165,166,505,508,509,512,513,516,572],[99,148,165,166,638],[99,148,165,166,578],[99,148,165,166,512,513],[99,148,165,166,514,515],[99,148,165,166,517,519],[99,148,165,166,512,513,518],[99,148,165,166,512,516,520],[99,148,165,166,505,507,508,510,511,513],[99,148,165,166,612,630,635],[99,148,165,166,505,512,630],[99,148,165,166,605,625,626,627,628,633],[99,148,165,166,505,509,513,632,638],[99,148,165,166,505,509,512,513,630,631,638],[99,148,165,166,505,509,512,513,630,632,638],[99,148,165,166,605,625,626,627,628,632,633],[99,148,165,166,505,509,513,624,630,632,638],[99,148,165,166,505,513,632,638],[99,148,165,166,505,509,513,630,632,638],[99,148,165,166,505,509,511,512,518,573,609,610,611,612,615,620,621,630,635],[99,148,165,166,505,509,512,571,573,615,620,630,634,635],[99,148,165,166,505,630,634],[99,148,165,166,604,606,607,608,611,613,615,620,621,623,624,630,631,634,636],[99,148,165,166,505,512,630,634],[99,148,165,166,505,512,615,623,630],[99,148,165,166,505,509,511,512,570,576,581,615,621,630,632,635],[99,148,165,166,616,617,618,619,622,635],[99,148,165,166,505,509,511,512,518,570,576,581,606,615,617,621,622,630,632,635],[99,148,165,166,505,511,512,518,611,619,621,635],[99,148,165,166,505,509,512,573,576,581,615,621,630],[99,148,165,166,505,512,576,579,581,621],[99,148,165,166,505,509,511,512,518,570,576,581,611,612,615,621,630,634,635],[99,148,165,166,507,508,509,511,512,518,570,612,615,619,623,630,634],[99,148,165,166,505,509,511,512,513,570,576,581,612,615,621,630,632,635],[99,148,165,166,505,512,573,576,579,613,614,621,635],[99,148,165,166,505,508,604,606,607,608,629,631,632,638],[99,148,165,166,505,630,632],[99,148,165,166,507,508,513,578,604,606,607,608,623,630,631,637],[99,148,165,166,505,512,518,570,612,622,632,635,638],[99,148,165,166,505,507,509,512,513],[99,148,165,166,506,508,512,513],[99,148,165,166,801,805,806],[99,148,165,166,772,773,774,776,785],[99,148,165,166,772],[99,148,165,166,812],[99,148,165,166,809,810,811],[99,148,165,166,905],[99,148,165,166,902,903,904],[75,99,148,165,166],[74,77,81,99,148,165,166,493,497,498,499,500],[77,81,99,148,165,166,493,497,498],[99,148,165,166,493],[74,77,99,148,165,166,712,729],[59,60,65,74,75,77,78,79,80,99,148,165,166],[65,77,99,148,165,166],[59,99,148,165,166],[77,99,148,165,166],[77,81,99,148,165,166],[64,81,99,148,165,166],[63,73,75,77,99,148,165,166],[67,74,77,99,148,165,166],[69,70,74,77,99,148,165,166],[74,99,148,165,166],[68,71,72,73,77,99,148,165,166],[71,77,99,148,165,166],[59,62,69,74,77,81,99,148,165,166],[74,77,99,148,165,166],[61,62,63,64,65,74,76,81,99,148,165,166],[99,148,165,166,502],[91,99,148,165,166],[99,148,165,166,444],[99,148,165,166,446,447,448,449],[99,148,165,166,451],[99,148,165,166,207,221,222,223,225,438],[99,148,165,166,207,246,248,250,251,254,438,440],[99,148,165,166,207,211,213,214,215,216,217,427,438,440],[99,148,165,166,438],[99,148,165,166,222,324,408,417,434],[99,148,165,166,207],[99,148,165,166,204,434],[99,148,165,166,258],[99,148,165,166,257,438,440],[99,148,162,165,166,306,324,353,495],[99,148,162,165,166,317,333,417,433],[99,148,162,165,166,369],[99,148,165,166,421],[99,148,165,166,420,421,422],[99,148,165,166,420],[93,99,148,162,165,166,204,207,211,214,218,219,220,222,226,234,235,362,387,418,438,441],[99,148,165,166,207,224,242,246,247,252,253,438,495],[99,148,165,166,224,495],[99,148,165,166,235,242,304,438,495],[99,148,165,166,495],[99,148,165,166,207,224,225,495],[99,148,165,166,249,495],[99,148,165,166,218,419,426],[99,148,165,166,174,266,434],[99,148,165,166,266,434],[85,99,148,165,166,266],[85,99,148,165,166,325],[99,148,165,166,321,367,434,477,478],[99,148,165,166,414,471,472,473,474,476],[99,148,165,166,413],[99,148,165,166,413,414],[99,148,165,166,215,363,364,365],[99,148,165,166,363,366,367],[99,148,165,166,475],[99,148,165,166,363,367],[85,99,148,165,166,208,465],[85,99,148,165,166,191],[85,99,148,165,166,224,294],[85,99,148,165,166,224],[99,148,165,166,292,296],[85,99,148,165,166,293,443],[85,89,99,148,162,165,166,198,199,200,441,487,488],[99,148,162,165,166],[99,148,162,165,166,211,273,363,373,388,408,423,424,438,439,495],[99,148,165,166,234,425],[99,148,165,166,441],[99,148,165,166,206],[85,99,148,165,166,306,320,332,342,344,433],[99,148,165,166,174,306,320,341,342,343,433,494],[99,148,165,166,335,336,337,338,339,340],[99,148,165,166,337],[99,148,165,166,341],[99,148,165,166,264,265,266,268],[85,99,148,165,166,259,260,261,267],[99,148,165,166,264,267],[99,148,165,166,262],[99,148,165,166,263],[85,99,148,165,166,266,293,443],[85,99,148,165,166,266,442,443],[85,99,148,165,166,266,443],[99,148,165,166,388,430],[99,148,165,166,430],[99,148,162,165,166,439,443],[99,148,165,166,329],[99,147,148,165,166,328],[99,148,165,166,236,274,312,314,316,317,318,319,360,363,433,436,439],[99,148,165,166,236,350,363,367],[99,148,165,166,317,433],[85,99,148,165,166,317,326,327,329,330,331,332,333,334,345,346,347,348,349,351,352,433,434,495],[99,148,165,166,311],[99,148,162,165,166,174,236,237,273,288,318,360,361,362,367,388,408,429,438,439,440,441,495],[99,148,165,166,433],[99,147,148,165,166,222,315,318,362,429,431,432,439],[99,148,165,166,317],[99,147,148,165,166,273,278,307,308,309,310,311,312,313,314,316,433,434],[99,148,162,165,166,278,279,307,439,440],[99,148,165,166,222,362,363,388,429,433,439],[99,148,162,165,166,438,440],[99,148,162,165,166,180,436,439,440],[99,148,162,165,166,174,191,204,211,224,236,237,239,274,275,280,285,288,314,318,363,373,375,378,380,383,384,385,386,387,408,428,429,434,436,438,439,440],[99,148,162,165,166,180],[99,148,165,166,207,208,209,211,216,219,224,242,428,436,437,441,443,495],[99,148,162,165,166,180,191,254,256,258,259,260,261,268,495],[99,148,165,166,174,191,204,246,256,284,285,286,287,314,363,378,387,388,394,397,398,408,429,434,436],[99,148,165,166,218,219,234,362,387,429,438],[99,148,162,165,166,191,208,211,314,392,436,438],[99,148,165,166,305],[99,148,162,165,166,395,396,405],[99,148,165,166,436,438],[99,148,165,166,312,315],[99,148,165,166,314,318,428,443],[99,148,162,165,166,174,240,246,287,378,388,394,397,400,436],[99,148,162,165,166,218,234,246,401],[99,148,165,166,207,239,403,428,438],[99,148,162,165,166,191,438],[99,148,162,165,166,224,238,239,240,251,269,402,404,428,438],[93,99,148,165,166,236,318,407,441,443],[99,148,162,165,166,174,191,211,218,226,234,237,274,280,284,285,286,287,288,314,363,375,388,389,391,393,408,428,429,434,435,436,443],[99,148,162,165,166,180,218,394,399,405,436],[99,148,165,166,229,230,231,232,233],[99,148,165,166,275,379],[99,148,165,166,381],[99,148,165,166,379],[99,148,165,166,381,382],[99,148,162,165,166,211,214,215,273,439],[99,148,162,165,166,174,206,208,236,274,288,318,371,372,408,436,440,441,443],[99,148,162,165,166,174,191,210,215,314,372,435,439],[99,148,165,166,307],[99,148,165,166,308],[99,148,165,166,309],[99,148,165,166,434],[99,148,165,166,255,271],[99,148,162,165,166,211,255,274],[99,148,165,166,270,271],[99,148,165,166,272],[99,148,165,166,255,256],[99,148,165,166,255,289],[99,148,165,166,255],[99,148,165,166,275,377,435],[99,148,165,166,376],[99,148,165,166,256,434,435],[99,148,165,166,374,435],[99,148,165,166,256,434],[99,148,165,166,360],[99,148,165,166,211,216,274,303,306,312,314,318,320,323,354,356,359,363,407,428,436,439],[99,148,165,166,297,300,301,302,321,322,367],[85,99,148,165,166,201,202,203,266,355],[85,99,148,165,166,201,202,203,266,355,358],[99,148,165,166,416],[99,148,165,166,222,279,317,318,329,333,363,407,409,410,411,412,414,415,418,428,433,438],[99,148,165,166,367],[99,148,165,166,371],[99,148,162,165,166,274,290,368,370,373,407,436,441,443],[99,148,165,166,297,298,299,300,301,302,321,322,367,442],[93,99,148,162,165,166,174,191,237,255,256,288,314,318,405,406,408,428,429,438,439,441],[99,148,165,166,279,281,284,429],[99,148,162,165,166,275,438],[99,148,165,166,278,317],[99,148,165,166,277],[99,148,165,166,279,280],[99,148,165,166,276,278,438],[99,148,162,165,166,210,279,281,282,283,438,439],[85,99,148,165,166,363,364,366],[99,148,165,166,241],[85,99,148,165,166,208],[85,99,148,165,166,434],[85,93,99,148,165,166,288,318,441,443],[99,148,165,166,208,465,466],[85,99,148,165,166,296],[85,99,148,165,166,174,191,206,253,291,293,295,443],[99,148,165,166,224,434,439],[99,148,165,166,390,434],[99,148,165,166,363],[85,99,148,160,162,165,166,174,206,242,248,296,441,442],[85,99,148,165,166,199,200,441,489],[85,86,87,88,89,99,148,165,166],[99,148,153,165,166],[99,148,165,166,243,244,245],[99,148,165,166,243],[85,89,99,148,162,164,165,166,174,198,199,200,201,203,204,206,237,341,400,438,440,443,489],[99,148,165,166,453],[99,148,165,166,455],[99,148,165,166,457],[99,148,165,166,459],[99,148,165,166,461,462,463],[99,148,165,166,467],[90,92,99,148,165,166,445,450,452,454,456,458,460,464,468,470,480,481,483,493,494,495,496],[99,148,165,166,469],[99,148,165,166,479],[99,148,165,166,293],[99,148,165,166,482],[99,147,148,165,166,279,281,282,284,332,434,484,485,486,489,490,491,492],[99,148,165,166,198,719,720,721],[99,148,165,166,180,198,719],[66,99,148,165,166],[67,99,148,165,166],[99,148,165,166,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,833,834,836,838,839,840,841,842,843,844,845,846,847,848,849,850,851,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876],[99,148,165,166,814,816,821],[99,148,165,166,816,853],[99,148,165,166,815,820],[99,148,165,166,814,815,816,817,818,819],[99,148,165,166,815,816,817,820,853],[99,148,165,166,814,816,820,821],[99,148,165,166,820],[99,148,165,166,820,860],[99,148,165,166,814,815,816,820],[99,148,165,166,815,816,817,820],[99,148,165,166,815,816],[99,148,165,166,814,815,816,820,821],[99,148,165,166,816,852],[99,148,165,166,814,815,816,821],[99,148,165,166,877],[99,148,165,166,814,815,829],[99,148,165,166,814,815,828],[99,148,165,166,837],[99,148,165,166,830,831],[99,148,165,166,832],[99,148,165,166,830],[99,148,165,166,814,815,829,830],[99,148,165,166,814,815,828,829,831],[99,148,165,166,835],[99,148,165,166,814,815,830,831],[99,148,165,166,814,815,816,817,820],[99,148,165,166,814,815],[99,148,165,166,815],[99,148,165,166,814,820],[99,148,165,166,753,754],[99,148,165,166,753],[99,148,165,166,753,754,755,756],[99,148,165,166,751,757],[99,148,165,166,757],[99,148,165,166,751,752],[99,113,117,148,165,166,191],[99,113,148,165,166,180,191],[99,108,148,165,166],[99,110,113,148,165,166,188,191],[99,148,165,166,168,188],[99,108,148,165,166,198],[99,110,113,148,165,166,168,191],[99,105,106,109,112,148,159,165,166,180,191],[99,113,120,148,165,166],[99,105,111,148,165,166],[99,113,134,135,148,165,166],[99,109,113,148,165,166,183,191,198],[99,134,148,165,166,198],[99,107,108,148,165,166,198],[99,113,148,165,166],[99,107,108,109,110,111,112,113,114,115,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,135,136,137,138,139,140,148,165,166],[99,113,128,148,165,166],[99,113,120,121,148,165,166],[99,111,113,121,122,148,165,166],[99,112,148,165,166],[99,105,108,113,148,165,166],[99,113,117,121,122,148,165,166],[99,117,148,165,166],[99,111,113,116,148,165,166,191],[99,105,110,113,120,148,165,166],[99,148,165,166,180],[99,108,113,134,148,165,166,196,198],[99,148,165,166,770],[99,148,165,166,761,762],[99,148,165,166,758,759,761,763,764,769],[99,148,165,166,759,761],[99,148,165,166,769],[99,148,165,166,761],[99,148,165,166,758,759,761,764,765,766,767,768],[99,148,165,166,758,759,760],[99,148,165,166,739,743,747,748],[99,148,165,166,749,789,797],[99,148,165,166,750,787],[99,148,165,166,789,790,791,792,793,794,795,796],[99,148,165,166,578,739,748,750,771,789],[99,148,153,165,166,578,739,750,771,789],[99,148,165,166,771,789],[99,148,165,166,578,739,750,771,789],[99,148,165,166,748,749,750,757,771,788],[99,148,165,166,717,739],[99,148,165,166,501,504,740],[99,148,165,166,501,503],[99,148,165,166,504,740,741,742],[99,148,165,166,741],[99,148,165,166,170,725,728,736,737],[99,148,165,166,578,730,731,732,733,734,736,738],[99,148,165,166,578,603,730],[75,99,148,165,166,603,712,729],[99,148,165,166,578,603,730,731],[99,148,165,166,730,731,732,733,734,735],[99,148,165,166,578,603,730,732],[99,148,159,162,164,165,166,168,180,188,191,197,198]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc2958d8abd86edcdf05542bb1b40ba659db5bc5a2560720cde08e8950e63bc1","impliedFormat":99},{"version":"e44e0ea195d68c0aea951809bda325322085008c0622fc4ee44db5359f37b747","impliedFormat":99},{"version":"fa2c48fd724dd8f0e11dfb04f20d727a2595890bfa95419c83b21ed575ed77d1","impliedFormat":99},{"version":"6d23ffe7f1b73f16b08f5baeca430e6655b46fdc5862fd7bff1483b71fc6b28d","impliedFormat":99},{"version":"20be44c04e883d5fe7840d630a8d0656e95b00c2d6eebab9ab253275e7170534","impliedFormat":99},{"version":"3b674288fbdc0ff0ed2b7fc2839014c2ff209c84999fd06b6339347d0f976a85","impliedFormat":99},{"version":"87561cc8a2d7444adf4eed4b3f15bef8c6098cceb0e7617fba1cc45d187ac8c8","impliedFormat":99},{"version":"fd40c454d56e1d14e60ce13f3bc60c7fdb9bc70c6ef9c7bfafec1f0eb5d8075b","impliedFormat":1},{"version":"155ced96d70533d95c481061e2691802fae7cfb96869d7c85ac8622f53b51cb7","impliedFormat":1},{"version":"3689b6f599705380d2ceaccb4e58eec5c9439a7a5635d6e37c1ba66ed7c34b35","impliedFormat":99},{"version":"6cf0d3cc668cdbb01358ef7c2e41bbcc14d8d8e4ca424a1b6d2838d9a1cae8ce","impliedFormat":99},{"version":"b7bd70307671536c735389e0a1748555c438c392dfceb6f2ac3aa0a50ca82530","impliedFormat":99},{"version":"661c403f4c5bbf259e03f4fdc3a9e3f51ad562684f702e1b842e6c5336de0752","impliedFormat":99},{"version":"415dd92247ca21db682f75ba7e6289ab2d093cd34c6f471c6c789afd047ad4f3","impliedFormat":99},{"version":"b52f7568bb9b00bcee6c4929938226541c09d86b849b8ba8db2fe2a8bba46f49","impliedFormat":99},{"version":"39d80ec3c018d7ffe7c99ddd3a7b6844b3376c15e52937a7687d2c2828830fd0","impliedFormat":99},{"version":"828f8b38dff4e5c47b0112cb437da379c720f0360d40d392457c9775f30c8ae8","impliedFormat":99},{"version":"d42e1872d53ebb213e7bbe15e5fecdcaa9a490d2f2a2b035ee9cf4a6d3f1e44e","impliedFormat":99},{"version":"2262d96c02073dcb17a31ae8c738651ebff75f102522eae686f5462658b687a8","impliedFormat":99},{"version":"21053659ad72fe51b9dfbde4fa14dbbac0912359fa37c9a5aa75f188782b2ee8","impliedFormat":99},{"version":"e297bdcb7db008d8d7d0481f2c935a9f7f0a338f41b7e5d1cec6a7744140a4ff","impliedFormat":99},{"version":"ef816ad6735a271c4c8035a1914c3a9beaaa90b3c174da312d26bce8736e56ec","impliedFormat":99},{"version":"7202026e24c5e5b7b6e5fe6b99455a91058ef82e74a5cdf6a3a4136b7ae9c080","impliedFormat":99},{"version":"eb5b19b86227ace1d29ea4cf81387279d04bb34051e944bc53df69f58914b788","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"87d9d29dbc745f182683f63187bf3d53fd8673e5fca38ad5eaab69798ed29fbc","impliedFormat":1},{"version":"7a3aa194cfd5919c4da251ef04ea051077e22702638d4edcb9579e9101653519","affectsGlobalScope":true,"impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"0f6666b58e9276ac3a38fdc80993d19208442d6027ab885580d93aec76b4ef00","impliedFormat":1},{"version":"05fd364b8ef02fb1e174fbac8b825bdb1e5a36a016997c8e421f5fab0a6da0a0","impliedFormat":1},{"version":"631eff75b0e35d1b1b31081d55209abc43e16b49426546ab5a9b40bdd40b1f60","impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"2cbe0621042e2a68c7cbce5dfed3906a1862a16a7d496010636cdbdb91341c0f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"bb45cd435da536500f1d9692a9b49d0c570b763ccbf00473248b777f5c1f353b","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"83e63d6ccf8ec004a3bb6d58b9bb0104f60e002754b1e968024b320730cc5311","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"21145ce1c54e05ef9e52092b98a4ebfb326b92f52e76e47211c50cfcd2a2b4ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"f27524f4bef4b6519c604bdb23bf4465bddcccbf3f003abb901acbd0d7404d99","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"dba28a419aec76ed864ef43e5f577a5c99a010c32e5949fe4e17a4d57c58dd11","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c959a391a75be9789b43c8468f71e3fa06488b4d691d5729dde1416dcd38225b","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"5ebe6f4cc3b803cbfc962bae0d954f9c80e5078ca41eb3f1de41d92e7193ef37","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"9f663c2f91127ef7024e8ca4b3b4383ff2770e5f826696005de382282794b127","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1},{"version":"91b0f6d01993021ecbe01eb076db6a3cf1b66359c1d99104f43436010e81afb5","impliedFormat":1},{"version":"d1bd4e51810d159899aad1660ccb859da54e27e08b8c9862b40cd36c1d9ff00f","impliedFormat":1},{"version":"17ed71200119e86ccef2d96b73b02ce8854b76ad6bd21b5021d4269bec527b5f","impliedFormat":1},{"version":"1cfa8647d7d71cb03847d616bd79320abfc01ddea082a49569fda71ac5ece66b","impliedFormat":1},{"version":"bb7a61dd55dc4b9422d13da3a6bb9cc5e89be888ef23bbcf6558aa9726b89a1c","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"829b9e6028b29e6a8b1c01ddb713efe59da04d857089298fa79acbdb3cfcfdef","impliedFormat":1},{"version":"24f8562308dd8ba6013120557fa7b44950b619610b2c6cb8784c79f11e3c4f90","impliedFormat":1},{"version":"c696aa0753345ae6bdaab0e2d4b2053ee76be5140470860eef7e6cadc9f725a1","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"496bbf339f3838c41f164238543e9fe5f1f10659cb30b68903851618464b98ba","impliedFormat":1},{"version":"5178eb4415a172c287c711dc60a619e110c3fd0b7de01ed0627e51a5336aa09c","impliedFormat":1},{"version":"ca6e5264278b53345bc1ce95f42fb0a8b733a09e3d6479c6ccfca55cdc45038c","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"fb1d8e814a3eeb5101ca13515e0548e112bd1ff3fb358ece535b93e94adf5a3a","impliedFormat":1},{"version":"ffa495b17a5ef1d0399586b590bd281056cee6ce3583e34f39926f8dcc6ecdb5","impliedFormat":1},{"version":"98b18458acb46072947aabeeeab1e410f047e0cacc972943059ca5500b0a5e95","impliedFormat":1},{"version":"361e2b13c6765d7f85bb7600b48fde782b90c7c41105b7dab1f6e7871071ba20","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"b6db56e4903e9c32e533b78ac85522de734b3d3a8541bf24d256058d464bf04b","impliedFormat":1},{"version":"24daa0366f837d22c94a5c0bad5bf1fd0f6b29e1fae92dc47c3072c3fdb2fbd5","impliedFormat":1},{"version":"570bb5a00836ffad3e4127f6adf581bfc4535737d8ff763a4d6f4cc877e60d98","impliedFormat":1},{"version":"889c00f3d32091841268f0b994beba4dceaa5df7573be12c2c829d7c5fbc232c","impliedFormat":1},{"version":"65f43099ded6073336e697512d9b80f2d4fec3182b7b2316abf712e84104db00","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"27ab780875bcbb65e09da7496f2ca36288b0c541abaa75c311450a077d54ec15","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"380647d8f3b7f852cca6d154a376dbf8ac620a2f12b936594504a8a852e71d2f","impliedFormat":1},{"version":"208c9af9429dd3c76f5927b971263174aaa4bc7621ddec63f163640cbd3c473c","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"a23185bc5ef590c287c28a91baf280367b50ae4ea40327366ad01f6f4a8edbc5","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"002eae065e6960458bda3cf695e578b0d1e2785523476f8a9170b103c709cd4f","impliedFormat":1},{"version":"c83bb0c9c5645a46c68356c2f73fdc9de339ce77f7f45a954f560c7e0b8d5ebb","impliedFormat":1},{"version":"05c97cddbaf99978f83d96de2d8af86aded9332592f08ce4a284d72d0952c391","impliedFormat":1},{"version":"72179f9dd22a86deaad4cc3490eb0fe69ee084d503b686985965654013f1391b","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"7b6ff760c8a240b40dab6e4419b989f06a5b782f4710d2967e67c695ef3e93c4","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"6a148329edecbda07c21098639ef4254ef7869fb25a69f58e5d6a8b7b69d4236","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"f63ab283a1c8f5c79fabe7ca4ef85f9633339c4f0e822fce6a767f9d59282af2","impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a54c996c8870ef1728a2c1fa9b8eaec0bf4a8001cd2583c02dd5869289465b10","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"3754982006a3b32c502cff0867ca83584f7a43b1035989ca73603f400de13c96","impliedFormat":1},{"version":"a30ae9bb8a8fa7b90f24b8a0496702063ae4fe75deb27da731ed4a03b2eb6631","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"50b5bc34ce6b12eccb76214b51aadfa56572aa6cc79c2b9455cdbb3d6c76af1d","impliedFormat":1},{"version":"b7e16ef7f646a50991119b205794ebfd3a4d8f8e0f314981ebbe991639023d0e","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"e9dd71cf12123419c60dab867d44fbee5c358169f99529121eaef277f5c83531","impliedFormat":1},{"version":"5b6a189ba3a0befa1f5d9cb028eb9eec2af2089c32f04ff50e2411f63d70f25d","impliedFormat":1},{"version":"d6e73f8010935b7b4c7487b6fb13ea197cc610f0965b759bec03a561ccf8423a","impliedFormat":1},{"version":"174f3864e398f3f33f9a446a4f403d55a892aa55328cf6686135dfaf9e171657","impliedFormat":1},{"version":"824c76aec8d8c7e65769688cbee102238c0ef421ed6686f41b2a7d8e7e78a931","impliedFormat":1},{"version":"75b868be3463d5a8cfc0d9396f0a3d973b8c297401d00bfb008a42ab16643f13","impliedFormat":1},{"version":"15a234e5031b19c48a69ccc1607522d6e4b50f57d308ecb7fe863d44cd9f9eb3","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"6dcf60530c25194a9ee0962230e874ff29d34c59605d8e069a49928759a17e0a","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"1a42d2ec31a1fe62fdc51591768695ed4a2dc64c01be113e7ff22890bebb5e3f","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"0c7c947ff881c4274c0800deaa0086971e0bfe51f89a33bd3048eaa3792d4876","affectsGlobalScope":true,"impliedFormat":1},{"version":"db01d18853469bcb5601b9fc9826931cc84cc1a1944b33cad76fd6f1e3d8c544","affectsGlobalScope":true,"impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"15b36126e0089bfef173ab61329e8286ce74af5e809d8a72edcafd0cc049057f","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"ad10d4f0517599cdeca7755b930f148804e3e0e5b5a3847adce0f1f71bbccd74","impliedFormat":1},{"version":"1042064ece5bb47d6aba91648fbe0635c17c600ebdf567588b4ca715602f0a9d","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"72d63643a657c02d3e51cd99a08b47c9b020a565c55f246907050d3c8a5e77fb","impliedFormat":1},{"version":"1d415445ea58f8033ba199703e55ff7483c52ac6742075b803bd3e7bbe9f5d61","impliedFormat":1},{"version":"d6406c629bb3efc31aedb2de809bef471e475c86c7e67f3ef9b676b5d7e0d6b2","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"24428762d0c97b44c4784d28eee9556547167c4592d20d542a79243f7ca6a73f","impliedFormat":1},{"version":"8c030e515014c10a2b98f9f48408e3ba18023dfd3f56e3312c6c2f3ae1f55a16","impliedFormat":1},{"version":"dafc31e9e8751f437122eb8582b93d477e002839864410ff782504a12f2a550c","impliedFormat":1},{"version":"754498c5208ce3c5134f6eabd49b25cf5e1a042373515718953581636491f3c3","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"f56bdc6884648806d34bc66d31cdb787c4718d04105ce2cd88535db214631f82","impliedFormat":1},{"version":"633d58a237f4bb25ec7d565e4ffa32cecdcee8660ac12189c4351c52557cee9e","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"13283350547389802aa35d9f2188effaeac805499169a06ef5cd77ce2a0bd63f","impliedFormat":1},{"version":"ce791f6ea807560f08065d1af6014581eeb54a05abd73294777a281b6dfd73c2","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"49f95e989b4632c6c2a578cc0078ee19a5831832d79cc59abecf5160ea71abad","impliedFormat":1},{"version":"9666533332f26e8995e4d6fe472bdeec9f15d405693723e6497bf94120c566c8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"e17cd049a1448de4944800399daa4a64c5db8657cc9be7ef46be66e2a2cd0e7c","impliedFormat":1},{"version":"43fa6ea8714e18adc312b30450b13562949ba2f205a1972a459180fa54471018","impliedFormat":1},{"version":"6e89c2c177347d90916bad67714d0fb473f7e37fb3ce912f4ed521fe2892cd0d","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"4d4927cbee21750904af7acf940c5e3c491b4d5ebc676530211e389dd375607a","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"8a97e578a9bc40eb4f1b0ca78f476f2e9154ecbbfd5567ee72943bab37fc156a","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"2d7db1d73456e8c5075387d4240c29a2a900847f9c1bff106a2e490da8fbd457","impliedFormat":1},{"version":"2b15c805f48e4e970f8ec0b1915f22d13ca6212375e8987663e2ef5f0205e832","impliedFormat":1},{"version":"f22d05663d873ee7a600faf78abb67f3f719d32266803440cf11d5db7ac0cab2","impliedFormat":1},{"version":"d93c544ad20197b3976b0716c6d5cd5994e71165985d31dcab6e1f77feb4b8f2","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"a8b1c79a833ee148251e88a2553d02ce1641d71d2921cce28e79678f3d8b96aa","impliedFormat":1},{"version":"126d4f950d2bba0bd45b3a86c76554d4126c16339e257e6d2fabf8b6bf1ce00c","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"2d3cc2211f352f46ea6b7cf2c751c141ffcdf514d6e7ae7ee20b7b6742da313f","impliedFormat":1},{"version":"c75445151ff8b77d9923191efed7203985b1a9e09eccf4b054e7be864e27923d","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"fa8a8fbf91ee2a4779496225f0312aac6635b0f21aa09cdafa4283fe32d519c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"0e8aef93d79b000deb6ec336b5645c87de167168e184e84521886f9ecc69a4b5","impliedFormat":1},{"version":"56ccb49443bfb72e5952f7012f0de1a8679f9f75fc93a5c1ac0bafb28725fc5f","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"05321b823dd3781d0b6aac8700bfdc0c9181d56479fe52ba6a40c9196fd661a8","impliedFormat":1},{"version":"736a8712572e21ee73337055ce15edb08142fc0f59cd5410af4466d04beff0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"de7052bfee2981443498239a90c04ea5cc07065d5b9bb61b12cb6c84313ad4ef","impliedFormat":1},{"version":"a3e7d932dc9c09daa99141a8e4800fc6c58c625af0d4bbb017773dc36da75426","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"4a2edd238d9104eac35b60d727f1123de5062f452b70ed8e0366cb36387dfdfd","impliedFormat":1},{"version":"ca921bf56756cb6fe957f6af693a35251b134fb932dc13f3dfff0bb7106f80b4","impliedFormat":1},{"version":"fee92c97f1aa59eb7098a0cc34ff4df7e6b11bae71526aca84359a2575f313d8","impliedFormat":1},{"version":"0bd0297484aacea217d0b76e55452862da3c5d9e33b24430e0719d1161657225","impliedFormat":1},{"version":"2ab6d334bcbf2aff3acfc4fd8c73ecd82b981d3c3aa47b3f3b89281772286904","impliedFormat":1},{"version":"d07cbc787a997d83f7bde3877fec5fb5b12ce8c1b7047eb792996ed9726b4dde","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"4805f6161c2c8cefb8d3b8bd96a080c0fe8dbc9315f6ad2e53238f9a79e528a6","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"49179c6a23701c642bd99abe30d996919748014848b738d8e85181fc159685ff","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"45490817629431853543adcb91c0673c25af52a456479588b6486daba34f68bb","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"8514c62ce38e58457d967e9e73f128eedc1378115f712b9eef7127f7c88f82ae","impliedFormat":1},{"version":"f1289e05358c546a5b664fbb35a27738954ec2cc6eb4137350353099d154fc62","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"1d17ba45cfbe77a9c7e0df92f7d95f3eefd49ee23d1104d0548b215be56945ad","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"1d879125d1ec570bf04bc1f362fdbe0cb538315c7ac4bcfcdf0c1e9670846aa6","impliedFormat":1},{"version":"9f5a0f3ed33e363b7393223ba4f4af15c13ce94fe3dbdaa476afd2437553a7dd","impliedFormat":1},{"version":"46273e8c29816125d0d0b56ce9a849cc77f60f9a5ba627447501d214466f0ff3","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"985153f0deb9b4391110331a2f0c114019dbea90cba5ca68a4107700796e0d75","impliedFormat":1},{"version":"3af3584f79c57853028ef9421ec172539e1fe01853296dc05a9d615ade4ffaf6","impliedFormat":1},{"version":"f82579d87701d639ff4e3930a9b24f4ee13ca74221a9a3a792feb47f01881a9c","impliedFormat":1},{"version":"d7e5d5245a8ba34a274717d085174b2c9827722778129b0081fefd341cca8f55","impliedFormat":1},{"version":"d9d32f94056181c31f553b32ce41d0ef75004912e27450738d57efcd2409c324","impliedFormat":1},{"version":"752513f35f6cff294ffe02d6027c41373adf7bfa35e593dbfd53d95c203635ee","impliedFormat":1},{"version":"6c800b281b9e89e69165fd11536195488de3ff53004e55905e6c0059a2d8591e","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"1a7e2ea171726446850ec72f4d1525d547ff7e86724cc9e7eec509725752a758","impliedFormat":1},{"version":"8c901126d73f09ecdea4785e9a187d1ac4e793e07da308009db04a7283ec2f37","impliedFormat":1},{"version":"db97922b767bd2675fdfa71e08b49c38b7d2c847a1cc4a7274cb77be23b026f1","impliedFormat":1},{"version":"aab290b8e4b7c399f2c09b957666fc95335eb4522b2dd9ead1bf0cb64da6d6ee","impliedFormat":1},{"version":"94fe3281392e1015b22f39535878610b4fa6f1388dc8d78746be3bc4e4bb8950","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"06c25ddfc2242bd06c19f66c9eae4c46d937349a267810f89783680a1d7b5259","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"bd4131091b773973ca5d2326c60b789ab1f5e02d8843b3587effe6e1ea7c9d86","impliedFormat":1},{"version":"c7f6485931085bf010fbaf46880a9b9ec1a285ad9dc8c695a9e936f5a48f34b4","impliedFormat":1},{"version":"14f6b927888a1112d662877a5966b05ac1bf7ed25d6c84386db4c23c95a5363b","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"0427df5c06fafc5fe126d14b9becd24160a288deff40e838bfbd92a35f8d0d00","impliedFormat":1},{"version":"90c54a02432d04e4246c87736e53a6a83084357acfeeba7a489c5422b22f5c7a","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"83fe880c090afe485a5c02262c0b7cdd76a299a50c48d9bde02be8e908fb4ae6","impliedFormat":1},{"version":"0a372c2d12a259da78e21b25974d2878502f14d89c6d16b97bd9c5017ab1bc12","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"6511e4503cf74c469c60aafd6589e4d14d5eb0a25f9bf043dcbecdf65f261972","impliedFormat":1},{"version":"ec1ca97598eda26b7a5e6c8053623acbd88e43be7c4d29c77ccd57abc4c43999","impliedFormat":1},{"version":"6e2261cd9836b2c25eecb13940d92c024ebed7f8efe23c4b084145cd3a13b8a6","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"a47e6d954d22dd9ebb802e7e431b560ed7c581e79fb885e44dc92ed4f60d4c07","impliedFormat":1},{"version":"f019e57d2491c159d47a107fd90219a1734bdd2e25cd8d1db3c8fae5c6b414c4","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"d1c9bf292a54312888a77bb19dba5e2503ad803f5393beafd45d78d2f4fe9b48","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"cb8d8ef7b9ce8ed3e6f1c814fcbf3f90dab0cb8863079236784fc350746e27c4","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"3be035da7bee86b4c3abf392e0edaa44fc6e45092995eefe36b39118c8a84068","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f828825d077c2fa0ea606649faeb122749273a353daab23924fe674e98ba44c","impliedFormat":1},{"version":"2896c2e673a5d3bd9b4246811f79486a073cbb03950c3d252fba10003c57411a","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"407a06ba04eede4074eec470ecba2784cbb3bf4e7de56833b097dd90a2aa0651","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"5c96bad5f78466785cdad664c056e9e2802d5482ca5f862ed19ba34ffbb7b3a4","impliedFormat":1},{"version":"81d8603ac527e75cfec72bb9391228b58f161c2b33514a9d814c7f3ebd3ef466","impliedFormat":1},{"version":"5f3dc10ae646f375776b4e028d2bed039a93eebbba105694d8b910feebbe8b9c","impliedFormat":1},{"version":"bb0cd7862b72f5eba39909c9889d566e198fcaddf7207c16737d0c2246112678","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"a3f41ed1b4f2fc3049394b945a68ae4fdefd49fa1739c32f149d32c0545d67f5","impliedFormat":1},{"version":"bad68fd0401eb90fe7da408565c8aee9c7a7021c2577aec92fa1382e8876071a","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"fec01479923e169fb52bd4f668dbeef1d7a7ea6e6d491e15617b46f2cacfa37d","impliedFormat":1},{"version":"8a8fb3097ba52f0ae6530ec6ab34e43e316506eb1d9aa29420a4b1e92a81442d","impliedFormat":1},{"version":"44e09c831fefb6fe59b8e65ad8f68a7ecc0e708d152cfcbe7ba6d6080c31c61e","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"4655709c9cb3fd6db2b866cab7c418c40ed9533ce8ea4b66b5f17ec2feea46a9","impliedFormat":1},{"version":"87affad8e2243635d3a191fa72ef896842748d812e973b7510a55c6200b3c2a4","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"3eecb25bb467a948c04874d70452b14ae7edb707660aac17dc053e42f2088b00","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"330896c1a2b9693edd617be24fbf9e5895d6e18c7955d6c08f028f272b37314d","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"5f0292a40df210ab94b9fb44c8b775c51e96777e14e073900e392b295ca1061b","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"8627ad129bcf56e82adff0ab5951627c993937aa99f5949c33240d690088b803","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"a68d4b3182e8d776cdede7ac9630c209a7bfbb59191f99a52479151816ef9f9e","impliedFormat":99},{"version":"39644b343e4e3d748344af8182111e3bbc594930fff0170256567e13bbdbebb0","impliedFormat":99},{"version":"ed7fd5160b47b0de3b1571c5c5578e8e7e3314e33ae0b8ea85a895774ee64749","impliedFormat":99},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"ecbaf0da125974be39c0aac869e403f72f033a4e7fd0d8cd821a8349b4159628","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"ceec3c81b2d81f5e3b855d9367c1d4c664ab5046dff8fd56552df015b7ccbe8f","affectsGlobalScope":true,"impliedFormat":1},{"version":"8fac4a15690b27612d8474fb2fc7cc00388df52d169791b78d1a3645d60b4c8b","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"1d63055b690a582006435ddd3aa9c03aac16a696fac77ce2ed808f3e5a06efab","impliedFormat":1},{"version":"69dbe5d61d2f298046513598f55bd1e719c50dfd6af2f9feea6fc84f8aa3c4bf","impliedFormat":99},{"version":"6a78643fbbf1b0bd954a53d4edfa217b6a5f92d357fa9cdf8d2ee430f96b9472","impliedFormat":99},{"version":"2ebe2f0255b6f301ba7bc0e10c3dda289c6cf1876f289f7a8f6444613d988e5e","impliedFormat":99},{"version":"012b5083a47ccbe050763f8df2be89daa50c1606e9a0bb31f64276d508c02d78","impliedFormat":99},{"version":"790ed69a8312f812298f3d5329e1a5198576009a8214feefa7a8d5f9dbc25046","impliedFormat":99},{"version":"96c709e09fddb3e146cdc39df645f1fde76c2bbe8f455180112af4b36811dbcf","impliedFormat":99},"7becc8c4ba92a2135ef05749949306b7b071a2cd7114d1a1ce5526aa50eb9278",{"version":"c6fe327c538417b8dd5b9bb32abcd7911534b10da3a4514f3445cdb28cf3abf2","impliedFormat":99},{"version":"0065cdb7ac9f5b19921632de63f888ec2cc11ad57f7fc868f44bf0faad2fce3e","impliedFormat":99},{"version":"1921b8b1513bb282e741587ec802ef76a643a3a56b9ee07f549911eab532ee2e","impliedFormat":99},{"version":"dca64b84a141122ff507b50806ec10b7d31bc8e2ed2c6ffcfea910e44de48616","impliedFormat":99},{"version":"5e1d39adbc72735ac5434eee9b8f0e4b435d30c293ca403c78b4d86c28e616ad","impliedFormat":99},{"version":"8c1adc3171d0287f3a26f4891a7d1834c89999573a9b444aa5ff519dcc43a2b7","impliedFormat":99},{"version":"015916d335054556670a8c67266c493ce792a2c23a530a6b430f1662a65b73a8","impliedFormat":99},{"version":"4085ea8fe65ea592da52217eae0df11696acd83bfe2fdef6cc848412712f8874","impliedFormat":99},{"version":"49fcfda71ea42a9475b530479a547f93d4e88c2deb0c713845243f5c08af8d76","impliedFormat":99},{"version":"99f169da66be3a487ce1fe30b11f33ed2bdf57893729caaea453517d9a7fa523","impliedFormat":99},{"version":"043195af0b52aadd10713870dd60369df0377ed153104b26e6bac1213b19f63e","impliedFormat":99},{"version":"ad17a36132569045ab97c8e5badf8febb556011a8ed7b2776ff823967d6d5aca","impliedFormat":99},{"version":"698d2b22251dbbfc0735e2d6ed350addead9ad031fac48b8bb316e0103d865db","impliedFormat":99},{"version":"abbb31e3da98902306359386224021bfb6cfa2496c89bbbde7ee2065cf58297c","impliedFormat":99},{"version":"ff10facf373a13d2864ff4de38c4892d74be27d9c6468dac49c08adabbf9b0eb","impliedFormat":99},{"version":"97b1cf4599cc3bc2e84b997aa1af60d91ca489d96bea0e20aaff0e52a5504b29","impliedFormat":99},{"version":"853dfbcd0999d3edc6be547d83dc0e0d75bf44530365b9583e75519d35984c35","impliedFormat":99},{"version":"bbb02e695c037f84947e56da3485bb0d0da9493ed005fa59e4b3c5bc6d448529","impliedFormat":99},{"version":"ba666b3ab51c8bc916c0cebc11a23f4afec6c504c767fd5f0228358f7d285322","impliedFormat":99},{"version":"c10972922d1887fe48ed1722e04ab963e85e1ac12263a167edef9b804a2af097","impliedFormat":99},{"version":"fe1c02d1bf2960c2bde8e53beea83adc66e6e10b43f39c1de48bb71b444be192","impliedFormat":99},{"version":"1c261f5504d0175be4f1b6b99f101f4c3a129a5a29fc768e65c52d6861ca5784","impliedFormat":99},{"version":"f0e69b5877b378d47cbac219992b851e2bbc0f7e3a3d3579d67496dabd341ec4","impliedFormat":99},{"version":"b5ea27f19a54feca5621f5ba36a51026128ea98e7777e5d47f08b79637527cf5","impliedFormat":99},{"version":"b54890769fa3c34ab3eb7e315b474f52d5237c86c35f17d59eb21541e7078f11","impliedFormat":99},{"version":"c133db4b6c17a96db7fa36607c59151dec1e5364d9444cbe15e8c0ea4943861e","impliedFormat":99},{"version":"3a0514f77606d399838431166a0da6dbd9f3c7914eae5bbfbd603e3b6a552959","impliedFormat":99},{"version":"fa568f8d605595e1cffbfca3e8c8c492cf88ae2c6ed151f6c64acf0f9e8c25d8","impliedFormat":99},{"version":"c76fb65cb2eb09a0ee91f02ff5b43a607b94a12c34d16d005b2c0afc62870766","impliedFormat":99},{"version":"cf7af60a0d4308a150df0ab01985aabb1128638df2c22dd81a2f5b74495a3e45","impliedFormat":99},{"version":"913bbf31f6b3a7388b0c92c39aec4e2b5dba6711bf3b04d065bd80c85b6da007","impliedFormat":99},{"version":"42d8c168ca861f0a5b3c4c1a91ff299f07e07c2dd31532cd586fd1ee7b5e3ae6","impliedFormat":99},{"version":"a29faa7cb35193109ec1777562ca52c72e7382ffe9916b26859b5874ad61ff29","impliedFormat":99},{"version":"15bdf2eeef95500ba9f1602896e288cb425e50462b77a07fa4ca23f1068abb21","impliedFormat":99},{"version":"452db58fd828ab87401f6cecc9a44e75fa40716cc4be80a6f66cf0a43c5a60cc","impliedFormat":99},{"version":"54592d0215a3fd239a6aa773b1e1a448dc598b7be6ce9554629cd006ee63a9d6","impliedFormat":99},{"version":"9ee28966bb038151e21e240234f81c6ba5be6fde90b07a9e57d4d84ae8bc030c","impliedFormat":99},{"version":"ad639ad2ec93535c23cfa42fbd23d0d44be0fb50668dd57ee9b38b913e912430","impliedFormat":99},{"version":"956e43b28b5244b27fdb431a1737a90f68c042e162673769330947a8d727d399","impliedFormat":99},{"version":"92a2034da56c329a965c55fd7cffb31ccb293627c7295a114a2ccd19ab558d28","impliedFormat":99},{"version":"c1b7957cd42a98ab392ef9027565404e5826d290a2b3239a81fbac51970b2e63","impliedFormat":99},{"version":"4861ee34a633706bcbba4ea64216f52c82c0b972f3e790b14cf02202994d87c5","impliedFormat":99},{"version":"7af4e33f8b95528de005282d6cca852c48d293655dd7118ad3ce3d4e2790146f","impliedFormat":99},{"version":"df345b8d5bf736526fb45ae28992d043b2716838a128d73a47b18efffe90ffa7","impliedFormat":99},{"version":"a6e18a521af3c12bb42bf2da73d0ef1a82420425726c662d068d8d4d813b16c5","impliedFormat":99},{"version":"dcc38f415a89780b34d827b45493d6dbadb05447d194feb4498172e508c416ac","impliedFormat":99},{"version":"7e917e3b599572a2dd9cfa58ff1f68fda9e659537c077a2c08380b2f2b14f523","impliedFormat":99},{"version":"95c94472830cc170ed1f818d27a9eaca511780b1607f504616438078c4456477","impliedFormat":99},{"version":"b15ddb8b64a52a3337f4d61e84eb528e8813a012ff22bb3b43bc049b9a97b6d7","impliedFormat":99},{"version":"64d6f0cfd632b2499c461cfa34ab8e64e20b8efd1710bc544ce0668376e0188f","impliedFormat":99},{"version":"a3cb22545f99760ba147eec92816f8a96222fbb95d62e00706a4c0637176df28","impliedFormat":99},{"version":"114193b0b3108a0538cddad1204ec1e2b8f3485771ae1d145065013aa356a4e5","impliedFormat":99},{"version":"e2cdad7543a43a2fb6ed9b5928821558a03665d3632c95e3212094358ae5896b","impliedFormat":99},{"version":"326a980e72f7b9426be0805774c04838e95195b467bea2072189cefe708e9be7","impliedFormat":99},{"version":"e3588e9db86c6eaa572c313a23bf10f7f2f8370e62972996ac79b99da065acaa","impliedFormat":99},{"version":"1f4700278d1383d6b53ef1f5aecd88e84d1b7e77578761838ffac8e305655c29","impliedFormat":99},{"version":"6362a4854c52419f71f14d3fee88b3b434d1e89dcd58a970e9a82602c0fd707a","impliedFormat":99},{"version":"fb1cc1e09d57dfeb315875453a228948b904cbe1450aaf8fda396ff58364a740","impliedFormat":99},{"version":"10e4c9d159acb746ec96c1213340e7b4d022f1d7d443c4abc089c3835f3dba9f","impliedFormat":99},{"version":"d388e0c1c9a42d59ce88412d3f6ce111f63ce2ff558e0a3f84510092431dfee0","impliedFormat":99},{"version":"b9494eaa9a9d56cb47a2ea1cbc5f60f7eb48ca6688b1ff8fe0ef5f617fc74921","impliedFormat":99},{"version":"56f4ae4e34cbff1e4158ccada4feea68a357bae86adb3bedaa65260d0af579df","impliedFormat":99},{"version":"88ca3a19c8b99e409299e1173d2fe1b79c5960e966f2f3a7db6788969414f546","impliedFormat":99},{"version":"a4f90a12cbfac13b45d256697ce70a6b4227790ca2bf3898ffd2359c19eab4eb","impliedFormat":99},{"version":"4a6c2ac831cff2d8fa846dfb010ee5f7afce3f1b9bd294298ee54fdc555f1161","impliedFormat":99},{"version":"eb77a8615b87a807171bc0a69a1b3c3d69db190a5f243c0dac2c5acc9cffba15","impliedFormat":99},{"version":"bb0519ff5ef245bbf829d51ad1f90002de702b536691f25334136864be259ec5","impliedFormat":99},{"version":"6139824680a34eba08979f2e21785a761870384a4df16c143b19288aced9c346","impliedFormat":99},{"version":"f36c6fbb29e5b893f90f6cde2993ebb2994cca634ee74c70645740325a3d37c8","impliedFormat":99},{"version":"9d1352fbed9d30513e1306cfdbdfc07af8e9e950973a97417b081075c5ff8e1a","impliedFormat":99},{"version":"07603bb68d27ff41499e4ed871cde4f6b4bb519c389dcf25d7f0256dfaa56554","impliedFormat":99},{"version":"e2381c64702025b4d57b005e94ed0b994b5592488d76f1e5f67f59d1860ebb70","impliedFormat":99},{"version":"6bd4aa523d61e94da44cee0ee0f3b6c8d5f1a91ef0bd9e8a8cf14530b0a1a6df","impliedFormat":99},{"version":"6b6e2508f79513e01386273e63d0fc3617613d80a5aca950a2b0fc33d90ad0b4","impliedFormat":99},{"version":"730cb342a128f5a8a036ffbd6dbc1135b623ce2100cefe1e1817bb8845bc7100","impliedFormat":99},{"version":"036ae0fc25c3bd9796c3e1daf9a87b65e6e092fa76c47e188f633ce4fa5189ca","impliedFormat":99},{"version":"d7dfcb039ff9cff38ccd48d2cc1ba95ca45c316670eddbcf81784e21b7128692","impliedFormat":99},{"version":"b58dda762d6bd8608d50e1a9cc4b4a1663a9d4aa50a9476d592a6ecdc6194af4","impliedFormat":99},{"version":"bc14cb4f3868dab2a0293f54a8fe10aa23c0428f37aece586270e35631dd6b67","impliedFormat":99},{"version":"2d4530d6228c27906cb4351f0b6af52ff761a7fab728622c5f67e946f55f7f00","impliedFormat":99},{"version":"6b7606e690f511bd1fa9218487aceb2f8693218eed5328a7af87a8f34e88936e","impliedFormat":99},{"version":"f80fec044fe2a118f8198968d0b6ef5a65e99fbbac9624aee48d207180e7dffe","impliedFormat":99},{"version":"d06f0615c49704ec290f50ff9fdf9d557a08552b7e5d0d7b22e46b58799af3d7","impliedFormat":99},{"version":"8a0030523b607b2aea7e60a562abc1dba63ac19fef9f71ac82139f3425cb1f55","impliedFormat":99},{"version":"9127e97822846c639e6284a313e7f7b27a177f83f700e15f85ea6c5a5b0d72c1","impliedFormat":99},{"version":"30bdde113367d16dfa032328192fa1d32421bb20a2715714c6895f5c7eed5c4e","impliedFormat":99},{"version":"b88c76c82d8a827a54c5469c1374e1a815537e0e86bd39888d5fd0668b81984f","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"6801ebe0b7ab3b24832bc352e939302f481496b5d90b3bc128c00823990d7c7d","impliedFormat":99},{"version":"e66c6ebecadb0c6a35fe2fcabb3cbce17f72501c4ef6ea67082e257ebbc955d7","impliedFormat":99},{"version":"ac56b2f316b70d6a727fdbbcfa8d124bcd1798c293487acb2b27a43b5c886bb0","impliedFormat":99},{"version":"7393acd77c558d3b9bd2c0960ad25b2045bcc9561a71af114632acb438102270","impliedFormat":99},{"version":"81332669fc268ee900f4ca16eee6a78ec60ab38c3ef7620305c2767fbc66aaec","impliedFormat":99},{"version":"0f9c9f7d13a5cf1c63eb56318b6ae4dfa2accef1122b2e88b5ed1c22a4f24e3b","impliedFormat":99},{"version":"c693f9c0fda89d41e7670429d30ddcda570f9ad63a7301379695916524eb6d2e","impliedFormat":99},{"version":"d4434d30d1a6278fbcd6f085e90506addd9c58592de9342f5031fdd8bc345cfd","impliedFormat":99},{"version":"6b514d5159d0d189675a1d5a707ba068a6da6bc097afb2828aae0c98d8b32f08","impliedFormat":99},{"version":"39d7dbcfec85393fedc8c7cf62ee93f7e97c67605279492b085723b54ccaca8e","impliedFormat":99},{"version":"81882f1fa8d1e43debb7fa1c71f50aa14b81de8c94a7a75db803bb714a9d4e27","impliedFormat":99},{"version":"7d604c1d876ef8b7fec441cf799296fd0d8f66844cf2232d82cf36eb2ddff8fe","impliedFormat":99},{"version":"7b86b536d3e8ca578f8fbc7e48500f89510925aeda67ed82d5b5a3213baf5685","impliedFormat":99},{"version":"861596a3b58ade9e9733374bd6b45e5833b8b80fd2eb9fe504368fc8f73ae257","impliedFormat":99},{"version":"a3da7cf20826f3344ad9a8a56da040186a1531cace94e2788a2db795f277df94","impliedFormat":99},{"version":"900a9da363740d29e4df6298e09fad18ae01771d4639b4024aa73841c6a725da","impliedFormat":99},{"version":"4e979a85e80e332414f45089ff02f396683c0b5919598032a491eb7b981fedfd","impliedFormat":99},{"version":"6d3496cac1c65b8a645ecbb3e45ec678dd4d39ce360eecbcb6806a33e3d9a7ae","impliedFormat":99},{"version":"d4066ba263b829f8fc098b6ae66eaa476a585dbd965852026949d41bd5b5e389","impliedFormat":99},{"version":"442f6a9e83bb7d79ff61877dc5f221eea37f1d8609d8848dfbc6228ebc7a8e90","impliedFormat":99},{"version":"90872e27aa3f2f4247daba68e779c119305eb1caf596f01d0f0518a813d06f50","impliedFormat":99},{"version":"7e4fc245cc369ba9c1a39df427563e008b8bfe5bf73c6c3f5d3a928d926a8708","impliedFormat":99},{"version":"2dd4989deea8669628ef01af137d9494c12bbfc5ff2bbe033369631932c558cb","impliedFormat":99},{"version":"d39330cb139d83d5fa5071995bb615ea48aa093018646d4985acd3c04b4e443d","impliedFormat":99},{"version":"3f5d4c18a4a33be714c07b7b52027f4d5b0a941c9f6fdd62ca0a2873c933a557","impliedFormat":99},{"version":"f6f1f1b294dec911359b563193a4c018e6397a98da6c6df801e8a7aefb3440b4","impliedFormat":99},{"version":"fa9c4f35c92322c61ec9a7f90dd2a290c35723348891f1459946186b189a129a","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"f716500cce26a598e550ac0908723b9c452e0929738c55a3c7fe3c348416c3d0","impliedFormat":99},{"version":"259c8370338f84e745354f27bad9712418b180fbe3d9c0ab68f8bdc50a057467","impliedFormat":99},{"version":"1b963ea586693e6208e735060ade063cdfaa228fe5f21f70c4aec5d98b32d317","impliedFormat":99},{"version":"759553e5f480284e5392ee317742760984eb09595e31fe0509ac0d590d08075e","impliedFormat":99},{"version":"ffa53626a9de934a9447b4152579a54a61b2ea103dbbf02b0f65519bfef98cdd","impliedFormat":99},{"version":"c427b591bfddecf5501efa905b408291a189ae579a06e4794407c8e94c8709fc","impliedFormat":99},{"version":"b6e9b15869788861fff21ec7f371bda9a2e1a1b15040cc005db4d2e792ece5ca","impliedFormat":99},{"version":"bc37b2fce651e5f1823bf155c8cde1fd26a1fe9496d628156b96c82aa75a55ba","impliedFormat":99},{"version":"dee6934166088b55fe84eae24de63d2e7aae9bfe918dfe635b252f682ceca95a","impliedFormat":99},{"version":"92233d73d60a8c6a965f7db9b2c9c1e74e39d92dc12d6a9810eb642f967b1cc7","impliedFormat":99},{"version":"db027bc9edef650cff3cbe542959f0d4ef8532073308c04a5217af25fc4f5860","impliedFormat":99},{"version":"812ea977f29a0110c2aae8a40e67251a09cd7a679b3d0cdeda411f3b3228ae41","impliedFormat":99},{"version":"28cbda50b98ebe6d4bcea73f90b469f953086b20b4a276a8afbb92ec0b931b5d","impliedFormat":99},{"version":"fa910f88f55844718a277ee9519206abce66629de2692676c3e2ad1c9278bdfd","impliedFormat":99},{"version":"9a7914a6000dbd6feaea9bc51065664d0fef0b5c608b7f66a7b229213e4805ef","impliedFormat":99},{"version":"9ae87bd743e93b6384efbfa306bde1fa70b6ff27533983e1e1fe08a4ef7037b8","impliedFormat":99},{"version":"5f7c0a4aad7a3406db65d674a5de9e36e0d08773f638b0f49d70e441de7127c0","impliedFormat":99},{"version":"7cf1447d6492d1dbbd39ec10c46c2438025bd7e21be01c7793ed560a63f65caa","impliedFormat":99},{"version":"4f97089fe15655ae448c9d005bb9a87cc4e599b155edc9e115738c87aa788464","impliedFormat":99},{"version":"2fff037c771e3fe6108b14137e56827197944b855aa2df40f21fa2d8a2758e1e","impliedFormat":99},{"version":"22929f9874783b059156ee3cfa864d6f718e1abf9c139f298a037ae0274186f6","impliedFormat":99},{"version":"1b9b1150d5fbc5e071d1b5eedd127a37d69e47bd81b5f23f9b870a224a32ca24","impliedFormat":99},{"version":"3e5bbf8893b975875f5325ebf790ab1ab38a4173f295ffea2ed1f108d9b1512c","impliedFormat":99},{"version":"9e4a38448c1d26d4503cf408cc96f81b7440a3f0a95d2741df2459fe29807f67","impliedFormat":99},{"version":"84124d21216da35986f92d4d7d1192ca54620baeca32b267d6d7f08b5db00df9","impliedFormat":99},{"version":"c08976f55a00ddbb3b13a68a9a0d418117f35c6e2d40f1f6f55468fc180a01f0","impliedFormat":99},{"version":"25f5bf39f0785a2976d0af5ac02f5c18ca759cde62bc48dd1d0d99871d9ad86f","impliedFormat":99},{"version":"877c73fdbe90937b3c16b5827526a428bf053957a202ac8c2fd88d6eab437764","impliedFormat":99},{"version":"e324b2143fa6e32fac37ed9021b88815e181b045a9f17dbb555b72d55e47cdc1","impliedFormat":99},{"version":"3e90ea83e3803a3da248229e3027a01428c3b3de0f3029f86c121dc76c5cdcc2","impliedFormat":99},{"version":"9368c3e26559a30ad3431d461f3e1b9060ab1d59413f9576e37e19aaf2458041","impliedFormat":99},{"version":"915e5bb8e0e5e65f1dc5f5f36b53872ffcdcaef53903e1c5db7338ea0d57587a","impliedFormat":99},{"version":"92cf986f065f18496f7fcb4f135bff8692588c5973e6c270d523191ef13525ad","impliedFormat":99},{"version":"652f2bd447e7135918bc14c74b964e5fe48f0ba10ff05e96ed325c45ac2e65fb","impliedFormat":99},{"version":"cc2156d0ec0f00ff121ce1a91e23bd2f35b5ab310129ad9f920ddaf1a18c2a4d","impliedFormat":99},{"version":"58bbb1f1360a158b33ad0cb80dc67d054bd463ed81076d5956263da281a10d04","impliedFormat":99},{"version":"e9166dab89930e97bb2ce6fc18bcc328de1287b1d6e42c2349a0f136fc1f73e6","impliedFormat":99},{"version":"6dc0813d9091dfaed7d19df0c5a079ee72e0248ce5e412562c5633913900be25","impliedFormat":99},{"version":"e704c601079399b3f2ec4acdfc4c761f5fe42f533feaaab7d2c1c1528248ca3e","impliedFormat":99},{"version":"49104d28daa32b15716179e61d76b343635c40763d75fe11369f681a8346b976","impliedFormat":99},{"version":"6d414a0690dd5e23448958babe29b6aeb984faf8ff79248310f6c9718a9196ad","impliedFormat":99},{"version":"b93afd4fb21d3beec8b664e2884feedc806906fe2900419cee509c995a40e97f","impliedFormat":99},{"version":"97e685ac984fc93dcdae6c24f733a7a466274c103fdcf5d3b028eaa9245f59d6","impliedFormat":99},{"version":"4aa40d838a4567a7ebd9bc163a8a5c54e9b300b01ebbf21de2aafa7a87394882","impliedFormat":99},{"version":"bcab57f5fe8791f2576249dfcc21a688ecf2a5929348cfe94bf3eb152cff8205","impliedFormat":99},{"version":"b5428f35f4ebf7ea46652b0158181d9c709e40a0182e93034b291a9dc53718d8","impliedFormat":99},{"version":"0afcd28553038bca2db622646c1e7fcf3fb6a1c4d3b919ef205a6014edeeae0f","impliedFormat":99},{"version":"7709f6ae1364ed6c4c0dcec202f1553795b1de9321a428b812a38c6d9d44526c","impliedFormat":99},{"version":"0e09ffe659fdd2e452e1cbe4159a51059ae4b2de7c9a02227553f69b82303234","impliedFormat":99},{"version":"d78a9ad25dfe30a6432baad8a2e484ecae4dee36979f2a9ceb3493f831d73635","impliedFormat":99},{"version":"4927dba9193c224e56aa3e71474d17623d78a236d58711d8f517322bd752b320","impliedFormat":99},{"version":"3d3f189177511d1452e7095471e3e7854b8c44d94443485dc21f6599c2161921","impliedFormat":99},{"version":"a64e28f2333ea0324632cf81fd73dc0f7090525547a76308cb1dfe5dab96596a","impliedFormat":99},{"version":"8ec3b354ca25fa7524ac376da4480ffb141157ed6900a830cfe40d1ab0f2162a","impliedFormat":99},{"version":"d204b9ae964f73721d593e97c54fc55f7fd67de826ce9e9f14b1e762190f23d1","impliedFormat":99},{"version":"4d2d2d70d92ccc96ec7bb62c14b624624b015514dc0b5759a496f9db7f0fff11","impliedFormat":99},{"version":"5ba3ed0ee7a5a9b20e92f626ee6ba11fe28c76e2df22bad25769461d2a4fc753","impliedFormat":99},{"version":"f272f3e5beb2860d15a71da531e115465d0626fca28121d18255828231793832","impliedFormat":99},{"version":"db5968a602bb6c07ab2d608e3035489d443f3556209ded7c0679e0c9c7b671ed","impliedFormat":99},{"version":"dba75fe1ade10177c3ea74272923114ec6accce51a62674494b19ef551884730","impliedFormat":99},{"version":"85059ed9b6605d92c753daf3a534855ba944be69ff1a12ab4eca28cefbabd07a","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ea68a96f4e2ba9ca97d557b7080fbdb7f6e6cf781bb6d2e084e54da2ac2bb36c","impliedFormat":99},{"version":"05f2d8f571ded41b2d9c3881fc8b76c780d36310069d51a8dc73fb8500d4e3d0","impliedFormat":99},{"version":"f3ed9a4ec3123351b2a8cba473e9a6f173eab5458309f380fe0039642f70bcae","impliedFormat":99},{"version":"21f96085ed19d415725c5a7d665de964f8283cacef43957de10bdd0333721cc4","impliedFormat":99},{"version":"44e26b7f7061156b493a2d24799f0e91440e7a52d0b95a51b5dfc11a76f57d39","impliedFormat":99},{"version":"66ee7e53d78fbf38cd6fc8d2e013c811e0a34b78cbf601c996d862a136fd9844","impliedFormat":99},{"version":"a10fd5d76a2aaba572bec4143a35ff58912e81f107aa9e6d97f0cd11e4f12483","impliedFormat":99},{"version":"1215f54401c4af167783d0f88f5bfb2dcb6f0dacf48495607920229a84005538","impliedFormat":99},{"version":"3233b882a47b0379b3b761b735dd52945892dbacd19092064d8991bd3a9fa834","impliedFormat":99},{"version":"2fe93aef0ee58eaa1b22a9b93c8d8279fe94490160703e1aabeff026591f8300","impliedFormat":99},{"version":"fa2c48fd724dd8f0e11dfb04f20d727a2595890bfa95419c83b21ed575ed77d1","impliedFormat":99},{"version":"20be44c04e883d5fe7840d630a8d0656e95b00c2d6eebab9ab253275e7170534","impliedFormat":99},{"version":"3b674288fbdc0ff0ed2b7fc2839014c2ff209c84999fd06b6339347d0f976a85","impliedFormat":99},{"version":"cc2958d8abd86edcdf05542bb1b40ba659db5bc5a2560720cde08e8950e63bc1","impliedFormat":99},{"version":"e44e0ea195d68c0aea951809bda325322085008c0622fc4ee44db5359f37b747","impliedFormat":99},{"version":"21053659ad72fe51b9dfbde4fa14dbbac0912359fa37c9a5aa75f188782b2ee8","impliedFormat":99},{"version":"e297bdcb7db008d8d7d0481f2c935a9f7f0a338f41b7e5d1cec6a7744140a4ff","impliedFormat":99},{"version":"ef816ad6735a271c4c8035a1914c3a9beaaa90b3c174da312d26bce8736e56ec","impliedFormat":99},{"version":"7202026e24c5e5b7b6e5fe6b99455a91058ef82e74a5cdf6a3a4136b7ae9c080","impliedFormat":99},{"version":"87561cc8a2d7444adf4eed4b3f15bef8c6098cceb0e7617fba1cc45d187ac8c8","impliedFormat":99},{"version":"b52f7568bb9b00bcee6c4929938226541c09d86b849b8ba8db2fe2a8bba46f49","impliedFormat":99},{"version":"d42e1872d53ebb213e7bbe15e5fecdcaa9a490d2f2a2b035ee9cf4a6d3f1e44e","impliedFormat":99},{"version":"2262d96c02073dcb17a31ae8c738651ebff75f102522eae686f5462658b687a8","impliedFormat":99},{"version":"3689b6f599705380d2ceaccb4e58eec5c9439a7a5635d6e37c1ba66ed7c34b35","impliedFormat":99},{"version":"6cf0d3cc668cdbb01358ef7c2e41bbcc14d8d8e4ca424a1b6d2838d9a1cae8ce","impliedFormat":99},{"version":"b7bd70307671536c735389e0a1748555c438c392dfceb6f2ac3aa0a50ca82530","impliedFormat":99},{"version":"661c403f4c5bbf259e03f4fdc3a9e3f51ad562684f702e1b842e6c5336de0752","impliedFormat":99},{"version":"415dd92247ca21db682f75ba7e6289ab2d093cd34c6f471c6c789afd047ad4f3","impliedFormat":99},{"version":"4fc633107330ab389f07f86af80192ac697a68a586ad76dcf43304410e7cfb6a","impliedFormat":99},{"version":"828f8b38dff4e5c47b0112cb437da379c720f0360d40d392457c9775f30c8ae8","impliedFormat":99},{"version":"e8fc8d807069e0f94d481106510fae66792e6a66f330c45fd3c769053cfa5608","impliedFormat":99},{"version":"4c57148a2cb7736c37a7ca128fc8adec5a683413663c17604a28da143ca1a65b","impliedFormat":99},{"version":"37a5b233da6141bd6cd4e78dd8bcd9c0dd29e33ec10707cb57c66304cf743e46","impliedFormat":99},{"version":"c8e1a516135ad6fd057ddc5a01036067ff3b43b3277d18f1eb4c5df22630b50b","impliedFormat":99},{"version":"7d8b55f6b9e7a7a003063ecd596c72c23fe6d8225d6cf3e00e8b375059123513","impliedFormat":99},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","impliedFormat":1},{"version":"6e5c9272f6b3783be7bdddaf207cccdb8e033be3d14c5beacc03ae9d27d50929","impliedFormat":1},{"version":"9b4f7ff9681448c72abe38ea8eefd7ffe0c3aefe495137f02012a08801373f71","impliedFormat":1},{"version":"0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","impliedFormat":1},{"version":"798367363a3274220cbed839b883fe2f52ba7197b25e8cb2ac59c1e1fd8af6b7","impliedFormat":1},{"version":"3fa6aece30a44b769633651b07e0a0859e8194dfbbcfe0d7cda561bc521a5d7c","impliedFormat":1},{"version":"5aea76ab98173f2c230b1f78dc010da403da622c105c468ace9fe24e3b77883c","impliedFormat":99},{"version":"b98cc6cc5337324391572535a24810289dbc024a5c2290d9a5d115b8d49fb786","impliedFormat":99},{"version":"07aa4b60df0fd86fd1b59c0e9e0a901d98c972c989e0357ac4bc104295dca1a9","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},{"version":"d8b29e5a1a4db41c00cfed03db63c835aab6d46664f90f10fd2195db789a2200","impliedFormat":99},"b46729713fa9caca356ebbc37d67869088f5b812b8a410fdbee20eb2a63a7366","c4f9624c9cee9bf2852bb54e6024b311d171dce44141a555db5b202a76a13e94","ef2b7a9ba829b93333ea5a3e336913c0c7203333ad0cd0b835d243ce3a8ed12c","f84c496b3b311cf1240aa09d052c74f58a001d18219b98e1d194b4e1c045bca6","dacf326dde91947ebaf5d9e956f91eb310dac10a30794a3ef0054ad80e82a9f8","d3d0587abd78b6ffa424ec8117aaee42dfcfdd86e2e7000f89af81abdc8faa7b","c55649a7d0d22a5d060ddc681bf1bbe0c33ae4768a61c58c0bf5e35a09438acb",{"version":"cfdd927a5eae7a7e623b9745722ef3f2b7a2997fddc5d32b7e3dcaeeb15ff4a3","impliedFormat":1},"8b331a17a456688f5b9b71617ac66ae06e411faca5529dd386b324fb94c2c1ae","bb189164b806530aede4ba4860441cc60572b638011ec8f6c6730e36f651759e","f28bdba8f5592d0328497a355d8de8d0c4462ab86c5ebe5399c513646b7b4aaf","7c04526aa6e6ff3f09360b24445f389e59e0dd28980f0b3ddc1a3724c152c1c5","8d0df388223fd4c53079f08e76dfe68f11a7d9b5f460fb0f7a30455ab7570db5","5fc19a71fb61ea44eb5d9aac0df1a7accef4bc229c93e448135d593a1b82d8ce",{"version":"6b2c934c2b6c60c98da8d9427d6838665d4fe8efb2659547663d77a3ef3ac5d9","impliedFormat":99},{"version":"2323f94218f5452ffbbd149e124355387b5ebe4eae66f59b7488a670d722aa19","impliedFormat":99},{"version":"a46fefd2d219c22b10266294269555f5ab0b13237b2a719377b6c6192a62843e","impliedFormat":99},{"version":"23bed0cb4296ae8ed1a358c3f024c4f910e106c90b220e54fc0f7b566178e49f","impliedFormat":99},"d21dd0212db4e550ddff39462afa25749ff618c2193650ef0d9e5011ce442530","454e8959f140c7e105f5a27598795a0a04e55c9ac4cfbc81535ef4c3838ebf82",{"version":"d799ac0e5604f63589eb680e6ab5c1415589b76a300767ca8364d3efc8f40851","impliedFormat":99},{"version":"a9347d2796c333f60f4f6ee1749226cf5255fd54f8e73f2ad83a0054293a4f91","impliedFormat":99},{"version":"49070cbd8d8edc96626303df51625ce7481bf9e450ce0ad89e8c936758cc3bb9","impliedFormat":99},{"version":"639663a633d039219df52c863b5f27ed7e04bbf680e679db1e7101c552d3a2c9","impliedFormat":99},{"version":"01545f0274a774e191f06380ddedaec2b2dfbd021ca2e8775f7819959beb2cb4","impliedFormat":99},{"version":"6c557db1095e0588b7d82d9bdd9e4328872d436a94f2025da271d5ef57845309","impliedFormat":99},{"version":"2827790fc4a5c48d032a79a8d547eca0620d7fc7c997b830417f6de5b04c7c3d","impliedFormat":99},{"version":"7c11a1ba7e6c12ac8f50ba8c40b1126a154799343f135c221d0407a5f29ed6f9","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"5780b706cece027f0d4444fbb4e1af62dc51e19da7c3d3719f67b22b033859b9","impliedFormat":1},{"version":"f1cb3052f76b6d3a0bbe97e87a7e8ffa15661ac8ff496079daef778a60acf9ce","impliedFormat":99},{"version":"18852bc9e6c3dfe183573ab1e15f983d8172213969e7c1f51fa5f277ed41dab6","impliedFormat":99},{"version":"2556e7e8bb7e6f0bb3fe25f3da990d1812cb91f8c9b389354b6a0c8a6d687590","impliedFormat":99},{"version":"ad1c91ca536e0962dcbfcdff40073e3dd18da839e0baad3fe990cf0d10c93065","impliedFormat":99},{"version":"19cf605ba2a4e8fba017edebdddbbc45aea897ddc58b4aae4c55f382b570ff53","impliedFormat":99},{"version":"7618d2cb769e2093acd4623d645b683ab9fea78c262b3aa354aba9f5afdcaaee","impliedFormat":99},{"version":"029f1ce606891c3f57f4c0c60b8a46c8ced53e719d27a7c9693817f2fe37690b","impliedFormat":99},{"version":"83596c963e276a9c5911412fba37ae7c1fe280f2d77329928828eed5a3bfa9a6","impliedFormat":99},{"version":"81acfd3a01767770e559bc57d32684756989475be6ea32e2fe6255472c3ea116","impliedFormat":99},{"version":"88d0c3eae81868b4749ba5b88f9b6d564ee748321ce19a2f4269a4e9dd46020a","impliedFormat":99},{"version":"8266b39a828bfb2695cabfa403e7c1226d7d94599f21bea9f760e35f4ca7a576","impliedFormat":99},{"version":"c1c1e740195c882a776cf084acbaf963907785ee39e723c6375fec9a59bf2387","impliedFormat":99},{"version":"137f96b78e477e08876f6372072c3b6f1767672bf182013f84f8ae53d987ff86","impliedFormat":99},{"version":"29896c61d09880ff39f8a86873bf72ce4deb910158d3a496122781e29904c615","impliedFormat":99},{"version":"dc1d7cc525fd825a3172b066489eaa2048e8e40ce2a56a6f1372ad05236bc049","impliedFormat":99},{"version":"a82f5ba70d26e6ad9d432ab7556506d807c49f35a44af99fb8054004220aaaa1","impliedFormat":1},{"version":"ce92be476d71de06f2d90f74ff3df3f4246f657dd59614dae4fc753d308c59d5","signature":"5635a313108d82f576145e7416ac214687d4d8f69f6b6f904b7714ba2b230b84"},{"version":"ee2aa8467f01b46b8e349d95166c029af1d5355206eb8d101550465ea526190b","signature":"40cbbb7f756f363523813c2cb4e647a978db9521599681647488d266724fb917"},"4a4910c407c72b6fc4f796cd12d7ba842ee800140614646afeee4eee5a01c63b","7eea4ccff8e2406fdbad979df4d32c486989960b6a7329e8917df4b79b0ecbe7","6a80c5c8a47534e996180c1693034ea8f0610a90a9cb93113d0681d6fd666300","eb3e999b3fd7c030aa20a25151a8b1e168b505770602c328e85ddcb39f64f8c5","9df606864c1d64fdfc80a57e7a6f326e64dc94a4b68eda43ce754e2fd247cd63","ed3688243a14e063adb2e15cef76cff4ea49960ab077f222a99fd58a0e99745c","9644966a8613766e4a9ab69b6f97dbfb7f0525f1305b012b8ffaea2f0bb9671b","64ebfc8773ed31c9c9698f5b7a25bfb20c03a33dd3d401bf9cc8488272d06cfb","25380c092fdeef9b90049bf671555a8e929d54ef7a406e9bb980a5023615bbad","22046bdac5fcce1b12507bf563d2f161f471e8bee4552a34631cfd4c8aa06991",{"version":"78d131416e33b506ef0424a72c320fc8db64f17838056f583887643906b80714","affectsGlobalScope":true,"impliedFormat":1},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"a4a39b5714adfcadd3bbea6698ca2e942606d833bde62ad5fb6ec55f5e438ff8","impliedFormat":1},{"version":"bbc1d029093135d7d9bfa4b38cbf8761db505026cc458b5e9c8b74f4000e5e75","impliedFormat":1},{"version":"ac450542cbfd50a4d7bf0f3ec8aeedb9e95791ecc6f2b2b19367696bd303e8c6","impliedFormat":1},{"version":"8a190298d0ff502ad1c7294ba6b0abb3a290fc905b3a00603016a97c363a4c7a","impliedFormat":1},{"version":"5ba4a4a1f9fae0550de86889fb06cd997c8406795d85647cbcd992245625680c","impliedFormat":1},{"version":"bc5c8a86f2025c4f52e4b13f08f2b76daddf50d5bad325795226f94537060e5d","impliedFormat":1},{"version":"7212c2d58855b8df35275180e97903a4b6093d4fbaefea863d8d028da63938c6","impliedFormat":1},{"version":"d8a6b3f899917210f00ddf13b564a2a4fdcf1e50c5a22e8d3abcfd4f1c4f9ae1","impliedFormat":1},{"version":"fd5eab954b31e761a72234031dadc3aab768763942a9637e380aed441cc94f59","impliedFormat":1},{"version":"c7aaac3119acf27e03190cc4224f1d81c7498cf6b36fa72d10d99f2c41d1bbc0","impliedFormat":1},{"version":"fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","impliedFormat":1},{"version":"6cb35d83d21a7e72bd00398c93302749bcd38349d0cc5e76ff3a90c6d1498a4d","impliedFormat":1},{"version":"369dd7668d0e6c91550bce0c325f37ce6402e5dd40ecfca66fbb5283e23e559d","affectsGlobalScope":true,"impliedFormat":1},{"version":"2632057d8b983ee33295566088c080384d7d69a492bc60b008d6a6dfd3508d6b","impliedFormat":1},{"version":"4bf71cf2a94492fc71e97800bdf2bcb0a9a0fa5fce921c8fe42c67060780cbfa","impliedFormat":1},{"version":"0996ff06f64cb05b6dac158a6ada2e16f8c2ccd20f9ff6f3c3e871f1ba5fb6d9","impliedFormat":1},{"version":"5c492d01a19fea5ebfff9d27e786bc533e5078909521ca17ae41236f16f9686a","impliedFormat":1},{"version":"a6ee930b81c65ec79aca49025b797817dde6f2d2e9b0e0106f0844e18e2cc819","impliedFormat":1},{"version":"84fce15473e993e6b656db9dd3c9196b80f545647458e6621675e840fd700d29","impliedFormat":1},{"version":"7d5336ee766aa72dffb1cc2a515f61d18a4fb61b7a2757cbccfb7b286b783dfb","impliedFormat":1},{"version":"63e96248ab63f6e7a86e31aa3e654ed6de1c3f99e3b668e04800df05874e8b77","impliedFormat":1},{"version":"80da0f61195385d22b666408f6cccbc261c066d401611a286f07dfddf7764017","impliedFormat":1},{"version":"06a20cc7d937074863861ea1159ac783ff97b13952b4b5d1811c7d8ab5c94776","impliedFormat":1},{"version":"ab6de4af0e293eae73b67dad251af097d7bcc0b8b62de84e3674e831514cb056","impliedFormat":1},{"version":"18cbd79079af97af66c9c07c61b481fce14a4e7282eca078c474b40c970ba1d0","impliedFormat":1},{"version":"e7b45405689d87e745a217b648d3646fb47a6aaba9c8d775204de90c7ea9ff35","impliedFormat":1},{"version":"669b754ec246dd7471e19b655b73bda6c2ca5bb7ccb1a4dff44a9ae45b6a716a","impliedFormat":1},{"version":"bcfaca4a8ff50f57fd36df91fba5d34056883f213baff7192cbfc4d3805d2084","impliedFormat":1},{"version":"76a564b360b267502219a89514953058494713ee0923a63b2024e542c18b40e5","impliedFormat":1},{"version":"8f62cbd3afbd6a07bb8c934294b6bfbe437021b89e53a4da7de2648ecfc7af25","impliedFormat":1},{"version":"a20629551ed7923f35f7556c4c15d0c8b2ebe7afaa68ceaab079a1707ba64be2","impliedFormat":1},{"version":"d6de66600c97cd499526ddecea6e12166ab1c0e8d9bf36fb2339fd39c8b3372a","impliedFormat":1},{"version":"8e7a5b8f867b99cc8763c0b024068fb58e09f7da2c4810c12833e1ca6eb11c4f","impliedFormat":1},{"version":"a8932876de2e3138a5a27f9426b225a4d27f0ba0a1e2764ba20930b4c3faf4b9","impliedFormat":1},{"version":"df877050b04c29b9f8409aa10278d586825f511f0841d1ec41b6554f8362092b","impliedFormat":1},{"version":"027d600e00c5f5e1816c207854285d736f2f5fa28276e2829db746d5d6811ba1","impliedFormat":1},{"version":"5443113a16ef378446e08d6500bb48b35de582426459abdb5c9704f5c7d327d9","impliedFormat":1},{"version":"0fb581ecb53304a3c95bb930160b4fa610537470cce850371cbaad5a458ca0d9","impliedFormat":1},{"version":"7da4e290c009d7967343a7f8c3f145a3d2c157c62483362183ba9f637a536489","impliedFormat":1},{"version":"eb21ddc3a8136a12e69176531197def71dc28ffaf357b74d4bf83407bd845991","impliedFormat":1},{"version":"914560d0c4c6aa947cfe7489fe970c94ba25383c414bbe0168b44fd20dbf0df4","impliedFormat":1},{"version":"4fb3405055b54566dea2135845c3a776339e7e170d692401d97fd41ad9a20e5d","impliedFormat":1},{"version":"8d607832a6ef0eac30657173441367dd76c96bf7800d77193428b922e060c3af","impliedFormat":1},{"version":"20ff7207f0bb5cdde5fee8e83315ade7e5b8100cfa2087d20d39069a3d7d06f4","impliedFormat":1},{"version":"7ca4c534eab7cff43d81327e369a23464bc37ef38ce5337ceff24a42c6c84eb2","impliedFormat":1},{"version":"5252dec18a34078398be4e321dee884dc7f47930e5225262543a799b591b36d2","impliedFormat":1},{"version":"23caed4dff98bd28157d2b798b43f1dfefe727f18641648c01ce4e0e929a1630","impliedFormat":1},{"version":"f67e013d5374826596d7c23dbae1cdb14375a27cd72e16c5fb46a4b445059329","impliedFormat":1},{"version":"ea3401b70e2302683bbf4c18b69ef2292b60f4d8f8e6d920413b81fb7bde0f65","impliedFormat":1},{"version":"71afe26642c0fb86b9f8b1af4af5deb5181b43b6542a3ff2314871b53d04c749","impliedFormat":1},{"version":"0d7f01634e6234d84cf0106508efdb8ae00e5ed126eff9606d37b031ac1de654","impliedFormat":1},{"version":"f8d209086bad78af6bd7fef063c1ed449c815e6f8d36058115f222d9f788b848","impliedFormat":1},{"version":"3ad003278d569d1953779e2f838f7798f02e793f6a1eceac8e0065f1a202669b","impliedFormat":1},{"version":"fb2c5eceffcd918dbb86332afa0199f5e7b6cf6ee42809e930a827b28ef25afe","impliedFormat":1},{"version":"f664aaff6a981eeca68f1ff2d9fd21b6664f47bf45f3ae19874df5a6683a8d8a","impliedFormat":1},{"version":"ce066f85d73e09e9adbd0049bcf6471c7eefbfc2ec4b5692b5bcef1e36babd2a","impliedFormat":1},{"version":"09d302513cacfbcc54b67088739bd8ac1c3c57917f83f510b2d1adcb99fd7d2a","impliedFormat":1},{"version":"3faa54e978b92a6f726440c13fe3ab35993dc74d697c7709681dc1764a25219f","impliedFormat":1},{"version":"2bd0489e968925eb0c4c0fb12ef090be5165c86bd088e1e803102c38d4a717d8","impliedFormat":1},{"version":"88924207132b9ba339c1adb1ed3ea07e47b3149ff8a2e21a3ea1f91cee68589d","impliedFormat":1},{"version":"b8800b93d8ab532f8915be73f8195b9d4ef06376d8a82e8cdc17c400553172d6","impliedFormat":1},{"version":"d7d469703b78beba76d511957f8c8b534c3bbb02bea7ab4705c65ef573532fb8","impliedFormat":1},{"version":"74c8c3057669c03264263d911d0f82e876cef50b05be21c54fef23c900de0420","impliedFormat":1},{"version":"b303eda2ff2d582a9c3c5ecb708fb57355cdc25e8c8197a9f66d4d1bf09fda19","impliedFormat":1},{"version":"4e5dc89fa22ff43da3dee1db97d5add0591ebaff9e4adef6c8b6f0b41f0f60f0","impliedFormat":1},{"version":"ec4e82cb42a902fe83dc13153c7a260bee95684541f8d7ef26cb0629a2f4ca31","impliedFormat":1},{"version":"5f36e24cd92b0ff3e2a243685a8a780c9413941c36739f04b428cc4e15de629d","impliedFormat":1},{"version":"40a26494e6ab10a91851791169582ab77fed4fbd799518968177e7eefe08c7a9","impliedFormat":1},{"version":"208e125b45bc561765a74f6f1019d88e44e94678769824cf93726e1bac457961","impliedFormat":1},{"version":"b3985971de086ef3aa698ef19009a53527b72e65851b782dc188ac341a1e1390","impliedFormat":1},{"version":"c81d421aabb6113cd98b9d4f11e9a03273b363b841f294b457f37c15d513151d","impliedFormat":1},{"version":"30063e3a184ff31254bbafa782c78a2d6636943dfe59e1a34f451827fd7a68dc","impliedFormat":1},{"version":"c05d4cae0bceed02c9d013360d3e65658297acb1b7a90252fe366f2bf4f9ccc9","impliedFormat":1},{"version":"6f14b92848889abba03a474e0750f7350cc91fc190c107408ca48679a03975ae","impliedFormat":1},{"version":"a588d0765b1d18bf00a498b75a83e095aef75a9300b6c1e91cbf39e408f2fe2f","impliedFormat":1},{"version":"08323a8971cb5b2632b532cba1636ad4ca0d76f9f7d0b8d1a0c706fdf5c77b45","impliedFormat":1},{"version":"5d2651c679f59706bf484e7d423f0ec2d9c79897e2e68c91a3f582f21328d193","impliedFormat":1},{"version":"30d49e69cb62f350ff0bc5dda1c557429c425014955c19c557f101c0de9272e7","impliedFormat":1},{"version":"d3747dbed45540212e9a906c2fb8b5beb691f2cd0861af58a66dc01871004f38","impliedFormat":1},{"version":"05a21cbb7cbe1ec502e7baca1f4846a4e860d96bad112f3e316b995ba99715b7","impliedFormat":1},{"version":"1eaee2b52f1c0e1848845a79050c1d06ae554d8050c35e3bf479f13d6ee19dd5","impliedFormat":1},{"version":"fd219904eea67c470dfebbaf44129b0db858207c3c3b55514bdc84de547b1687","impliedFormat":1},{"version":"4de232968f584b960b4101b4cdae593456aff149c5d0c70c2389248e9eb9fbac","impliedFormat":1},{"version":"933c42f6ed2768265dfb42faa817ce8d902710c57a21a1859a9c3fe5e985080e","impliedFormat":1},{"version":"c5430542eeebb207d651e8b00a08e4bb680c47ecb73dd388d8fa597a1fc5de5b","impliedFormat":1},{"version":"a6c5c9906262cf10549989c0061e5a44afdc1f61da77d5e09418a9ecea0018fe","impliedFormat":1},{"version":"bc6e433cb982bf63eaa523dbbbd30fe12960a09861b352d77baf77ad6dd8886d","impliedFormat":1},{"version":"9af64ab00918f552388252977c1569fe31890686ca1fdb8e20f58d3401c9a50c","impliedFormat":1},{"version":"3d3cc03b5c6e056c24aac76789f4bc67caee98a4f0774ab82bc8ba34d16be916","impliedFormat":1},{"version":"747ce36fa27a750a05096f3610e59c9b5a55e13defec545c01a75fd13d67b620","impliedFormat":1},{"version":"1a8f503c64bdb36308f245960d9e4acac4cf65d8b6bd0534f88230ebf0be7883","impliedFormat":1},{"version":"a2c1f4012459547d62116d724e7ec820bb2e6848da40ea0747bf160ffd99b283","impliedFormat":1},{"version":"0dc197e52512a7cbea4823cc33c23b0337af97bd59b38bf83be047f37cd8c9a8","impliedFormat":1},{"version":"492c93ade227fe4545fabb3035b9dd5d57d8b4fde322e5217fdaef20aa1b80a8","impliedFormat":1},{"version":"83c54a3b3e836d1773b8c23ff76ce6e0aae1a2209fc772b75e9de173fec9eac0","impliedFormat":1},{"version":"475e411f48f74c14b1f6e50cc244387a5cc8ce52340dddfae897c96e03f86527","impliedFormat":1},{"version":"5573ce7aa683a81c9a727294ffdb47d82d7715a148bfe9f4ddcf2f6cdfef1f0a","impliedFormat":1},{"version":"2cd9edbb4a6411a9f5258237dd73323db978d7aa9ebf1d1b0ac79771ac233e24","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"7212c2d58855b8df35275180e97903a4b6093d4fbaefea863d8d028da63938c6","impliedFormat":99},{"version":"d8a6b3f899917210f00ddf13b564a2a4fdcf1e50c5a22e8d3abcfd4f1c4f9ae1","impliedFormat":99},{"version":"fd5eab954b31e761a72234031dadc3aab768763942a9637e380aed441cc94f59","impliedFormat":99},{"version":"c7aaac3119acf27e03190cc4224f1d81c7498cf6b36fa72d10d99f2c41d1bbc0","impliedFormat":99},{"version":"006d8ff9a051d61b0887b594b1e76c73314bb1a6fe39026867418937ea2259b3","impliedFormat":1},{"version":"3f540c3e04bf4332dfe1a4f7731257b346eebb8f6397d2771fbe65bcb82e7709","impliedFormat":1},{"version":"da2e89300a83ce20ba9e62613536cd499f25b17f7fb60e92a70a04d5bec0c00d","impliedFormat":1},{"version":"fe7124ae655d4b72b7ea7c031d94b6e989050f93382d3e72ab6a39ce4f0b41a6","impliedFormat":1},{"version":"f72b707987e434a9786574ab1a11897ae5849a794fb862a74f1c40d9b75efa47","impliedFormat":1},{"version":"00269214d3d426e32669975552d5faffaaa09b1963b95cd9cc1cfbdbc3f935db","impliedFormat":1},{"version":"4dec6e588677f36e28ef231ca938516a145a91b53396a66c8e46dd22884535e8","impliedFormat":1},{"version":"6cd29cff1d4671839e239bdf3b97ce263f491ec664bc46aae952adbb2264e96e","impliedFormat":1},{"version":"5cfc01d2ba8b00e8d162e54787b8651576c007d5f61c5d0e6e6fc3fdbbe5fcfc","impliedFormat":1},{"version":"7e7d3a09736d945960d7322b8e35a99bb0579d12b68b116a2effdfe84d3ad82f","impliedFormat":1},{"version":"490594ad1214b9dbdec45f35453314d31f3d26cae9231d1898af5d9d3f8ac80b","impliedFormat":1},{"version":"9ceaa6f69e46e9b22003623c19fad13da9d28f8ee7964c9c50994612dad39dbe","impliedFormat":1},{"version":"e024a333721f72df3ec4738c3b798dde8618dd56572f3a69db0057dca962f851","impliedFormat":1},{"version":"09cc5d79a25df28073719798d65b5fc2265db45b8d11882c8ad3195ec820d09d","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"4ba733d1a5ff0a0779b714468b13c9089f0d877e6fbd0147fac7c3af54c89fe0","impliedFormat":1},{"version":"a39e9304639454356f4a1fe20741899de0c3163e1f040d0e0acfdc8532f779e3","impliedFormat":1},{"version":"3bf8a15acc2dbde99020f0ebe9d16ceba9e6220e41e034003fc8f835b47642af","impliedFormat":1},{"version":"eae4d78e9a2660a6af2a638ac809a81d2bba1b90ec36620b2035a65cf296646b","impliedFormat":1},{"version":"1e21eb1938604e43aea31c89888967c7c39774d26074057ac87582208b349adc","impliedFormat":1},{"version":"b688ddf5ad2d24f3fa58efd84f9ac9e3e1455031d8881dd917d72432a951e9e8","impliedFormat":1},{"version":"8cc83bf53997f80f7ddf98c0b70d4c625c3cd5b93ae2efe2fc0084a26d997a7a","impliedFormat":1},{"version":"71eb65c9011c56ea56932a87d9d171cf225f29c3aa601cffdd5818ebd0e16bd7","impliedFormat":1},{"version":"164f1c5c8ad203e80b827350fe3ca1c59c8106c8613e20a3ec4ea9e63dd2e730","impliedFormat":1},{"version":"a228ab0a7976c724d6135bbc153016418e3b8560a44101999192c5204fd31dfd","impliedFormat":1},{"version":"7a921991afa2ab5da7c9d94d6ee81de34724f82520fb3fabbe6eeaa29a7b5661","impliedFormat":1},{"version":"4c136da3b1dce49c12eac152699c6b4bc64fa93d6c7224a43c816f7e51b00930","impliedFormat":1},{"version":"bfac6d6a4817bf56d574b1f32b174f655e05ce45c5ddf6d17c9b592660f10935","impliedFormat":1},{"version":"b52831329208e746c3fab025e15be006a33affa321ab06e5ba37250e10b24b94","impliedFormat":1},{"version":"18076eca74d509e15742ef6733a1c96689485664c1a3e771d0d705fbe560007b","impliedFormat":1},{"version":"9eb809b1ef67b24a74facca132cc818c2dee042657a55e931236e248e59125c3","impliedFormat":1},{"version":"d12f5fb934377314a0e5dbf6cb65c1be5ab6178ca5fbfc8546c50d3eee458647","impliedFormat":1},{"version":"51d508d4ff9616032a769e6048f2ada3e54a729c251e5dcff834ee9e0c2b828a","impliedFormat":1},{"version":"aa090f388d526153627ee51507c40e659a6fb9d7c669b57db95314bf429076b0","impliedFormat":1},{"version":"672438e43fe5f00d970ffe7ca1a2000695ba88d80be2988b145239f7ab274c73","impliedFormat":1},{"version":"dfe3e8907d4c07589704e0b42626afff7e46758a2f1e8dda6b1747cb2e3ef79a","impliedFormat":1},{"version":"c660f4adf75a5c4725a46f7f73ba9a19c24d5b67101d7e282398ed483f3590c1","impliedFormat":1},{"version":"df198c163afabf78a6f6284ab8e26c0a64cac78383085d05972c936a247fb355","impliedFormat":1},{"version":"6d2a46050aaf02cf513f501e7df478b031018461c2fe85c91233e2b54ae366d8","impliedFormat":1},{"version":"8e9c191443e616c30bd47669cc59e4946b5fc23ff03c42c4578a48396688d526","impliedFormat":1},{"version":"0d040d689a5b08f47143fae77e8447caead3fc54c18b0213d99679e7f304e660","impliedFormat":1},{"version":"d5dd35a3ab9b497d3932fb0b6f40d5c1c063ba1579ff53b9a6ed4199a3bcb0b9","impliedFormat":1},{"version":"1dcf4e36b518fc1aa7c1ed7fb25e0f6e1160da98f7e4f9a1926e83eecb1804aa","impliedFormat":1},{"version":"8868268b7cb5bfb508e3844fc129cbdde23e24fae35024fca6798653a3eed289","impliedFormat":1},{"version":"166c027b2bfc241c7540aaf3832fdee69018185a3f8a5c8e52baba6fdbcfbd20","impliedFormat":1},{"version":"865ac5dc6820785a263be2ecb52311295b1bda0ece29206c1585eb213d9a81a3","impliedFormat":1},{"version":"1358e482c94893c12e2e99cdb0c52d93844b69d42f2be472843c8080f19bea18","impliedFormat":1},{"version":"6930fdbc3cfdab7d0afc49022405717674ea095c77d045219d213bbd82c3b570","impliedFormat":1},{"version":"f30b0014b692111f093ac9b8f1f29e6047e2d0deb61005b60e68b562d2320fab","impliedFormat":1},{"version":"fc3596b10eb99c07fccec7b04b9404d36bea341b9f486173aff1e234aceaccff","impliedFormat":1},{"version":"b71e7f69e72d51d44ad171e6e93aedc2c33c339dab5fa2656e7b1ee5ba19b2ad","impliedFormat":1},{"version":"030b5aba86fdbc5d46ffb2c024d7764791848520332a03b662dd26962e1125ad","impliedFormat":1},{"version":"3755d34ddf0835f31833c825aaf3c996d22d96dfc6db6d04b55e8c29213bac0a","impliedFormat":1},{"version":"281eb8e4ddd65b6733cf1f175dd1af1bb2595bbcea7c12324f028079ba78fdf9","impliedFormat":1},{"version":"54d68fee094e2ec6d34c4b7d89ba849ff87a2030fb8e907b0c4ad252009d40cf","impliedFormat":1},{"version":"e0fdf687219271c3031ae25cd8d3e9fe7c16ce46453ce775292887f486c2aa16","impliedFormat":1},{"version":"f17592fc258a847bb7d38ab25799eabce4865f24fcb441cc69a6a6277a48e6a7","impliedFormat":1},{"version":"512d2b3f264aac071278060d3e4f019508b8a504283708a0fc503198f244c363","impliedFormat":1},{"version":"5f477e9897e29f47b860b52218d645178362d3ebd17c990df9f36b0c52d0e6ff","impliedFormat":1},{"version":"0df7497ada3a4f6459420803ecf7e555f1ad1e7bd43c1e17bdafbc34e19d7162","impliedFormat":1},{"version":"2923047a1c951231f48fe77a6c2fffba8198c20dd05d4ec1b90f9e45f129adea","impliedFormat":1},{"version":"4a67b2b2c0d75420839fdfb71348d7e45617815cbc836451f6b6b713f3ae027d","impliedFormat":1},{"version":"f54dad7fc8c61f372bdcd066acaf5b781299d93c96eaecccb3f30d8b12ae1b0b","impliedFormat":1},{"version":"42d77452cc2f62fdb30b5b66698df8e740c8952e926579e039dce60a8c80c26b","impliedFormat":1},{"version":"b005fce0e3020382ab379c1686511827b18d628a45f09c05fe13562d6ff9fbf8","impliedFormat":1},{"version":"d5f01df51f3b58a60939568cb5f989d0cfbe6f63818f108d84ebfeb9ed7309f5","impliedFormat":1},{"version":"76112f75c81cde794e557206dfd5176e321d9f650b86e4c049c4b6aa6081fa63","impliedFormat":1},{"version":"10757352393ef1239b2efb42b41aa940ff67d9a40409958e9b9d3a9c7a524a64","impliedFormat":1},{"version":"367bba45eb437cea29f41c3a382c292c6fe6cdb7b26a389ee5d3a5eea5d75040","impliedFormat":1},{"version":"0cf9962e765202bc510e5fca7a3f104e79ff47f8d4b484d1143c2ad7bf5cb2e5","impliedFormat":1},{"version":"f7550ab097e246659239995e5cc0b17b105d88e99b65079855242042dcb1b0fa","impliedFormat":1},{"version":"9c69db2c8116f5d70f763166d553e24530ffff7c79ef190ef4186d60cb2a2428","impliedFormat":1},{"version":"432fe3b8769c1e1090be43baff32bccfb436c1fce8d470a45fef5a8016dbaab1","impliedFormat":1},{"version":"ed0e3159c03180a7ae7fe891f12b386eb311a9440a3a97e546c4d57039e43162","impliedFormat":1},{"version":"acb9ca79f8404e75612d9b2aff352adf636c56500c10770d833d0b99b04a5aab","impliedFormat":1},{"version":"b4ec3dcc11e8a52b81878d7aa998218182c36e3222e6c55177172880434823e3","impliedFormat":1},{"version":"129eaca80766e63a8c4b1f6aee427aea21a4e9826932a77cae021dd170d0f0fc","impliedFormat":1},{"version":"6b9d686511ea37c5756bc068a73f6765406292550106417acedcba1fd32f6aca","impliedFormat":1},{"version":"3470118b64b6e9ea140a7be15b04f8e39d9b17869182a177fd12be31b524c383","impliedFormat":1},{"version":"f4cadee14617809fe2c126a40aae853ca83700eaac4711bcde7e8b87fa349d76","impliedFormat":1},{"version":"63162eaa0e0e77c318006455f7053f006a974ee71206a51efd669fd762b4349c","impliedFormat":1},{"version":"272d5770bd166ee663a66e473a96c6c2a028a587a1d35ed68b313755b27a643c","impliedFormat":1},{"version":"f677a74b2b038509ea5aef4030fadc0e090cc9fd4dca4c71147934e6697c23b0","impliedFormat":1},{"version":"78b1daa0a8aa1f54530c110600cdcadf70c1238c0d71fd7208c1bd5b31b77db1","impliedFormat":1},{"version":"bc7d1326a9187df243a5af0eddbc3095dc3442ffcc153c23e3974553e11b7972","impliedFormat":1},{"version":"0e6b3c7f300f6e2587c62783ebf78c74e61e7e85d37591e1e1ecf82cc15adc01","impliedFormat":1},{"version":"139ab16e09553addf17cfb7122108eb39cd406b8009692c4d1d9e3dea96ef83d","impliedFormat":1},{"version":"69f3d18ee459096c5e1426df332673a939b56b8bafeeec0b31b3cab1a9e4dadd","impliedFormat":1},{"version":"192ad3de0ae2044e97d375c601ef54149382bcf59a9eec35066465a73c434c0a","impliedFormat":1},{"version":"a99712388b38c17ca788b4b93cee993cc487ba69e18d98dba66000031e90c378","impliedFormat":1},{"version":"c8ac2f17b13f98787daf66f81b0f215e296c7f2acf5b0b43463d685700059653","impliedFormat":1},{"version":"e1b5820a2298308c97ac20096c391a4a064c02819ea897a20ea3f08f15051035","impliedFormat":1},{"version":"9d948541e42e0af1cf6e33967c13bdb3193d6507c4ff2bfde6849fe4ee15366c","impliedFormat":1},{"version":"a37385e604ee8726100c207afa819823079a766c30f5c38a242a9368d8c28e45","impliedFormat":1},{"version":"ab8c6e4a2b49a17c71848a8c7d14aa7fae2a2620c734922d8d004d59baf59ffb","impliedFormat":1},{"version":"c53f1e0dcd4a2c1c3e86c83345fd078ff75425ffb78654306b0f58521dc30f50","impliedFormat":1},{"version":"21b08a722f729d8d95892465be0977a8563dcf630b38d87886517ce6f027389c","impliedFormat":1},{"version":"80639ea4472a40009209e18013d543954e3e2379c712b571101ac2e8c5da0fcb","impliedFormat":1},{"version":"1fc98030aad398bba258e0fd2d5d6e39ab085c5d22257fbcd8181e0c2621489f","impliedFormat":1},{"version":"c60124cf00efc8b113c643d222cc146d15d5ea184c04df3cce9ce8652e42a6fc","impliedFormat":1},{"version":"7bf91a5d5e38618029b7d1703db7c0219f9eda3024fd816360d2ae791e89d1b3","impliedFormat":1},{"version":"0f4e57b76239328d40d68e9c6271b4f17a19970bdbff18d90e08031b04efc19d","impliedFormat":1},{"version":"bd683b2b79122ede787c445f2a35505d9dc60cdd3c2ed08cc05d1140c6807241","impliedFormat":1},{"version":"361ec213e909dea3b00f0aa91e1f1ccafe04eaae327a45bf33fe3c3a9a28d13d","impliedFormat":1},{"version":"6a60665f3bf35c7be844746ab2f796bb4076118559a7c660cf95fe01163bc79f","impliedFormat":1},{"version":"6e322a837838dbaad00bd298c6f33f5dfc9a5fed6792b0ae1d00b2da68afc2ac","impliedFormat":1},{"version":"f54c06d4e8fbc4f666c8c0830ac3c1cd06e39bf682347dbd84bc0ae05d3a162f","impliedFormat":1},{"version":"bd307a41d5962bb877f46e5447db73aead39ca6e87ec7fb9c29368a78731cd32","impliedFormat":1},{"version":"0f638672b9749835cda995e8eea6ffd2c17c505eb5b51cd263686b1abb5af9ea","impliedFormat":1},{"version":"105d7842497ad972a7f358d57aa0f95f722d67ce8fb0efc7d93247be6e7b025d","impliedFormat":1},{"version":"beb69bf7a052aa881fc18d7f7ccd47918719c1ba9ea2c92304bca4266a95df6e","impliedFormat":1},{"version":"1f0a034bc92b2b6bf1579253aa20a4983b2170cebdad9ff1e13718c5b58aadbc","impliedFormat":1},{"version":"07d41369f44f66a60cdd99267d7fd3b4c195d8fb9576a7a326b439bf3cc7b11a","impliedFormat":1},{"version":"8eb1f35d3bd99cfb4a61c87f756ae9389709e3cfdc0c4a54589b2e37c814b5a5","impliedFormat":1},{"version":"8027a5c97cc51405a3382c6b59d9690fd4ad8166dbb43e7976e62efc4a49fdce","impliedFormat":1},{"version":"d6fc38421f16d0a68a6d782a94f567464c1c441fc14949441a140b87a29d7ddd","impliedFormat":1},{"version":"9e9e3b18823c2179e426b11a6945f6586450d9db21e9eea0eb60491d018fa62b","impliedFormat":1},{"version":"d7a12dd03519d05cf43d70990cff5caf033f9b283aac0706e11519ddebf4e945","impliedFormat":1},{"version":"4998cbff67e76f385d9955674a9f2ac385926e807ed371ed357ccb6f03a4d72e","impliedFormat":1},{"version":"248195b6ec3d8c14855fa7ba39147abdcf4f2f6bab9c80b70252a96ae6fb1cec","impliedFormat":1},{"version":"1c548e5976ee7f2a3c46b88c09db5d1e7d95d464eff7536cb26515eb62b68694","impliedFormat":1},{"version":"9034bd380f5e5a35a6d2f986c2b003786fccbc1f86bde6dde029d7ce930e3dd6","impliedFormat":1},{"version":"848c83b9294d41fc9fd8eb360b5a28563cc24f3e8f045f169b5cf1a7201a551a","impliedFormat":1},{"version":"6bc8df13510289edc16bf48bff69384ae05288c9c5c0fd2c38e454dd222a9499","impliedFormat":1},{"version":"08f77f39ef225aadaa1351d0ae1c4ca7a1d1886b1425c7cb63ef910885582c69","impliedFormat":1},{"version":"b29f216a35d3fd0688b305d31f483781b27c64a40cf76816020a1dcda4816fe5","impliedFormat":1},{"version":"9fe3723a3f5f2daa1317099c833ddf6e9859c3298fdc0edb4e06b463f9805761","impliedFormat":1},{"version":"09f59f210312b40890556fb204cc7822a41b918bdb90ba2618a932ab4af715da","impliedFormat":1},{"version":"1193b14b29eb632f7c77ce91e0c4741eeb4c4252212241ae6db377b739682513","impliedFormat":1},{"version":"b8076d6e64d95061f85a2dcdd6c2a8579898281dd611b15690131f19cb8ff401","impliedFormat":1},{"version":"65a84489e184bcb327b80ff765f4c1990a854c486834640e14cfcc4d26f4a42d","impliedFormat":1},{"version":"ef62fde1a4f8945a551420dd48b2b80848e1486034874339b8e93c2d385b16e5","impliedFormat":1},{"version":"8259bab99eae433b2f46db925186028fa5d1e9fdadcaaba5f2e913d89060d165","impliedFormat":1},{"version":"265d28e894deed6c0efd2670a1b7e9710c1549b3065ccbeac1225665fec812d7","impliedFormat":1},{"version":"d3de1f092f689c00d81dc2fee835ea7589e898b5bbaec44ffe3185020169900f","impliedFormat":1},{"version":"4f773d709c92c89c5ce002786b90c50285823b38cfb8943bd23242c85ec53f08","impliedFormat":1},{"version":"2765e673d9aaf53c3b49e212cf7873493d7f422b4ee33867d0b554326bf53c40","impliedFormat":1},{"version":"38c6db11a91433901dca4051014222798f5c2b33beb7849bf4965ec4c79c908f","impliedFormat":1},{"version":"bd3cc45d94a9b70ba744db65fc1b2e5c25bec1c78640cad20ddcb2ebb67d102e","impliedFormat":1},{"version":"c7dd8530f4cf12cc2955e1d5ccc5d556934862f0b11649e1cfcc94a3d96df146","impliedFormat":1},{"version":"3a6e2fd4cd00fcf1645706cb47c18c0252cd5797b0cec996a78b74c9a8d4182e","impliedFormat":1},{"version":"2064383adec81d5f61965f9481c3a2a80ada7f5c2f19fd065a07e23fb453bd7a","impliedFormat":1},{"version":"7b22b608bd6b8b2dbbfd5fadd6c1e435b83e3c0fc77eeac8e1c4ab6b0dc258d2","impliedFormat":1},{"version":"7d039d5e0c5c81b77eb80ae80f04c8803223827b60877d926a644326ba7f0201","impliedFormat":1},{"version":"271ef08ab1236d1125f94a8f79b600630d3c1a94179f8af832a234f7e9a89d60","impliedFormat":1},{"version":"77ef5826119e4179c93a5c693afb7eb2c71bf918e132b61b25eea49ca7f9cf0b","impliedFormat":1},{"version":"0a44dbe2497b8eab8dbc8d9adda03e0184911c6a3f3429357968219f6b112052","impliedFormat":1},{"version":"ea0d0fa3178b173e84905a63c66386d54d3a246226e6a363a8a5cd05d7d705f4","impliedFormat":1},{"version":"7ec9d28642961fd2c54d535480f6ba4064c56aa8c03463749d3f516ce6b7b2b2","impliedFormat":1},{"version":"5791278922d75f7f3aa13b64d3f8ec2821302c7d3b660c8bc6b98d4a6b7ceddd","impliedFormat":1},{"version":"76f3f959fcce95b9ada79dfac10b7c5df81ecd85bacaf4d15ce5478e8ac2dd31","impliedFormat":1},{"version":"f1925b062f9caabf660d0bc80a041fed9ec060f7ff146fc8577b4274ff49cee9","impliedFormat":1},{"version":"816cfb03ec4b76b7a1aa07499f5180d764eba634d29ca928adc0a70b8101c522","impliedFormat":1},{"version":"1892b5ed89ec050e5e865096d42aa7ac776ffa7428a098dedf9d232f3bfde6af","impliedFormat":1},{"version":"5e739c6cdb908e7546e5da530ba079166632e69cddd942736660e570acb92479","impliedFormat":1},{"version":"8f7482100023e5397eb7c1d8fd2595c929727ff423ea1f0b904cebdd37051bc7","impliedFormat":1},{"version":"cc8689fec73132a375a149168a1ad42414a10d337bdae80290703159e148fb31","impliedFormat":1},{"version":"34b2a938702294406c6930860ca67e2ac89d4395b2c5d21f41b65937773aef6e","impliedFormat":1},{"version":"78cd4fd3de5c5150323df1e297ac5392e5f433538862f6fceb30f7fcb4d3e406","impliedFormat":1},{"version":"958ae685995c7da7a94631ead40e081351a81341f7fc66be5617985559bcbcf1","impliedFormat":1},{"version":"32810a066471bfb581ece580b082051dd63686cfc6af8cc0b370edfa97544fbf","impliedFormat":1},{"version":"842fe81ba5dc7260ff50174e3450b3e19d535df0280c0569bc95166b5f8994d1","impliedFormat":1},{"version":"a3b02af5187709a560f34031c006545f2ee756447e6e737964c6f3a582fbd6e6","impliedFormat":1},{"version":"37bfbfbec5d900c379b7dc65bf3ad2a9a0312fad4c91778ae3c73590d2d37b6b","impliedFormat":1},{"version":"30defc187296b83860b3ef9e1175de0a5b44ed9e64e1fc79f406bc8aa0063637","impliedFormat":1},{"version":"71dfddd1edbb4f345e0bb18af7064da94f35ff58c60f2210b3d534231a7aec38","impliedFormat":1},{"version":"e91ae57529395e5375189f8cd3be4ad6a1039e4a0f874a7436ff706a09e395fc","impliedFormat":1},{"version":"9cd5d2e584a62306dc5030bdd94e072ac03828e4a34a2531c0e4b90c5e595fd1","impliedFormat":1},{"version":"afd5b50a4d20db25e060396161acdf718fffa3b73a85fb3ec75f2607cfed03c6","impliedFormat":1},{"version":"752e7f35c0b26df44e99a773ca1f37195dacce8847394a28fb29fc2984d98bda","impliedFormat":1},{"version":"3cd6aee8e8eba196b46ce259f50f88a8596a1a058e1f611d861f8ac46b7f7477","impliedFormat":1},{"version":"b65159863b0acf230edf86fdd997cedcfd9c970d346a71c894257e9fdf5aff93","impliedFormat":1},{"version":"39df3cb01af5a05735f446d704e822776ffc25b825659aa7597c50c2e94aa453","impliedFormat":1},{"version":"9fa45eaaf2626085d031569a52f54714405cec7b6bacb041f28fe7adfd247a05","impliedFormat":1},{"version":"1f834258edd805e1a428dc400aeba9d2de2817c6ccc63de0f05f2887817e3fe9","impliedFormat":1},{"version":"da940126d3840677351fc0df9fb2dc6571a8e783461197551bc592a20495351d","impliedFormat":1},{"version":"f883682d6e812f8ec1f532103576858788bb2e481d1fab8b37b5f502d9339508","impliedFormat":1},{"version":"8350938747a211bf7666131edf2bcf38b464c048aff5a3b64e119fb9b900280c","impliedFormat":1},{"version":"25987a832e6a9303585accbe47950a9880445f1da53144094f6fc1090335392f","impliedFormat":1},{"version":"6a5c27878e3144baade4159cb041ff0731dcca18ea00a58f9fab3b166fc92ce1","impliedFormat":1},{"version":"2951d20f3e51d0ef51bae56c0c3bf81e2cefae7c64790670d9abdfcb40f1dac5","impliedFormat":1},{"version":"a70bf51744ec939a5c87a636c383e0118d3b9332b9863b2c1df158194e1680a6","impliedFormat":1},{"version":"04a0be21f320db4716bd8f6283f5bba4560f639ded181eeaa6eef820594c1c55","impliedFormat":1},{"version":"24551b8482b56cba01f5a76871010c9898f87ef22c066b654bc79d6851fb65d8","impliedFormat":1},{"version":"e1b7d8ebc348369c2636d0548fcb95772a41f13669a92484998636d5c6f6f84c","impliedFormat":1},{"version":"0c39a6721f4481d28125672874d12f869db7beeb63efa5ea207a894a06b01990","impliedFormat":1},{"version":"5a4b056c4c7b1af3d3310ef90287b814f28062f2eb1b7ba1fbba74024ff751d5","impliedFormat":1},{"version":"fbf180777acc17ed6f59f0fd1639745c64dedecb2ca7886214999c0535ff02da","impliedFormat":1},{"version":"473a574ee3ffd1ab73bf001acb92d443c50c7ce58854c08c78ae89522f3b2af1","impliedFormat":1},{"version":"28cf4b88597d75f21d50d3e89cc60914ef1100ca7647c0bca0d44d0e04a83fdc","impliedFormat":1},{"version":"4c7a863556a70d4619f5ec8b13e2d3d9e0fb87c79ab8daccc1f64cc8135cf14a","impliedFormat":1},{"version":"3e0528d53eb3f2386d770412b4dcdd508ea8db6d7a32fac07b27e857b200c6bc","impliedFormat":1},{"version":"7efce11f987fd2d555babdcbbf505520c31671ad4ac08b298bc237f62ddd6941","impliedFormat":1},{"version":"5d96064fd7419a9faf2ec2118c273a6245d4933ff18774b39237e3a130ba0ea0","impliedFormat":1},{"version":"94755c3ecfcf813ef35c06e17b0494cea726eff490be46ec7f10b343cd6d6c66","impliedFormat":1},{"version":"780d4988de0352edd1800224ae70dced2a527a8d6bff3a7ab13927f3d778740d","impliedFormat":1},{"version":"59bf56dbda4409f8e87676340c5bfb65cf674442e611a680f9f461c8898c46dd","impliedFormat":1},{"version":"7c9de3d7e945f169a38c135a9f3799746d5774958edc38e7cb800451ce551c6b","impliedFormat":1},{"version":"57f2d9377264cf90b169ba4bbbcee8135d1350d8523d60a41d5523cf8456f226","impliedFormat":1},{"version":"8d2a53c59c82a8fac953afd36ca75783f60dcc5dec4740f1a00e8986f1119634","impliedFormat":1},{"version":"d734cf304aba962e33f871ba9fdce61cbdb56a9f7874eefe8759b487853b1ff3","impliedFormat":1},{"version":"85f75c094579da83b34686c091e2983f6b5b795bb9859a3916e27a1407f3ba23","impliedFormat":1},{"version":"8e6855b08084b2eda1ff8c38bbd309594442b191420c7a05221324bd3b3027c1","impliedFormat":1},{"version":"1b905f84eb4131fdbbaa1df421065c1eabca4eb7c0836a52e3975b9f1a57ca3c","impliedFormat":1},{"version":"7182b52bd8efc672067ad706492b23cd338556bdbbdeaf4f69b825e0efbd4f8d","impliedFormat":1},{"version":"20cb99fc5b4d15cd9b966d49a36b6a6a2acd99db413fd359d712fe81d4e8c666","impliedFormat":1},{"version":"8dab2c485ef578699b81bc2cdeed34b97a9014669dc20b8f74b2ccdbb91fca01","impliedFormat":1},{"version":"f895190bfdfff38996cede1fdc0a6e91141f5c5e0ceb70bf6acd9e901bbd38d8","impliedFormat":1},{"version":"62b030f34b2854e29e2958f7db1cd58dfe4c50b5fb1fca4d731fac05fe7da81b","impliedFormat":1},{"version":"49fc3b4a60cbf88b5b6c0feb1d3c432da102756adbdaa81ee54330b98545232f","impliedFormat":1},{"version":"31c0b1ab3b6c6a82e4804e249f74db6c4bc4d9abdb0501ce4c012eb4a29d58cb","impliedFormat":1},{"version":"3cc804687fa3d553f844f6dbe8f1a10edd3830273f13b8eef885408dfbd02709","impliedFormat":1},{"version":"a6832dd3109935e8af0440901add1fe7e276899eb00a2ead72cb258a0cb1ca2a","impliedFormat":1},{"version":"2984fa039a55c3a4db211960a500037635372274ef07d4dba186b1058f2c4c96","impliedFormat":1},{"version":"487182ebba74b1d438a233885bb71029fc31834379816aaab54536fbc2ce4ba9","impliedFormat":1},{"version":"6001413bc3314b05071ea04e9fb64ce675ac1ebe55b3d1188f8969addb15aaf0","impliedFormat":1},{"version":"355d745d283e4f89bd785542bdba50ae1ab31ca5fa9618f2e221fbe12b9933cc","impliedFormat":1},{"version":"384fddf003645c4e2212b1a9cf7709ac125dc572e0fec9c9378a2bf9ba6369d3","impliedFormat":1},{"version":"cccc6340edd7734248b08bda3978d481f43d18fec6fc05d26997b26a24a49872","impliedFormat":1},{"version":"bbcd46158e4cc0eccc0043c93b22cdc522148ab501cb09c90e96820f8d87d9ee","impliedFormat":1},{"version":"6d72d622f589ff41ab26a4cb2adcd01fcb3d271c26b2985ec29c17bcafc82649","impliedFormat":1},{"version":"6c703676e52e268bd57f00eb52f4ea47a8490b103ede7db6259a83e73cfbbc1b","impliedFormat":1},{"version":"ef64d9a231218149fd0ca3a1ef5c27332ec1048288f7703e12d1ae69efb2d941","impliedFormat":1},{"version":"b3548a1a68e235b7a59439d81b1e6698ee319399f8aaa658fda75a637017dac6","impliedFormat":1},{"version":"ed19c128f66ad5c7ab02e5ca8cdc96329a13dc0982fab3eec04147e235d13199","impliedFormat":1},{"version":"e589f1c1f69947b4b0ffe590dc2a0eb817d354a42a131f1df97fb52d1017dff1","impliedFormat":1},{"version":"6011e8396759ef161be4bcb5fefe7e70bf306a39532f8d13deef5d164ed04dcd","impliedFormat":1},{"version":"76de61b6b947c9b1636f755a8b6da3e899215e4cf53b47b40fc123187f679558","impliedFormat":1},{"version":"a1325c800e29589d0931806b33b36eb23d44b735138734d0e7280d524e814a10","impliedFormat":1},{"version":"6f887e3afb0de4b6a4e79fb8512910736c1cb43909dabded07521a98fb3ab493","impliedFormat":1},{"version":"1e23c65f00a3bbb5a94f4a344e7d16762fcc7a9abaf7be7600a8cd38f22531d8","impliedFormat":1},{"version":"b428ef19e21c3a1895fef811262cc7ae0bde0274e77fe0426663c27ce86a1946","impliedFormat":1},{"version":"6996398eb3a1f3ee5bc2540f38f716ab941c9ad70fbdfc5a7d7eea87ba6c3cab","impliedFormat":1},{"version":"85a60dc56301151a1290f2935618f1c10642db39c9385d85bb56580f0481bdb3","impliedFormat":1},{"version":"1d719263f4cb05d55e15d893f844445d9ebed33013a8b7dffd17fb5f228c89d0","impliedFormat":1},{"version":"c0052b367c598946d934581c9156f5bf06846a543bd8f1a419fbbedf0c49db5d","impliedFormat":1},{"version":"2360668f67c85a1ea07864282b797189555b9b9928be94685773ed8381302588","impliedFormat":1},{"version":"59fc39062aec81b871c29e9f246333d14d0c60ce3d5e3a01b3eb6336f69b6473","impliedFormat":1},{"version":"ccc6589b9029f32ed53b59cbe7bc71ce795ce0006a93b7cb2427f573856c74e9","impliedFormat":1},{"version":"821d22def6acf0fb49cdb3e0912881f47c5039f8dd730db1113bef321b9bb4ff","impliedFormat":1},{"version":"6c5c5605ae801d8af7781b57643e379106763ba7c30d7535e42f65e5ed957b58","impliedFormat":1},{"version":"5e05074a4290312846bd48ca43d31d8fc22d792492481bef76eb3dd17974a7e0","impliedFormat":1},{"version":"408d7457ea4c677bac1a16b0266eba485959ebd5bb49cbc2653d3dbeb0ac38a4","impliedFormat":1},{"version":"cf11f4e19b500ba6f488bdb61a1810c23e15d7bdb994e821d405470158ada1cf","impliedFormat":1},{"version":"9736f4d069b690ae03aab866b7d899230edb963c3291db0290373bf6891ed2f8","impliedFormat":1},{"version":"f9c0e30c8092b79f6d65b8e746757e546b85d35361808d6a5a5a25bf61dd40dc","impliedFormat":1},{"version":"3ac2fb4e54c52d45d8f2e4176c1f6e14a60c13cc2bcf4c02a82879dec1e97081","impliedFormat":1},{"version":"10281654231a4dfa1a41af0415afbd6d0998417959aed30c9f0054644ce10f5c","impliedFormat":1},{"version":"1ba59c8bbeed2cb75b239bb12041582fa3e8ef32f8d0bd0ec802e38442d3f317","impliedFormat":1}],"root":[748,749,[788,799]],"options":{"allowJs":true,"checkJs":true,"esModuleInterop":true,"module":200,"noUncheckedIndexedAccess":true,"outDir":"../dist","rootDir":"../src","skipLibCheck":true,"strict":true,"target":9,"tsBuildInfoFile":"./tsbuildinfo.json"},"referencedMap":[[712,1],[701,2],[699,3],[697,4],[696,5],[700,6],[694,6],[698,7],[702,8],[704,9],[693,5],[706,10],[709,11],[711,12],[708,13],[710,14],[707,5],[703,15],[705,16],[695,5],[717,17],[713,18],[714,19],[715,20],[716,21],[805,22],[248,5],[747,23],[744,5],[746,5],[750,23],[745,24],[800,5],[804,25],[803,26],[808,27],[801,5],[813,28],[900,29],[879,30],[881,31],[880,30],[883,32],[885,33],[886,34],[887,35],[888,33],[889,34],[890,33],[891,36],[892,34],[893,33],[894,37],[895,38],[896,39],[897,40],[884,41],[898,42],[882,42],[899,43],[802,5],[901,5],[145,44],[146,44],[147,45],[99,46],[148,47],[149,48],[150,49],[94,5],[97,50],[95,5],[96,5],[151,51],[152,52],[153,53],[154,54],[155,55],[156,56],[157,56],[158,57],[159,58],[160,59],[161,60],[100,5],[98,5],[162,61],[163,62],[164,63],[198,64],[165,65],[166,5],[167,66],[168,67],[169,68],[170,69],[171,70],[172,71],[173,72],[174,73],[175,74],[176,74],[177,75],[178,5],[179,76],[180,77],[182,78],[181,79],[183,80],[184,81],[185,82],[186,83],[187,84],[188,85],[189,86],[190,87],[191,88],[192,89],[193,90],[194,91],[195,92],[101,5],[102,5],[103,5],[142,93],[143,5],[144,5],[196,94],[197,95],[725,96],[724,97],[723,96],[84,5],[906,98],[202,99],[357,100],[203,101],[201,100],[358,102],[918,103],[908,104],[909,100],[907,100],[917,105],[916,5],[910,5],[911,100],[912,5],[914,106],[915,5],[913,5],[199,107],[200,108],[82,5],[85,109],[355,100],[266,100],[787,110],[1152,111],[992,112],[989,113],[993,114],[991,5],[990,115],[925,116],[933,5],[932,5],[931,117],[930,118],[929,118],[928,118],[927,118],[926,118],[996,119],[998,120],[994,5],[995,121],[997,122],[1005,123],[984,124],[1004,125],[1001,126],[999,126],[1000,127],[919,5],[939,128],[969,129],[1011,5],[948,5],[1010,5],[1009,130],[1007,131],[1008,132],[967,133],[968,134],[938,5],[983,135],[982,136],[1006,5],[1013,137],[1025,138],[1029,139],[1026,140],[1027,141],[1028,142],[1015,143],[1016,144],[1017,138],[1018,144],[1024,145],[1014,138],[1019,138],[1020,144],[1021,138],[1022,144],[1023,138],[1030,5],[1031,146],[1012,147],[1033,148],[1032,5],[1034,131],[1035,131],[1037,149],[1036,131],[1039,150],[1040,131],[1041,151],[1056,152],[1042,150],[1043,153],[1044,150],[1045,154],[1046,131],[1038,131],[1047,131],[1048,155],[1049,131],[1050,150],[1051,156],[1052,131],[1053,131],[1054,157],[1055,131],[1077,158],[1078,159],[1074,160],[1073,161],[1072,162],[1071,163],[1067,164],[1066,165],[1075,166],[1063,167],[1068,164],[1060,168],[1059,169],[1082,170],[1085,171],[1070,172],[1069,173],[1064,174],[1086,171],[972,175],[1084,176],[971,177],[1062,178],[1061,179],[1081,170],[1080,180],[1079,179],[1089,181],[1105,182],[1098,183],[1104,5],[1091,184],[1094,185],[1093,186],[1102,182],[1101,187],[1100,182],[1099,182],[1087,188],[1103,5],[1088,189],[1097,190],[1096,191],[1095,192],[1120,193],[1121,194],[951,195],[1122,196],[1065,197],[1117,198],[1118,199],[1116,197],[1119,200],[1115,201],[1113,200],[1112,202],[1111,200],[1114,200],[1110,203],[1109,204],[1108,205],[1106,193],[1107,203],[1127,206],[944,207],[940,208],[986,209],[937,210],[1126,211],[921,5],[924,212],[922,212],[923,212],[1123,212],[946,213],[1124,214],[935,213],[936,215],[947,216],[934,217],[981,218],[945,219],[985,209],[1083,209],[943,220],[942,221],[987,222],[957,223],[988,224],[966,224],[1129,225],[1057,226],[1132,227],[1058,227],[1128,228],[1076,226],[1133,226],[1130,229],[1131,230],[1125,231],[1137,5],[950,232],[949,5],[1136,5],[1140,233],[1145,234],[1138,235],[954,5],[1139,236],[1144,237],[955,238],[1141,239],[1142,5],[964,240],[1143,241],[965,5],[963,242],[1146,243],[959,5],[970,244],[956,5],[973,245],[958,246],[961,247],[962,248],[960,5],[1135,237],[1003,249],[1134,250],[980,251],[975,252],[976,5],[1147,253],[977,254],[941,255],[1148,256],[953,257],[1150,146],[1090,146],[1002,146],[1092,146],[979,146],[978,146],[974,146],[952,258],[1149,146],[1151,259],[920,5],[878,98],[1153,5],[104,5],[83,5],[777,260],[774,5],[776,261],[775,262],[784,260],[783,260],[785,263],[782,264],[780,260],[781,260],[778,265],[779,260],[737,266],[574,267],[510,268],[638,269],[513,270],[505,5],[575,271],[572,272],[578,273],[506,271],[571,5],[689,274],[639,275],[664,276],[671,277],[640,277],[641,277],[642,278],[670,279],[643,280],[658,277],[644,281],[645,281],[646,277],[647,277],[648,278],[649,277],[672,282],[650,277],[651,277],[652,283],[653,277],[654,277],[655,283],[656,278],[657,277],[659,284],[660,283],[661,277],[662,278],[663,277],[684,285],[680,286],[669,287],[692,288],[665,289],[666,287],[681,290],[673,291],[682,292],[679,293],[677,294],[683,295],[676,296],[688,297],[678,298],[690,299],[685,300],[674,301],[668,302],[667,287],[691,303],[675,304],[686,5],[687,305],[727,306],[728,307],[726,308],[507,309],[598,310],[522,311],[557,312],[566,313],[523,314],[524,314],[525,315],[526,314],[565,316],[527,317],[528,318],[529,319],[530,314],[567,320],[568,321],[531,314],[533,322],[534,313],[536,323],[537,324],[538,324],[539,315],[540,314],[541,314],[542,324],[543,315],[544,315],[545,324],[546,314],[547,313],[548,314],[549,315],[550,325],[535,326],[551,314],[552,315],[553,314],[554,314],[555,314],[556,314],[586,327],[593,328],[564,329],[603,330],[558,331],[560,332],[561,329],[580,333],[588,334],[592,335],[590,336],[594,337],[582,338],[583,339],[584,340],[591,341],[597,342],[589,343],[559,271],[599,344],[532,271],[587,345],[585,301],[563,346],[562,329],[600,347],[601,5],[602,348],[569,304],[595,5],[596,349],[518,350],[570,351],[576,271],[573,352],[581,353],[579,354],[514,355],[516,356],[515,355],[517,355],[520,357],[519,358],[521,359],[512,360],[636,361],[604,362],[629,363],[633,364],[632,365],[605,366],[634,367],[625,368],[626,369],[627,369],[628,370],[613,371],[621,372],[631,373],[637,374],[606,375],[607,373],[609,376],[616,377],[620,378],[618,379],[622,380],[610,381],[614,382],[619,383],[635,384],[617,385],[615,386],[611,301],[630,387],[608,388],[624,389],[612,304],[623,390],[511,304],[508,391],[509,392],[577,5],[807,393],[806,27],[786,394],[773,395],[772,5],[809,396],[810,396],[812,397],[811,396],[902,398],[903,398],[905,399],[904,398],[729,400],[501,401],[499,402],[498,403],[75,404],[500,5],[81,405],[79,406],[60,407],[59,5],[80,408],[63,408],[78,409],[65,410],[76,411],[61,5],[68,412],[71,413],[502,414],[74,415],[70,416],[72,417],[69,5],[73,418],[77,419],[64,5],[503,420],[92,421],[445,422],[450,423],[452,424],[224,425],[252,426],[428,427],[247,428],[235,5],[216,5],[222,5],[418,429],[283,430],[223,5],[387,431],[257,432],[258,433],[354,434],[415,435],[370,436],[422,437],[423,438],[421,439],[420,5],[419,440],[254,441],[225,442],[304,5],[305,443],[220,5],[236,444],[226,445],[288,444],[285,444],[209,444],[250,446],[249,5],[427,447],[437,5],[215,5],[330,448],[331,449],[325,100],[473,5],[333,5],[334,450],[326,451],[479,452],[477,453],[472,5],[414,454],[413,5],[471,455],[327,100],[366,456],[364,457],[474,5],[478,5],[476,458],[475,5],[365,459],[466,460],[469,461],[295,462],[294,463],[293,464],[482,100],[292,465],[277,5],[485,5],[488,5],[487,100],[489,466],[205,5],[424,467],[425,468],[426,469],[238,5],[214,470],[204,5],[346,100],[207,471],[345,472],[344,473],[335,5],[336,5],[343,5],[338,5],[341,474],[337,5],[339,475],[342,476],[340,475],[221,5],[212,5],[213,444],[267,477],[268,478],[265,479],[263,480],[264,481],[260,5],[352,450],[372,450],[444,482],[453,483],[457,484],[431,485],[430,5],[280,5],[490,486],[440,487],[328,488],[329,489],[320,490],[310,5],[351,491],[311,492],[353,493],[348,494],[347,5],[349,5],[363,495],[432,496],[433,497],[313,498],[317,499],[308,500],[410,501],[439,502],[287,503],[388,504],[210,505],[438,506],[206,428],[261,5],[269,507],[399,508],[259,5],[398,509],[93,5],[393,510],[237,5],[306,511],[389,5],[211,5],[270,5],[397,512],[219,5],[275,513],[316,514],[429,515],[315,5],[396,5],[262,5],[401,516],[402,517],[217,5],[404,518],[406,519],[405,520],[240,5],[395,505],[408,521],[394,522],[400,523],[228,5],[231,5],[229,5],[233,5],[230,5],[232,5],[234,524],[227,5],[380,525],[379,5],[385,526],[381,527],[384,528],[383,528],[386,526],[382,527],[274,529],[373,530],[436,531],[492,5],[461,532],[463,533],[312,5],[462,534],[434,496],[491,535],[332,496],[218,5],[314,536],[271,537],[272,538],[273,539],[303,540],[409,540],[289,540],[374,541],[290,541],[256,542],[255,5],[378,543],[377,544],[376,545],[375,546],[435,547],[324,548],[360,549],[323,550],[356,551],[359,552],[417,553],[416,554],[412,555],[369,556],[371,557],[368,558],[407,559],[362,5],[449,5],[361,560],[411,5],[276,561],[309,467],[307,562],[278,563],[281,564],[486,5],[279,565],[282,565],[447,5],[446,5],[448,5],[484,5],[284,566],[322,100],[91,5],[367,567],[253,5],[242,568],[318,5],[455,100],[465,569],[302,100],[459,450],[301,570],[442,571],[300,569],[208,5],[467,572],[298,100],[299,100],[291,5],[241,5],[297,573],[296,574],[239,575],[319,73],[286,73],[403,5],[391,576],[390,5],[451,5],[350,577],[321,100],[443,578],[86,100],[89,579],[90,580],[87,100],[88,5],[251,581],[246,582],[245,5],[244,583],[243,5],[441,584],[454,585],[456,586],[458,587],[460,588],[464,589],[468,590],[497,591],[470,592],[480,593],[481,594],[483,595],[493,596],[496,470],[495,5],[494,266],[62,5],[722,597],[719,266],[721,598],[720,5],[718,5],[67,599],[66,600],[877,601],[827,602],[825,602],[876,5],[852,603],[840,604],[820,605],[850,604],[851,604],[854,606],[855,604],[822,607],[856,604],[857,604],[858,604],[859,604],[860,608],[861,609],[862,604],[818,604],[863,604],[864,604],[865,608],[866,604],[867,604],[868,610],[869,604],[870,606],[871,604],[819,604],[872,604],[873,604],[874,611],[817,612],[823,613],[853,614],[826,615],[875,616],[828,617],[829,618],[838,619],[837,620],[833,621],[832,620],[834,622],[831,623],[830,624],[836,625],[835,622],[839,626],[821,627],[816,628],[814,629],[824,5],[815,630],[845,5],[846,5],[843,5],[844,608],[842,5],[847,5],[841,629],[849,5],[848,5],[392,98],[755,631],[756,632],[757,633],[752,634],[754,5],[751,635],[753,636],[57,5],[58,5],[10,5],[12,5],[11,5],[2,5],[13,5],[14,5],[15,5],[16,5],[17,5],[18,5],[19,5],[20,5],[3,5],[21,5],[22,5],[4,5],[23,5],[27,5],[24,5],[25,5],[26,5],[28,5],[29,5],[30,5],[5,5],[31,5],[32,5],[33,5],[34,5],[6,5],[38,5],[35,5],[36,5],[37,5],[39,5],[7,5],[40,5],[45,5],[46,5],[41,5],[42,5],[43,5],[44,5],[8,5],[50,5],[47,5],[48,5],[49,5],[51,5],[9,5],[52,5],[53,5],[54,5],[56,5],[55,5],[1,5],[120,637],[130,638],[119,637],[140,639],[111,640],[110,641],[139,266],[133,642],[138,643],[113,644],[127,645],[112,646],[136,647],[108,648],[107,266],[137,649],[109,650],[114,651],[115,5],[118,651],[105,5],[141,652],[131,653],[122,654],[123,655],[125,656],[121,657],[124,658],[134,266],[116,659],[117,660],[126,661],[106,662],[129,653],[128,651],[132,5],[135,663],[771,664],[763,665],[770,666],[765,5],[766,5],[764,667],[767,668],[758,5],[759,5],[760,664],[762,669],[768,5],[769,670],[761,671],[749,672],[798,673],[748,5],[799,5],[788,674],[797,675],[792,676],[795,677],[794,676],[790,678],[796,676],[793,676],[791,679],[789,680],[740,681],[741,682],[504,683],[743,684],[742,685],[738,686],[739,687],[733,688],[730,689],[734,690],[732,690],[736,691],[735,692],[731,688],[1154,693]],"affectedFilesPendingEmit":[749,798,748,799,788,797,792,795,794,790,796,793,791,789],"version":"5.9.3"} \ No newline at end of file diff --git a/packages/api/package.json b/packages/api/package.json index e2abcf6..0650bb3 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -10,6 +10,9 @@ "./server": "./src/index.ts", "./context": "./src/context.ts", "./middleware": "./src/middleware.ts", + "./middleware/cache": "./src/middleware/cache.ts", + "./middleware/http-security": "./src/middleware/http-security.ts", + "./middleware/security": "./src/middleware/security.ts", "./trpc": "./src/trpc.ts" }, "scripts": { @@ -25,6 +28,7 @@ "@trpc/react-query": "^11.7.2", "@trpc/server": "^11.7.2", "minimatch": "^10.1.1", + "sanitize-html": "^2.17.0", "superjson": "^2.2.6", "zod": "^3.23.8" }, @@ -33,4 +37,4 @@ "@types/sanitize-html": "^2.16.0", "typescript": "^5.6.3" } -} +} \ No newline at end of file diff --git a/packages/api/src/context.ts b/packages/api/src/context.ts index cc0626e..d2caf55 100644 --- a/packages/api/src/context.ts +++ b/packages/api/src/context.ts @@ -1,14 +1,19 @@ import { auth } from "@query/auth"; import { db } from "@query/db"; import type { FetchCreateContextFnOptions } from "@trpc/server/adapters/fetch"; +import { cache } from "./middleware/cache"; -export async function createContext(opts?: FetchCreateContextFnOptions) { +export async function createContext( + opts?: FetchCreateContextFnOptions & { clientIp?: string } +) { const session = await auth(); return { db, session, userId: session?.user?.id, + cache, + clientIp: opts?.clientIp || 'unknown', }; } diff --git a/packages/api/src/middleware/cache.ts b/packages/api/src/middleware/cache.ts new file mode 100644 index 0000000..78203c1 --- /dev/null +++ b/packages/api/src/middleware/cache.ts @@ -0,0 +1,182 @@ +/** + * In-Memory Cache Service + * Provides TTL-based caching with automatic cleanup + */ + +interface CacheEntry { + value: T; + expiresAt: number; +} + +interface CacheStats { + hits: number; + misses: number; + size: number; +} + +export class CacheService { + private cache = new Map>(); + private stats: CacheStats = { hits: 0, misses: 0, size: 0 }; + private cleanupInterval: NodeJS.Timeout; + + constructor(private defaultTTL: number = 300) { + // Cleanup expired entries every 60 seconds + this.cleanupInterval = setInterval(() => { + this.cleanup(); + }, 60 * 1000); + } + + /** + * Get a value from cache + */ + get(key: string): T | null { + const entry = this.cache.get(key) as CacheEntry | undefined; + + if (!entry) { + this.stats.misses++; + return null; + } + + if (Date.now() > entry.expiresAt) { + this.cache.delete(key); + this.stats.misses++; + this.stats.size = this.cache.size; + return null; + } + + this.stats.hits++; + return entry.value; + } + + /** + * Set a value in cache with optional TTL + */ + set(key: string, value: T, ttl?: number): void { + const expiresAt = Date.now() + (ttl || this.defaultTTL) * 1000; + this.cache.set(key, { value, expiresAt }); + this.stats.size = this.cache.size; + } + + /** + * Delete a specific key from cache + */ + delete(key: string): boolean { + const result = this.cache.delete(key); + this.stats.size = this.cache.size; + return result; + } + + /** + * Delete all keys matching a pattern + */ + deletePattern(pattern: string): number { + let count = 0; + const regex = new RegExp(pattern.replace(/\*/g, '.*')); + + for (const key of this.cache.keys()) { + if (regex.test(key)) { + this.cache.delete(key); + count++; + } + } + + this.stats.size = this.cache.size; + return count; + } + + /** + * Clear all cache entries + */ + clear(): void { + this.cache.clear(); + this.stats = { hits: 0, misses: 0, size: 0 }; + } + + /** + * Get cache statistics + */ + getStats(): CacheStats { + return { ...this.stats }; + } + + /** + * Check if a key exists and is not expired + */ + has(key: string): boolean { + return this.get(key) !== null; + } + + /** + * Get or set pattern - fetch from cache or compute and cache + */ + async getOrSet( + key: string, + factory: () => Promise | T, + ttl?: number + ): Promise { + const cached = this.get(key); + if (cached !== null) { + return cached; + } + + const value = await factory(); + this.set(key, value, ttl); + return value; + } + + /** + * Remove expired entries + */ + private cleanup(): void { + const now = Date.now(); + let removed = 0; + + for (const [key, entry] of this.cache.entries()) { + if (now > entry.expiresAt) { + this.cache.delete(key); + removed++; + } + } + + if (removed > 0) { + this.stats.size = this.cache.size; + } + } + + /** + * Destroy the cache service and cleanup intervals + */ + destroy(): void { + clearInterval(this.cleanupInterval); + this.cache.clear(); + } +} + +// Global cache instance +export const cache = new CacheService(300); // 5 minutes default TTL + +// Cache key builders for consistency +export const CacheKeys = { + user: (userId: string) => `user:${userId}`, + userProfile: (userId: string) => `user:${userId}:profile`, + admin: (userId: string) => `admin:${userId}`, + hackathon: (id: string) => `hackathon:${id}`, + hackathons: () => `hackathons:list`, + event: (id: string) => `event:${id}`, + events: () => `events:list`, + judge: (userId: string) => `judge:${userId}`, + member: (userId: string) => `member:${userId}`, +} as const; + +// Cache invalidation helpers +export const invalidateUser = (userId: string) => { + cache.deletePattern(`user:${userId}*`); +}; + +export const invalidateHackathons = () => { + cache.deletePattern('hackathon*'); +}; + +export const invalidateEvents = () => { + cache.deletePattern('event*'); +}; diff --git a/packages/api/src/middleware/http-security.ts b/packages/api/src/middleware/http-security.ts new file mode 100644 index 0000000..6e0f42c --- /dev/null +++ b/packages/api/src/middleware/http-security.ts @@ -0,0 +1,216 @@ +/** + * HTTP Security Headers and Utilities + * Provides comprehensive security headers for API responses + */ + +export interface SecurityHeaders { + 'X-Content-Type-Options': string; + 'X-Frame-Options': string; + 'X-XSS-Protection': string; + 'Strict-Transport-Security': string; + 'Content-Security-Policy': string; + 'Referrer-Policy': string; + 'Permissions-Policy': string; +} + +export interface CacheHeaders { + 'Cache-Control': string; + 'Vary': string; +} + +export interface RateLimitHeaders { + 'X-RateLimit-Limit': string; + 'X-RateLimit-Remaining': string; + 'X-RateLimit-Reset': string; + 'Retry-After'?: string; +} + +/** + * Generate strict security headers for API responses + */ +export function getSecurityHeaders(): SecurityHeaders { + return { + // Prevent MIME type sniffing + 'X-Content-Type-Options': 'nosniff', + + // Prevent clickjacking + 'X-Frame-Options': 'DENY', + + // Enable XSS protection (legacy but still useful) + 'X-XSS-Protection': '1; mode=block', + + // Force HTTPS for 1 year + 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains', + + // Content Security Policy - strict for API + 'Content-Security-Policy': "default-src 'none'; frame-ancestors 'none'", + + // Referrer policy + 'Referrer-Policy': 'strict-origin-when-cross-origin', + + // Permissions policy - disable all features + 'Permissions-Policy': 'geolocation=(), microphone=(), camera=()', + }; +} + +/** + * Generate cache control headers based on cacheability + */ +export function getCacheHeaders(options: { + cacheable: boolean; + maxAge?: number; + private?: boolean; + mustRevalidate?: boolean; +}): CacheHeaders { + const { cacheable, maxAge = 300, private: isPrivate = true, mustRevalidate = true } = options; + + if (!cacheable) { + return { + 'Cache-Control': 'no-store, no-cache, must-revalidate, private', + 'Vary': 'Accept-Encoding, Authorization', + }; + } + + const directives = [ + isPrivate ? 'private' : 'public', + `max-age=${maxAge}`, + ]; + + if (mustRevalidate) { + directives.push('must-revalidate'); + } + + return { + 'Cache-Control': directives.join(', '), + 'Vary': 'Accept-Encoding, Authorization', + }; +} + +/** + * Generate rate limit headers + */ +export function getRateLimitHeaders( + limit: number, + remaining: number, + resetTimestamp: number, + retryAfter?: number +): RateLimitHeaders { + const headers: RateLimitHeaders = { + 'X-RateLimit-Limit': limit.toString(), + 'X-RateLimit-Remaining': Math.max(0, remaining).toString(), + 'X-RateLimit-Reset': resetTimestamp.toString(), + }; + + if (retryAfter !== undefined) { + headers['Retry-After'] = retryAfter.toString(); + } + + return headers; +} + +/** + * Get client IP address from request, considering proxies + */ +export function getClientIp(request: Request): string { + // Check X-Forwarded-For header (from proxies/load balancers) + const forwardedFor = request.headers.get('x-forwarded-for'); + if (forwardedFor) { + // Take the first IP in the chain + return forwardedFor.split(',')[0]?.trim() || 'unknown'; + } + + // Check X-Real-IP header + const realIp = request.headers.get('x-real-ip'); + if (realIp) { + return realIp.trim(); + } + + // Fallback to unknown + return 'unknown'; +} + +/** + * Generate a fingerprint for rate limiting + * Combines IP, user agent, and other factors + */ +export function getRequestFingerprint(request: Request, userId?: string): string { + const ip = getClientIp(request); + const userAgent = request.headers.get('user-agent') || 'unknown'; + + // Hash the user agent to keep fingerprint shorter + const uaHash = simpleHash(userAgent); + + if (userId) { + return `user:${userId}:${ip}`; + } + + return `anon:${ip}:${uaHash}`; +} + +/** + * Simple hash function for strings + */ +function simpleHash(str: string): string { + let hash = 0; + for (let i = 0; i < str.length; i++) { + const char = str.charCodeAt(i); + hash = ((hash << 5) - hash) + char; + hash = hash & hash; // Convert to 32-bit integer + } + return Math.abs(hash).toString(36); +} + +/** + * Apply all headers to a Response object + */ +export function applySecurityHeaders( + response: Response, + options?: { + cacheable?: boolean; + maxAge?: number; + rateLimit?: { + limit: number; + remaining: number; + reset: number; + retryAfter?: number; + }; + } +): Response { + const headers = new Headers(response.headers); + + // Apply security headers + const securityHeaders = getSecurityHeaders(); + Object.entries(securityHeaders).forEach(([key, value]) => { + headers.set(key, value); + }); + + // Apply cache headers + const cacheHeaders = getCacheHeaders({ + cacheable: options?.cacheable ?? false, + maxAge: options?.maxAge, + }); + Object.entries(cacheHeaders).forEach(([key, value]) => { + headers.set(key, value); + }); + + // Apply rate limit headers if provided + if (options?.rateLimit) { + const rateLimitHeaders = getRateLimitHeaders( + options.rateLimit.limit, + options.rateLimit.remaining, + options.rateLimit.reset, + options.rateLimit.retryAfter + ); + Object.entries(rateLimitHeaders).forEach(([key, value]) => { + if (value !== undefined) { + headers.set(key, value); + } + }); + } + + return new Response(response.body, { + status: response.status, + statusText: response.statusText, + headers, + }); +} diff --git a/packages/api/src/middleware/security.ts b/packages/api/src/middleware/security.ts index f12d5b5..8a801f2 100644 --- a/packages/api/src/middleware/security.ts +++ b/packages/api/src/middleware/security.ts @@ -1,97 +1,385 @@ import { TRPCError } from "@trpc/server"; import sanitizeHtml from "sanitize-html"; -const rateLimitStore = new Map(); +interface RateLimitRecord { + tokens: number; + lastRefill: number; + violations: number; + blockedUntil: number; +} + +const rateLimitStore = new Map(); + +interface IPRecord { + requests: number; + firstRequest: number; + suspiciousActivity: number; + isBlocked: boolean; + blockedUntil: number; +} + +const ipTrackingStore = new Map(); + +// DDoS Protection Constants +const DDOS_CONFIG = { + maxRequestsPerMinute: 120, // Max requests per minute per IP + suspiciousThreshold: 100, // Requests that trigger suspicious flag + blockDurationMs: 5 * 60 * 1000, // 5 minutes block for suspicious IPs + burstThreshold: 30, // Max requests in 5 seconds + burstWindowMs: 5 * 1000, // 5 second burst window + cleanupIntervalMs: 60 * 1000, // Cleanup every minute +}; + +// Cleanup expired records setInterval(() => { const now = Date.now(); for (const [key, value] of rateLimitStore.entries()) { - if (now > value.resetAt) { + if (now > value.lastRefill + 30 * 60 * 1000 && now > value.blockedUntil) { rateLimitStore.delete(key); } } -}, 5 * 60 * 1000); + // Cleanup IP tracking records older than 5 minutes + for (const [ip, record] of ipTrackingStore.entries()) { + if (now - record.firstRequest > 5 * 60 * 1000 && !record.isBlocked) { + ipTrackingStore.delete(ip); + } + // Unblock IPs after block duration + if (record.isBlocked && now > record.blockedUntil) { + record.isBlocked = false; + record.requests = 0; + record.suspiciousActivity = 0; + record.firstRequest = now; + } + } +}, DDOS_CONFIG.cleanupIntervalMs); -export function rateLimit(identifier: string, maxRequests: number, windowMs: number): boolean { +export function rateLimit( + identifier: string, + maxTokens: number, + refillRatePerSecond: number, + tokensToConsume: number = 1 +): { allowed: boolean; retryAfter?: number } { const now = Date.now(); - const record = rateLimitStore.get(identifier); + let record = rateLimitStore.get(identifier); - if (!record || now > record.resetAt) { - rateLimitStore.set(identifier, { - count: 1, - resetAt: now + windowMs, - }); - return true; + if (!record) { + record = { + tokens: maxTokens, + lastRefill: now, + violations: 0, + blockedUntil: 0, + }; + rateLimitStore.set(identifier, record); } - if (record.count >= maxRequests) { - return false; + if (now < record.blockedUntil) { + return { + allowed: false, + retryAfter: Math.ceil((record.blockedUntil - now) / 1000), + }; + } + + const elapsed = (now - record.lastRefill) / 1000; + const refill = elapsed * refillRatePerSecond; + record.tokens = Math.min(maxTokens, record.tokens + refill); + record.lastRefill = now; + + if (record.tokens < tokensToConsume) { + record.violations++; + const backoffSeconds = Math.min(Math.pow(2, record.violations - 1), 300); + record.blockedUntil = now + backoffSeconds * 1000; + + return { + allowed: false, + retryAfter: backoffSeconds, + }; } - record.count++; - return true; + record.tokens -= tokensToConsume; + + if (record.violations > 0 && elapsed > 600) { + record.violations = Math.max(0, record.violations - 1); + } + + return { allowed: true }; } -export function sanitizeInput(input: any): any { +export const RATE_LIMITS = { + public: { + maxTokens: 30, + refillRate: 0.5, + queryTokens: 1, + mutationTokens: 3, + }, + authenticated: { + maxTokens: 100, + refillRate: 2, + queryTokens: 1, + mutationTokens: 2, + }, + judge: { + maxTokens: 200, + refillRate: 5, + queryTokens: 1, + mutationTokens: 1, + }, + admin: { + maxTokens: 150, + refillRate: 3, + queryTokens: 1, + mutationTokens: 2, + }, +} as const; + +const SANITIZE_OPTIONS: sanitizeHtml.IOptions = { + allowedTags: [], + allowedAttributes: {}, + disallowedTagsMode: 'discard', +}; + +export function sanitizeInput(input: unknown, depth: number = 0): unknown { + if (depth > 10) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Input too deeply nested", + }); + } + if (input === null || input === undefined) { return input; } if (typeof input === 'string') { - let sanitized = sanitizeHtml(String(input)); - - return sanitized + const sanitized = sanitizeHtml(input, SANITIZE_OPTIONS) .trim() .slice(0, 10000); + + if (hasInjectionPattern(sanitized)) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Invalid input", + }); + } + + return sanitized; + } + + if (typeof input === 'number') { + if (!Number.isFinite(input)) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Invalid number", + }); + } + return input; + } + + if (typeof input === 'boolean') { + return input; } if (Array.isArray(input)) { - if (input.length > 1000) { + if (input.length > 500) { throw new TRPCError({ code: "BAD_REQUEST", message: "Array too large", }); } - return input.map(sanitizeInput); + return input.map(item => sanitizeInput(item, depth + 1)); } if (typeof input === 'object') { - const keys = Object.keys(input); - if (keys.length > 100) { + const keys = Object.keys(input as object); + if (keys.length > 50) { throw new TRPCError({ code: "BAD_REQUEST", message: "Object too complex", }); } - const sanitized: any = {}; - for (const [key, value] of Object.entries(input)) { - // Sanitize keys too - const cleanKey = key.replace(/[^\w\-]/g, '').slice(0, 100); - if (cleanKey) { - sanitized[cleanKey] = sanitizeInput(value); + const sanitized: Record = {}; + for (const [key, value] of Object.entries(input as object)) { + if (!/^[\w\-\.]{1,100}$/.test(key)) { + continue; } + sanitized[key] = sanitizeInput(value, depth + 1); } return sanitized; } - return input; + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Invalid input type", + }); +} + +function hasInjectionPattern(str: string): boolean { + const patterns = [ + /(\b(union|select|insert|update|delete|drop|create|alter|exec|execute)\b.*\b(from|into|table|database)\b)/i, + /(--|\#|\/\*)/, + /(\bor\b|\band\b)\s*[\d\w]+\s*=\s*[\d\w]+/i, + /\$where/i, + /\$gt|\$lt|\$ne|\$eq/i, + /